mirror of
https://gitlab.com/timvisee/send.git
synced 2025-12-06 14:10:53 +03:00
Compare commits
542 Commits
v3.0.20
...
mozilla-ma
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
11319080a8 | ||
|
|
0aefdc18da | ||
|
|
2be2b6f410 | ||
|
|
d4c42c8ab1 | ||
|
|
b9a329fa34 | ||
|
|
f84a5f1b18 | ||
|
|
9f64e08b93 | ||
|
|
48a11cd33b | ||
|
|
32b9fb8aa6 | ||
|
|
f0bbf822c1 | ||
|
|
3abaa58a1b | ||
|
|
b0ad17d3b7 | ||
|
|
4597ecf4e1 | ||
|
|
571b6f4003 | ||
|
|
0152a440b4 | ||
|
|
0886352a09 | ||
|
|
98444d68d3 | ||
|
|
d38ea6a3fa | ||
|
|
e75478af8d | ||
|
|
d8e117e61a | ||
|
|
15c9593e18 | ||
|
|
df0644a9da | ||
|
|
b22b8f089d | ||
|
|
032fddff64 | ||
|
|
46bc3d4713 | ||
|
|
d0844ae811 | ||
|
|
740ab457de | ||
|
|
41865f9fc2 | ||
|
|
915d6c2abd | ||
|
|
fc07069900 | ||
|
|
98819744af | ||
|
|
c6ddbe1b66 | ||
|
|
3c4f502eac | ||
|
|
320b4cc9f1 | ||
|
|
e20798e0aa | ||
|
|
d23eb376f8 | ||
|
|
7654210dbb | ||
|
|
decc44620b | ||
|
|
246e2c8db0 | ||
|
|
fbc4107262 | ||
|
|
dc912678fe | ||
|
|
1ec2b995b0 | ||
|
|
fc8673b87a | ||
|
|
27bc7de7d0 | ||
|
|
0abcd8ac3b | ||
|
|
604a17a19d | ||
|
|
97efdc572a | ||
|
|
d023a53b74 | ||
|
|
06daba9ce0 | ||
|
|
deb5c6e5d1 | ||
|
|
d2cdff5975 | ||
|
|
0eb35c048c | ||
|
|
028a6c4311 | ||
|
|
2356d0fb64 | ||
|
|
ab63a34938 | ||
|
|
4f03be590a | ||
|
|
9bd96a9ec0 | ||
|
|
dd59605f3e | ||
|
|
e2425cd6c9 | ||
|
|
81e9d81dab | ||
|
|
87d46f7ef5 | ||
|
|
2f503c91e4 | ||
|
|
3c27656444 | ||
|
|
1cd33282dd | ||
|
|
db6358abed | ||
|
|
a08333d2b4 | ||
|
|
8869e34ca5 | ||
|
|
a05c0e16b7 | ||
|
|
192d45f77c | ||
|
|
8ad4597114 | ||
|
|
4d96274f79 | ||
|
|
437f712a4d | ||
|
|
7d35e8f61f | ||
|
|
7130c2e7b0 | ||
|
|
72d2d6ef31 | ||
|
|
eadf223e8d | ||
|
|
196099b194 | ||
|
|
f0a116d0e4 | ||
|
|
571049e597 | ||
|
|
f637f2f3bc | ||
|
|
fe892fdcc1 | ||
|
|
f792482478 | ||
|
|
5277730e7c | ||
|
|
696b3f7c05 | ||
|
|
18eebd1ce2 | ||
|
|
86326e4e6d | ||
|
|
4c02a2ecf7 | ||
|
|
c00e552f80 | ||
|
|
bcefd4f1cb | ||
|
|
82a91f4117 | ||
|
|
6539da2c53 | ||
|
|
c6152cfcb4 | ||
|
|
9f8e1051b1 | ||
|
|
a2db84e44e | ||
|
|
6f967e984f | ||
|
|
6bc0b780be | ||
|
|
a88acee8ee | ||
|
|
92759a1f08 | ||
|
|
59c4032176 | ||
|
|
5e9edec93a | ||
|
|
dfb81409c6 | ||
|
|
5ef569fa71 | ||
|
|
bfff47641a | ||
|
|
7abe664e79 | ||
|
|
b30ac5605d | ||
|
|
0f289202bc | ||
|
|
7223956f01 | ||
|
|
e972c9f723 | ||
|
|
8147d34857 | ||
|
|
f1c73fcf8d | ||
|
|
9fa012c04d | ||
|
|
75bd771812 | ||
|
|
b98761e08a | ||
|
|
93638aa291 | ||
|
|
acb73e1dab | ||
|
|
2235414620 | ||
|
|
1aa0fbb712 | ||
|
|
d66d5d65b2 | ||
|
|
207a27215c | ||
|
|
2790b4ca4b | ||
|
|
f653838bf4 | ||
|
|
a0770d9b86 | ||
|
|
ec1f32fb65 | ||
|
|
ca0a05e6dc | ||
|
|
0687ec877c | ||
|
|
14209baf55 | ||
|
|
75938febfa | ||
|
|
a9e9902468 | ||
|
|
91cd7684c4 | ||
|
|
8bf8c8d95a | ||
|
|
594916a59d | ||
|
|
6213762d96 | ||
|
|
d9cbe058ab | ||
|
|
2f6119e2f1 | ||
|
|
21d1839818 | ||
|
|
95cde415f6 | ||
|
|
2e6d1abac2 | ||
|
|
3a36a718d2 | ||
|
|
04b1623f15 | ||
|
|
10ffa1d785 | ||
|
|
93e98b9c30 | ||
|
|
618e169895 | ||
|
|
91584649c5 | ||
|
|
31805031ca | ||
|
|
58ffcb171d | ||
|
|
55df061567 | ||
|
|
8fb770a4ea | ||
|
|
83cae687c8 | ||
|
|
75444ead46 | ||
|
|
df62189346 | ||
|
|
b1e25ed40c | ||
|
|
abef9d9b7f | ||
|
|
748d9b48ff | ||
|
|
10f60dd2dd | ||
|
|
1882ce5708 | ||
|
|
20db9ee6fd | ||
|
|
069efcd257 | ||
|
|
446e993420 | ||
|
|
588c793b98 | ||
|
|
3c6f45464b | ||
|
|
76ecbbecc6 | ||
|
|
ab1802a371 | ||
|
|
15f4f386fb | ||
|
|
84e9e9f654 | ||
|
|
e1e7887237 | ||
|
|
0c274139ed | ||
|
|
1dbf7c7b2a | ||
|
|
0bec884397 | ||
|
|
58095ac676 | ||
|
|
b680d20bca | ||
|
|
5eab9703af | ||
|
|
5c5853c645 | ||
|
|
4674666807 | ||
|
|
5626e128f2 | ||
|
|
1fa714924e | ||
|
|
89bfa74bb8 | ||
|
|
12d6c029ff | ||
|
|
c580282a27 | ||
|
|
f3a1fde07f | ||
|
|
ce507c557f | ||
|
|
6c984fa127 | ||
|
|
359d5d6bdd | ||
|
|
7698564a4d | ||
|
|
546b58d4d5 | ||
|
|
813a2d2f25 | ||
|
|
f8d61479d2 | ||
|
|
afcc06ad14 | ||
|
|
84b3796710 | ||
|
|
8fd0a4cb01 | ||
|
|
2a947a031d | ||
|
|
0a8663aa51 | ||
|
|
17057e725d | ||
|
|
9891d1f0ba | ||
|
|
3e9be67641 | ||
|
|
402c8351bd | ||
|
|
ccbcb69666 | ||
|
|
e6ff9e486b | ||
|
|
17afd6ad58 | ||
|
|
7dd1fcca9b | ||
|
|
d5319f4fcf | ||
|
|
a3d880fc4f | ||
|
|
8a9a823842 | ||
|
|
3195ee7d16 | ||
|
|
f565954a54 | ||
|
|
4abfd7dd6e | ||
|
|
e930275042 | ||
|
|
960e29f800 | ||
|
|
7e637ae453 | ||
|
|
cca6b470b0 | ||
|
|
829d10f77f | ||
|
|
b7d7bb885d | ||
|
|
31e2e00b24 | ||
|
|
0ab2ec6a5c | ||
|
|
369b0b2614 | ||
|
|
b064152955 | ||
|
|
438b36dd28 | ||
|
|
a429b89322 | ||
|
|
bd0117628f | ||
|
|
c4299d05a1 | ||
|
|
e3027d2c59 | ||
|
|
be055ff7ba | ||
|
|
5a53eb85fb | ||
|
|
c249f26b4a | ||
|
|
b229547057 | ||
|
|
334f225f3d | ||
|
|
e8f3379ddb | ||
|
|
3dd3fa9808 | ||
|
|
9459e4bca8 | ||
|
|
888e99841e | ||
|
|
949dcce5d7 | ||
|
|
0c47991de6 | ||
|
|
63b96310d3 | ||
|
|
da37b9d96f | ||
|
|
931cfd108d | ||
|
|
cc7ea99ca9 | ||
|
|
996a7e4184 | ||
|
|
e5627698c4 | ||
|
|
1fdccd4dde | ||
|
|
b8c26aee06 | ||
|
|
b7d65517b3 | ||
|
|
4f5b804b5d | ||
|
|
a74491af40 | ||
|
|
09955a0231 | ||
|
|
301f6e87f6 | ||
|
|
8c0f1fbe3b | ||
|
|
b81535c820 | ||
|
|
f5f0a430eb | ||
|
|
ca55dedad4 | ||
|
|
76a3d6fc03 | ||
|
|
f9b5cadf17 | ||
|
|
458ef649f3 | ||
|
|
de063f75e5 | ||
|
|
e2876b119d | ||
|
|
25d41073b7 | ||
|
|
5fb9e395d5 | ||
|
|
c73ddcd464 | ||
|
|
3a98c295e0 | ||
|
|
899f921da3 | ||
|
|
97b9d24134 | ||
|
|
ab9dbecbd6 | ||
|
|
0cf77d94cb | ||
|
|
bfe3a4067d | ||
|
|
0226483c30 | ||
|
|
a6dbb9a58f | ||
|
|
c9e691bdc2 | ||
|
|
e88bfb597c | ||
|
|
190ded1ba7 | ||
|
|
7b7f1f3223 | ||
|
|
1f4473c278 | ||
|
|
27e86640be | ||
|
|
74d151d12c | ||
|
|
a370f01908 | ||
|
|
3078e1f90c | ||
|
|
d90830b285 | ||
|
|
74288cdba6 | ||
|
|
a37e59cdb3 | ||
|
|
ee5f63e11c | ||
|
|
b02f2768d3 | ||
|
|
da3a7c1e98 | ||
|
|
8180406467 | ||
|
|
be595de148 | ||
|
|
395b6518ee | ||
|
|
49243506cb | ||
|
|
69948f4a4a | ||
|
|
85aaeb9892 | ||
|
|
95098d5828 | ||
|
|
eb4aa04f7e | ||
|
|
5afb940718 | ||
|
|
b6e956e086 | ||
|
|
681ca8197c | ||
|
|
21e312dac3 | ||
|
|
5a02e32aec | ||
|
|
dfe3631bcd | ||
|
|
b7c53bf8e2 | ||
|
|
9bdf9c4416 | ||
|
|
7116c1c06e | ||
|
|
f210394d84 | ||
|
|
0679a29cdc | ||
|
|
7a9a75794e | ||
|
|
89469e3c9c | ||
|
|
01110b4ec1 | ||
|
|
b54cd58602 | ||
|
|
6cc00be4b5 | ||
|
|
b40594f0ee | ||
|
|
01f4ceca23 | ||
|
|
7aead375d8 | ||
|
|
471c9e8559 | ||
|
|
f45960263f | ||
|
|
0ee9cc69a8 | ||
|
|
2a3db78f97 | ||
|
|
e5f9265979 | ||
|
|
00416b5063 | ||
|
|
5a70362b79 | ||
|
|
97deb78de6 | ||
|
|
2d22573588 | ||
|
|
deec85be14 | ||
|
|
6342203256 | ||
|
|
949fbb68c3 | ||
|
|
222c21ddf9 | ||
|
|
ae20e55c50 | ||
|
|
765da48b0c | ||
|
|
3769a17300 | ||
|
|
cad853b196 | ||
|
|
804128b7c8 | ||
|
|
e136b9dc63 | ||
|
|
b4ffb8cf01 | ||
|
|
e24c1103b3 | ||
|
|
07202e684a | ||
|
|
ca774258d6 | ||
|
|
93d48c5787 | ||
|
|
aa65f20afa | ||
|
|
f3caa9841c | ||
|
|
4c6663948b | ||
|
|
c5a4f920c4 | ||
|
|
c6cbb727da | ||
|
|
830337b403 | ||
|
|
c11f8a059e | ||
|
|
6fd1ed18a1 | ||
|
|
0338382fdf | ||
|
|
aac2b8e6f4 | ||
|
|
40a111a2e9 | ||
|
|
cbb0b86712 | ||
|
|
51465a2797 | ||
|
|
fa99c75313 | ||
|
|
0b4bd40b32 | ||
|
|
c5b2dc826b | ||
|
|
1f7a58ea41 | ||
|
|
ca6e2963e3 | ||
|
|
9f019f100d | ||
|
|
5e91a72cd9 | ||
|
|
01d7383ae0 | ||
|
|
74234fa03c | ||
|
|
49b24294b1 | ||
|
|
5feb07a251 | ||
|
|
28b69c4f14 | ||
|
|
19e5fd269e | ||
|
|
52d708bf3f | ||
|
|
bb66a1bfa5 | ||
|
|
d31b1ebfcd | ||
|
|
4385d29aa0 | ||
|
|
111e1d5ed3 | ||
|
|
27d48f2ec3 | ||
|
|
1a6ddf7e75 | ||
|
|
cd8d01db29 | ||
|
|
dc8f56bc57 | ||
|
|
efb04397f7 | ||
|
|
19b34e8d39 | ||
|
|
b7c7e0ef27 | ||
|
|
b02c5ed4a9 | ||
|
|
59fb485ba6 | ||
|
|
71b22458ba | ||
|
|
ecb9391439 | ||
|
|
aaf341bd81 | ||
|
|
35ef24a40f | ||
|
|
3973f0552c | ||
|
|
767cc166b1 | ||
|
|
f24ad20ffe | ||
|
|
a1f915806a | ||
|
|
669212a9b7 | ||
|
|
59f6e51636 | ||
|
|
2515ba274d | ||
|
|
6c2fbfe6ff | ||
|
|
26fdb271dd | ||
|
|
4504c5cd74 | ||
|
|
2746556dfa | ||
|
|
5ff6266a5e | ||
|
|
e57fc1c2d8 | ||
|
|
097d3c8377 | ||
|
|
43c728d5d4 | ||
|
|
3dffb8da15 | ||
|
|
c49dbd6d6d | ||
|
|
356112e8cc | ||
|
|
ad0d862d92 | ||
|
|
2ca007af1a | ||
|
|
0a42c887d2 | ||
|
|
f54a95c965 | ||
|
|
eec8da890a | ||
|
|
32a58d85a3 | ||
|
|
1252aaed30 | ||
|
|
060ff1cae4 | ||
|
|
1c2955ed9e | ||
|
|
5e5bce8745 | ||
|
|
e43ba60792 | ||
|
|
e94fe58965 | ||
|
|
a21412844a | ||
|
|
666ca8e87b | ||
|
|
71ceffd9b4 | ||
|
|
cdbd669af2 | ||
|
|
027043edb7 | ||
|
|
e4a1f8e86b | ||
|
|
dfd5eb9b1e | ||
|
|
e3ee840b64 | ||
|
|
b8bd13c704 | ||
|
|
6238299a0a | ||
|
|
d40ddc3d3b | ||
|
|
d2746db969 | ||
|
|
95057ef503 | ||
|
|
aec2ec30d5 | ||
|
|
4d36b3d6e9 | ||
|
|
6b89197cfd | ||
|
|
dd2ebdd2de | ||
|
|
c479d326ed | ||
|
|
8434d91891 | ||
|
|
f9c761ea99 | ||
|
|
b14f5f16d0 | ||
|
|
4fbc8e0c89 | ||
|
|
ad2a1715b5 | ||
|
|
ac8f826612 | ||
|
|
c1aaa9d6e5 | ||
|
|
eac95ffff7 | ||
|
|
8121761cc8 | ||
|
|
7c720cd7cc | ||
|
|
4c2f809502 | ||
|
|
d42523651c | ||
|
|
b9775e0471 | ||
|
|
d2f37204e0 | ||
|
|
846dad6662 | ||
|
|
c966010ed3 | ||
|
|
e77fea09bc | ||
|
|
b63291c7d3 | ||
|
|
2ccc044a27 | ||
|
|
4144850f9d | ||
|
|
18630aadf9 | ||
|
|
605fff519e | ||
|
|
0b7ff9551d | ||
|
|
2c9716e01e | ||
|
|
cdde3fe654 | ||
|
|
3537667187 | ||
|
|
66086c460d | ||
|
|
a203a8de67 | ||
|
|
2bba9c53ed | ||
|
|
37af4d33fc | ||
|
|
107f40c8c9 | ||
|
|
cb325022dc | ||
|
|
b62b439218 | ||
|
|
47972fe2a1 | ||
|
|
7ad937266f | ||
|
|
2f34dffab4 | ||
|
|
4a956c0247 | ||
|
|
23ce7a1f84 | ||
|
|
66a8ad2e4f | ||
|
|
e8e2e31b59 | ||
|
|
7259c46d1c | ||
|
|
9d3c3d1924 | ||
|
|
a0d6317747 | ||
|
|
3810e09509 | ||
|
|
bb7678e7e4 | ||
|
|
3dcf01dd1f | ||
|
|
3b8f19b4c9 | ||
|
|
ab957c26a0 | ||
|
|
e835c82c27 | ||
|
|
d69a9e8537 | ||
|
|
1b286d664b | ||
|
|
f8c8a6c2cd | ||
|
|
b71234fc83 | ||
|
|
2eb35733da | ||
|
|
df276d5942 | ||
|
|
e1a6fb9569 | ||
|
|
99b2d636a1 | ||
|
|
78be59adac | ||
|
|
720ab6ae3a | ||
|
|
5e0dcc948c | ||
|
|
90400d72b1 | ||
|
|
8f1fd6cbf5 | ||
|
|
fef8788d55 | ||
|
|
d2f8156bde | ||
|
|
d4fbd48f1c | ||
|
|
a6d3948fbc | ||
|
|
005bbb1792 | ||
|
|
186230d211 | ||
|
|
ee1e8bc204 | ||
|
|
d1366fb764 | ||
|
|
d81dba6407 | ||
|
|
f35ddd8e9a | ||
|
|
ff798463e8 | ||
|
|
6308c386a3 | ||
|
|
5a6c338ab9 | ||
|
|
bc6401e7dd | ||
|
|
0667f22ddd | ||
|
|
594cd339b5 | ||
|
|
762497b867 | ||
|
|
9199a985d8 | ||
|
|
624e1234d9 | ||
|
|
a3d153db66 | ||
|
|
dc25bc5727 | ||
|
|
6a1670b550 | ||
|
|
8cd3a720fe | ||
|
|
9aa7da68be | ||
|
|
063042cd76 | ||
|
|
8ce3a5d236 | ||
|
|
0c58c84625 | ||
|
|
68ddcf3b56 | ||
|
|
a0648d7d91 | ||
|
|
5e674973db | ||
|
|
4f2b634825 | ||
|
|
48bbf07392 | ||
|
|
357f6da3b0 | ||
|
|
def21041d8 | ||
|
|
c44728865a | ||
|
|
f271140c5f | ||
|
|
3593aaf61f | ||
|
|
8b433a008d | ||
|
|
1ab1bf1b00 | ||
|
|
c04d15f806 | ||
|
|
977e8bdc21 | ||
|
|
454d1d03f5 | ||
|
|
f73ff7fa26 | ||
|
|
98317c94aa | ||
|
|
aa91d762af | ||
|
|
5cddd0842b | ||
|
|
4dee3d2283 | ||
|
|
2d20cb3819 | ||
|
|
c28beb3bc1 | ||
|
|
216a7a6ff8 | ||
|
|
a48d2bad4f | ||
|
|
04c60414e1 | ||
|
|
92c3f67020 | ||
|
|
49e6c064ac | ||
|
|
8551139a8a | ||
|
|
96461692ee | ||
|
|
a217ad4be5 | ||
|
|
30d7ec50f3 |
@@ -1,77 +1,48 @@
|
||||
version: 2.0
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: circleci/node:10
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: send-build-{{ checksum "package-lock.json" }}
|
||||
- run: npm install
|
||||
- save_cache:
|
||||
key: send-build-{{ checksum "package-lock.json" }}
|
||||
paths:
|
||||
- node_modules
|
||||
- run: npm run build
|
||||
- persist_to_workspace:
|
||||
root: .
|
||||
paths:
|
||||
- ./dist
|
||||
test:
|
||||
docker:
|
||||
- image: circleci/node:10-browsers
|
||||
- image: circleci/node:12-browsers
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: send-test-{{ checksum "package-lock.json" }}
|
||||
- run: npm install
|
||||
- save_cache:
|
||||
key: send-test-{{ checksum "package-lock.json" }}
|
||||
paths:
|
||||
- node_modules
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
- run: npm run test
|
||||
- run: npm test
|
||||
- store_artifacts:
|
||||
path: coverage
|
||||
integration_tests:
|
||||
docker:
|
||||
- image: circleci/node:10-browsers
|
||||
- image: circleci/node:12-browsers
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: send-int-{{ checksum "package-lock.json" }}
|
||||
- run: npm install
|
||||
- save_cache:
|
||||
key: send-int-{{ checksum "package-lock.json" }}
|
||||
paths:
|
||||
- node_modules
|
||||
- run:
|
||||
- run: npm ci
|
||||
- run:
|
||||
name: Run integration test
|
||||
command: ./scripts/bin/run-integration-test-circleci.sh
|
||||
deploy_dev:
|
||||
machine: true
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- setup_remote_docker
|
||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- run: docker build -t mozilla/send:latest .
|
||||
- run: docker push mozilla/send:latest
|
||||
deploy_vnext:
|
||||
machine: true
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- setup_remote_docker
|
||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- run: docker build -t mozilla/send:vnext .
|
||||
- run: docker push mozilla/send:vnext
|
||||
deploy_stage:
|
||||
machine: true
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- setup_remote_docker
|
||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- run: docker build -t mozilla/send:$CIRCLE_TAG .
|
||||
- run: docker push mozilla/send:$CIRCLE_TAG
|
||||
@@ -79,12 +50,6 @@ workflows:
|
||||
version: 2
|
||||
test_pr:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
ignore:
|
||||
- master
|
||||
- vnext
|
||||
- test:
|
||||
filters:
|
||||
branches:
|
||||
@@ -97,25 +62,13 @@ workflows:
|
||||
ignore: master
|
||||
build_and_deploy_dev:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- vnext
|
||||
tags:
|
||||
ignore: /^v.*/
|
||||
- deploy_dev:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
tags:
|
||||
ignore: /^v.*/
|
||||
- deploy_vnext:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: vnext
|
||||
@@ -123,12 +76,6 @@ workflows:
|
||||
ignore: /^v.*/
|
||||
build_and_deploy_stage:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
ignore: /.*/
|
||||
tags:
|
||||
only: /^v.*/
|
||||
- test:
|
||||
filters:
|
||||
branches:
|
||||
@@ -143,7 +90,6 @@ workflows:
|
||||
only: /^v.*/
|
||||
- deploy_stage:
|
||||
requires:
|
||||
- build
|
||||
- test
|
||||
- integration_tests
|
||||
filters:
|
||||
|
||||
12
Dockerfile
12
Dockerfile
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
# Build project
|
||||
FROM node:10 AS builder
|
||||
FROM node:12 AS builder
|
||||
RUN set -x \
|
||||
# Add user
|
||||
&& addgroup --gid 10001 app \
|
||||
@@ -19,15 +19,14 @@ RUN set -x \
|
||||
COPY --chown=app:app . /app
|
||||
USER app
|
||||
WORKDIR /app
|
||||
RUN ls -la
|
||||
RUN set -x \
|
||||
# Build
|
||||
&& npm ci \
|
||||
&& PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm ci \
|
||||
&& npm run build
|
||||
|
||||
|
||||
# Main image
|
||||
FROM node:10-slim
|
||||
FROM node:12-slim
|
||||
RUN set -x \
|
||||
# Add user
|
||||
&& addgroup --gid 10001 app \
|
||||
@@ -37,7 +36,9 @@ RUN set -x \
|
||||
--home /app \
|
||||
--uid 10001 \
|
||||
app
|
||||
RUN apt-get update && apt-get -y install git-core
|
||||
RUN apt-get update && apt-get -y install \
|
||||
git-core \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
USER app
|
||||
WORKDIR /app
|
||||
COPY --chown=app:app package*.json ./
|
||||
@@ -47,7 +48,6 @@ COPY --chown=app:app public/locales public/locales
|
||||
COPY --chown=app:app server server
|
||||
COPY --chown=app:app --from=builder /app/dist dist
|
||||
|
||||
RUN ls -la
|
||||
RUN npm ci --production && npm cache clean --force
|
||||
RUN mkdir -p /app/.config/configstore
|
||||
RUN ln -s dist/version.json version.json
|
||||
|
||||
@@ -30,22 +30,22 @@ A file sharing experiment which allows you to send encrypted files to other user
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Node.js 10.x](https://nodejs.org/)
|
||||
- [Node.js 12.x](https://nodejs.org/)
|
||||
- [Redis server](https://redis.io/) (optional for development)
|
||||
- [AWS S3](https://aws.amazon.com/s3/) or compatible service. (optional)
|
||||
- [AWS S3](https://aws.amazon.com/s3/) or compatible service (optional)
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
To start an ephemeral development server run:
|
||||
To start an ephemeral development server, run:
|
||||
|
||||
```sh
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
Then browse to http://localhost:8080
|
||||
Then, browse to http://localhost:8080
|
||||
|
||||
---
|
||||
|
||||
|
||||
90
app/api.js
90
app/api.js
@@ -61,7 +61,10 @@ async function fetchWithAuth(url, params, keychain) {
|
||||
const result = {};
|
||||
params = params || {};
|
||||
const h = await keychain.authHeader();
|
||||
params.headers = new Headers({ Authorization: h });
|
||||
params.headers = new Headers({
|
||||
Authorization: h,
|
||||
'Content-Type': 'application/json'
|
||||
});
|
||||
const response = await fetch(url, params);
|
||||
result.response = response;
|
||||
result.ok = response.ok;
|
||||
@@ -127,10 +130,10 @@ export async function metadata(id, keychain) {
|
||||
return {
|
||||
size: meta.size,
|
||||
ttl: data.ttl,
|
||||
iv: meta.iv,
|
||||
name: meta.name,
|
||||
type: meta.type,
|
||||
manifest: meta.manifest
|
||||
manifest: meta.manifest,
|
||||
flagged: data.flagged
|
||||
};
|
||||
}
|
||||
throw new Error(result.response.status);
|
||||
@@ -289,20 +292,13 @@ export function uploadWs(
|
||||
|
||||
////////////////////////
|
||||
|
||||
async function downloadS(id, keychain, signal) {
|
||||
const auth = await keychain.authHeader();
|
||||
|
||||
async function _downloadStream(id, dlToken, signal) {
|
||||
const response = await fetch(getApiUrl(`/api/download/${id}`), {
|
||||
signal: signal,
|
||||
method: 'GET',
|
||||
headers: { Authorization: auth }
|
||||
headers: { Authorization: `Bearer ${dlToken}` }
|
||||
});
|
||||
|
||||
const authHeader = response.headers.get('WWW-Authenticate');
|
||||
if (authHeader) {
|
||||
keychain.nonce = parseNonce(authHeader);
|
||||
}
|
||||
|
||||
if (response.status !== 200) {
|
||||
throw new Error(response.status);
|
||||
}
|
||||
@@ -310,13 +306,13 @@ async function downloadS(id, keychain, signal) {
|
||||
return response.body;
|
||||
}
|
||||
|
||||
async function tryDownloadStream(id, keychain, signal, tries = 2) {
|
||||
async function tryDownloadStream(id, dlToken, signal, tries = 2) {
|
||||
try {
|
||||
const result = await downloadS(id, keychain, signal);
|
||||
const result = await _downloadStream(id, dlToken, signal);
|
||||
return result;
|
||||
} catch (e) {
|
||||
if (e.message === '401' && --tries > 0) {
|
||||
return tryDownloadStream(id, keychain, signal, tries);
|
||||
return tryDownloadStream(id, dlToken, signal, tries);
|
||||
}
|
||||
if (e.name === 'AbortError') {
|
||||
throw new Error('0');
|
||||
@@ -325,21 +321,20 @@ async function tryDownloadStream(id, keychain, signal, tries = 2) {
|
||||
}
|
||||
}
|
||||
|
||||
export function downloadStream(id, keychain) {
|
||||
export function downloadStream(id, dlToken) {
|
||||
const controller = new AbortController();
|
||||
function cancel() {
|
||||
controller.abort();
|
||||
}
|
||||
return {
|
||||
cancel,
|
||||
result: tryDownloadStream(id, keychain, controller.signal)
|
||||
result: tryDownloadStream(id, dlToken, controller.signal)
|
||||
};
|
||||
}
|
||||
|
||||
//////////////////
|
||||
|
||||
async function download(id, keychain, onprogress, canceller) {
|
||||
const auth = await keychain.authHeader();
|
||||
async function download(id, dlToken, onprogress, canceller) {
|
||||
const xhr = new XMLHttpRequest();
|
||||
canceller.oncancel = function() {
|
||||
xhr.abort();
|
||||
@@ -347,10 +342,6 @@ async function download(id, keychain, onprogress, canceller) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
xhr.addEventListener('loadend', function() {
|
||||
canceller.oncancel = function() {};
|
||||
const authHeader = xhr.getResponseHeader('WWW-Authenticate');
|
||||
if (authHeader) {
|
||||
keychain.nonce = parseNonce(authHeader);
|
||||
}
|
||||
if (xhr.status !== 200) {
|
||||
return reject(new Error(xhr.status));
|
||||
}
|
||||
@@ -365,26 +356,26 @@ async function download(id, keychain, onprogress, canceller) {
|
||||
}
|
||||
});
|
||||
xhr.open('get', getApiUrl(`/api/download/blob/${id}`));
|
||||
xhr.setRequestHeader('Authorization', auth);
|
||||
xhr.setRequestHeader('Authorization', `Bearer ${dlToken}`);
|
||||
xhr.responseType = 'blob';
|
||||
xhr.send();
|
||||
onprogress(0);
|
||||
});
|
||||
}
|
||||
|
||||
async function tryDownload(id, keychain, onprogress, canceller, tries = 2) {
|
||||
async function tryDownload(id, dlToken, onprogress, canceller, tries = 2) {
|
||||
try {
|
||||
const result = await download(id, keychain, onprogress, canceller);
|
||||
const result = await download(id, dlToken, onprogress, canceller);
|
||||
return result;
|
||||
} catch (e) {
|
||||
if (e.message === '401' && --tries > 0) {
|
||||
return tryDownload(id, keychain, onprogress, canceller, tries);
|
||||
return tryDownload(id, dlToken, onprogress, canceller, tries);
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
export function downloadFile(id, keychain, onprogress) {
|
||||
export function downloadFile(id, dlToken, onprogress) {
|
||||
const canceller = {
|
||||
oncancel: function() {} // download() sets this
|
||||
};
|
||||
@@ -393,7 +384,7 @@ export function downloadFile(id, keychain, onprogress) {
|
||||
}
|
||||
return {
|
||||
cancel,
|
||||
result: tryDownload(id, keychain, onprogress, canceller)
|
||||
result: tryDownload(id, dlToken, onprogress, canceller)
|
||||
};
|
||||
}
|
||||
|
||||
@@ -438,3 +429,44 @@ export async function getConstants() {
|
||||
|
||||
throw new Error(response.status);
|
||||
}
|
||||
|
||||
export async function reportLink(id, keychain, reason) {
|
||||
const result = await fetchWithAuthAndRetry(
|
||||
getApiUrl(`/api/report/${id}`),
|
||||
{
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ reason })
|
||||
},
|
||||
keychain
|
||||
);
|
||||
|
||||
if (result.ok) {
|
||||
return;
|
||||
}
|
||||
|
||||
throw new Error(result.response.status);
|
||||
}
|
||||
|
||||
export async function getDownloadToken(id, keychain) {
|
||||
const result = await fetchWithAuthAndRetry(
|
||||
getApiUrl(`/api/download/token/${id}`),
|
||||
{
|
||||
method: 'GET'
|
||||
},
|
||||
keychain
|
||||
);
|
||||
|
||||
if (result.ok) {
|
||||
return (await result.response.json()).token;
|
||||
}
|
||||
throw new Error(result.response.status);
|
||||
}
|
||||
|
||||
export async function downloadDone(id, dlToken) {
|
||||
const headers = new Headers({ Authorization: `Bearer ${dlToken}` });
|
||||
const response = await fetch(getApiUrl(`/api/download/done/${id}`), {
|
||||
headers,
|
||||
method: 'POST'
|
||||
});
|
||||
return response.ok;
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ async function polyfillStreams() {
|
||||
|
||||
export default async function getCapabilities() {
|
||||
const browser = browserName();
|
||||
const isMobile = /mobi|android/i.test(navigator.userAgent);
|
||||
const serviceWorker = 'serviceWorker' in navigator && browser !== 'edge';
|
||||
let crypto = await checkCrypto();
|
||||
const nativeStreams = checkStreams();
|
||||
@@ -91,14 +92,15 @@ export default async function getCapabilities() {
|
||||
account = false;
|
||||
}
|
||||
const share =
|
||||
typeof navigator.share === 'function' && locale().startsWith('en'); // en until strings merge
|
||||
isMobile &&
|
||||
typeof navigator.share === 'function' &&
|
||||
locale().startsWith('en'); // en until strings merge
|
||||
|
||||
const standalone =
|
||||
window.matchMedia('(display-mode: standalone)').matches ||
|
||||
navigator.standalone;
|
||||
|
||||
const mobileFirefox =
|
||||
browser === 'firefox' && /mobile/i.test(navigator.userAgent);
|
||||
const mobileFirefox = browser === 'firefox' && isMobile;
|
||||
|
||||
return {
|
||||
account,
|
||||
|
||||
@@ -49,8 +49,8 @@ export default function(state, emitter) {
|
||||
state.user.login(email);
|
||||
});
|
||||
|
||||
emitter.on('logout', () => {
|
||||
state.user.logout();
|
||||
emitter.on('logout', async () => {
|
||||
await state.user.logout();
|
||||
metrics.loggedOut({ trigger: 'button' });
|
||||
emitter.emit('pushState', '/');
|
||||
});
|
||||
@@ -178,6 +178,12 @@ export default function(state, emitter) {
|
||||
//cancelled. do nothing
|
||||
metrics.cancelledUpload(archive, err.duration);
|
||||
render();
|
||||
} else if (err.message === '401') {
|
||||
const refreshed = await state.user.refresh();
|
||||
if (refreshed) {
|
||||
return emitter.emit('upload');
|
||||
}
|
||||
emitter.emit('pushState', '/error');
|
||||
} else {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(err);
|
||||
@@ -226,9 +232,10 @@ export default function(state, emitter) {
|
||||
} catch (e) {
|
||||
if (e.message === '401' || e.message === '404') {
|
||||
file.password = null;
|
||||
if (!file.requiresPassword) {
|
||||
return emitter.emit('pushState', '/404');
|
||||
}
|
||||
file.dead = e.message === '404';
|
||||
} else {
|
||||
console.error(e);
|
||||
return emitter.emit('pushState', '/error');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,7 +251,8 @@ export default function(state, emitter) {
|
||||
const start = Date.now();
|
||||
try {
|
||||
const dl = state.transfer.download({
|
||||
stream: state.capabilities.streamDownload
|
||||
stream: state.capabilities.streamDownload,
|
||||
storage: state.storage
|
||||
});
|
||||
render();
|
||||
await dl;
|
||||
@@ -263,7 +271,9 @@ export default function(state, emitter) {
|
||||
} else {
|
||||
// eslint-disable-next-line no-console
|
||||
state.transfer = null;
|
||||
const location = err.message === '404' ? '/404' : '/error';
|
||||
const location = ['404', '403'].includes(err.message)
|
||||
? '/404'
|
||||
: '/error';
|
||||
if (location === '/error') {
|
||||
state.sentry.withScope(scope => {
|
||||
scope.setExtra('duration', err.duration);
|
||||
@@ -306,6 +316,21 @@ export default function(state, emitter) {
|
||||
render();
|
||||
});
|
||||
|
||||
emitter.on('report', async ({ reason }) => {
|
||||
try {
|
||||
const receiver = state.transfer || new FileReceiver(state.fileInfo);
|
||||
await receiver.reportLink(reason);
|
||||
render();
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
if (err.message === '404') {
|
||||
state.fileInfo = { reported: true };
|
||||
return render();
|
||||
}
|
||||
emitter.emit('pushState', '/error');
|
||||
}
|
||||
});
|
||||
|
||||
setInterval(() => {
|
||||
// poll for updates of the upload list
|
||||
if (!state.modal && state.route === '/') {
|
||||
|
||||
266
app/crc32.js
Normal file
266
app/crc32.js
Normal file
@@ -0,0 +1,266 @@
|
||||
const LOOKUP = Int32Array.from([
|
||||
0x00000000,
|
||||
0x77073096,
|
||||
0xee0e612c,
|
||||
0x990951ba,
|
||||
0x076dc419,
|
||||
0x706af48f,
|
||||
0xe963a535,
|
||||
0x9e6495a3,
|
||||
0x0edb8832,
|
||||
0x79dcb8a4,
|
||||
0xe0d5e91e,
|
||||
0x97d2d988,
|
||||
0x09b64c2b,
|
||||
0x7eb17cbd,
|
||||
0xe7b82d07,
|
||||
0x90bf1d91,
|
||||
0x1db71064,
|
||||
0x6ab020f2,
|
||||
0xf3b97148,
|
||||
0x84be41de,
|
||||
0x1adad47d,
|
||||
0x6ddde4eb,
|
||||
0xf4d4b551,
|
||||
0x83d385c7,
|
||||
0x136c9856,
|
||||
0x646ba8c0,
|
||||
0xfd62f97a,
|
||||
0x8a65c9ec,
|
||||
0x14015c4f,
|
||||
0x63066cd9,
|
||||
0xfa0f3d63,
|
||||
0x8d080df5,
|
||||
0x3b6e20c8,
|
||||
0x4c69105e,
|
||||
0xd56041e4,
|
||||
0xa2677172,
|
||||
0x3c03e4d1,
|
||||
0x4b04d447,
|
||||
0xd20d85fd,
|
||||
0xa50ab56b,
|
||||
0x35b5a8fa,
|
||||
0x42b2986c,
|
||||
0xdbbbc9d6,
|
||||
0xacbcf940,
|
||||
0x32d86ce3,
|
||||
0x45df5c75,
|
||||
0xdcd60dcf,
|
||||
0xabd13d59,
|
||||
0x26d930ac,
|
||||
0x51de003a,
|
||||
0xc8d75180,
|
||||
0xbfd06116,
|
||||
0x21b4f4b5,
|
||||
0x56b3c423,
|
||||
0xcfba9599,
|
||||
0xb8bda50f,
|
||||
0x2802b89e,
|
||||
0x5f058808,
|
||||
0xc60cd9b2,
|
||||
0xb10be924,
|
||||
0x2f6f7c87,
|
||||
0x58684c11,
|
||||
0xc1611dab,
|
||||
0xb6662d3d,
|
||||
0x76dc4190,
|
||||
0x01db7106,
|
||||
0x98d220bc,
|
||||
0xefd5102a,
|
||||
0x71b18589,
|
||||
0x06b6b51f,
|
||||
0x9fbfe4a5,
|
||||
0xe8b8d433,
|
||||
0x7807c9a2,
|
||||
0x0f00f934,
|
||||
0x9609a88e,
|
||||
0xe10e9818,
|
||||
0x7f6a0dbb,
|
||||
0x086d3d2d,
|
||||
0x91646c97,
|
||||
0xe6635c01,
|
||||
0x6b6b51f4,
|
||||
0x1c6c6162,
|
||||
0x856530d8,
|
||||
0xf262004e,
|
||||
0x6c0695ed,
|
||||
0x1b01a57b,
|
||||
0x8208f4c1,
|
||||
0xf50fc457,
|
||||
0x65b0d9c6,
|
||||
0x12b7e950,
|
||||
0x8bbeb8ea,
|
||||
0xfcb9887c,
|
||||
0x62dd1ddf,
|
||||
0x15da2d49,
|
||||
0x8cd37cf3,
|
||||
0xfbd44c65,
|
||||
0x4db26158,
|
||||
0x3ab551ce,
|
||||
0xa3bc0074,
|
||||
0xd4bb30e2,
|
||||
0x4adfa541,
|
||||
0x3dd895d7,
|
||||
0xa4d1c46d,
|
||||
0xd3d6f4fb,
|
||||
0x4369e96a,
|
||||
0x346ed9fc,
|
||||
0xad678846,
|
||||
0xda60b8d0,
|
||||
0x44042d73,
|
||||
0x33031de5,
|
||||
0xaa0a4c5f,
|
||||
0xdd0d7cc9,
|
||||
0x5005713c,
|
||||
0x270241aa,
|
||||
0xbe0b1010,
|
||||
0xc90c2086,
|
||||
0x5768b525,
|
||||
0x206f85b3,
|
||||
0xb966d409,
|
||||
0xce61e49f,
|
||||
0x5edef90e,
|
||||
0x29d9c998,
|
||||
0xb0d09822,
|
||||
0xc7d7a8b4,
|
||||
0x59b33d17,
|
||||
0x2eb40d81,
|
||||
0xb7bd5c3b,
|
||||
0xc0ba6cad,
|
||||
0xedb88320,
|
||||
0x9abfb3b6,
|
||||
0x03b6e20c,
|
||||
0x74b1d29a,
|
||||
0xead54739,
|
||||
0x9dd277af,
|
||||
0x04db2615,
|
||||
0x73dc1683,
|
||||
0xe3630b12,
|
||||
0x94643b84,
|
||||
0x0d6d6a3e,
|
||||
0x7a6a5aa8,
|
||||
0xe40ecf0b,
|
||||
0x9309ff9d,
|
||||
0x0a00ae27,
|
||||
0x7d079eb1,
|
||||
0xf00f9344,
|
||||
0x8708a3d2,
|
||||
0x1e01f268,
|
||||
0x6906c2fe,
|
||||
0xf762575d,
|
||||
0x806567cb,
|
||||
0x196c3671,
|
||||
0x6e6b06e7,
|
||||
0xfed41b76,
|
||||
0x89d32be0,
|
||||
0x10da7a5a,
|
||||
0x67dd4acc,
|
||||
0xf9b9df6f,
|
||||
0x8ebeeff9,
|
||||
0x17b7be43,
|
||||
0x60b08ed5,
|
||||
0xd6d6a3e8,
|
||||
0xa1d1937e,
|
||||
0x38d8c2c4,
|
||||
0x4fdff252,
|
||||
0xd1bb67f1,
|
||||
0xa6bc5767,
|
||||
0x3fb506dd,
|
||||
0x48b2364b,
|
||||
0xd80d2bda,
|
||||
0xaf0a1b4c,
|
||||
0x36034af6,
|
||||
0x41047a60,
|
||||
0xdf60efc3,
|
||||
0xa867df55,
|
||||
0x316e8eef,
|
||||
0x4669be79,
|
||||
0xcb61b38c,
|
||||
0xbc66831a,
|
||||
0x256fd2a0,
|
||||
0x5268e236,
|
||||
0xcc0c7795,
|
||||
0xbb0b4703,
|
||||
0x220216b9,
|
||||
0x5505262f,
|
||||
0xc5ba3bbe,
|
||||
0xb2bd0b28,
|
||||
0x2bb45a92,
|
||||
0x5cb36a04,
|
||||
0xc2d7ffa7,
|
||||
0xb5d0cf31,
|
||||
0x2cd99e8b,
|
||||
0x5bdeae1d,
|
||||
0x9b64c2b0,
|
||||
0xec63f226,
|
||||
0x756aa39c,
|
||||
0x026d930a,
|
||||
0x9c0906a9,
|
||||
0xeb0e363f,
|
||||
0x72076785,
|
||||
0x05005713,
|
||||
0x95bf4a82,
|
||||
0xe2b87a14,
|
||||
0x7bb12bae,
|
||||
0x0cb61b38,
|
||||
0x92d28e9b,
|
||||
0xe5d5be0d,
|
||||
0x7cdcefb7,
|
||||
0x0bdbdf21,
|
||||
0x86d3d2d4,
|
||||
0xf1d4e242,
|
||||
0x68ddb3f8,
|
||||
0x1fda836e,
|
||||
0x81be16cd,
|
||||
0xf6b9265b,
|
||||
0x6fb077e1,
|
||||
0x18b74777,
|
||||
0x88085ae6,
|
||||
0xff0f6a70,
|
||||
0x66063bca,
|
||||
0x11010b5c,
|
||||
0x8f659eff,
|
||||
0xf862ae69,
|
||||
0x616bffd3,
|
||||
0x166ccf45,
|
||||
0xa00ae278,
|
||||
0xd70dd2ee,
|
||||
0x4e048354,
|
||||
0x3903b3c2,
|
||||
0xa7672661,
|
||||
0xd06016f7,
|
||||
0x4969474d,
|
||||
0x3e6e77db,
|
||||
0xaed16a4a,
|
||||
0xd9d65adc,
|
||||
0x40df0b66,
|
||||
0x37d83bf0,
|
||||
0xa9bcae53,
|
||||
0xdebb9ec5,
|
||||
0x47b2cf7f,
|
||||
0x30b5ffe9,
|
||||
0xbdbdf21c,
|
||||
0xcabac28a,
|
||||
0x53b39330,
|
||||
0x24b4a3a6,
|
||||
0xbad03605,
|
||||
0xcdd70693,
|
||||
0x54de5729,
|
||||
0x23d967bf,
|
||||
0xb3667a2e,
|
||||
0xc4614ab8,
|
||||
0x5d681b02,
|
||||
0x2a6f2b94,
|
||||
0xb40bbe37,
|
||||
0xc30c8ea1,
|
||||
0x5a05df1b,
|
||||
0x2d02ef8d
|
||||
]);
|
||||
|
||||
module.exports = function crc32(uint8Array, previous) {
|
||||
let crc = previous === 0 ? 0 : ~~previous ^ -1;
|
||||
for (let i = 0; i < uint8Array.byteLength; i++) {
|
||||
crc = LOOKUP[(crc ^ uint8Array[i]) & 0xff] ^ (crc >>> 8);
|
||||
}
|
||||
return (crc ^ -1) >>> 0;
|
||||
};
|
||||
44
app/ece.js
44
app/ece.js
@@ -1,5 +1,5 @@
|
||||
import 'buffer';
|
||||
import { transformStream } from './streams';
|
||||
import { concat } from './utils';
|
||||
|
||||
const NONCE_LENGTH = 12;
|
||||
const TAG_LENGTH = 16;
|
||||
@@ -81,19 +81,18 @@ class ECETransformer {
|
||||
)
|
||||
);
|
||||
|
||||
return Buffer.from(base.slice(0, NONCE_LENGTH));
|
||||
return base.slice(0, NONCE_LENGTH);
|
||||
}
|
||||
|
||||
generateNonce(seq) {
|
||||
if (seq > 0xffffffff) {
|
||||
throw new Error('record sequence number exceeds limit');
|
||||
}
|
||||
const nonce = Buffer.from(this.nonceBase);
|
||||
const m = nonce.readUIntBE(nonce.length - 4, 4);
|
||||
const nonce = new DataView(this.nonceBase.slice());
|
||||
const m = nonce.getUint32(nonce.byteLength - 4);
|
||||
const xor = (m ^ seq) >>> 0; //forces unsigned int xor
|
||||
nonce.writeUIntBE(xor, nonce.length - 4, 4);
|
||||
|
||||
return nonce;
|
||||
nonce.setUint32(nonce.byteLength - 4, xor);
|
||||
return new Uint8Array(nonce.buffer);
|
||||
}
|
||||
|
||||
pad(data, isLast) {
|
||||
@@ -103,14 +102,11 @@ class ECETransformer {
|
||||
}
|
||||
|
||||
if (isLast) {
|
||||
const padding = Buffer.alloc(1);
|
||||
padding.writeUInt8(2, 0);
|
||||
return Buffer.concat([data, padding]);
|
||||
return concat(data, Uint8Array.of(2));
|
||||
} else {
|
||||
const padding = Buffer.alloc(this.rs - len - TAG_LENGTH);
|
||||
padding.fill(0);
|
||||
padding.writeUInt8(1, 0);
|
||||
return Buffer.concat([data, padding]);
|
||||
const padding = new Uint8Array(this.rs - len - TAG_LENGTH);
|
||||
padding[0] = 1;
|
||||
return concat(data, padding);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,10 +129,9 @@ class ECETransformer {
|
||||
}
|
||||
|
||||
createHeader() {
|
||||
const nums = Buffer.alloc(5);
|
||||
nums.writeUIntBE(this.rs, 0, 4);
|
||||
nums.writeUIntBE(0, 4, 1);
|
||||
return Buffer.concat([Buffer.from(this.salt), nums]);
|
||||
const nums = new DataView(new ArrayBuffer(5));
|
||||
nums.setUint32(0, this.rs);
|
||||
return concat(new Uint8Array(this.salt), new Uint8Array(nums.buffer));
|
||||
}
|
||||
|
||||
readHeader(buffer) {
|
||||
@@ -144,9 +139,10 @@ class ECETransformer {
|
||||
throw new Error('chunk too small for reading header');
|
||||
}
|
||||
const header = {};
|
||||
header.salt = buffer.buffer.slice(0, KEY_LENGTH);
|
||||
header.rs = buffer.readUIntBE(KEY_LENGTH, 4);
|
||||
const idlen = buffer.readUInt8(KEY_LENGTH + 4);
|
||||
const dv = new DataView(buffer.buffer);
|
||||
header.salt = buffer.slice(0, KEY_LENGTH);
|
||||
header.rs = dv.getUint32(KEY_LENGTH);
|
||||
const idlen = dv.getUint8(KEY_LENGTH + 4);
|
||||
header.length = idlen + KEY_LENGTH + 5;
|
||||
return header;
|
||||
}
|
||||
@@ -158,7 +154,7 @@ class ECETransformer {
|
||||
this.key,
|
||||
this.pad(buffer, isLast)
|
||||
);
|
||||
return Buffer.from(encrypted);
|
||||
return new Uint8Array(encrypted);
|
||||
}
|
||||
|
||||
async decryptRecord(buffer, seq, isLast) {
|
||||
@@ -173,7 +169,7 @@ class ECETransformer {
|
||||
buffer
|
||||
);
|
||||
|
||||
return this.unpad(Buffer.from(data), isLast);
|
||||
return this.unpad(new Uint8Array(data), isLast);
|
||||
}
|
||||
|
||||
async start(controller) {
|
||||
@@ -214,7 +210,7 @@ class ECETransformer {
|
||||
await this.transformPrevChunk(false, controller);
|
||||
}
|
||||
this.firstchunk = false;
|
||||
this.prevChunk = Buffer.from(chunk.buffer);
|
||||
this.prevChunk = new Uint8Array(chunk.buffer);
|
||||
}
|
||||
|
||||
async flush(controller) {
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
import Nanobus from 'nanobus';
|
||||
import Keychain from './keychain';
|
||||
import { delay, bytes, streamToArrayBuffer } from './utils';
|
||||
import { downloadFile, metadata, getApiUrl } from './api';
|
||||
import {
|
||||
downloadFile,
|
||||
downloadDone,
|
||||
metadata,
|
||||
getApiUrl,
|
||||
reportLink,
|
||||
getDownloadToken
|
||||
} from './api';
|
||||
import { blobStream } from './streams';
|
||||
import Zip from './zip';
|
||||
|
||||
@@ -13,9 +20,14 @@ export default class FileReceiver extends Nanobus {
|
||||
this.keychain.setPassword(fileInfo.password, fileInfo.url);
|
||||
}
|
||||
this.fileInfo = fileInfo;
|
||||
this.dlToken = null;
|
||||
this.reset();
|
||||
}
|
||||
|
||||
get id() {
|
||||
return this.fileInfo.id;
|
||||
}
|
||||
|
||||
get progressRatio() {
|
||||
return this.progress[0] / this.progress[1];
|
||||
}
|
||||
@@ -47,12 +59,16 @@ export default class FileReceiver extends Nanobus {
|
||||
const meta = await metadata(this.fileInfo.id, this.keychain);
|
||||
this.fileInfo.name = meta.name;
|
||||
this.fileInfo.type = meta.type;
|
||||
this.fileInfo.iv = meta.iv;
|
||||
this.fileInfo.size = +meta.size;
|
||||
this.fileInfo.manifest = meta.manifest;
|
||||
this.fileInfo.flagged = meta.flagged;
|
||||
this.state = 'ready';
|
||||
}
|
||||
|
||||
async reportLink(reason) {
|
||||
await reportLink(this.fileInfo.id, this.keychain, reason);
|
||||
}
|
||||
|
||||
sendMessageToSw(msg) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const channel = new MessageChannel();
|
||||
@@ -75,7 +91,7 @@ export default class FileReceiver extends Nanobus {
|
||||
this.state = 'downloading';
|
||||
this.downloadRequest = await downloadFile(
|
||||
this.fileInfo.id,
|
||||
this.keychain,
|
||||
this.dlToken,
|
||||
p => {
|
||||
this.progress = [p, this.fileInfo.size];
|
||||
this.emit('progress');
|
||||
@@ -139,6 +155,7 @@ export default class FileReceiver extends Nanobus {
|
||||
url: this.fileInfo.url,
|
||||
size: this.fileInfo.size,
|
||||
nonce: this.keychain.nonce,
|
||||
dlToken: this.dlToken,
|
||||
noSave
|
||||
};
|
||||
await this.sendMessageToSw(info);
|
||||
@@ -204,11 +221,19 @@ export default class FileReceiver extends Nanobus {
|
||||
}
|
||||
}
|
||||
|
||||
download(options) {
|
||||
if (options.stream) {
|
||||
return this.downloadStream(options.noSave);
|
||||
async download({ stream, storage, noSave }) {
|
||||
this.dlToken = storage.getDownloadToken(this.id);
|
||||
if (!this.dlToken) {
|
||||
this.dlToken = await getDownloadToken(this.id, this.keychain);
|
||||
storage.setDownloadToken(this.id, this.dlToken);
|
||||
}
|
||||
return this.downloadBlob(options.noSave);
|
||||
if (stream) {
|
||||
await this.downloadStream(noSave);
|
||||
} else {
|
||||
await this.downloadBlob(noSave);
|
||||
}
|
||||
await downloadDone(this.id, this.dlToken);
|
||||
storage.setDownloadToken(this.id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* global AUTH_CONFIG */
|
||||
import { arrayToB64, b64ToArray } from './utils';
|
||||
import { arrayToB64, b64ToArray, concat } from './utils';
|
||||
|
||||
const encoder = new TextEncoder();
|
||||
const decoder = new TextDecoder();
|
||||
@@ -23,13 +23,6 @@ function getOtherInfo(enc) {
|
||||
return result;
|
||||
}
|
||||
|
||||
function concat(b1, b2) {
|
||||
const result = new Uint8Array(b1.length + b2.length);
|
||||
result.set(b1, 0);
|
||||
result.set(b2, b1.length);
|
||||
return result;
|
||||
}
|
||||
|
||||
async function concatKdf(key, enc) {
|
||||
if (key.length !== 32) {
|
||||
throw new Error('unsupported key length');
|
||||
|
||||
76
app/main.css
76
app/main.css
@@ -55,6 +55,12 @@ body {
|
||||
@apply bg-blue-70;
|
||||
}
|
||||
|
||||
.btn:disabled {
|
||||
@apply bg-grey-transparent;
|
||||
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
@apply leading-normal;
|
||||
@apply select-none;
|
||||
@@ -138,21 +144,6 @@ footer li:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.feedback-link {
|
||||
background-color: #000;
|
||||
background-image: url('../assets/feedback.svg');
|
||||
background-position: 0.125rem 0.25rem;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 1.125rem;
|
||||
color: #fff;
|
||||
display: block;
|
||||
font-size: 0.75rem;
|
||||
line-height: 0.75rem;
|
||||
padding: 0.375rem 0.375rem 0.375rem 1.25rem;
|
||||
text-indent: 0.125rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.link-blue {
|
||||
@apply text-blue-60;
|
||||
}
|
||||
@@ -175,6 +166,10 @@ footer li:hover {
|
||||
height: unset;
|
||||
}
|
||||
|
||||
.dl-bg {
|
||||
filter: grayscale(1) opacity(0.15);
|
||||
}
|
||||
|
||||
.main {
|
||||
display: flex;
|
||||
position: relative;
|
||||
@@ -296,7 +291,7 @@ select {
|
||||
@apply m-auto;
|
||||
@apply py-8;
|
||||
|
||||
min-height: 36rem;
|
||||
min-height: 42rem;
|
||||
max-height: 42rem;
|
||||
width: calc(100% - 3rem);
|
||||
}
|
||||
@@ -322,6 +317,10 @@ select {
|
||||
@apply bg-blue-50;
|
||||
}
|
||||
|
||||
.btn:disabled {
|
||||
@apply bg-grey-80;
|
||||
}
|
||||
|
||||
.link-blue {
|
||||
@apply text-blue-40;
|
||||
}
|
||||
@@ -392,48 +391,3 @@ select {
|
||||
.signin:hover:active {
|
||||
transform: scale(0.9375);
|
||||
}
|
||||
|
||||
/* begin signin button color experiment */
|
||||
|
||||
.white-blue {
|
||||
@apply border-blue-60;
|
||||
@apply border-2;
|
||||
@apply text-blue-60;
|
||||
}
|
||||
|
||||
.white-blue:hover,
|
||||
.white-blue:focus {
|
||||
@apply bg-blue-60;
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.blue {
|
||||
@apply bg-blue-60;
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.white-violet {
|
||||
@apply border-violet;
|
||||
@apply border-2;
|
||||
@apply text-violet;
|
||||
}
|
||||
|
||||
.white-violet:hover,
|
||||
.white-violet:focus {
|
||||
@apply bg-violet;
|
||||
@apply text-white;
|
||||
|
||||
background-image: var(--violet-gradient);
|
||||
}
|
||||
|
||||
.violet {
|
||||
@apply bg-violet;
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.violet:hover,
|
||||
.violet:focus {
|
||||
background-image: var(--violet-gradient);
|
||||
}
|
||||
|
||||
/* end signin button color experiment */
|
||||
|
||||
@@ -59,7 +59,8 @@ if (process.env.NODE_ENV === 'production') {
|
||||
sentry: Sentry,
|
||||
user: new User(storage, LIMITS, window.AUTH_CONFIG),
|
||||
transfer: null,
|
||||
fileInfo: null
|
||||
fileInfo: null,
|
||||
locale: locale()
|
||||
};
|
||||
|
||||
const app = routes(choo({ hash: true }));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
`app/` contains the browser code that gets bundled into `app.[hash].js`. It's got all the logic, crypto, and UI. All of it gets used in the browser, and some of it by the server for server side rendering.
|
||||
|
||||
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes/index.js](./routes/index.js) gets imported by [/server/routes/pages.js](../server/routes/pages.js)
|
||||
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes.js](./routes.js) is imported by [/server/routes/pages.js](../server/routes/pages.js)
|
||||
|
||||
- `pages` contains display logic an markup for pages
|
||||
- `routes` contains route definitions and logic
|
||||
|
||||
@@ -13,7 +13,11 @@ module.exports = function(app = choo({ hash: true })) {
|
||||
app.route('/oauth', function(state, emit) {
|
||||
emit('authenticate', state.query.code, state.query.state);
|
||||
});
|
||||
app.route('/login', body(require('./ui/home')));
|
||||
app.route('/login', function(state, emit) {
|
||||
emit('replaceState', '/');
|
||||
setTimeout(() => emit('render'));
|
||||
});
|
||||
app.route('/report', body(require('./ui/report')));
|
||||
app.route('*', body(require('./ui/notFound')));
|
||||
return app;
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ import contentDisposition from 'content-disposition';
|
||||
let noSave = false;
|
||||
const map = new Map();
|
||||
const IMAGES = /.*\.(png|svg|jpg)$/;
|
||||
const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)$/;
|
||||
const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)(#\w+)?$/;
|
||||
const DOWNLOAD_URL = /\/api\/download\/([A-Fa-f0-9]{4,})/;
|
||||
const FONT = /\.woff2?$/;
|
||||
|
||||
@@ -34,7 +34,7 @@ async function decryptStream(id) {
|
||||
keychain.setPassword(file.password, file.url);
|
||||
}
|
||||
|
||||
file.download = downloadStream(id, keychain);
|
||||
file.download = downloadStream(id, file.dlToken);
|
||||
|
||||
const body = await file.download.result;
|
||||
|
||||
@@ -146,6 +146,7 @@ self.onmessage = event => {
|
||||
type: event.data.type,
|
||||
manifest: event.data.manifest,
|
||||
size: event.data.size,
|
||||
dlToken: event.data.dlToken,
|
||||
progress: 0
|
||||
};
|
||||
map.set(event.data.id, info);
|
||||
|
||||
@@ -35,6 +35,7 @@ class Storage {
|
||||
this.engine = new Mem();
|
||||
}
|
||||
this._files = this.loadFiles();
|
||||
this.pruneTokens();
|
||||
}
|
||||
|
||||
loadFiles() {
|
||||
@@ -180,6 +181,48 @@ class Storage {
|
||||
downloadCount
|
||||
};
|
||||
}
|
||||
|
||||
setDownloadToken(id, token) {
|
||||
let otherTokens = {};
|
||||
try {
|
||||
otherTokens = JSON.parse(this.get('dlTokens'));
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
if (token) {
|
||||
const record = { token, ts: Date.now() };
|
||||
this.set('dlTokens', JSON.stringify({ ...otherTokens, [id]: record }));
|
||||
} else {
|
||||
this.set('dlTokens', JSON.stringify({ ...otherTokens, [id]: undefined }));
|
||||
}
|
||||
}
|
||||
|
||||
getDownloadToken(id) {
|
||||
try {
|
||||
return JSON.parse(this.get('dlTokens'))[id].token;
|
||||
} catch (e) {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
pruneTokens() {
|
||||
try {
|
||||
const now = Date.now();
|
||||
const tokens = JSON.parse(this.get('dlTokens'));
|
||||
const keep = {};
|
||||
for (const id of Object.keys(tokens)) {
|
||||
const t = tokens[id];
|
||||
if (t.ts > now - 7 * 86400 * 1000) {
|
||||
keep[id] = t;
|
||||
}
|
||||
}
|
||||
if (Object.keys(keep).length < Object.keys(tokens).length) {
|
||||
this.set('dlTokens', JSON.stringify(keep));
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new Storage();
|
||||
|
||||
@@ -54,12 +54,17 @@ class Account extends Component {
|
||||
createElement() {
|
||||
if (!this.enabled) {
|
||||
return html`
|
||||
<div></div>
|
||||
<send-account></send-account>
|
||||
`;
|
||||
}
|
||||
const user = this.state.user;
|
||||
const translate = this.state.translate;
|
||||
this.setLocal();
|
||||
if (user.loginRequired && !this.local.loggedIn) {
|
||||
return html`
|
||||
<send-account></send-account>
|
||||
`;
|
||||
}
|
||||
if (!this.local.loggedIn) {
|
||||
return html`
|
||||
<send-account>
|
||||
|
||||
@@ -30,6 +30,12 @@ function password(state) {
|
||||
|
||||
return html`
|
||||
<div class="mb-2 px-1">
|
||||
<input
|
||||
id="autocomplete-decoy"
|
||||
class="hidden"
|
||||
type="password"
|
||||
value="lol"
|
||||
/>
|
||||
<div class="checkbox inline-block mr-3">
|
||||
<input
|
||||
id="add-password"
|
||||
@@ -482,6 +488,11 @@ module.exports.empty = function(state, emit) {
|
||||
>
|
||||
${state.translate('addFilesButton')}
|
||||
</label>
|
||||
<p
|
||||
class="font-normal text-sm text-grey-50 dark:text-grey-40 my-6 mx-12 text-center max-w-sm leading-loose"
|
||||
>
|
||||
${state.translate('trustWarningMessage')}
|
||||
</p>
|
||||
${upsell}
|
||||
</send-upload-area>
|
||||
`;
|
||||
@@ -517,13 +528,27 @@ module.exports.preview = function(state, emit) {
|
||||
`;
|
||||
return html`
|
||||
<send-archive
|
||||
class="flex flex-col max-h-full bg-white p-4 w-full md:w-128 dark:bg-grey-90"
|
||||
class="flex flex-col max-h-full bg-white w-full dark:bg-grey-90"
|
||||
>
|
||||
<div class="border rounded py-3 px-6 dark:border-grey-70">
|
||||
<div class="border rounded py-3 px-4 dark:border-grey-70">
|
||||
${archiveInfo(archive)} ${details}
|
||||
</div>
|
||||
<div class="checkbox inline-block mt-6 mx-auto">
|
||||
<input
|
||||
id="trust-download"
|
||||
type="checkbox"
|
||||
autocomplete="off"
|
||||
onchange="${toggleDownloadEnabled}"
|
||||
/>
|
||||
<label for="trust-download">
|
||||
${state.translate('downloadTrustCheckbox', {
|
||||
count: archive.manifest.files.length
|
||||
})}
|
||||
</label>
|
||||
</div>
|
||||
<button
|
||||
id="download-btn"
|
||||
disabled
|
||||
class="btn rounded-lg mt-4 w-full flex-shrink-0 focus:outline"
|
||||
title="${state.translate('downloadButtonLabel')}"
|
||||
onclick=${download}
|
||||
@@ -533,6 +558,13 @@ module.exports.preview = function(state, emit) {
|
||||
</send-archive>
|
||||
`;
|
||||
|
||||
function toggleDownloadEnabled(event) {
|
||||
event.stopPropagation();
|
||||
const checked = event.target.checked;
|
||||
const btn = document.getElementById('download-btn');
|
||||
btn.disabled = !checked;
|
||||
}
|
||||
|
||||
function download(event) {
|
||||
event.preventDefault();
|
||||
event.target.disabled = true;
|
||||
|
||||
@@ -8,7 +8,9 @@ function banner(state) {
|
||||
return; // server side
|
||||
}
|
||||
const show =
|
||||
!state.capabilities.standalone && !state.route.startsWith('/unsupported/');
|
||||
!state.capabilities.standalone &&
|
||||
!state.route.startsWith('/unsupported/') &&
|
||||
state.locale === 'en-US';
|
||||
if (show) {
|
||||
return state.cache(Promo, 'promo').render();
|
||||
}
|
||||
|
||||
@@ -10,11 +10,9 @@ module.exports = function(name, url) {
|
||||
<h1 class="text-3xl font-bold my-4">
|
||||
${state.translate('notifyUploadEncryptDone')}
|
||||
</h1>
|
||||
<p
|
||||
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
|
||||
>
|
||||
<p class="font-normal leading-normal text-grey-80 dark:text-grey-40">
|
||||
${state.translate('copyLinkDescription')} <br />
|
||||
${name}
|
||||
<span class="word-break-all">${name}</span>
|
||||
</p>
|
||||
<input
|
||||
type="text"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/* global downloadMetadata */
|
||||
const html = require('choo/html');
|
||||
const assets = require('../../common/assets');
|
||||
const archiveTile = require('./archiveTile');
|
||||
const modal = require('./modal');
|
||||
const noStreams = require('./noStreams');
|
||||
@@ -31,22 +32,51 @@ function downloading(state, emit) {
|
||||
}
|
||||
|
||||
function preview(state, emit) {
|
||||
if (state.fileInfo.flagged) {
|
||||
return html`
|
||||
<div
|
||||
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
|
||||
>
|
||||
<h1 class="text-xl font-bold">${state.translate('downloadFlagged')}</h1>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
if (!state.capabilities.streamDownload && state.fileInfo.size > BIG_SIZE) {
|
||||
return noStreams(state, emit);
|
||||
}
|
||||
return html`
|
||||
<div
|
||||
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
|
||||
>
|
||||
<h1 class="text-3xl font-bold mb-4">
|
||||
${state.translate('downloadTitle')}
|
||||
</h1>
|
||||
<p
|
||||
class="w-full text-grey-80 text-center leading-normal dark:text-grey-40"
|
||||
<div class="w-full md:flex md:flex-row items-stretch md:flex-1">
|
||||
<div
|
||||
class="px-2 w-full md:px-0 flex-half md:flex md:flex-col mt-12 md:pr-8 pb-4"
|
||||
>
|
||||
${state.translate('downloadDescription')}
|
||||
</p>
|
||||
${archiveTile.preview(state, emit)}
|
||||
<h1 class="text-3xl font-bold mb-4 text-center md:text-left">
|
||||
${state.translate('downloadTitle')}
|
||||
</h1>
|
||||
<p
|
||||
class="text-grey-80 leading-normal dark:text-grey-40 mb-4 text-center md:text-left"
|
||||
>
|
||||
${state.translate('downloadDescription')}
|
||||
</p>
|
||||
<p
|
||||
class="text-grey-80 leading-normal dark:text-grey-40 font-semibold text-center md:mb-8 md:text-left"
|
||||
>
|
||||
${state.translate('downloadConfirmDescription')}
|
||||
</p>
|
||||
<img
|
||||
class="hidden md:block dl-bg w-full"
|
||||
src="${assets.get('intro.svg')}"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="w-full flex-half flex-half md:flex md:flex-col md:justify-center"
|
||||
>
|
||||
${archiveTile.preview(state, emit)}
|
||||
<a href="/report" class="link-blue mt-4 text-center block"
|
||||
>${state.translate('reportFile', {
|
||||
count: state.fileInfo.manifest.files.length
|
||||
})}</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
@@ -55,9 +85,17 @@ module.exports = function(state, emit) {
|
||||
let content = '';
|
||||
if (!state.fileInfo) {
|
||||
state.fileInfo = createFileInfo(state);
|
||||
if (!state.fileInfo.nonce) {
|
||||
if (downloadMetadata.status === 404) {
|
||||
return notFound(state);
|
||||
}
|
||||
if (!state.fileInfo.nonce) {
|
||||
// coming from something like the browser back button
|
||||
return location.reload();
|
||||
}
|
||||
}
|
||||
|
||||
if (state.fileInfo.dead) {
|
||||
return notFound(state);
|
||||
}
|
||||
|
||||
if (!state.transfer && !state.fileInfo.requiresPassword) {
|
||||
@@ -83,7 +121,7 @@ module.exports = function(state, emit) {
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
<section
|
||||
class="relative h-full w-full p-6 md:p-8 md:rounded-xl md:shadow-big"
|
||||
class="relative overflow-hidden h-full w-full p-6 md:p-8 md:rounded-xl md:shadow-big md:flex md:flex-col"
|
||||
>
|
||||
${content}
|
||||
</section>
|
||||
|
||||
@@ -2,6 +2,7 @@ const html = require('choo/html');
|
||||
const assets = require('../../common/assets');
|
||||
|
||||
module.exports = function(state) {
|
||||
const btnText = state.user.loggedIn ? 'okButton' : 'sendYourFilesLink';
|
||||
return html`
|
||||
<div
|
||||
id="download-complete"
|
||||
@@ -10,15 +11,23 @@ module.exports = function(state) {
|
||||
<h1 class="text-center text-3xl font-bold my-2">
|
||||
${state.translate('downloadFinish')}
|
||||
</h1>
|
||||
<img src="${assets.get('completed.svg')}" class="my-12 h-48" />
|
||||
<p class="text-grey-80 leading-normal dark:text-grey-40">
|
||||
<img src="${assets.get('completed.svg')}" class="my-8 h-48" />
|
||||
<p
|
||||
class="text-grey-80 leading-normal dark:text-grey-40 ${state.user
|
||||
.loggedIn
|
||||
? 'hidden'
|
||||
: ''}"
|
||||
>
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center mt-4" role="button"
|
||||
>${state.translate('sendYourFilesLink')}</a
|
||||
>${state.translate(btnText)}</a
|
||||
>
|
||||
</p>
|
||||
<p class="">
|
||||
<a href="/report" class="link-blue">${state.translate('reportFile')}</a>
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
};
|
||||
|
||||
58
app/ui/downloadDialog.js
Normal file
58
app/ui/downloadDialog.js
Normal file
@@ -0,0 +1,58 @@
|
||||
const html = require('choo/html');
|
||||
|
||||
module.exports = function() {
|
||||
return function(state, emit, close) {
|
||||
const archive = state.fileInfo;
|
||||
return html`
|
||||
<send-download-dialog
|
||||
class="flex flex-col w-full max-w-sm h-full mx-auto items-center justify-center"
|
||||
>
|
||||
<h1 class="text-3xl font-bold mb-4">
|
||||
${state.translate('downloadConfirmTitle')}
|
||||
</h1>
|
||||
<p
|
||||
class="w-full text-grey-80 text-center leading-normal dark:text-grey-40 mb-8"
|
||||
>
|
||||
${state.translate('downloadConfirmDescription')}
|
||||
</p>
|
||||
<div class="checkbox inline-block mr-3 mb-8">
|
||||
<input
|
||||
id="trust-download"
|
||||
type="checkbox"
|
||||
autocomplete="off"
|
||||
onchange="${toggleDownloadEnabled}"
|
||||
/>
|
||||
<label for="trust-download">
|
||||
${state.translate('downloadTrustCheckbox')}
|
||||
</label>
|
||||
</div>
|
||||
<button
|
||||
id="download-btn"
|
||||
disabled
|
||||
class="btn rounded-lg w-full flex-shrink-0"
|
||||
onclick="${download}"
|
||||
title="${state.translate('downloadButtonLabel')}"
|
||||
>
|
||||
${state.translate('downloadButtonLabel')}
|
||||
</button>
|
||||
<a href="/report" class="link-blue mt-8"
|
||||
>${state.translate('reportFile')}</a
|
||||
>
|
||||
</send-download-dialog>
|
||||
`;
|
||||
|
||||
function toggleDownloadEnabled(event) {
|
||||
event.stopPropagation();
|
||||
const checked = event.target.checked;
|
||||
const btn = document.getElementById('download-btn');
|
||||
btn.disabled = !checked;
|
||||
}
|
||||
|
||||
function download(event) {
|
||||
event.preventDefault();
|
||||
close();
|
||||
event.target.disabled = true;
|
||||
emit('download', archive);
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -21,6 +21,12 @@ module.exports = function(state, emit) {
|
||||
onsubmit="${checkPassword}"
|
||||
data-no-csrf
|
||||
>
|
||||
<input
|
||||
id="autocomplete-decoy"
|
||||
class="hidden"
|
||||
type="password"
|
||||
value="lol"
|
||||
/>
|
||||
<input
|
||||
id="password-input"
|
||||
class="w-full border-l border-t border-b rounded-l-lg rounded-r-none ${invalid
|
||||
@@ -63,8 +69,13 @@ module.exports = function(state, emit) {
|
||||
const input = document.getElementById('password-input');
|
||||
const btn = document.getElementById('password-btn');
|
||||
label.classList.add('invisible');
|
||||
input.classList.remove('border-red');
|
||||
btn.classList.remove('bg-red', 'hover:bg-red', 'focus:bg-red');
|
||||
input.classList.remove('border-red', 'dark:border-red-40');
|
||||
btn.classList.remove(
|
||||
'bg-red',
|
||||
'hover:bg-red',
|
||||
'focus:bg-red',
|
||||
'dark:bg-red-40'
|
||||
);
|
||||
}
|
||||
|
||||
function checkPassword(event) {
|
||||
|
||||
@@ -3,6 +3,7 @@ const assets = require('../../common/assets');
|
||||
const modal = require('./modal');
|
||||
|
||||
module.exports = function(state, emit) {
|
||||
const btnText = state.user.loggedIn ? 'okButton' : 'sendYourFilesLink';
|
||||
return html`
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
@@ -13,12 +14,17 @@ module.exports = function(state, emit) {
|
||||
${state.translate('errorPageHeader')}
|
||||
</h1>
|
||||
<img class="my-12 h-48" src="${assets.get('error.svg')}" />
|
||||
<p class="max-w-md text-center text-grey-80 leading-normal">
|
||||
<p
|
||||
class="max-w-md text-center text-grey-80 leading-normal dark:text-grey-40 ${state
|
||||
.user.loggedIn
|
||||
? 'hidden'
|
||||
: ''}"
|
||||
>
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center" role="button"
|
||||
>${state.translate('sendYourFilesLink')}</a
|
||||
>${state.translate(btnText)}</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
const html = require('choo/html');
|
||||
const Component = require('choo/component');
|
||||
const version = require('../../package.json').version;
|
||||
const { browserName } = require('../utils');
|
||||
|
||||
class Footer extends Component {
|
||||
constructor(name, state) {
|
||||
@@ -15,8 +13,6 @@ class Footer extends Component {
|
||||
|
||||
createElement() {
|
||||
const translate = this.state.translate;
|
||||
const browser = browserName();
|
||||
const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`;
|
||||
return html`
|
||||
<footer
|
||||
class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-60 dark:text-grey-40 md:items-center justify-between"
|
||||
@@ -43,17 +39,6 @@ class Footer extends Component {
|
||||
<li class="m-2">
|
||||
<a href="https://github.com/mozilla/send">GitHub </a>
|
||||
</li>
|
||||
<li class="m-2">
|
||||
<a
|
||||
href="${feedbackUrl}"
|
||||
rel="noreferrer noopener"
|
||||
class="feedback-link"
|
||||
alt="Feedback"
|
||||
target="_blank"
|
||||
>
|
||||
${translate('siteFeedback')}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</footer>
|
||||
`;
|
||||
|
||||
@@ -33,7 +33,7 @@ class Header extends Component {
|
||||
alt="${this.state.translate('title')}"
|
||||
src="${assets.get('icon.svg')}"
|
||||
/>
|
||||
<svg class="w-48 md:w-64">
|
||||
<svg viewBox="66 0 340 64" class="w-48 md:w-64">
|
||||
<use xlink:href="${assets.get('wordmark.svg')}#logo" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
@@ -5,6 +5,9 @@ const modal = require('./modal');
|
||||
const intro = require('./intro');
|
||||
|
||||
module.exports = function(state, emit) {
|
||||
if (state.user.loginRequired && !state.user.loggedIn) {
|
||||
emit('signup-cta', 'required');
|
||||
}
|
||||
const archives = state.storage.files
|
||||
.filter(archive => !archive.expired)
|
||||
.map(archive => archiveTile(state, emit, archive));
|
||||
|
||||
@@ -2,6 +2,7 @@ const html = require('choo/html');
|
||||
const modal = require('./modal');
|
||||
|
||||
module.exports = function(state, emit) {
|
||||
state.modal = null;
|
||||
return html`
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
|
||||
@@ -6,7 +6,7 @@ module.exports = function(state, emit) {
|
||||
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8 dark:bg-grey-90"
|
||||
>
|
||||
<div
|
||||
class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center"
|
||||
class="h-full w-full max-h-screen absolute top-0 flex justify-center md:items-center"
|
||||
>
|
||||
<div class="w-full">
|
||||
${state.modal(state, emit, close)}
|
||||
|
||||
@@ -19,9 +19,9 @@ module.exports = function(state, emit) {
|
||||
<form class="md:w-128" onsubmit=${submit}>
|
||||
<fieldset class="border rounded p-4 my-4" onchange=${optionChanged}>
|
||||
<div class="flex items-center mb-2">
|
||||
<img class="mr-3 flex-shrink-0" src="${assets.get(
|
||||
'blue_file.svg'
|
||||
)}"/>
|
||||
<svg class="h-8 w-6 mr-3 flex-shrink-0 text-white dark:text-grey-90">
|
||||
<use xlink:href="${assets.get('blue_file.svg')}#icon"/>
|
||||
</svg>
|
||||
<p class="flex-grow">
|
||||
<h1 class="text-base font-medium word-break-all">${
|
||||
archive.name
|
||||
@@ -55,6 +55,11 @@ module.exports = function(state, emit) {
|
||||
value="${state.translate('copyLinkButton')}"
|
||||
title="${state.translate('copyLinkButton')}"
|
||||
type="submit" />
|
||||
<p
|
||||
class="text-grey-80 leading-normal dark:text-grey-40 font-semibold text-center md:my-8 md:text-left"
|
||||
>
|
||||
${state.translate('downloadConfirmDescription')}
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
`;
|
||||
@@ -64,6 +69,7 @@ module.exports = function(state, emit) {
|
||||
const choice = event.target.value;
|
||||
const button = event.currentTarget.nextElementSibling;
|
||||
let title = button.title;
|
||||
console.error(choice, title);
|
||||
switch (choice) {
|
||||
case 'copy':
|
||||
title = state.translate('copyLinkButton');
|
||||
|
||||
@@ -3,6 +3,7 @@ const assets = require('../../common/assets');
|
||||
const modal = require('./modal');
|
||||
|
||||
module.exports = function(state, emit) {
|
||||
const btnText = state.user.loggedIn ? 'okButton' : 'sendYourFilesLink';
|
||||
return html`
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
@@ -13,12 +14,22 @@ module.exports = function(state, emit) {
|
||||
${state.translate('expiredTitle')}
|
||||
</h1>
|
||||
<img src="${assets.get('notFound.svg')}" class="my-12" />
|
||||
<p class="max-w-md text-center text-grey-80 leading-normal">
|
||||
<p
|
||||
class="max-w-md text-center text-grey-80 leading-normal dark:text-grey-40 ${state
|
||||
.user.loggedIn
|
||||
? 'hidden'
|
||||
: ''}"
|
||||
>
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center" role="button"
|
||||
>${state.translate('sendYourFilesLink')}</a
|
||||
>${state.translate(btnText)}</a
|
||||
>
|
||||
</p>
|
||||
<p class="">
|
||||
<a href="/report" class="link-blue"
|
||||
>${state.translate('reportFile')}</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@@ -24,11 +24,11 @@ class Promo extends Component {
|
||||
alt="Firefox"
|
||||
/>
|
||||
<span class="ml-2 sm:ml-4 text-xs sm:text-base">
|
||||
${this.state.translate('trailheadPromo')}${' '}
|
||||
${`Like Firefox Send? You'll love our new full-device VPN. `}
|
||||
<a
|
||||
class="underline link-blue"
|
||||
href="http://www.mozilla.org/firefox/accounts/?utm_source=send.firefox.com&utm_medium=banner&utm_campaign=trailhead&utm_content=protect-your-privacy"
|
||||
>${this.state.translate('learnMore')}</a
|
||||
href="https://vpn.mozilla.org/?utm_source=send.firefox.com&utm_medium=referral&utm_content=Try+Firefox+Private+Network&utm_campaign=top-bar"
|
||||
>${`Get it today`}</a
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
139
app/ui/report.js
Normal file
139
app/ui/report.js
Normal file
@@ -0,0 +1,139 @@
|
||||
const html = require('choo/html');
|
||||
const raw = require('choo/html/raw');
|
||||
const assets = require('../../common/assets');
|
||||
|
||||
const REPORTABLES = ['Malware', 'Pii', 'Abuse'];
|
||||
|
||||
module.exports = function(state, emit) {
|
||||
let submitting = false;
|
||||
const file = state.fileInfo;
|
||||
if (!file) {
|
||||
return html`
|
||||
<main class="main">
|
||||
<section
|
||||
class="flex flex-col items-center justify-center h-full w-full p-6 md:p-8 overflow-hidden md:rounded-xl md:shadow-big"
|
||||
>
|
||||
<p class="text-xl text-center mb-4 leading-normal">
|
||||
${state.translate('reportUnknownDescription')}
|
||||
</p>
|
||||
<p class="text-center">
|
||||
${raw(
|
||||
replaceLinks(state.translate('reportReasonCopyright'), [
|
||||
'https://www.mozilla.org/about/legal/report-infringement/'
|
||||
])
|
||||
)}
|
||||
</p>
|
||||
</section>
|
||||
</main>
|
||||
`;
|
||||
}
|
||||
if (file.reported) {
|
||||
return html`
|
||||
<main class="main">
|
||||
<section
|
||||
class="flex flex-col items-center justify-center h-full w-full p-6 md:p-8 overflow-hidden md:rounded-xl md:shadow-big"
|
||||
>
|
||||
<h1 class="text-center text-3xl font-bold my-2">
|
||||
${state.translate('reportedTitle')}
|
||||
</h1>
|
||||
<p class="max-w-md text-center leading-normal">
|
||||
${state.translate('reportedDescription')}
|
||||
</p>
|
||||
<img src="${assets.get('notFound.svg')}" class="my-12" />
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center" role="button"
|
||||
>${state.translate('okButton')}</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
</main>
|
||||
`;
|
||||
}
|
||||
return html`
|
||||
<main class="main">
|
||||
<section
|
||||
class="relative h-full w-full p-6 md:p-8 md:rounded-xl md:shadow-big"
|
||||
>
|
||||
<div
|
||||
class="flex flex-col w-full max-w-sm h-full mx-auto items-center justify-center"
|
||||
>
|
||||
<h1 class="text-2xl font-bold mb-4">
|
||||
${state.translate('reportFile')}
|
||||
</h1>
|
||||
<p class="mb-4 leading-normal font-semibold">
|
||||
${state.translate('reportDescription')}
|
||||
</p>
|
||||
<form onsubmit="${report}" data-no-csrf>
|
||||
<fieldset onchange="${optionChanged}">
|
||||
<ul
|
||||
class="list-none p-4 mb-6 rounded-sm bg-grey-10 dark:bg-black"
|
||||
>
|
||||
${REPORTABLES.map(
|
||||
reportable =>
|
||||
html`
|
||||
<li class="mb-2 leading-normal">
|
||||
<label
|
||||
for="${reportable.toLowerCase()}"
|
||||
class="flex items-center"
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
name="reason"
|
||||
id="${reportable.toLowerCase()}"
|
||||
value="${reportable.toLowerCase()}"
|
||||
class="mr-2 my-2 w-4 h-4 flex-none"
|
||||
/>
|
||||
${state.translate(`reportReason${reportable}`)}
|
||||
</label>
|
||||
</li>
|
||||
`
|
||||
)}
|
||||
<li class="mt-4 mb-2 leading-normal">
|
||||
${raw(
|
||||
replaceLinks(state.translate('reportReasonCopyright'), [
|
||||
'https://www.mozilla.org/about/legal/report-infringement/'
|
||||
])
|
||||
)}
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<input
|
||||
type="submit"
|
||||
disabled
|
||||
class="btn rounded-lg w-full flex-shrink-0 focus:outline"
|
||||
title="${state.translate('reportButton')}"
|
||||
value="${state.translate('reportButton')}"
|
||||
/>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
`;
|
||||
|
||||
function optionChanged(event) {
|
||||
event.stopPropagation();
|
||||
const button = event.currentTarget.nextElementSibling;
|
||||
button.disabled = false;
|
||||
}
|
||||
|
||||
function report(event) {
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
if (submitting) {
|
||||
return;
|
||||
}
|
||||
submitting = true;
|
||||
state.fileInfo.reported = true;
|
||||
const form = event.target;
|
||||
emit('report', { reason: form.reason.value });
|
||||
}
|
||||
|
||||
function replaceLinks(str, urls) {
|
||||
let i = 0;
|
||||
const s = str.replace(
|
||||
/<a>([^<]+)<\/a>/g,
|
||||
(m, v) => `<a class="text-blue" href="${urls[i++]}">${v}</a>`
|
||||
);
|
||||
return `<p>${s}</p>`;
|
||||
}
|
||||
};
|
||||
@@ -9,11 +9,9 @@ module.exports = function(name, url) {
|
||||
<h1 class="text-3xl font-bold my-4">
|
||||
${state.translate('notifyUploadEncryptDone')}
|
||||
</h1>
|
||||
<p
|
||||
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
|
||||
>
|
||||
<p class="font-normal leading-normal text-grey-80 dark:text-grey-40">
|
||||
${state.translate('shareLinkDescription')}<br />
|
||||
${name}
|
||||
<span class="word-break-all">${name}</span>
|
||||
</p>
|
||||
<input
|
||||
type="text"
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
const html = require('choo/html');
|
||||
const assets = require('../../common/assets');
|
||||
const { bytes, platform } = require('../utils');
|
||||
const { bytes } = require('../utils');
|
||||
const { canceledSignup, submittedSignup } = require('../metrics');
|
||||
|
||||
module.exports = function(trigger) {
|
||||
return function(state, emit, close) {
|
||||
const DAYS = Math.floor(state.LIMITS.MAX_EXPIRE_SECONDS / 86400);
|
||||
const hidden = platform() === 'android' ? 'hidden' : '';
|
||||
let submitting = false;
|
||||
return html`
|
||||
<send-signup-dialog
|
||||
class="flex flex-col lg:flex-row justify-center px-8 md:px-24 w-full h-full"
|
||||
class="flex flex-col justify-center my-16 md:my-0 px-8 md:px-24 w-full h-full"
|
||||
>
|
||||
<img src="${assets.get('master-logo.svg')}" class="h-16 mt-1 mb-4" />
|
||||
<section
|
||||
class="flex flex-col flex-shrink-0 self-center lg:mx-6 lg:max-w-xs"
|
||||
>
|
||||
<h1 class="text-3xl font-bold text-center lg:text-left">
|
||||
<section class="flex flex-col flex-shrink-0 self-center">
|
||||
<h1 class="text-3xl font-bold text-center">
|
||||
${state.translate('accountBenefitTitle')}
|
||||
</h1>
|
||||
<ul
|
||||
@@ -32,17 +29,14 @@ module.exports = function(trigger) {
|
||||
${state.translate('accountBenefitTimeLimit', { count: DAYS })}
|
||||
</li>
|
||||
<li>${state.translate('accountBenefitSync')}</li>
|
||||
<li>${state.translate('accountBenefitMoz')}</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section
|
||||
class="flex flex-col flex-grow m-4 md:self-center md:w-128 lg:max-w-xs"
|
||||
>
|
||||
<section class="flex flex-col flex-grow m-4 md:self-center md:w-128">
|
||||
<form onsubmit=${submitEmail} data-no-csrf>
|
||||
<input
|
||||
id="email-input"
|
||||
type="email"
|
||||
class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-70 leading-loose dark:bg-grey-80 dark:text-white"
|
||||
class="hidden border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-70 leading-loose dark:bg-grey-80 dark:text-white"
|
||||
placeholder=${state.translate('emailPlaceholder')}
|
||||
/>
|
||||
<input
|
||||
@@ -53,13 +47,17 @@ module.exports = function(trigger) {
|
||||
type="submit"
|
||||
/>
|
||||
</form>
|
||||
<button
|
||||
class="my-3 link-blue font-medium"
|
||||
title="${state.translate('deletePopupCancel')}"
|
||||
onclick=${cancel}
|
||||
>
|
||||
${state.translate('deletePopupCancel')}
|
||||
</button>
|
||||
${state.user.loginRequired
|
||||
? ''
|
||||
: html`
|
||||
<button
|
||||
class="my-3 link-blue font-medium"
|
||||
title="${state.translate('deletePopupCancel')}"
|
||||
onclick=${cancel}
|
||||
>
|
||||
${state.translate('deletePopupCancel')}
|
||||
</button>
|
||||
`}
|
||||
</section>
|
||||
</send-signup-dialog>
|
||||
`;
|
||||
|
||||
83
app/user.js
83
app/user.js
@@ -76,6 +76,10 @@ export default class User {
|
||||
return this.info.access_token;
|
||||
}
|
||||
|
||||
get refreshToken() {
|
||||
return this.info.refresh_token;
|
||||
}
|
||||
|
||||
get maxSize() {
|
||||
return this.loggedIn
|
||||
? this.limits.MAX_FILE_SIZE
|
||||
@@ -94,6 +98,10 @@ export default class User {
|
||||
: this.limits.ANON.MAX_DOWNLOADS;
|
||||
}
|
||||
|
||||
get loginRequired() {
|
||||
return this.authConfig && this.authConfig.fxa_required;
|
||||
}
|
||||
|
||||
async metricId() {
|
||||
return this.loggedIn ? hashId(this.info.uid) : undefined;
|
||||
}
|
||||
@@ -135,6 +143,7 @@ export default class User {
|
||||
const code_challenge = await preparePkce(this.storage);
|
||||
const options = {
|
||||
action: 'email',
|
||||
access_type: 'offline',
|
||||
client_id: this.authConfig.client_id,
|
||||
code_challenge,
|
||||
code_challenge_method: 'S256',
|
||||
@@ -192,12 +201,69 @@ export default class User {
|
||||
});
|
||||
const userInfo = await infoResponse.json();
|
||||
userInfo.access_token = auth.access_token;
|
||||
userInfo.refresh_token = auth.refresh_token;
|
||||
userInfo.fileListKey = await getFileListKey(this.storage, auth.keys_jwe);
|
||||
this.info = userInfo;
|
||||
this.storage.remove('pkceVerifier');
|
||||
}
|
||||
|
||||
logout() {
|
||||
async refresh() {
|
||||
if (!this.refreshToken) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
const tokenResponse = await fetch(this.authConfig.token_endpoint, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({
|
||||
client_id: this.authConfig.client_id,
|
||||
grant_type: 'refresh_token',
|
||||
refresh_token: this.refreshToken
|
||||
})
|
||||
});
|
||||
if (tokenResponse.ok) {
|
||||
const auth = await tokenResponse.json();
|
||||
const info = { ...this.info, access_token: auth.access_token };
|
||||
this.info = info;
|
||||
return true;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
await this.logout();
|
||||
return false;
|
||||
}
|
||||
|
||||
async logout() {
|
||||
try {
|
||||
if (this.refreshToken) {
|
||||
await fetch(this.authConfig.revocation_endpoint, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({
|
||||
refresh_token: this.refreshToken
|
||||
})
|
||||
});
|
||||
}
|
||||
if (this.bearerToken) {
|
||||
await fetch(this.authConfig.revocation_endpoint, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({
|
||||
token: this.bearerToken
|
||||
})
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
// oh well, we tried
|
||||
}
|
||||
this.storage.clearLocalFiles();
|
||||
this.info = {};
|
||||
}
|
||||
@@ -211,6 +277,14 @@ export default class User {
|
||||
const key = b64ToArray(this.info.fileListKey);
|
||||
const sha = await crypto.subtle.digest('SHA-256', key);
|
||||
const kid = arrayToB64(new Uint8Array(sha)).substring(0, 16);
|
||||
const retry = async () => {
|
||||
const refreshed = await this.refresh();
|
||||
if (refreshed) {
|
||||
return await this.syncFileList();
|
||||
} else {
|
||||
return { incoming: true };
|
||||
}
|
||||
};
|
||||
try {
|
||||
const encrypted = await getFileList(this.bearerToken, kid);
|
||||
const decrypted = await streamToArrayBuffer(
|
||||
@@ -219,8 +293,7 @@ export default class User {
|
||||
list = JSON.parse(textDecoder.decode(decrypted));
|
||||
} catch (e) {
|
||||
if (e.message === '401') {
|
||||
this.logout();
|
||||
return { incoming: true };
|
||||
return retry(e);
|
||||
}
|
||||
}
|
||||
changes = await this.storage.merge(list);
|
||||
@@ -236,7 +309,9 @@ export default class User {
|
||||
);
|
||||
await setFileList(this.bearerToken, kid, encrypted);
|
||||
} catch (e) {
|
||||
//
|
||||
if (e.message === '401') {
|
||||
return retry(e);
|
||||
}
|
||||
}
|
||||
return changes;
|
||||
}
|
||||
|
||||
19
app/utils.js
19
app/utils.js
@@ -1,5 +1,10 @@
|
||||
/* global Android */
|
||||
const html = require('choo/html');
|
||||
let html;
|
||||
try {
|
||||
html = require('choo/html');
|
||||
} catch (e) {
|
||||
// running in the service worker
|
||||
}
|
||||
const b64 = require('base64-js');
|
||||
|
||||
function arrayToB64(array) {
|
||||
@@ -137,12 +142,16 @@ function openLinksInNewTab(links, should = true) {
|
||||
|
||||
function browserName() {
|
||||
try {
|
||||
// order of these matters
|
||||
if (/firefox/i.test(navigator.userAgent)) {
|
||||
return 'firefox';
|
||||
}
|
||||
if (/edge/i.test(navigator.userAgent)) {
|
||||
return 'edge';
|
||||
}
|
||||
if (/edg/i.test(navigator.userAgent)) {
|
||||
return 'edgium';
|
||||
}
|
||||
if (/trident/i.test(navigator.userAgent)) {
|
||||
return 'ie';
|
||||
}
|
||||
@@ -267,7 +276,15 @@ function setTranslate(t) {
|
||||
translate = t;
|
||||
}
|
||||
|
||||
function concat(b1, b2) {
|
||||
const result = new Uint8Array(b1.length + b2.length);
|
||||
result.set(b1, 0);
|
||||
result.set(b2, b1.length);
|
||||
return result;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
concat,
|
||||
locale,
|
||||
fadeOut,
|
||||
delay,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import crc32 from 'crc/crc32';
|
||||
import crc32 from './crc32';
|
||||
|
||||
const encoder = new TextEncoder();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol id="logo" viewBox="66 0 340 64">
|
||||
<symbol id="logo">
|
||||
<path d="M84,48h5.83V35.87H103.3V30.45H89.83V23.51H103.3V18H84Zm23.57,0h5.79V25.81h-5.79Zm2.88-32.12a3.46,3.46,0,0,0-2.59,1,3.62,3.62,0,0,0-1,2.65,3.57,3.57,0,0,0,1,2.59,3.52,3.52,0,0,0,2.61,1,3.46,3.46,0,0,0,3.65-3.26c0-.12,0-.23,0-.35a3.71,3.71,0,0,0-1-2.65,3.5,3.5,0,0,0-2.67-1Zm19.14,9.53a7.22,7.22,0,0,0-3.72.93,5.82,5.82,0,0,0-2.4,2.89V25.81h-5.59V48h5.63V36.29a5.27,5.27,0,0,1,1.31-4,4.94,4.94,0,0,1,3.49-1.21,6.33,6.33,0,0,1,1.73.23,4,4,0,0,1,1.23.55l2-5.59a7.51,7.51,0,0,0-1.66-.61,8.11,8.11,0,0,0-2-.26Zm23.94,3.19a11.15,11.15,0,0,0-3.61-2.37,12.08,12.08,0,0,0-4.6-.86,11.62,11.62,0,0,0-8.3,3.37,11.17,11.17,0,0,0-2.44,3.67,11.59,11.59,0,0,0-.89,4.54,12.24,12.24,0,0,0,.83,4.52,10.52,10.52,0,0,0,2.36,3.66,10.93,10.93,0,0,0,3.71,2.44,12.75,12.75,0,0,0,4.85.88,12.15,12.15,0,0,0,6.12-1.39,13.25,13.25,0,0,0,4.11-3.74L151,40.6a6.23,6.23,0,0,1-2.18,2.15,6.36,6.36,0,0,1-3.33.8,6.7,6.7,0,0,1-4.13-1.25,6,6,0,0,1-2.23-3.43h17.62V36.74a11.71,11.71,0,0,0-.87-4.56,10.5,10.5,0,0,0-2.35-3.59Zm-14.21,5.85a6.38,6.38,0,0,1,2.26-3.12,6.11,6.11,0,0,1,3.74-1.15,6.26,6.26,0,0,1,3.73,1.08,5.56,5.56,0,0,1,2.1,3.19ZM167,16.08a6.05,6.05,0,0,0-2.91,1.54,6.15,6.15,0,0,0-1.56,2.89,18.1,18.1,0,0,0-.48,4.52v.78H158.4v5.1h3.65V48h5.63V30.91H173v-5.1h-5.3V24.75a13.34,13.34,0,0,1,.12-2,2,2,0,0,1,.6-1.19,2.45,2.45,0,0,1,1.33-.57,15.25,15.25,0,0,1,2.34-.15H173V15.63h-1.48A19.06,19.06,0,0,0,167,16.08Zm27.4,12.65a12,12,0,0,0-16.72,0,10.87,10.87,0,0,0-2.46,3.67,11.61,11.61,0,0,0-.89,4.5,11.46,11.46,0,0,0,7.07,10.64,11.73,11.73,0,0,0,4.64.9,12,12,0,0,0,4.66-.9,11.26,11.26,0,0,0,3.72-2.49,11.83,11.83,0,0,0,2.46-3.67,11.31,11.31,0,0,0,.9-4.48A11.43,11.43,0,0,0,194.4,28.73ZM191.7,39.3a5.88,5.88,0,0,1-1.29,2,6.53,6.53,0,0,1-1.93,1.31,6,6,0,0,1-4.76,0,6.34,6.34,0,0,1-1.93-1.31,6.06,6.06,0,0,1-1.3-2,6.48,6.48,0,0,1,0-4.86,5.76,5.76,0,0,1,1.3-2,6.08,6.08,0,0,1,1.93-1.32,6,6,0,0,1,4.76,0,6.37,6.37,0,0,1,1.93,1.32,5.73,5.73,0,0,1,1.29,2A6.39,6.39,0,0,1,191.7,39.3Zm29.47-13.49h-6.65l-4.68,6.57-4.64-6.57h-6.74l7.84,10.8L198,48h6.82l5-6.94L214.89,48h6.86l-8.46-11.34Zm34,7.46a12.88,12.88,0,0,0-3.37-1.44c-1.25-.34-2.46-.63-3.63-.88l-3.08-.7a10.64,10.64,0,0,1-2.51-.86A4.54,4.54,0,0,1,240.87,28a3.61,3.61,0,0,1-.62-2.19,4.8,4.8,0,0,1,1.58-3.7c1.06-1,2.73-1.44,5-1.44a9.84,9.84,0,0,1,5.07,1.17,10.47,10.47,0,0,1,3.39,3.23l2.79-2.18A15.22,15.22,0,0,0,253.45,19a13.8,13.8,0,0,0-6.59-1.44,12.13,12.13,0,0,0-4.14.66A10.33,10.33,0,0,0,239.53,20a7.53,7.53,0,0,0-2.05,2.63,7.41,7.41,0,0,0-.72,3.24,6.7,6.7,0,0,0,.84,3.53,7.06,7.06,0,0,0,2.2,2.22A11.11,11.11,0,0,0,242.86,33c1.13.32,2.29.6,3.47.84l3.26.74a12.63,12.63,0,0,1,2.8,1,5.86,5.86,0,0,1,2,1.56,3.88,3.88,0,0,1,.74,2.42,5.2,5.2,0,0,1-1.81,4.09A7.83,7.83,0,0,1,248,45.2a11,11,0,0,1-9.89-5.38l-3,2.34a15.86,15.86,0,0,0,5.23,4.54,16.06,16.06,0,0,0,7.7,1.7,12.58,12.58,0,0,0,4.38-.72,10.14,10.14,0,0,0,3.3-2,8.79,8.79,0,0,0,2.1-2.85,8.09,8.09,0,0,0,.74-3.39,6.94,6.94,0,0,0-1-3.8,7.71,7.71,0,0,0-2.42-2.37Zm27.51-4.72a10.53,10.53,0,0,0-3.58-2.34,11.89,11.89,0,0,0-4.49-.84,11.6,11.6,0,0,0-4.62.9,11.35,11.35,0,0,0-3.66,2.46A11.84,11.84,0,0,0,263,37a12.21,12.21,0,0,0,.82,4.51,10.53,10.53,0,0,0,2.36,3.64,11.24,11.24,0,0,0,3.7,2.42,12.41,12.41,0,0,0,4.82.88A11.68,11.68,0,0,0,280.82,47,12.84,12.84,0,0,0,285,42.82l-2.88-1.69a7.85,7.85,0,0,1-7.43,4.27,9,9,0,0,1-3.22-.53,8.21,8.21,0,0,1-2.55-1.5,8,8,0,0,1-1.78-2.28,7.79,7.79,0,0,1-.87-2.91h19.59V36.66a11.75,11.75,0,0,0-.86-4.54,10.92,10.92,0,0,0-2.35-3.57ZM266.4,35.22a8.88,8.88,0,0,1,1-2.73,8.55,8.55,0,0,1,1.79-2.18,8,8,0,0,1,2.44-1.43,8.31,8.31,0,0,1,3-.52,7.45,7.45,0,0,1,7.84,6.86ZM308.82,28a8.11,8.11,0,0,0-3-2,10.89,10.89,0,0,0-3.92-.67,9.06,9.06,0,0,0-4.58,1.14,8.76,8.76,0,0,0-3.14,3V25.82h-3.29V48h3.37V35.67a7.92,7.92,0,0,1,.53-2.93,7,7,0,0,1,1.48-2.3,6.46,6.46,0,0,1,2.22-1.5,7,7,0,0,1,2.75-.54,6.33,6.33,0,0,1,5,1.93A7.46,7.46,0,0,1,308,35.51V48h3.41V35.34a12.46,12.46,0,0,0-.66-4.19A8.68,8.68,0,0,0,308.82,28Zm27-12.42v14.1a8.14,8.14,0,0,0-1.58-1.83,10.08,10.08,0,0,0-2-1.36,10.39,10.39,0,0,0-2.3-.84,10.22,10.22,0,0,0-2.4-.28,11.63,11.63,0,0,0-4.4.84,11.09,11.09,0,0,0-3.59,2.38,11.3,11.3,0,0,0-2.42,3.65,12.81,12.81,0,0,0,0,9.32,11.56,11.56,0,0,0,2.4,3.66,10.58,10.58,0,0,0,3.59,2.38,11.77,11.77,0,0,0,4.42.84,9.69,9.69,0,0,0,2.4-.31,11,11,0,0,0,2.3-.86,9.72,9.72,0,0,0,2-1.37,8.75,8.75,0,0,0,1.58-1.85v4h3.33V15.59Zm-.37,24.58a8.3,8.3,0,0,1-10.85,4.47h0a7.68,7.68,0,0,1-2.6-1.76,7.88,7.88,0,0,1-1.73-2.67,8.93,8.93,0,0,1-.62-3.35,8.67,8.67,0,0,1,.62-3.3A8,8,0,0,1,322,30.89a8.17,8.17,0,0,1,2.6-1.79,8.27,8.27,0,0,1,6.51,0,8.64,8.64,0,0,1,2.63,1.81,7.85,7.85,0,0,1,1.72,2.67,8.67,8.67,0,0,1,.62,3.26,8.86,8.86,0,0,1-.65,3.33Z" fill="currentColor"/>
|
||||
</symbol>
|
||||
<use xlink:href="#logo"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
@@ -2,4 +2,5 @@ last 2 chrome versions
|
||||
last 2 firefox versions
|
||||
last 2 safari versions
|
||||
last 2 edge versions
|
||||
edge 18
|
||||
firefox esr
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
const commit = require('git-rev-sync').short();
|
||||
const gitRevSync = require('git-rev-sync');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
let commit = 'unknown';
|
||||
|
||||
try {
|
||||
commit = gitRevSync.short();
|
||||
} catch (e) {
|
||||
console.warn('Error fetching current git commit: ' + e);
|
||||
}
|
||||
|
||||
const version = JSON.stringify({
|
||||
commit,
|
||||
source: pkg.homepage,
|
||||
|
||||
@@ -13,6 +13,7 @@ Run `docker build -t send:latest .` to create an image or `docker-compose up` to
|
||||
| `SENTRY_DSN` | Sentry DSN
|
||||
| `MAX_FILE_SIZE` | in bytes (defaults to 2147483648)
|
||||
| `NODE_ENV` | "production"
|
||||
| `BASE_URL` | The HTTPS URL where traffic will be served (e.g. `https://send.firefox.com`)
|
||||
|
||||
## Example:
|
||||
|
||||
@@ -22,5 +23,6 @@ $ docker run --net=host -e 'NODE_ENV=production' \
|
||||
-e 'REDIS_HOST=dyf9s2r4vo3.bolxr4.0001.usw2.cache.amazonaws.com' \
|
||||
-e 'SENTRY_CLIENT=https://51e23d7263e348a7a3b90a5357c61cb2@sentry.prod.mozaws.net/168' \
|
||||
-e 'SENTRY_DSN=https://51e23d7263e348a7a3b90a5357c61cb2:65e23d7263e348a7a3b90a5357c61c44@sentry.prod.mozaws.net/168' \
|
||||
-e 'BASE_URL=https://send.firefox.com' \
|
||||
mozilla/send:latest
|
||||
```
|
||||
|
||||
13153
package-lock.json
generated
13153
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
80
package.json
80
package.json
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "firefox-send",
|
||||
"description": "File Sharing Experiment",
|
||||
"version": "3.0.20",
|
||||
"version": "3.0.22",
|
||||
"author": "Mozilla (https://mozilla.org)",
|
||||
"repository": "mozilla/send",
|
||||
"homepage": "https://github.com/mozilla/send/",
|
||||
@@ -23,11 +23,11 @@
|
||||
"release": "npm-run-all contributors changelog",
|
||||
"test": "npm-run-all test:*",
|
||||
"test:backend": "nyc --reporter=lcovonly mocha --reporter=min test/backend",
|
||||
"test:frontend": "cross-env NODE_ENV=development node test/frontend/runner.js",
|
||||
"test:frontend": "cross-env NODE_ENV=development FXA_REQUIRED=false node test/frontend/runner.js",
|
||||
"test:report": "nyc report --reporter=html",
|
||||
"test-integration": "cross-env NODE_ENV=development wdio test/wdio.docker.conf.js",
|
||||
"circleci-test-integration": "cross-env NODE_ENV=development wdio test/wdio.circleci.conf.js",
|
||||
"start": "npm run clean && cross-env NODE_ENV=development L10N_DEV=true FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost:8080 webpack-dev-server --mode=development",
|
||||
"circleci-test-integration": "echo 'webdriverio tests need to be updated to node 12'",
|
||||
"start": "npm run clean && cross-env NODE_ENV=development L10N_DEV=true FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost:1337 webpack-dev-server --port=1337 --mode=development",
|
||||
"android": "cross-env ANDROID=1 npm start",
|
||||
"prod": "node server/bin/prod.js"
|
||||
},
|
||||
@@ -58,38 +58,37 @@
|
||||
"cache": true
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0 <11.0.0"
|
||||
"node": "^12.16.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.6.4",
|
||||
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
||||
"@babel/core": "^7.10.5",
|
||||
"@babel/plugin-proposal-class-properties": "^7.10.4",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
||||
"@babel/preset-env": "^7.6.3",
|
||||
"@babel/preset-env": "^7.10.4",
|
||||
"@dannycoates/webcrypto-liner": "^0.1.37",
|
||||
"@fullhuman/postcss-purgecss": "^1.3.0",
|
||||
"@mattiasbuelens/web-streams-polyfill": "0.2.1",
|
||||
"@sentry/browser": "^5.7.1",
|
||||
"@sentry/browser": "^5.20.1",
|
||||
"asmcrypto.js": "^0.22.0",
|
||||
"babel-loader": "^8.0.6",
|
||||
"babel-plugin-istanbul": "^5.2.0",
|
||||
"base64-js": "^1.3.1",
|
||||
"content-disposition": "^0.5.3",
|
||||
"copy-webpack-plugin": "^5.0.4",
|
||||
"core-js": "^3.3.3",
|
||||
"crc": "^3.8.0",
|
||||
"copy-webpack-plugin": "^5.0.5",
|
||||
"core-js": "^3.4.0",
|
||||
"cross-env": "^6.0.3",
|
||||
"css-loader": "^3.2.0",
|
||||
"css-mqpacker": "^7.0.0",
|
||||
"cssnano": "^4.1.10",
|
||||
"eslint": "^6.5.1",
|
||||
"eslint-config-prettier": "^6.4.0",
|
||||
"eslint-plugin-mocha": "^6.2.0",
|
||||
"eslint": "^6.6.0",
|
||||
"eslint-config-prettier": "^6.5.0",
|
||||
"eslint-plugin-mocha": "^6.2.1",
|
||||
"eslint-plugin-node": "^10.0.0",
|
||||
"eslint-plugin-security": "^1.4.0",
|
||||
"expose-loader": "^0.7.5",
|
||||
"extract-loader": "^3.1.0",
|
||||
"extract-text-webpack-plugin": "^4.0.0-beta.0",
|
||||
"fast-text-encoding": "^1.0.0",
|
||||
"fast-text-encoding": "^1.0.3",
|
||||
"file-loader": "^4.2.0",
|
||||
"git-rev-sync": "^1.12.0",
|
||||
"html-loader": "^0.5.5",
|
||||
@@ -100,17 +99,17 @@
|
||||
"mocha": "^6.2.2",
|
||||
"morgan": "^1.9.1",
|
||||
"nanobus": "^4.4.0",
|
||||
"nanohtml": "^1.8.1",
|
||||
"nanohtml": "^1.9.0",
|
||||
"nanotiming": "^7.3.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"nyc": "^14.1.1",
|
||||
"postcss-loader": "^3.0.0",
|
||||
"postcss-preset-env": "^6.7.0",
|
||||
"prettier": "^1.18.2",
|
||||
"prettier": "^1.19.1",
|
||||
"proxyquire": "^2.1.3",
|
||||
"puppeteer": "^1.20.0",
|
||||
"puppeteer": "^2.0.0",
|
||||
"raw-loader": "^3.1.0",
|
||||
"redis-mock": "^0.46.0",
|
||||
"redis-mock": "^0.47.0",
|
||||
"rimraf": "^3.0.0",
|
||||
"script-loader": "^0.7.2",
|
||||
"sinon": "^7.5.0",
|
||||
@@ -118,22 +117,14 @@
|
||||
"stylelint": "^11.1.1",
|
||||
"stylelint-config-standard": "^19.0.0",
|
||||
"stylelint-no-unsupported-browser-features": "^3.0.2",
|
||||
"svgo": "^1.3.0",
|
||||
"svgo": "^1.3.2",
|
||||
"svgo-loader": "^2.2.1",
|
||||
"tailwindcss": "^1.1.2",
|
||||
"tailwindcss": "^1.1.3",
|
||||
"val-loader": "^1.1.1",
|
||||
"wdio-docker-service": "^1.4.2",
|
||||
"wdio-dot-reporter": "0.0.10",
|
||||
"wdio-firefox-profile-service": "^0.1.3",
|
||||
"wdio-mocha-framework": "^0.6.3",
|
||||
"wdio-sauce-service": "^0.4.14",
|
||||
"wdio-selenium-standalone-service": "0.0.12",
|
||||
"wdio-spec-reporter": "^0.1.5",
|
||||
"webdriverio": "^4.14.4",
|
||||
"webpack": "4.38.0",
|
||||
"webpack-cli": "^3.3.9",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack-dev-middleware": "^3.7.2",
|
||||
"webpack-dev-server": "^3.8.2",
|
||||
"webpack-dev-server": "^3.11.0",
|
||||
"webpack-manifest-plugin": "^2.2.0",
|
||||
"webpack-unassert-loader": "^1.2.0"
|
||||
},
|
||||
@@ -141,28 +132,31 @@
|
||||
"@dannycoates/express-ws": "^5.0.3",
|
||||
"@fluent/bundle": "^0.13.0",
|
||||
"@fluent/langneg": "^0.3.0",
|
||||
"@google-cloud/storage": "^4.0.0",
|
||||
"@sentry/node": "^5.7.1",
|
||||
"aws-sdk": "^2.553.0",
|
||||
"@google-cloud/storage": "^5.1.2",
|
||||
"@peculiar/webcrypto": "^1.1.1",
|
||||
"@sentry/node": "^5.20.1",
|
||||
"aws-sdk": "^2.568.0",
|
||||
"body-parser": "^1.19.0",
|
||||
"choo": "^7.0.0",
|
||||
"cldr-core": "^35.1.0",
|
||||
"configstore": "github:dannycoates/configstore#master",
|
||||
"convict": "^5.2.0",
|
||||
"express": "^4.17.1",
|
||||
"fxa-geodb": "^1.0.4",
|
||||
"helmet": "^3.21.1",
|
||||
"helmet": "^3.23.3",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mozlog": "^2.2.0",
|
||||
"node-fetch": "^2.6.0",
|
||||
"redis": "^2.8.0",
|
||||
"redis": "^3.0.2",
|
||||
"selenium-standalone": "^6.15.6",
|
||||
"ua-parser-js": "^0.7.20"
|
||||
"ua-parser-js": "^0.7.21"
|
||||
},
|
||||
"availableLanguages": [
|
||||
"en-US",
|
||||
"an",
|
||||
"ar",
|
||||
"ast",
|
||||
"azz",
|
||||
"be",
|
||||
"bn",
|
||||
"br",
|
||||
"ca",
|
||||
@@ -181,13 +175,17 @@
|
||||
"es-MX",
|
||||
"et",
|
||||
"eu",
|
||||
"fa",
|
||||
"fi",
|
||||
"fr",
|
||||
"fy-NL",
|
||||
"gn",
|
||||
"he",
|
||||
"hr",
|
||||
"hsb",
|
||||
"hu",
|
||||
"hus",
|
||||
"hy-AM",
|
||||
"ia",
|
||||
"id",
|
||||
"it",
|
||||
@@ -196,6 +194,8 @@
|
||||
"kab",
|
||||
"ko",
|
||||
"lt",
|
||||
"meh",
|
||||
"mix",
|
||||
"ml",
|
||||
"nb-NO",
|
||||
"nl",
|
||||
@@ -203,8 +203,10 @@
|
||||
"oc",
|
||||
"pa-IN",
|
||||
"pl",
|
||||
"ppl",
|
||||
"pt-BR",
|
||||
"pt-PT",
|
||||
"quc",
|
||||
"ro",
|
||||
"ru",
|
||||
"sk",
|
||||
|
||||
185
public/locales/an/send.ftl
Normal file
185
public/locales/an/send.ftl
Normal file
@@ -0,0 +1,185 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
importingFile = Se ye importando…
|
||||
encryptingFile = Se ye cifrando…
|
||||
decryptingFile = Se ye descifrando…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 descarga
|
||||
*[other] { $num } descargas
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] hora
|
||||
*[other] { $num } horas
|
||||
}
|
||||
copiedUrl = Copiau!
|
||||
unlockInputPlaceholder = Clau
|
||||
unlockButtonLabel = Desblocar
|
||||
downloadButtonLabel = Descargar
|
||||
downloadFinish = Descarga completa
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Preba Firefox Send
|
||||
errorPageHeader = I ha habiu bell problema!
|
||||
fileTooBig = Ixe fichero ye masiau gran pa cargar-lo. Ha de tener menos de { $size }
|
||||
linkExpiredAlt = Lo vinclo ye caducau
|
||||
notSupportedHeader = Lo suyo navegador no ye compatible
|
||||
notSupportedLink = Per qué no ye compatible lo mío navegador?
|
||||
notSupportedOutdatedDetail = Esta versión de Firefox no admite la tecnolochía web con que funciona lo Firefox Send. Habrás d'esviellar lo navegador.
|
||||
updateFirefox = Esviellar Firefox
|
||||
deletePopupCancel = Cancelar
|
||||
deleteButtonHover = Borrar
|
||||
footerLinkLegal = Aviso legal
|
||||
footerLinkPrivacy = Privacidat
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = La contrasenya ye incorrecta. Torne-lo a intentar.
|
||||
javascriptRequired = Firefox Send necesita JavaScript
|
||||
whyJavascript = Per qué Firefox Send necesita JavaScript?
|
||||
enableJavascript = Activa JavaScript y torna-lo a intentar.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours } h { $minutes } min
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } min
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maxima lonchitut d'a clau: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = No s'ha puesto definir la clau
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Compartición de fichers simpla y privada
|
||||
introDescription = { -send-brand } te permite de compartir fichers cifraus de cabo a cabo, y tamién un vinclo que expira automaticament. Asinas, puetz mantener en privau lo que compartes y asegurar-te de que los tuyos contenius no se quedan pa cutio en linia.
|
||||
notifyUploadEncryptDone = Lo fichero s'ha cifrau y ye presto pa ninviar-se
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Caduca dimpués de { $downloadCount } u { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } minutos
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 día
|
||||
*[other] { $num } días
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semana
|
||||
*[other] { $num } semanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 fichero
|
||||
*[other] { $num } fichers
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Mida total: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Copiar lo vinclo que quiers compartir
|
||||
copyLinkButton = Copiar lo vinclo
|
||||
downloadTitle = Descargar los fichers
|
||||
downloadDescription = Este fichero s'ha compartiu per medio de { -send-brand } con cifrau de cabo a cabo y un vinclo que caduca automaticament.
|
||||
trySendDescription = Preba { -send-brand } pa una compartición de fichers simpla y segura.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Nomás se puet puyar 1 fitxer de vez.
|
||||
*[other] Nomás se pueden puyar { $count } fichers de vez.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Nomás se permite 1 ficher.
|
||||
*[other] Nomás se permiten { $count } fichers.
|
||||
}
|
||||
expiredTitle = Este vinclo ye caducau.
|
||||
notSupportedDescription = { -send-brand } no funcionará con este navegador. { -send-short-brand } funciona millor con a zaguera versión de { -firefox } y funcionará con a versión mas recient d'a mayor parte de navegadors.
|
||||
downloadFirefox = Descargar { -firefox }
|
||||
legalTitle = Aviso de privacidat de { -send-short-brand }
|
||||
legalDateStamp = Versió 1.0, con data d'o 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d { $hours } h { $minutes } min
|
||||
addFilesButton = Triar los fichers a cargar
|
||||
trustWarningMessage = Asegura-te de que confías en o destinatario quan compartas datos confidencials.
|
||||
uploadButton = Cargar
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrociega y suelta los fichers
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = u fes clic aquí pa ninviar dica { $size }
|
||||
addPassword = Protecher con una clau
|
||||
emailPlaceholder = Escribe la tuya adreza de correu
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Inicia una sesión pa ninviar dica { $size }
|
||||
signInOnlyButton = Iniciar la sesión
|
||||
accountBenefitTitle = Crea una cuenta de { -firefox } u dentra-ie
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Compartir fichers dica { $size }
|
||||
accountBenefitDownloadCount = Compartir fichers con mas chent
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Mantiene los vinclos activos dica 1 dia
|
||||
*[other] Mantiene los vinclos activos dica { $count } días
|
||||
}
|
||||
accountBenefitSync = Chestiona los fichers compartius dende qualsequier dispositivo
|
||||
accountBenefitMoz = Descubre mas cosas sobre los atros servicios de { -mozilla }
|
||||
signOut = Zarrar la sesión
|
||||
okButton = Vale
|
||||
downloadingTitle = Se ye descargando
|
||||
noStreamsWarning = Este navegador talment no pueda descifrar un fichero tant gran.
|
||||
noStreamsOptionCopy = Copia lo vinclo pa ubrir-lo en belatro navegador
|
||||
noStreamsOptionFirefox = Preba lo nuestro navegador favorito
|
||||
noStreamsOptionDownload = Continar con este navegador
|
||||
downloadFirefoxPromo = Lo nuevo { -firefox } t'ofreix { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Comparte lo vinclo enta lo tuyo fichero:
|
||||
shareLinkButton = Compartir lo vinclo
|
||||
# $name is the name of the file
|
||||
shareMessage = Baixa-te «{ $name }» con { -send-brand }: compartición de fiches simpla y segura
|
||||
trailheadPromo = I hai una manera de protecher la tuya privacidat. Une-te a Firefox.
|
||||
learnMore = Mas información
|
||||
downloadFlagged = Este vinclo s'ha desactivau per violar las condiciones d'uso.
|
||||
downloadConfirmTitle = Una coseta mas
|
||||
downloadConfirmDescription = Asegura-te de que confías en a persona que t'ha ninviau este fichero, perque no podemos verificar que no danyará lo tuyo dispositivo.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Confío en a persona que ha ninviau este fichero
|
||||
*[other] Confío en a persona que ha ninviau estes fichers
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Sinyalar este fichero como sospeitoso
|
||||
*[other] Sinyalar estes fichers como sospeitoso
|
||||
}
|
||||
reportDescription = Aduya-nos a comprender qué ha pasau. Quál creyes que ye lo problema con estes fichers?
|
||||
reportUnknownDescription = Vest ta la URL d'o vinclo que quiers sinyalar y fe clic en « { reportFile } ».
|
||||
reportButton = Informar
|
||||
reportReasonMalware = Estes fichers contienen malware u fan parte d'un ataque de phishing.
|
||||
reportReasonPii = Estes fichers contienen información personal identificable sobre yo.
|
||||
reportReasonAbuse = Estes fichers contienen conteniu ilegal u abusivo.
|
||||
reportReasonCopyright = Pa informar sobre una violación de dreitos d'autor u de marca, sigue lo procedimiento descrito en <a>esta pachina</a>.
|
||||
reportedTitle = Fichers sinyalaus
|
||||
reportedDescription = Gracias. Hemos recibiu lo tuyo informe sobre estes fichers.
|
||||
@@ -56,6 +56,11 @@ passwordSetError = يجب ألا تُضبط كلمة السر هذه
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = شارِك ملفاتك بلا عناء وبخصوصية تامة
|
||||
introDescription = يتيح لك { -send-brand } مشاركة الملفات عبر تعميتها من الطرفين وإتاحتها في رابط ينقضي أجله تلقائيا. هكذا يمكنك إبقاء ما شاركته خاصًا فتضمن بأن ملفاتك لن تبقى في الوِب أبد الدهر.
|
||||
notifyUploadEncryptDone = اكتملت تعمية الملف وأصبح جاهزًا لإرساله
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentarios
|
||||
importingFile = Importando...
|
||||
encryptingFile = Cifrando...
|
||||
decryptingFile = Descifrando...
|
||||
@@ -21,12 +20,12 @@ downloadButtonLabel = Baxar
|
||||
downloadFinish = Completóse la descarga
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Probar Firefox Send
|
||||
errorPageHeader = ¡Daqué foi mal!
|
||||
errorPageHeader = ¡Asocedió daqué malo!
|
||||
fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }.
|
||||
linkExpiredAlt = Caducó l'enllaz
|
||||
notSupportedHeader = El to restolador nun ta sofitáu.
|
||||
notSupportedLink = ¿Por qué'l mio restolador nun ta sofitáu?
|
||||
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar Firefox.
|
||||
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar el restolador.
|
||||
updateFirefox = Anovar Firefox
|
||||
deletePopupCancel = Encaboxar
|
||||
deleteButtonHover = Desaniciar
|
||||
@@ -54,9 +53,10 @@ passwordSetError = Nun pudo afitase esta contraseña
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Compartición de ficheros privada y cenciella
|
||||
introDescription = { -send-brand } déxate compartir ficheros con cifráu puntu a puntu y un enllaz que caduca automáticamente. D'esti mou, asegúreste de que lo que compartes ye privao y nun va tar siempres en llinia.
|
||||
notifyUploadEncryptDone = El ficheru ta cifráu y preparáu pa unviase
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Caduca tres { $downloadCount } ó { $timespan }
|
||||
archiveExpiryInfo = Caduca dempués de { $downloadCount } ó { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minutu
|
||||
@@ -98,21 +98,24 @@ trySendDescription = Prueba { -send-brand } pa una compartición de ficheros cen
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Namái pue xubise 1 ficheru al empar.
|
||||
*[other] Namái puen xubise { $count } ficheros al empar.
|
||||
[one] Namás pue xubise 1 ficheru al empar.
|
||||
*[other] Namás puen xubise { $count } ficheros al empar.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Namái se permite 1 archivu
|
||||
*[other] Namái se permiten { $count } archivos
|
||||
[one] Namás se permite 1 archivu
|
||||
*[other] Namás se permiten { $count } archivos
|
||||
}
|
||||
expiredTitle = Esti enllaz caducó.
|
||||
notSupportedDescription = { -send-brand } nun va funcionar con esti restolador. { -send-short-brand } funciona meyor cola versión última de { -firefox } y cola versión actual de la mayoría de restoladores.
|
||||
legalTitle = Noticia de privacidá de { -send-short-brand }
|
||||
notSupportedDescription = { -send-brand } nun va funcionar con esti restolador. { -send-short-brand } funciona meyor cola última versión de { -firefox } y l'actual de la mayoría de restoladores.
|
||||
downloadFirefox = Baxar { -firefox }
|
||||
legalTitle = Avisu de privacidá de { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0, con data del 12 de marzu de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Esbillar los ficheros a unviar
|
||||
trustWarningMessage = Asegúrate de que t'enfotes nel destinatariu al compartir datos sensibles.
|
||||
uploadButton = Xubir
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrastra y suelta ficheros
|
||||
@@ -123,15 +126,15 @@ addPassword = Protexer con una contraseña
|
||||
emailPlaceholder = Introduz el to corréu
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Anicia sesión pa unviar hasta { $size }
|
||||
signInButton = Rexistrase/aniciar sesión
|
||||
accountBenefitTitle = Creación d'una cuenta { -firefox } o aniciu de sesión nella
|
||||
signInOnlyButton = Aniciar sesión
|
||||
accountBenefitTitle = Creación d'una cuenta de { -firefox } o aniciu de sesión nella
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Comparti ficheros d'hasta { $size }
|
||||
accountBenefitDownloadCount = Comparti ficheros con más xente
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Caltén activos los enllaces demientres 1 día
|
||||
*[other] Caltén activos los enllaces demientres 1 díes
|
||||
[one] Caltién activos los enllaces demientres 1 día
|
||||
*[other] Caltién activos los enllaces demientres { $count } díes
|
||||
}
|
||||
accountBenefitSync = Xestiona los ficheros compartíos dende cualesquier preséu
|
||||
accountBenefitMoz = Deprendi más tocante a otros servicios de { -mozilla }
|
||||
@@ -139,3 +142,11 @@ signOut = Zarrar sesión
|
||||
okButton = Aceutar
|
||||
downloadingTitle = Baxando
|
||||
noStreamsWarning = Esti restolador quiciabes nun seya a descifrar un ficheru d'esti tamañu.
|
||||
trailheadPromo = Hai un mou de protexer la to privacidá. Xúnite a Firefox.
|
||||
learnMore = Deprender más.
|
||||
downloadFlagged = Esti enllaz desactivóse por violar los términos del serviciu.
|
||||
downloadConfirmTitle = Una cosa más
|
||||
reportReasonMalware = Estos ficheros contienen malware o son parte d'un ataque de phishing
|
||||
reportReasonPii = Estos ficheros contienen información que m'identifica.
|
||||
reportReasonAbuse = Estos ficheros contienen conteníu illegal o abusivu.
|
||||
reportedDescription = Gracies. Recibiemos l'informe tocante a estos ficheros.
|
||||
|
||||
@@ -1,31 +1,9 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteSubtitle = web eksperiment
|
||||
siteFeedback = Geri dönüş
|
||||
uploadPageHeader = Məxfi, Şifrələnmiş Fayl Paylaşma
|
||||
uploadPageExplainer = Fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silinən keçidlə göndərin.
|
||||
uploadPageLearnMore = Ətraflı öyrən
|
||||
uploadPageDropMessage = Yükləmək üçün faylınızı buraya daşıyın
|
||||
uploadPageSizeMessage = Xidmətin daha yaxşı işləməsi üçün faylınız 1 GB-dan az olmalıdır
|
||||
uploadPageBrowseButton = Kompüterinizdən fayl seçin
|
||||
uploadPageBrowseButton1 = Yüklənəcək faylı seçin
|
||||
uploadPageMultipleFilesAlert = Birdən çox fayl və ya qovluq yükləmə hələlik dəstəklənmir.
|
||||
uploadPageBrowseButtonTitle = Fayl yüklə
|
||||
uploadingPageProgress = { $filename } ({ $size }) yüklənir
|
||||
importingFile = İdxal edilir…
|
||||
verifyingFile = Təsdiqlənir…
|
||||
encryptingFile = Şifrələnir...
|
||||
decryptingFile = Şifrə açılır...
|
||||
notifyUploadDone = Yükləməniz hazırdır.
|
||||
uploadingPageMessage = Faylınız yükləndikdən sonra vaxtı çıxma seçimlərini qura biləcəksiz.
|
||||
uploadingPageCancel = Yükləməni ləğv et
|
||||
uploadCancelNotification = Yükləməniz ləğv edildi.
|
||||
uploadingPageLargeFileMessage = Fayl böyükdür və yükləmək çox vaxt ala bilər. Səbirli olun!
|
||||
uploadingFileNotification = Yükləmə bitdiyində xəbər ver.
|
||||
uploadSuccessConfirmHeader = Göndərməyə hazır
|
||||
uploadSvgAlt = Yüklə
|
||||
uploadSuccessTimingHeader = Faylınızın keçidinin 1 endirmədən və ya 24 saatdan sonra vaxtı çıxacaq.
|
||||
expireInfo = Faylınız üçün keçidin vaxtı { $downloadCount } sonra və ya { $timespan } tarixində keçəcək.
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 endirmə
|
||||
@@ -36,76 +14,26 @@ timespanHours =
|
||||
[one] 1 saat
|
||||
*[other] { $num } saat
|
||||
}
|
||||
copyUrlFormLabelWithName = Faylınızı göndərmək üçün keçidi köçürün: { $filename }
|
||||
copyUrlFormButton = Buferə köçür
|
||||
copiedUrl = Köçürüldü!
|
||||
deleteFileButton = Faylı sil
|
||||
sendAnotherFileLink = Başqa fayl göndər
|
||||
# Alternative text used on the download link/button (indicates an action).
|
||||
downloadAltText = Endir
|
||||
downloadsFileList = Endirmələr
|
||||
# Used as header in a column indicating the amount of time left before a
|
||||
# download link expires (e.g. "10h 5m")
|
||||
timeFileList = Vaxt
|
||||
# Used as header in a column indicating the number of times a file has been
|
||||
# downloaded
|
||||
downloadFileName = { $filename } faylını endir
|
||||
downloadFileSize = ({ $size })
|
||||
unlockInputLabel = Parol daxil edin
|
||||
unlockInputPlaceholder = Parol
|
||||
unlockButtonLabel = Aç
|
||||
downloadFileTitle = Şifrələnmiş Faylı Endir
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
downloadMessage = Yoldaşınız Firefox Send ilə sizə fayl göndərir, fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silən fayl göndərmə xidməti.
|
||||
# Text and title used on the download link/button (indicates an action).
|
||||
downloadButtonLabel = Endir
|
||||
downloadNotification = Endirməniz tamamlandı.
|
||||
downloadFinish = Endirmə Tamamlandı
|
||||
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
|
||||
fileSizeProgress = ({ $partialSize } / { $totalSize })
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
sendYourFilesLink = Firefox Send Yoxla
|
||||
downloadingPageProgress = { $filename } faylı ({ $size }) endirilir
|
||||
downloadingPageMessage = Lütfən faylı endirib şifrəsini açarkən vərəqi açıq buraxın.
|
||||
errorAltText = Yükləmə xətası
|
||||
errorPageHeader = Nəsə səhv getdi!
|
||||
errorPageMessage = Faylı yüklərkən xəta baş verdi.
|
||||
errorPageLink = Başqa fayl göndər
|
||||
fileTooBig = Fayl yükləmək üçün çox böyükdür. Fayl { $size }-dan az olmalıdır.
|
||||
linkExpiredAlt = Keçidin vaxtı çıxıb
|
||||
expiredPageHeader = Keçidin vaxtı çıxıb və ya heç vaxt olmayıb!
|
||||
notSupportedHeader = Səyyahınız dəstəklənmir.
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
notSupportedDetail = Heyf ki, bu səyyah Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Fərqli bir səyyah yoxlamalısınız. Biz Firefox məsləhət görürük!
|
||||
notSupportedLink = Səyyahım niyə dəstəklənmir?
|
||||
notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz.
|
||||
updateFirefox = Firefox-u Yenilə
|
||||
downloadFirefoxButtonSub = Pulsuz Endir
|
||||
uploadedFile = Fayl
|
||||
copyFileList = Keçidi Köçürt
|
||||
# expiryFileList is used as a column header
|
||||
expiryFileList = Vaxtı çıxma tarixi
|
||||
deleteFileList = Sil
|
||||
nevermindButton = Vacib deyil
|
||||
legalHeader = Şərtlər və Məxfilik
|
||||
legalNoticeTestPilot = Firefox Send Test Pilot eksperimentidir, Test Pilot <a>Xidmət Şərtləri</a> və <a>Məxfilik Bildirişi</a>-nə tabedir. Bu eksperiment və məlumat yığma haqqında <a>buradan</a> öyrənə bilərsiz.
|
||||
legalNoticeMozilla = Firefox Send saytının istifadəsi həmçinin Mozilla-nın <a>Saytlar üçün Məxfilik Bildirişi</a> və <a>Sayt İstifadə Şərtləri</a>-nə tabedir.
|
||||
deletePopupText = Fayl silinsin?
|
||||
deletePopupYes = Bəli
|
||||
deletePopupCancel = Ləğv et
|
||||
deleteButtonHover = Sil
|
||||
copyUrlHover = Keçidi Köçürt
|
||||
footerLinkLegal = Hüquqi
|
||||
# Test Pilot is a proper name and should not be localized.
|
||||
footerLinkAbout = Test Pilot Haqqında
|
||||
footerLinkPrivacy = Məxfilik
|
||||
footerLinkTerms = Şərtlər
|
||||
footerLinkCookies = Çərəzlər
|
||||
requirePasswordCheckbox = Bu faylı endirmək üçün parol tələb et
|
||||
addPasswordButton = Parol əlavə et
|
||||
changePasswordButton = Dəyişdir
|
||||
passwordTryAgain = Səhv parol. Təkrar yoxlayın.
|
||||
reportIPInfringement = Əqli-mülkiyyət pozuntusu bildir
|
||||
javascriptRequired = Firefox Send üçün JavaScript lazımdır
|
||||
whyJavascript = Firefox Send niyə JavaScript tələb edir?
|
||||
enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
|
||||
@@ -113,9 +41,32 @@ enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
|
||||
expiresHoursMinutes = { $hours } saat { $minutes } dəq
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } dəq
|
||||
# A short status message shown when a password is successfully set
|
||||
passwordIsSet = Parol quruldu
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maksimum parol uzunluğu: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Parol qurula bilmədi
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
copyLinkButton = Keçidi köçür
|
||||
uploadButton = Yüklə
|
||||
signInOnlyButton = Daxil ol
|
||||
signOut = Çıx
|
||||
okButton = Tamam
|
||||
downloadingTitle = Endirilir
|
||||
shareLinkButton = Keçidi paylaş
|
||||
|
||||
146
public/locales/azz/send.ftl
Normal file
146
public/locales/azz/send.ftl
Normal file
@@ -0,0 +1,146 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Nikan uelis tikijkuilos tein tiknemilijtos
|
||||
importingFile = Mokalakijtok…
|
||||
encryptingFile = Motatijtok…
|
||||
decryptingFile = Kichiujtok se uelis kiixtajtoltis ya…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
*[undefined] 1 kitemouijtok / { $num } kintemouijtok
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
*[undefined] 1 hora / { $num } hora
|
||||
}
|
||||
copiedUrl = ¡Moixkopinak!
|
||||
unlockInputPlaceholder = Ichtakatajtol
|
||||
unlockButtonLabel = Xikajchiua tein amo kikaua maj tekiti
|
||||
downloadButtonLabel = Xiktemoui
|
||||
downloadFinish = Nochi motemouij ya
|
||||
fileSizeProgress = ({ $partialSize } itech { $totalSize })
|
||||
sendYourFilesLink = Xikejeko Firefox Send
|
||||
errorPageHeader = ¡Tensa amo kuali kisak!
|
||||
fileTooBig = Nejin tajkuilol semi ueyi. Moneki amo panos { $size }
|
||||
linkExpiredAlt = Nejin tein tikpatskilij amo tekititok ya
|
||||
notSupportedHeader = Monavegador amo kualtia.
|
||||
notSupportedLink = ¿Keyej nonavegador amo kualtia?
|
||||
notSupportedOutdatedDetail = Tetayokoltij, Firefox tein tikuitok amo kiselia tepostekitilis tecnología web tein ika tekiti Firefox Send. Moneki tikyankuilis monavegador.
|
||||
updateFirefox = Maj Firefox moyankuili
|
||||
deletePopupCancel = Maj motsakuili uan amo tami tein kichiujtok
|
||||
deleteButtonHover = Maj majchiua
|
||||
footerLinkLegal = Keniuj motekitiltis
|
||||
footerLinkPrivacy = Keniuj tikyekpiaj tein tikseliaj
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Amo yektik ichtakatajtol. Oksepa xikijkuilo.
|
||||
javascriptRequired = Firefox Send kineki maj moajsi JavaScript
|
||||
whyJavascript = ¿Keyej Firefox Send kineki maj moajsi JavaScript?
|
||||
enableJavascript = Se kualtakayot, xikaua maj peua tekiti JavaScript uan oksepa xikejeko.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Keniuj ueyak ichtakatajtol, maj amo pano: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Nejin ichtakatajtol amo uel kiixtaliani
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Xiktitani
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Amo ouij uan ichtaka xikinpanoltili oksekin motajkuiloluan archivos
|
||||
introDescription = { -send-brand } mitspaleuia uan ijkon tikinpanoltilis oksekin motajkuiloluan archivos ika tapoualmej tein amo aksa uelis kiajsikamatis, uan no kitemaka kampa se kipatskilis tein niman ixpoliui. Ijkuin uelis tikichtakaeuas tein tikintitanilis oksekin uan tikyekmatis tein moaxka amo nochipaya mokauas itech Internet.
|
||||
notifyUploadEncryptDone = Moarchivo moijkuiloj ya kemej amo akin uelis kiixtajtoltis uan se uelis kititanis ya
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Poliui ijkuak tiajsis { $downloadCount } oso { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
*[undefined] 1 minuto / { $num } minuto
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
*[undefined] 1 tonal / { $num } tonalmej
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
*[undefined] 1 semana / { $num } semana
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
*[undefined] 1 archivo / { $num } archivos
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Nochi tamachiua: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Xikixkopina tein se kipatskilis uan xikinpanoltili oksekin moarchivo:
|
||||
copyLinkButton = Xikixkopina tein se kipatskilis
|
||||
downloadTitle = Xiktemoui tajkuilolmej archivos
|
||||
downloadDescription = Nejin archivo mopanoltij itechkopa { -send-brand } ika tapoualmej tein amo aksa uelis kiajsikamatis, uan no tein ika se kipatskilis tein niman ixpoliui.
|
||||
trySendDescription = Xikejeko { -send-brand } ijkon amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
*[other] Sayoj { $count } tajkuilolmej archivos uelis tikolochtejkoltis saj.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
*[other] Sayoj { $count } tajkuilolmej archivos uelis moajsiskej saj.
|
||||
}
|
||||
expiredTitle = Nejin tein tikpatskilij amo tekititos ok.
|
||||
notSupportedDescription = { -send-brand } amo tekiti ika nejin navegador. { -send-short-brand } okachi kuali tekiti tein ika okachi yankuik { -firefox }, uan no tekitis tein ika okachi yankuikej tel miak navegadores.
|
||||
downloadFirefox = Xiktemoui { -firefox }
|
||||
legalTitle = { -send-short-brand } tanauatia ika yekpialis tein moaxka itech tepos
|
||||
legalDateStamp = Versión 1.0 tein kikixtijkej 12 tonal metsti marzo 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }t { $hours }h { $minutes }m
|
||||
addFilesButton = Xikinixpejpena tajkuilolmej archivos tein tikintejkoltis
|
||||
uploadButton = Xiktejkolti
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Xikintilana uan xikinkajkaua tajkuilolmej archivos
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = oso xikpatskili uan tiktitanis, sayoj tein amo panoua { $size }
|
||||
addPassword = Xikyekpia ika se ichtakatajtol
|
||||
emailPlaceholder = Xikijkuilo mocorreo itech tepos
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Xikalakteua uan uelis tiktitanis tein amo panos { $size }
|
||||
signInOnlyButton = Kampa se kalakteua
|
||||
accountBenefitTitle = Ximochiuili se cuenta itech { -firefox } oso xikalakteua
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Xikintitani tajkuilolmej archivos tein amo panouaj { $size }
|
||||
accountBenefitDownloadCount = Xikintitanili tajkuilolmej archivos oksekin
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
*[undefined] Kampa se kipatskilis maj kisentokakan kualtiakan se tonal ok / { $count } tonalmej ok
|
||||
}
|
||||
accountBenefitSync = Itech tein yeski tepos xikixyekana motajkuiloluan archivos tein tikinpanoltilij oksekin
|
||||
accountBenefitMoz = Okachi tikmatis okseki tapaleuilmej tein kitemaka { -mozilla }
|
||||
signOut = Kampa se kisa
|
||||
okButton = Kuali yetok
|
||||
downloadingTitle = Kitemouijtok
|
||||
noStreamsWarning = Xa navegador amo uelis kitalij nejin tajkuilol archivo tein tel ueyi kemej se uelis kiyekixtajtoltis ya.
|
||||
noStreamsOptionCopy = Xikixkopina tein se kipatskilis uan ijkon se uelis kitatapos itech okse navegador
|
||||
noStreamsOptionFirefox = Xikejeko navegador tein semi techuelita
|
||||
noStreamsOptionDownload = Maj niksentoka niktatekiujti nejin navegador
|
||||
downloadFirefoxPromo = Yankuik { -firefox } mitsixpantilia { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Xikinpanoltili oksekin tein se kipatskilis uan teuika motajkuilol archivo:
|
||||
shareLinkButton = Kampa se kipatskilis tein uelis tikinpanoltilis oksekin
|
||||
# $name is the name of the file
|
||||
shareMessage = Xiktemoui “{ $name }” ika { -send-brand }: amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos
|
||||
trailheadPromo = Kemaj, uelis tikyekpias tein moaxka itech tepos. Xipoui Firefox.
|
||||
learnMore = Xiktemoui tajkuilolmej archivos.
|
||||
196
public/locales/be/send.ftl
Normal file
196
public/locales/be/send.ftl
Normal file
@@ -0,0 +1,196 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
importingFile = Імпартаванне...
|
||||
encryptingFile = Зашыфроўка...
|
||||
decryptingFile = Расшыфроўка...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] { $num } сцягванне
|
||||
[few] { $num } сцягванні
|
||||
*[many] { $num } сцягванняў
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] { $num } гадзіна
|
||||
[few] { $num } гадзіны
|
||||
*[many] { $num } гадзін
|
||||
}
|
||||
copiedUrl = Скапіявана!
|
||||
unlockInputPlaceholder = Пароль
|
||||
unlockButtonLabel = Разблакаваць
|
||||
downloadButtonLabel = Сцягнуць
|
||||
downloadFinish = Сцягванне скончана
|
||||
fileSizeProgress = ({ $partialSize } з { $totalSize })
|
||||
sendYourFilesLink = Паспрабуйце Firefox Send
|
||||
errorPageHeader = Нешта пайшло не так!
|
||||
fileTooBig = Гэты файл надта вялікі. Ён мусіць быць меншым за { $size }
|
||||
linkExpiredAlt = Тэрмін дзеяння спасылкі сышоў
|
||||
notSupportedHeader = Ваш браўзер не падтрымліваецца.
|
||||
notSupportedLink = Чаму мой браўзер не падтрымліваецца?
|
||||
notSupportedOutdatedDetail = На жаль, гэтая версія Firefox не падтрымлівае вэб-тэхналогію, што забяспечвае працу Firefox Send. Вам трэба абнавіць свой браўзер.
|
||||
updateFirefox = Абнавіць Firefox
|
||||
deletePopupCancel = Скасаваць
|
||||
deleteButtonHover = Выдаліць
|
||||
footerLinkLegal = Прававыя звесткі
|
||||
footerLinkPrivacy = Прыватнасць
|
||||
footerLinkCookies = Кукі
|
||||
passwordTryAgain = Некарэктны пароль. Паспрабуйце зноў.
|
||||
javascriptRequired = Для Firefox Send неабходны JavaScript
|
||||
whyJavascript = Чаму для Firefox Send неабходны JavaScript?
|
||||
enableJavascript = Калі ласка, уключыце JavaScript і паспрабуйце зноў.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours } г. { $minutes } хв.
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } хв.
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Максімальная даўжыня пароля: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Гэты пароль немагчыма паставіць
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Просты і прыватны абмен файламі
|
||||
introDescription = { -send-brand } дазваляе вам абменьвацца файламі са скразным шыфраваннем і спасылкамі з абмежаваным тэрмінам дзеяння. Такім чынам, вы можаце дзяліцца файламі прыватна і быць упэўненым, што яны не застануцца ў сеціве назаўжды.
|
||||
notifyUploadEncryptDone = Ваш файл зашыфраваны і гатовы да адпраўкі
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Тэрмін дзеяння сыдзе праз { $downloadCount } або { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] { $num } хвіліна
|
||||
[few] { $num } хвіліны
|
||||
*[many] { $num } хвілін
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] { $num } дзень
|
||||
[few] { $num } дні
|
||||
*[many] { $num } дзён
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] { $num } тыдзень
|
||||
[few] { $num } тыдні
|
||||
*[many] { $num } тыдняў
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] { $num } файл
|
||||
[few] { $num } файлы
|
||||
*[many] { $num } файлаў
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = Б
|
||||
# kibibyte abbreviation
|
||||
kb = КБ
|
||||
# mebibyte abbreviation
|
||||
mb = МБ
|
||||
# gibibyte abbreviation
|
||||
gb = ГБ
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num } { $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Агульны памер: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Скапіруйце спасылку, каб падзяліцца сваім файлам:
|
||||
copyLinkButton = Скапіраваць спасылку
|
||||
downloadTitle = Сцягнуць файлы
|
||||
downloadDescription = Гэтым файлам падзяліліся праз { -send-brand } са скразным шыфраваннем і спасылкай з абмежаваным тэрмінам дзеяння.
|
||||
trySendDescription = Паспрабуйце { -send-brand } для простага і бяспечнага абмену файламі.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Толькі { $count } файл можна загрузіць за раз.
|
||||
[few] Толькі { $count } файлы можна загрузіць за раз.
|
||||
*[many] Толькі { $count } файлаў можна загрузіць за раз.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Толькі { $count } архіў дазволены.
|
||||
[few] Толькі { $count } архівы дазволены.
|
||||
*[many] Толькі { $count } архіваў дазволена.
|
||||
}
|
||||
expiredTitle = Тэрмін дзеяння гэтай спасылкі сышоў.
|
||||
notSupportedDescription = { -send-brand } не будзе працаваць у гэтым браўзеры. Лепей за ўсё { -send-short-brand } працуе з апошняй версіяй { -firefox } і будзе працаваць з бягучай версіяй большасці браўзераў.
|
||||
downloadFirefox = Сцягнуць { -firefox }
|
||||
legalTitle = Палітыка прыватнасці { -send-short-brand }
|
||||
legalDateStamp = Версія 1.0 ад 12 сакавіка 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } д. { $hours } г. { $minutes } хв.
|
||||
addFilesButton = Выберыце файлы для загрузкі
|
||||
trustWarningMessage = Пераканайцеся, што давяраеце атрымальніку, калі дзеліцеся канфідэнцыяльнымі звесткамі.
|
||||
uploadButton = Загрузіць
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Перацягніце файлы сюды
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = або клікніце, каб адправіць да { $size }:
|
||||
addPassword = Абараніць паролем
|
||||
emailPlaceholder = Увядзіце сваю электронную пошту
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Увайдзіце, каб адпраўляць да { $size }
|
||||
signInOnlyButton = Увайсці
|
||||
accountBenefitTitle = Стварыце ўліковы запіс { -firefox } або ўвайдзіце
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Дзяліцеся файламі да { $size }
|
||||
accountBenefitDownloadCount = Дзяліцеся файламі з большай колькасцю людзей
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Трымайце спасылкі актыўнымі да { $count } дня
|
||||
[few] Трымайце спасылкі актыўнымі да { $count } дзён
|
||||
*[many] Трымайце спасылкі актыўнымі да { $count } дзён
|
||||
}
|
||||
accountBenefitSync = Кіруйце адпраўленымі файламі з любой прылады
|
||||
accountBenefitMoz = Даведайцеся пра іншыя сэрвісы { -mozilla }
|
||||
signOut = Выйсці
|
||||
okButton = ОК
|
||||
downloadingTitle = Сцягваецца
|
||||
noStreamsWarning = Гэты браўзер не мае магчымасці расшыфраваць такі вялікі файл.
|
||||
noStreamsOptionCopy = Скапіруйце спасылку, каб адкрыць у іншым браўзеры
|
||||
noStreamsOptionFirefox = Паспрабуйце наш любімы браўзер
|
||||
noStreamsOptionDownload = Працягнуць з гэтым браўзерам
|
||||
downloadFirefoxPromo = { -send-short-brand } прыйшоў да вас з цалкам новага { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Падзяліцеся спасылкай на свой файл:
|
||||
shareLinkButton = Падзяліцца спасылкай
|
||||
# $name is the name of the file
|
||||
shareMessage = Сцягніце «{ $name }» з { -send-brand }: простага і бяспечнага файлаабменніка
|
||||
trailheadPromo = Ёсць спосаб абараніць вашу прыватнасць. Далучайцеся да Firefox.
|
||||
learnMore = Падрабязней.
|
||||
downloadFlagged = Гэта спасылка адключана за парушэнне ўмоў прадастаўлення паслуг.
|
||||
downloadConfirmTitle = Яшчэ адна рэч
|
||||
downloadConfirmDescription = Пераканайцеся, што давяраеце адпраўніку гэтага файла, бо мы не можам пераканацца, што ён не нашкодзіць Вашай прыладзе.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Я давяраю адпраўніку гэтага файла
|
||||
[few] Я давяраю адпраўніку гэтых файлаў
|
||||
*[many] Я давяраю адпраўніку гэтых файлаў
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Паведаміць, што гэты файл падазроныя
|
||||
[few] Паведаміць, што гэтыя файлы падазроныя
|
||||
*[many] Паведаміць, што гэтыя файлы падазроныя
|
||||
}
|
||||
reportDescription = Дапамажыце нам зразумець, што адбываецца. Як вы лічыце, што не так з гэтымі файламі?
|
||||
reportUnknownDescription = Калі ласка, перайдзіце да адрасу спасылкі, пра якую хочаце паведаміць, і націсніце “{ reportFile }”.
|
||||
reportButton = Паведаміць
|
||||
reportReasonMalware = Гэтыя файлы ўтрымліваюць шкоднасныя праграмы альбо з'яўляюцца часткай фішынг-атакі.
|
||||
reportReasonPii = Гэтыя файлы ўтрымліваюць асабістую інфармацыю пра мяне.
|
||||
reportReasonAbuse = Гэтыя файлы ўтрымліваюць незаконнае альбо абразлівае змесціва.
|
||||
reportReasonCopyright = Каб паведаміць аб парушэнні аўтарскіх правоў або гандлёвых марак, скарыстайцеся алгарытмам, апісаным на <a>гэтай старонцы</a>.
|
||||
reportedTitle = Пра файлы паведамлена
|
||||
reportedDescription = Дзякуй. Мы атрымалі Вашу заяву наконт гэтых файлаў.
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Roit hoc'h ali
|
||||
importingFile = Oc'h enporzhiañ …
|
||||
encryptingFile = Oc'h enrinegañ..
|
||||
decryptingFile = Oc'h ezrinegañ...
|
||||
@@ -140,6 +139,7 @@ legalDateStamp = Handelv 1.0, d'an 12 a viz Meurzh 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }e { $minutes }m
|
||||
addFilesButton = Diuzit ur restr da bellgas
|
||||
trustWarningMessage = Bezit sur ho peus fiziañs en ho tegemerer pa rannit roadennoù kizidik.
|
||||
uploadButton = Pellgas
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Riklit ha laoskit restroù
|
||||
@@ -180,3 +180,6 @@ shareLinkButton = Rannañ an ere
|
||||
shareMessage = Pellgargañ "{ $name }" gant { -send-brand }: rannañ restroù en un doare eeun ha prevez
|
||||
trailheadPromo = Un doare a zo da wareziñ ho puhez prevez. Tremenit da Firefox.
|
||||
learnMore = Gouzout hiroc'h.
|
||||
downloadFlagged = Diweredekaet eo bet an ere-se dre ma ne zouje ket ouzh an divizoù arver.
|
||||
downloadConfirmTitle = Un draig ouzhpenn
|
||||
downloadConfirmDescription = Bezit sur ho peus fiziañs en deus en deus kaset ar restr-mañ dre ma n'haller ket gwiriañ ne freuzo ket ho trevnad.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentaris
|
||||
importingFile = S'està important…
|
||||
encryptingFile = S'està xifrant…
|
||||
decryptingFile = S'està desxifrant…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versió 1.0, amb data del 12 de març de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d { $hours } h { $minutes } min
|
||||
addFilesButton = Seleccioneu els fitxers que voleu pujar
|
||||
trustWarningMessage = Assegureu-vos que confieu en el destinatari quan compartiu dades confidencials.
|
||||
uploadButton = Puja
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrossegueu i deixeu anar els fitxers
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Comparteix l'enllaç
|
||||
shareMessage = Baixeu «{ $name }» amb el { -send-brand }: compartició de fitxers senzilla i segura
|
||||
trailheadPromo = Hi ha una manera de protegir la vostra privadesa. Uniu-vos al Firefox.
|
||||
learnMore = Més informació.
|
||||
downloadFlagged = Aquest enllaç s'ha desactivat per infringir les condicions del servei.
|
||||
downloadConfirmTitle = Una cosa més
|
||||
downloadConfirmDescription = Assegureu-vos que confieu en la persona que us ha enviat aquest fitxer, perquè nosaltres no podem verificar que no malmeti el vostre dispositiu.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Confio en la persona que ha enviat aquest fitxer
|
||||
*[other] Confio en la persona que ha enviat aquests fitxers
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Informa que aquest fitxer és sospitós
|
||||
*[other] Informa que aquests fitxers són sospitos
|
||||
}
|
||||
reportDescription = Ajudeu-nos a entendre què passa. Quin problema creieu que tenen aquests fitxers?
|
||||
reportUnknownDescription = Aneu a l'URL de l'enllaç sobre el qual voleu informar i feu clic a «{ reportFile }».
|
||||
reportButton = Informa
|
||||
reportReasonMalware = Aquests fitxers contenen programari maliciós o formen part d'un atac de pesca electrònica.
|
||||
reportReasonPii = Aquests fitxers contenen informació d'identificació personal meva.
|
||||
reportReasonAbuse = Aquests fitxers inclouen contingut il·legal o abusiu.
|
||||
reportReasonCopyright = Per informar sobre una infracció de drets d’autor o de marca comercial, utilitzeu el procés descrit en <a>aquesta pàgina</a>.
|
||||
reportedTitle = S'ha informat d'aquests fitxers
|
||||
reportedDescription = Gràcies. Hem rebut el vostre informe sobre aquests fitxers.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title = Firefox Send
|
||||
siteFeedback = Rutzijol
|
||||
importingFile = Tajin nijik…
|
||||
encryptingFile = Tajin newäx rusik'ixik...
|
||||
encryptingFile = Tajin newäx rusik'ixik…
|
||||
decryptingFile = Tajin netamäx rusik'ixik...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
|
||||
155
public/locales/ckb/send.ftl
Normal file
155
public/locales/ckb/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = ڕەخنەوپێشنیار
|
||||
importingFile = هاوردەکردن...
|
||||
encryptingFile = بەهێماکردن...
|
||||
decryptingFile = هێمالابردن...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 داگرتن
|
||||
*[other] { $num } داگرتن
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 کاژێر
|
||||
*[other] { $num } کاژێر
|
||||
}
|
||||
copiedUrl = لەبەرگیرا!
|
||||
unlockInputPlaceholder = وشەی تێپەڕبوون
|
||||
unlockButtonLabel = کردنەوە
|
||||
downloadButtonLabel = داگرتن
|
||||
downloadFinish = داگرتن تەواو بوو
|
||||
fileSizeProgress = ({ $partialSize } لە { $totalSize })
|
||||
sendYourFilesLink = Firefox ناردن تاقیبکەرەوە
|
||||
errorPageHeader = هەڵەیەک ڕوویدا
|
||||
fileTooBig = ئەم پەڕگەیە زۆر گەورەیە بۆ بارکردن. پێویستە لە { $size } بچووک تر بێت
|
||||
linkExpiredAlt = بەستەر بەسەرچووە
|
||||
notSupportedHeader = وێبگەڕەکەت پشتگیری ناکرێت
|
||||
notSupportedLink = بۆ وێبگەڕەکەم پشتگیری ناکرێت؟
|
||||
notSupportedOutdatedDetail = بەداخەوە ئەم وەشانەی Firefox پشتگیری ئەو جۆرە تەکنەلۆژییە ناکات کە پێویستە بۆ Firefox Send. پێویستە وێبگەڕەکەت نوێبکەیتەوە.
|
||||
updateFirefox = فاەرفۆکس نوێبکەرەوە
|
||||
deletePopupCancel = پاشگەزبوونەوە
|
||||
deleteButtonHover = سڕینەوە
|
||||
footerLinkLegal = یاسایی
|
||||
footerLinkPrivacy = تایبەتیی
|
||||
footerLinkCookies = شەکرۆکە
|
||||
passwordTryAgain = وشەی تێپەڕبوون هەڵەیە. هەوڵ بدەرەوە.
|
||||
javascriptRequired = فارفۆکسی ناردن پێویستە بە JavaScript هەیە
|
||||
whyJavascript = بۆچی پێویستی بە JavaScript هەیە؟
|
||||
enableJavascript = تکایە JavaScript چالاک بکە وهەوڵ بدەرەوە.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }ک { $minutes }خ
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }خ
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = زۆرترین درێژی وشەی تێپەڕی ڕێگەپێدراو: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = ناتوانرێت وشەی تێپەڕ دابنرێت
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = سانا، بڵاوکەرەوەی پەڕگەی تایبەتیی
|
||||
introDescription = { -send-brand } ڕێگەت دەدات پەڕگەکان بڵاوبکەیتەوە بە شێوەی هێما کردنی کۆتا-بۆ-کۆتا و بەستەرێک کە خۆکارانە بەسەردەچێت. بۆیە دەتوانیت ئاگاداری ئەوە بیت کە چ پەڕگەیەک بە تایبەتی بڵاودەکەیتەوە و دڵنیادەبیتەوە کە شتەکانت بە سەرهێڵی نامێننەوە هەتا کۆتایی.
|
||||
notifyUploadEncryptDone = پەڕگەیە بەهێماکراوە ئێستا ئامادەیە بۆ ناردن
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = بەسەردەچێت دووای { $downloadCount } یان { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 خولەک
|
||||
*[other] { $num } خولەک
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 ڕؤژ
|
||||
*[other] { $num } ڕۆژ
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 هەفتە
|
||||
*[other] { $num } هەفتە
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 پەڕگە
|
||||
*[other] { $num } پەڕگە
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = بایت
|
||||
# kibibyte abbreviation
|
||||
kb = ک.بایت
|
||||
# mebibyte abbreviation
|
||||
mb = م.بایت
|
||||
# gibibyte abbreviation
|
||||
gb = گ.بایت
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = قەبارەی گشتی: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = بەستەر لەبەربگرەوە بۆ بڵاوکردنەوەی پەڕگە:
|
||||
copyLinkButton = بەستەر لەبەربگرەوە
|
||||
downloadTitle = پەڕگەکان دابگرە
|
||||
downloadDescription = ئەم پەڕگەیە لە لایەن { -send-brand } بلاوکراوەتەوە کە بەهێماکراوە بە شێوەی کۆتا-بۆ-کۆتا بە بەستەرێک کە خۆکارانە بەسەردەچێت.
|
||||
trySendDescription = { -send-brand } تاقیبکەرەوە بۆ سانایی، پارێزراو لە بڵاوکردنەوەی پەڕگە.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] تەنها 1 پەڕگە دەتوانیت باربکەیت لەم کاتەدا.
|
||||
*[other] تەنها { $count } پەڕگە دەتوانی باربکەیت لەم کاتەدا.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] تەنها 1 ئەرشیف ڕێپێدراوە.
|
||||
*[other] تەنها { $count } ئەرشیف ڕێپێدراوە.
|
||||
}
|
||||
expiredTitle = بەستەر بەسەرچووە.
|
||||
notSupportedDescription = { -send-brand } کارنکات لەگەڵ ئەم وێبگەڕە. { -send-short-brand } باش کاردەکات لەگەڵ کۆتا وەشانی { -firefox }، وکاردەکات لەگەڵ زۆربەی وەشانی ئێستای وێبگەڕەکان.
|
||||
downloadFirefox = { -firefox } دابگرە
|
||||
legalTitle = تێبینی تایبەتیی { -send-short-brand }
|
||||
legalDateStamp = وەشان 1.0، بەروار کراو لە 12 ئازار، 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } ڕ { $hours } ک{ $minutes } خ
|
||||
addFilesButton = پەڕگەکان هەڵبژێرە بۆ بارکردن
|
||||
uploadButton = بارکردن
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = ڕاکێشان و دانانی پەڕگەکان
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = یان کرتە بکە بۆ ناردنی قەبارەی تاوەکوو { $size }
|
||||
addPassword = بپارێزە لەگەڵ وشەی تێپەڕ
|
||||
emailPlaceholder = پۆستی ئەلکترۆنی بنووسە
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = بچۆژوورەوە بۆ ناردنی قەبارەی تاوەکوو { $size }
|
||||
signInOnlyButton = بچۆژوورەوە
|
||||
accountBenefitTitle = هەژماری { -firefox } درووست بکە یان بچۆژوورەوە
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = پەڕگە بڵاوبکەرەوە تاوەکوو قەبارەی { $size }
|
||||
accountBenefitDownloadCount = پەڕگەکان لەگەڵ خەڵکی زیاتر بڵاوبکەرەوە
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] بەستەرەکان بەکارایی بهێڵەوە تا 1 ڕۆژ
|
||||
*[other] بەستەرەکان بەکارایی بهێڵەوە تا { $count } ڕۆژ
|
||||
}
|
||||
accountBenefitSync = پەڕگە بڵآوکراوەکان بەڕێوەبەرە لەهەر ئامێرێکەوە
|
||||
accountBenefitMoz = زیاتر بزانە دەربارەی خزمەتگوزارییەکانی تری { -mozilla }
|
||||
signOut = بچۆ دەرەوە
|
||||
okButton = باشە
|
||||
downloadingTitle = دادەگیرێت...
|
||||
noStreamsWarning = لەوانەیە ئەم وێبگەڕە نەتوانێت پەڕگەی وا گەورە بە هێما بکات.
|
||||
noStreamsOptionCopy = بەستەر لەبەربگرەوە بۆ کردنەوەی لە وێبگەڕێکی تر
|
||||
noStreamsOptionFirefox = وێبگەڕی دڵخوازی ئێمە تاقیبکەرەوە
|
||||
noStreamsOptionDownload = بەردەوام بە لەگەڵ ئەم وێبگەڕە
|
||||
downloadFirefoxPromo = { -send-short-brand } پیشکەش کراوە بە تۆ لە لایەن { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = بەستەر بڵاوبکەرەوە بۆ پەڕگەکەت:
|
||||
shareLinkButton = بەستەر بڵاوبکەرەوە
|
||||
# $name is the name of the file
|
||||
shareMessage = “{ $name }” دابگرە لەگەڵ { -send-brand }: سانا، پاریزراو لە بڵاوکردنەوەی پەڕگە
|
||||
trailheadPromo = ڕێگەیەک هەیە بۆ پارێزگاریکردنی تایبەتێتی خۆت. بەشدار بە لە فایەرفۆکس.
|
||||
learnMore = زیاتر بزانە
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Zpětná vazba
|
||||
importingFile = Probíhá import…
|
||||
encryptingFile = Probíhá šifrování…
|
||||
decryptingFile = Probíhá dešifrování…
|
||||
@@ -22,7 +21,7 @@ unlockButtonLabel = Odemknout
|
||||
downloadButtonLabel = Stáhnout
|
||||
downloadFinish = Stahování dokončeno
|
||||
fileSizeProgress = ({ $partialSize } z { $totalSize })
|
||||
sendYourFilesLink = Vyzkoušejte Firefox Send
|
||||
sendYourFilesLink = Vyzkoušet Firefox Send
|
||||
errorPageHeader = Nastala chyba!
|
||||
fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }.
|
||||
linkExpiredAlt = Platnost odkazu vypršela
|
||||
@@ -137,7 +136,7 @@ copyLinkDescription = Soubor můžete sdílet tímto odkazem:
|
||||
copyLinkButton = Zkopírovat odkaz
|
||||
downloadTitle = Stáhnout soubory
|
||||
downloadDescription = Tento soubor byl sdílen přes { -send-brand(case: "acc") } s end-to-end šifrováním a odkazem s omezenou platností.
|
||||
trySendDescription = Zkuste { -send-brand(case: "acc") } pro jednoduché a bezpečné sdílení souborů
|
||||
trySendDescription = Vyzkoušejte jednoduché a bezpečné sdílení souborů s { -send-brand(case: "ins") }
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
@@ -160,6 +159,7 @@ legalDateStamp = Verze 1.0, 12. března 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Vyberte soubory k nahrání
|
||||
trustWarningMessage = Ujistěte se, že adresátovi důvěřujete pro sdílení vašich důvěrných dat.
|
||||
uploadButton = Nahrát
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Přetažením myší nebo kliknutím sem
|
||||
@@ -198,3 +198,35 @@ shareLinkButton = Sdílet odkaz
|
||||
shareMessage = Stáhněte si soubor „{ $name }“ s { -send-brand(case: "ins") } - jednoduché a bezpečné sdílení souborů
|
||||
trailheadPromo = Existuje způsob, jak ochránit své soukromí. Používejte Firefox.
|
||||
learnMore = Zjistit více.
|
||||
downloadFlagged = Tento odkaz byl pro porušení podmínek používání služby deaktivován.
|
||||
downloadConfirmTitle = Ještě jedna věc
|
||||
downloadConfirmDescription = Ujistěte se, že opravdu důvěřujete odesílateli tohoto souboru, protože nemůžeme potvrdit bezpečnost jeho otevření na vašem zařízení.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Odesílateli tohoto souboru důvěřuji
|
||||
[few] Odesílateli těchto souborů důvěřuji
|
||||
*[other] Odesílateli těchto souborů důvěřuji
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Nahlásit tento soubor jako podezřelý
|
||||
[few] Nahlásit tyto soubory jako podezřelé
|
||||
*[other] Nahlásit tyto soubory jako podezřelé
|
||||
}
|
||||
reportDescription = Pomozte nám. Co si myslíte, že je s těmito soubory špatně?
|
||||
reportUnknownDescription = Otevřete odkaz, který chcete nahlásit, a klepněte na „{ reportFile }“.
|
||||
reportButton = Nahlásit
|
||||
reportReasonMalware = Tyto soubory obsahují malware nebo jsou součástí phishingového útoku.
|
||||
reportReasonPii = Tyto soubory obsahují mé osobní údaje.
|
||||
reportReasonAbuse = Tyto soubory obsahují nelegální nebo urážlivý obsah.
|
||||
reportReasonCopyright = Chcete-li nahlásit porušení autorských práv nebo ochranných známek, použijte postup popsaný na <a>této stránce</a>.
|
||||
reportedTitle = Soubory byly nahlášeny
|
||||
reportedDescription = Děkujeme vám za zaslané hlášení ohledně těchto souborů.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Adborth
|
||||
importingFile = Mewnforio…
|
||||
encryptingFile = Wrthi'n amgryptio…
|
||||
decryptingFile = Wrthi'n dadgryptio…
|
||||
@@ -148,6 +147,7 @@ legalDateStamp = Fersiwn 1.0, dyddiedig Mawrth 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d { $hours } a { $minutes } m
|
||||
addFilesButton = Dewis ffeiliau i'w llwytho i fyny
|
||||
trustWarningMessage = Gwnewch yn siŵr eich bod yn ymddiried yn eich derbynnydd pan yn rhannu data sensitif.
|
||||
uploadButton = Llwytho i fyny
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Llusgo a gollwng ffeiliau
|
||||
@@ -189,3 +189,41 @@ shareLinkButton = Rhannu'r ddolen
|
||||
shareMessage = Llwytho i lawr “{ $name }” gyda { -send-brand }: rhannu ffeiliau syml a diogel
|
||||
trailheadPromo = Mae ffordd o ddiogelu eich preifatrwydd. Ymunwch â Firefox.
|
||||
learnMore = Dysgu rhagor.
|
||||
downloadFlagged = Mae'r ddolen wedi'i analluogi am fynd yn groes i'r telerau gwasanaeth.
|
||||
downloadConfirmTitle = Un peth arall
|
||||
downloadConfirmDescription = Gwnewch yn siŵr eich bod yn ymddiried yn y person a anfonodd y ffeil hon atoch oherwydd nid ydym yn gallu gwirio na fydd yn niweidio'ch dyfais.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[zero] Rwy'n ymddiried yn y person anfonodd yr { $count } ffeil yma
|
||||
[one] Rwy'n ymddiried yn y person anfonodd yr { $count } ffeil yma
|
||||
[two] Rwy'n ymddiried yn y person anfonodd yr { $count } ffeil yma
|
||||
[few] Rwy'n ymddiried yn y person anfonodd yr { $count } ffeil yma
|
||||
[many] Rwy'n ymddiried yn y person anfonodd yr { $count } ffeil yma
|
||||
*[other] Rwy'n ymddiried yn y person anfonodd yr { $count } ffeil yma
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[zero] Adrodd y { $count } ffeil yma fel rhai amheus
|
||||
[one] Adrodd y { $count } ffeil yma fel un amheus
|
||||
[two] Adrodd y { $count } ffeil yma fel rhai amheus
|
||||
[few] Adrodd y { $count } ffeil yma fel rhai amheus
|
||||
[many] Adrodd y { $count } ffeil yma fel rhai amheus
|
||||
*[other] Adrodd y { $count } ffeil yma fel rhai amheus
|
||||
}
|
||||
reportDescription = Helpwch ni i ddeall beth sy'n digwydd. Beth ydych chi'n meddwl sydd o'i le gyda'r ffeiliau hyn?
|
||||
reportUnknownDescription = Ewch i url y ddolen rydych am adrodd amdani a chlicio “{ reportFile }”.
|
||||
reportButton = Adrodd
|
||||
reportReasonMalware = Mae'r ffeiliau hyn yn cynnwys meddalwedd maleisus neu'n rhan o ymosodiad gwe-rwydo.
|
||||
reportReasonPii = Mae'r ffeiliau hyn yn cynnwys gwybodaeth bersonol adnabyddadwy amdanaf i.
|
||||
reportReasonAbuse = Mae'r ffeiliau hyn yn cynnwys deunydd anghyfreithlon neu ymosodol.
|
||||
reportReasonCopyright = I adrodd ar dorri hawlfraint neu nod masnach, defnyddiwch y broses sy'n cael ei ddisgrifio yn y <a>dudalen hon</a>.
|
||||
reportedTitle = Ffeiliau Adroddwyd Amdanynt
|
||||
reportedDescription = Diolch. Rydym wedi derbyn eich adroddiad ar y ffeiliau hyn.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Importerer…
|
||||
encryptingFile = Krypterer…
|
||||
decryptingFile = Dekrypterer…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Version 1.0, udsendt d. 12. marts 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d. { $hours } t. { $minutes } m.
|
||||
addFilesButton = Vælg filer, der skal uploades
|
||||
trustWarningMessage = Vær sikker på, at du stoler på modtageren, når du deler følsomme data.
|
||||
uploadButton = Upload
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Træk og slip filer
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Del link
|
||||
shareMessage = Hent { $name } med { -send-brand } - simpel og sikker fildeling
|
||||
trailheadPromo = Beskyt dine digitale rettigheder. Slut dig til Firefox.
|
||||
learnMore = Læs mere.
|
||||
downloadFlagged = Dette link er blevet deaktiveret for overtrædelse af tjenestevilkårene.
|
||||
downloadConfirmTitle = En ting til
|
||||
downloadConfirmDescription = Vær sikker på, at du stoler på afsenderen af denne fil, da vi ikke kan garantere, at den ikke vil skade din enhed.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Jeg stoler på personen, som sendte denne fil
|
||||
*[other] Jeg stoler på personen, som sendte disse filer
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Rapportér denne fil som mistænkelig
|
||||
*[other] Rapportér disse filer som mistænkelige
|
||||
}
|
||||
reportDescription = Hjælp os med at forstå, hvad der foregår. Hvad er der i vejen med disse filer?
|
||||
reportUnknownDescription = Gå til adressen på det link, du vil rapportere, og klik på “{ reportFile }”.
|
||||
reportButton = Rapportér
|
||||
reportReasonMalware = Disse filer indeholder malware eller er en del af et phishing-angreb.
|
||||
reportReasonPii = Disse filer indeholder oplysninger om mig, der er personligt identificerbare.
|
||||
reportReasonAbuse = Disse filer indeholder ulovligt eller voldeligt indhold.
|
||||
reportReasonCopyright = Hvis du vil rapportere overtrædelse af ophavsrettigheder eller varemærker, skal du bruge processen, som er beskrevet på <a>denne side</a>.
|
||||
reportedTitle = Rapporterede filer
|
||||
reportedDescription = Tak. Vi har modtaget din rapport om disse filer.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Wird importiert…
|
||||
encryptingFile = Wird verschlüsselt…
|
||||
decryptingFile = Wird entschlüsselt…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Version 1.0, Stand 12. März 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Dateien zum Hochladen auswählen
|
||||
trustWarningMessage = Sie sollten dem Empfänger vertrauen, wenn Sie vertrauliche Daten weitergeben.
|
||||
uploadButton = Hochladen
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Dateien per Drag & Drop einfügen
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Link teilen
|
||||
shareMessage = Laden Sie „{ $name }“ mit { -send-brand } herunter: einfaches, sicheres Teilen von Dateien
|
||||
trailheadPromo = Es gibt einen Weg, deine Privatsphäre zu schützen. Komm zu Firefox.
|
||||
learnMore = Mehr erfahren.
|
||||
downloadFlagged = Dieser Link wurde wegen Verstoßes gegen die Nutzungsbedingungen deaktiviert.
|
||||
downloadConfirmTitle = Eine Sache noch
|
||||
downloadConfirmDescription = Sie sollten dem Absender dieser Datei vertrauen, da wir nicht überprüfen können, ob Ihr Gerät dadurch beschädigt wird.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Ich vertraue der Person, die diese Datei gesendet hat
|
||||
*[other] Ich vertraue der Person, die diese Dateien gesendet hat
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Diese Datei als verdächtig melden
|
||||
*[other] Diese Dateien als verdächtig melden
|
||||
}
|
||||
reportDescription = Helfen Sie uns mit weiteren Informationen. Wo liegt das Problem bei diesen Dateien?
|
||||
reportUnknownDescription = Bitte besuchen Sie die Adresse des Links, den Sie melden möchten, und klicken Sie auf „{ reportFile }“.
|
||||
reportButton = Melden
|
||||
reportReasonMalware = Diese Dateien enthalten Malware oder sind Teil eines Phishing-Angriffs.
|
||||
reportReasonPii = Diese Dateien enthalten personenbezogene Daten über mich.
|
||||
reportReasonAbuse = Diese Dateien enthalten illegale oder missbräuchliche Inhalte.
|
||||
reportReasonCopyright = Um Urheber- oder Markenrechtsverletzungen zu melden, nutzen Sie bitte das auf <a>dieser Seite</a> beschriebene Verfahren.
|
||||
reportedTitle = Dateien gemeldet
|
||||
reportedDescription = Vielen Dank. Wir haben Ihren Bericht über diese Dateien erhalten.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Komentar
|
||||
importingFile = Importěrujo se...
|
||||
encryptingFile = Koděrujo se...
|
||||
decryptingFile = Dešifrěrujo se...
|
||||
@@ -132,6 +131,7 @@ legalDateStamp = Wersija 1.0 wót 12. měrca 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }ź { $hours }g { $minutes }m
|
||||
addFilesButton = Dataje za nagrawanje wubraś
|
||||
trustWarningMessage = Wy měł dostawarjeju dowěriś, gaž sensibelne daty źěliśo.
|
||||
uploadButton = Nagraś
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Śěgniśo a wótpołožćo dataje
|
||||
@@ -171,3 +171,37 @@ shareLinkButton = Wótkaz źěliś
|
||||
shareMessage = Ześěgniśo „{ $name }“ z { -send-brand }: jadnore, wěste źělenje datajow
|
||||
trailheadPromo = Jo móžnosć, wašu priwatnosć šćitaś. Pśiźćo k Firefox.
|
||||
learnMore = Dalšne informacije.
|
||||
downloadFlagged = Toś ten wótkaz jo se znjemóžnił pśestupjenja wužywańskich wuměnjenjow dla.
|
||||
downloadConfirmTitle = Jadna wěc hyšći
|
||||
downloadConfirmDescription = Wy měł wótpósłarjeju toś teje dataje dowěriś, dokulaž njamóžomy pśeglědaś, lěc to waš rěd kazy.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Dowěrim wósobje, kótaraž jo pósłała toś tu dataju
|
||||
[two] Dowěrim wósobje, kótaraž jo pósłała toś tej dataji
|
||||
[few] Dowěrim wósobje, kótaraž jo pósłała toś te dataje
|
||||
*[other] Dowěrim wósobje, kótaraž jo pósłała toś te dataje
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Toś tu dataju ako suspektnu k wěsći daś
|
||||
[two] Toś tej dataji ako suspektnej k wěsći daś
|
||||
[few] Toś te dataje ako suspektne k wěsći daś
|
||||
*[other] Toś te dataje ako suspektne k wěsći daś
|
||||
}
|
||||
reportDescription = Pomagajśo nam rozumić, co se stawa. Co pó wašom měnjenju njejo w pórědku z toś tymi datajami?
|
||||
reportUnknownDescription = Źiśo pšosym k URL wótkaza, kótaryž cośo k wěsći daś a klikniśo na „{ reportFile }“.
|
||||
reportButton = K wěsći daś
|
||||
reportReasonMalware = Toś te dataje škódnu softwaru wopśimuju abo su źěl napada kšadnjenja datow.
|
||||
reportReasonPii = Toś te dataje wósobinske informacije wó mnje, kótarež mógu mě identificěrowaś.
|
||||
reportReasonAbuse = Toś te dataje njedowólone abo ranjece wopśimjeśe wopśimuju.
|
||||
reportReasonCopyright = Aby pśestupjenje awtorskego pšawa abo pšawa wikowwych markow k wěsći dał, wužywajśo póstupowanje, kótarež se na <a>toś tom boku</a> wopisujo.
|
||||
reportedTitle = Dataje k wěsći dane
|
||||
reportedDescription = Wjeliki źěk. Smy dostali wašu rozpšawu wó toś tych datajach.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Σχόλια
|
||||
importingFile = Εισαγωγή…
|
||||
encryptingFile = Κρυπτογράφηση…
|
||||
decryptingFile = Αποκρυπτογράφηση…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Έκδοση 1.0, από 12 Μαρτίου 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }η { $hours }ώ { $minutes }λ
|
||||
addFilesButton = Επιλέξτε αρχεία για μεταφόρτωση
|
||||
trustWarningMessage = Βεβαιωθείτε ότι ο παραλήπτης είναι έμπιστος πριν μοιραστείτε ευαίσθητα δεδομένα.
|
||||
uploadButton = Μεταφόρτωση
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Σύρετε και εναποθέστε αρχεία
|
||||
@@ -140,7 +140,7 @@ accountBenefitSync = Διαχειριστείτε τα διαμοιρασμέν
|
||||
accountBenefitMoz = Μάθετε για τις άλλες υπηρεσίες της { -mozilla }
|
||||
signOut = Αποσύνδεση
|
||||
okButton = OK
|
||||
downloadingTitle = Λήψη
|
||||
downloadingTitle = Γίνεται λήψη
|
||||
noStreamsWarning = Αυτό το πρόγραμμα περιήγησης ενδέχεται να μην μπορέσει να αποκρυπτογραφήσει αρχεία αυτού του μεγέθους.
|
||||
noStreamsOptionCopy = Αντιγράψτε το σύνδεσμο για άνοιγμα σε άλλο πρόγραμμα περιήγησης
|
||||
noStreamsOptionFirefox = Δοκιμάστε το αγαπημένο μας πρόγραμμα περιήγησης
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Κοινή χρήση συνδέσμου
|
||||
shareMessage = Λήψη του “{ $name }” με το { -send-brand }: απλός και ασφαλής διαμοιρασμός αρχείων
|
||||
trailheadPromo = Υπάρχει τρόπος να προστατέψετε το απόρρητό σας. Γίνετε μέλος του Firefox.
|
||||
learnMore = Μάθετε περισσότερα.
|
||||
downloadFlagged = Αυτός ο σύνδεσμος έχει απενεργοποιηθεί λόγω παραβίασης των όρων υπηρεσίας.
|
||||
downloadConfirmTitle = Κάτι ακόμα
|
||||
downloadConfirmDescription = Βεβαιωθείτε ότι το αρχείο προέρχεται από έμπιστο άτομο, καθώς δεν μπορούμε να επαληθεύσουμε ότι δεν θα βλάψει τη συσκευή σας.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Εμπιστεύομαι το άτομο που έστειλε το αρχείο
|
||||
*[other] Εμπιστεύομαι το άτομο που έστειλε τα αρχεία
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Αναφορά ύποπτου αρχείου
|
||||
*[other] Αναφορά ύποπτων αρχείων
|
||||
}
|
||||
reportDescription = Βοηθήστε μας να καταλάβουμε τι συμβαίνει. Τι νομίζετε ότι δεν πάει καλά με αυτά τα αρχεία;
|
||||
reportUnknownDescription = Παρακαλούμε μεταβείτε στο URL του συνδέσμου που θέλετε να αναφέρετε και κάντε κλικ στο "{ reportFile }".
|
||||
reportButton = Αναφορά
|
||||
reportReasonMalware = Αυτά τα αρχεία περιέχουν κακόβουλο λογισμικό ή αποτελούν μέρος μιας επίθεσης ηλεκτρονικού ψαρέματος.
|
||||
reportReasonPii = Αυτά τα αρχεία περιέχουν προσωπικές μου πληροφορίες ταυτοποίησης.
|
||||
reportReasonAbuse = Αυτά τα αρχεία περιέχουν παράνομο ή καταχρηστικό περιεχόμενο.
|
||||
reportReasonCopyright = Για να αναφέρετε παραβίαση πνευματικών δικαιωμάτων ή εμπορικών σημάτων, χρησιμοποιήστε τη διαδικασία που περιγράφεται σε <a>αυτή τη σελίδα</a>.
|
||||
reportedTitle = Έγινε αναφορά των αρχείων
|
||||
reportedDescription = Σας ευχαριστούμε. Λάβαμε την αναφορά σας για τα αρχεία.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Importing…
|
||||
encryptingFile = Encrypting…
|
||||
decryptingFile = Decrypting…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Version 1.0, dated March 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Select files to upload
|
||||
trustWarningMessage = Make sure you trust your recipient when sharing sensitive data.
|
||||
uploadButton = Upload
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Drag and drop files
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Share link
|
||||
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
|
||||
trailheadPromo = There is a way to protect your privacy. Join Firefox.
|
||||
learnMore = Learn more.
|
||||
downloadFlagged = This link has been disabled for violating the terms of service.
|
||||
downloadConfirmTitle = One more thing
|
||||
downloadConfirmDescription = Make sure you trust the person who sent you this file because we can’t verify that it will not harm your device.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] I trust the person who sent this file
|
||||
*[other] I trust the person who sent these files
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Report this file as suspicious
|
||||
*[other] Report these files as suspicious
|
||||
}
|
||||
reportDescription = Help us understand what’s going on. What do you think is wrong with these files?
|
||||
reportUnknownDescription = Please go to the URL of the link you wish to report and click “{ reportFile }”.
|
||||
reportButton = Report
|
||||
reportReasonMalware = These files contain malware or are part of a phishing attack.
|
||||
reportReasonPii = These files contain personally identifiable information about me.
|
||||
reportReasonAbuse = These files contain illegal or abusive content.
|
||||
reportReasonCopyright = To report copyright or trademark infringement, use the process described at <a>this page</a>.
|
||||
reportedTitle = Files Reported
|
||||
reportedDescription = Thank you. We have received your report on these files.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Importing…
|
||||
encryptingFile = Encrypting…
|
||||
decryptingFile = Decrypting…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Version 1.0, dated March 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Select files to upload
|
||||
trustWarningMessage = Make sure you trust your recipient when sharing sensitive data.
|
||||
uploadButton = Upload
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Drag and drop files
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Share link
|
||||
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
|
||||
trailheadPromo = There is a way to protect your privacy. Join Firefox.
|
||||
learnMore = Learn more.
|
||||
downloadFlagged = This link has been disabled for violating the terms of service.
|
||||
downloadConfirmTitle = One more thing
|
||||
downloadConfirmDescription = Make sure you trust the person who sent you this file because we can’t verify that it will not harm your device.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] I trust the person who sent this file
|
||||
*[other] I trust the person who sent these files
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Report this file as suspicious
|
||||
*[other] Report these files as suspicious
|
||||
}
|
||||
reportDescription = Help us understand what’s going on. What do you think is wrong with these files?
|
||||
reportUnknownDescription = Please go to the url of the link you wish to report and click “{ reportFile }”.
|
||||
reportButton = Report
|
||||
reportReasonMalware = These files contain malware or are part of a phishing attack.
|
||||
reportReasonPii = These files contain personally identifiable information about me.
|
||||
reportReasonAbuse = These files contain illegal or abusive content.
|
||||
reportReasonCopyright = To report copyright or trademark infringement, use the process described at <a>this page</a>.
|
||||
reportedTitle = Files Reported
|
||||
reportedDescription = Thank you. We have received your report on these files.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Importing…
|
||||
encryptingFile = Encrypting…
|
||||
decryptingFile = Decrypting…
|
||||
@@ -109,6 +108,7 @@ legalDateStamp = Version 1.0, dated March 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Select files to upload
|
||||
trustWarningMessage = Make sure you trust your recipient when sharing sensitive data.
|
||||
uploadButton = Upload
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Drag and drop files
|
||||
@@ -145,3 +145,33 @@ shareLinkButton = Share link
|
||||
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
|
||||
trailheadPromo = There is a way to protect your privacy. Join Firefox.
|
||||
learnMore = Learn more.
|
||||
downloadFlagged = This link has been disabled for violating the terms of service.
|
||||
downloadConfirmTitle = One more thing
|
||||
downloadConfirmDescription = Make sure you trust the person who sent you this file because we can’t verify that it will not harm your device.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] I trust the person who sent this file
|
||||
*[other] I trust the person who sent these files
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Report this file as suspicious
|
||||
*[other] Report these files as suspicious
|
||||
}
|
||||
reportDescription = Help us understand what’s going on. What do you think is wrong with these files?
|
||||
reportUnknownDescription = Please go to the url of the link you wish to report and click “{ reportFile }”.
|
||||
reportButton = Report
|
||||
reportReasonMalware = These files contain malware or are part of a phishing attack.
|
||||
reportReasonPii = These files contain personally identifiable information about me.
|
||||
reportReasonAbuse = These files contain illegal or abusive content.
|
||||
reportReasonCopyright = To report copyright or trademark infringement, use the process described at <a>this page</a>.
|
||||
reportedTitle = Files Reported
|
||||
reportedDescription = Thank you. We have received your report on these files.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Opinión
|
||||
importingFile = Importando…
|
||||
encryptingFile = Cifrando…
|
||||
decryptingFile = Descifrando…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versión 1.0, con fecha 12 de marzo de 2019.
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Seleccionar archivos para subir
|
||||
trustWarningMessage = Asegurate de que confiás en tu destinatario cuando compartís datos confidenciales.
|
||||
uploadButton = Subir
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrastrar y soltar archivos
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Compartir el enlace
|
||||
shareMessage = Descargar "{ $name }" con { -send-brand }: compartir archivos de forma simple y segura
|
||||
trailheadPromo = Hay una forma de proteger tu privacidad. Unite a Firefox.
|
||||
learnMore = Conocer más.
|
||||
downloadFlagged = Este enlace fue deshabilitado por violar los términos del servicio.
|
||||
downloadConfirmTitle = Una cosa más
|
||||
downloadConfirmDescription = Asegurate de confiar en la persona que te envió este archivo porque no podemos verificar que no va a dañar tu dispositivo.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Confío en la persona que envió este archivo
|
||||
*[other] Confío en la persona que envió estos archivos
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Denunciar este archivo como sospechoso
|
||||
*[other] Denunciar estos archivos como sospechosos
|
||||
}
|
||||
reportDescription = Ayudanos a entender lo que está pasando. ¿Qué creés que está mal con estos archivos?
|
||||
reportUnknownDescription = Navegá a la url del enlace que querés denunciar y hacé clic en "{ reportFile }".
|
||||
reportButton = Denunciar
|
||||
reportReasonMalware = Estos archivos contienen programas dañinos o son parte de un fraude electrónico.
|
||||
reportReasonPii = Estos archivos contienen información personal que me puede identificar.
|
||||
reportReasonAbuse = Estos archivos contienen contenido ilegal o abusivo.
|
||||
reportReasonCopyright = Para denunciar una infracción de derechos de autor o de marca registrada, seguí el proceso descrito en <a>esta página</a>.
|
||||
reportedTitle = Archivos denunciados
|
||||
reportedDescription = Gracias. Recibimos tu denuncia sobre estos archivos.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentarios
|
||||
importingFile = Importando…
|
||||
encryptingFile = Cifrando…
|
||||
decryptingFile = Descifrando…
|
||||
@@ -53,7 +52,7 @@ passwordSetError = Esta contraseña no pudo ser establecida
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Intercambio de archivos sencillo y privado
|
||||
introTitle = Intercambio de archivos simple y privado
|
||||
introDescription = { -send-brand } te permite compartir archivos con cifrado de extremo a extremo y un enlace que expira automáticamente. Así puedes mantener lo que compartes en privado y asegurarte de que tus cosas no permanezcan en línea para siempre.
|
||||
notifyUploadEncryptDone = Tu archivo está cifrado y listo para enviar
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
@@ -95,7 +94,7 @@ copyLinkDescription = Copiar el enlace para compartir el archivo:
|
||||
copyLinkButton = Copiar enlace
|
||||
downloadTitle = Bajando archivos
|
||||
downloadDescription = Este archivo fue compartido a través de { -send-brand } con cifrado de punto a punto y un enlace que expira automáticamente.
|
||||
trySendDescription = Prueba { -send-brand } para compartir archivos de forma sencilla y segura.
|
||||
trySendDescription = Prueba { -send-brand } para compartir archivos de forma simple y segura.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versión 1.0 del 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Selecciona los archivos a subir
|
||||
trustWarningMessage = Asegúrate de que confías en tu destinatario cuando compartas datos sensibles.
|
||||
uploadButton = Subir
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrastra y suelta archivos
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Compartir enlace
|
||||
shareMessage = Baja "{ $name }" con { -send-brand }: compartir archivos de forma simple y segura
|
||||
trailheadPromo = Hay una forma de proteger tu privacidad. Únete a Firefox.
|
||||
learnMore = Aprender más.
|
||||
downloadFlagged = Este enlace ha sido deshabilitado por violar los términos del servicio.
|
||||
downloadConfirmTitle = Una cosa más
|
||||
downloadConfirmDescription = Asegúrate de confiar en la persona que te envió este archivo porque no podemos verificar que no dañará tu dispositivo.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Confío en la persona que envió es archivo
|
||||
*[other] Confío en la persona que envió estos archivos
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Reportar este archivo como sospechoso
|
||||
*[other] Reportar estos archivos como sospechosos
|
||||
}
|
||||
reportDescription = Ayúdanos a entender lo que está pasando. ¿Qué crees que está mal con estos archivos?
|
||||
reportUnknownDescription = Por favor, ve a la url del enlace que quieres reportar y haz clic en "{ reportFile }".
|
||||
reportButton = Reportar
|
||||
reportReasonMalware = Estos archivos contienen malware o son parte de un ataque de phishing.
|
||||
reportReasonPii = Estos archivos contienen información personal identificable sobre mí.
|
||||
reportReasonAbuse = Estos archivos contienen contenido ilegal o abusivo.
|
||||
reportReasonCopyright = Para denunciar una infracción de derechos de autor o de marca registrada, sigue el proceso descrito en <a>esta página</a>.
|
||||
reportedTitle = Archivos reportados
|
||||
reportedDescription = Gracias. Hemos recibido tu reporte sobre estos archivos.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentario
|
||||
importingFile = Importando...
|
||||
encryptingFile = Encriptando...
|
||||
decryptingFile = Desencriptando...
|
||||
encryptingFile = Cifrando...
|
||||
decryptingFile = Descifrando...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 descarga
|
||||
@@ -21,11 +20,11 @@ downloadButtonLabel = Descargar
|
||||
downloadFinish = Descarga completa
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Prueba Firefox Send
|
||||
errorPageHeader = ¡Se produjo un error!
|
||||
errorPageHeader = ¡Se ha producido un error!
|
||||
fileTooBig = Ese archivo es muy grande. Debería ocupar menos de { $size }.
|
||||
linkExpiredAlt = Enlace caducado
|
||||
notSupportedHeader = Tu navegador no está admitido.
|
||||
notSupportedLink = ¿Por qué no se admite mi navegador?
|
||||
notSupportedHeader = Tu navegador no es compatible.
|
||||
notSupportedLink = ¿Por qué mi navegador no es compatible?
|
||||
notSupportedOutdatedDetail = Lamentablemente, esta versión de Firefox no admite la tecnología web que impulsa Firefox Send. Tendrás que actualizar tu navegador.
|
||||
updateFirefox = Actualizar Firefox
|
||||
deletePopupCancel = Cancelar
|
||||
@@ -33,7 +32,7 @@ deleteButtonHover = Eliminar
|
||||
footerLinkLegal = Legal
|
||||
footerLinkPrivacy = Privacidad
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Contraseña incorrecta. Inténtelo de nuevo.
|
||||
passwordTryAgain = Contraseña incorrecta. Inténtalo de nuevo.
|
||||
javascriptRequired = Firefox Send requiere JavaScript
|
||||
whyJavascript = ¿Por qué Firefox Send requiere JavaScript?
|
||||
enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versión 1.0 del 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Seleccionar archivos para subir
|
||||
trustWarningMessage = Asegúrate de que confías en tu destinatario cuando compartas datos sensibles.
|
||||
uploadButton = Subir
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrastrar y soltar archivos
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Compartir enlace
|
||||
shareMessage = Descargar “{ $name }” con { -send-brand }: comparte archivos de forma segura y sencilla
|
||||
trailheadPromo = Existe la forma de proteger tu privacidad. Únete a Firefox.
|
||||
learnMore = Saber más.
|
||||
downloadFlagged = Este enlace ha sido desactivado por violar los términos del servicio.
|
||||
downloadConfirmTitle = Una cosa más
|
||||
downloadConfirmDescription = Asegúrate de confiar en la persona que te envió este archivo porque no podemos verificar que no va a dañar tu dispositivo.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Confío en la persona que envió este archivo
|
||||
*[other] Confío en la persona que envió estos archivos
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Denunciar este archivo como sospechoso
|
||||
*[other] Denunciar estos archivos como sospechosos
|
||||
}
|
||||
reportDescription = Ayúdanos a entender lo que está pasando. ¿Qué crees que está mal con estos archivos?
|
||||
reportUnknownDescription = Por favor, ve a la url del enlace que quieres denunciar y haz clic en “{ reportFile }”.
|
||||
reportButton = Denunciar
|
||||
reportReasonMalware = Estos archivos contienen malware o son parte de un ataque de phishing.
|
||||
reportReasonPii = Estos archivos contienen información personal identificable sobre mí.
|
||||
reportReasonAbuse = Estos archivos tienen contenido ilegal o abusivo.
|
||||
reportReasonCopyright = Para denunciar una infracción de derechos de autor o marca registrada, sigue el proceso descrito en <a>esta página</a>.
|
||||
reportedTitle = Archivos denunciados
|
||||
reportedDescription = Gracias. Hemos recibido tu denuncia sobre estos archivos.
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentario
|
||||
importingFile = Importando...
|
||||
encryptingFile = Encriptando...
|
||||
decryptingFile = Desencriptando...
|
||||
encryptingFile = Encriptando…
|
||||
decryptingFile = Desencriptando…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 descarga
|
||||
|
||||
@@ -21,11 +21,11 @@ downloadButtonLabel = بارگیری
|
||||
downloadFinish = بارگیری کامل شد
|
||||
fileSizeProgress = ({ $partialSize } از { $totalSize })
|
||||
sendYourFilesLink = Firefox Send را امتحان کنید
|
||||
errorPageHeader = چیزی دچار اشکال شده است!
|
||||
errorPageHeader = خطایی رخ داد!
|
||||
fileTooBig = این پرونده بسیار حجیم است. حجم آن میبایستی کم تر { $size } باشد.
|
||||
linkExpiredAlt = پیوند منقضی شده است
|
||||
notSupportedHeader = مرورگر شما پشتیبانی نمیکند.
|
||||
notSupportedLink = چرا مرورگر من پشتیبانی نمیکند؟
|
||||
notSupportedHeader = مرورگر شما پشتیبانی نمیشود.
|
||||
notSupportedLink = چرا از مرورگر من پشتیبانی نمیشود؟
|
||||
notSupportedOutdatedDetail = متاسفانه این نسخه از فایرفاکس این تکنولوژی وب که به Firefox Send قدرت میبخشد را پشتیبانی نمیکند. شما نیاز دارید تا مرورگر خود را بروز کنید.
|
||||
updateFirefox = بروزرسانی فایرفاکس
|
||||
deletePopupCancel = انصراف
|
||||
@@ -54,13 +54,102 @@ passwordSetError = امکان ثبت این گذواژه نیست
|
||||
-firefox = فایرفاکس
|
||||
-mozilla = موزیلا
|
||||
introTitle = اشتراکگذاری ساده و خصوصیِ پروندهها
|
||||
introDescription = { -send-brand } به شما امکان اشتراکگذاری فایلها با رمزگذاری سرتاسری و لینکی که به طور خودکار منقضی می شود را میدهد. در نتیجه میتوانید اشتراک گذاریهای خود را خصوصی نگه دارید و اطمینان حاصل کنید که فایلهای شما تا همیشه آنلاین دردسترس نخواهند ماند.
|
||||
notifyUploadEncryptDone = پرونده شما رمزگذاری شده و آماده ارسال است
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = پس از { $downloadCount } یا { $timespan } منقضی میشود
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 دقیقه
|
||||
*[other] { $num } دقیقه
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 روز
|
||||
*[other] { $num } روز
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 هفته
|
||||
*[other] { $num } هفته
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 پرونده
|
||||
*[other] { $num } پرونده
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
bytes = بایت
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
kb = کیلوبایت
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
mb = مگابایت
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
gb = گیگابایت
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = حجم کل: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = برای به اشتراک گذاشتن فایل خود، لینک را کپی کنید:
|
||||
copyLinkButton = رونوشت از پیوند
|
||||
downloadTitle = دریافت پروندهها
|
||||
downloadDescription = این پرونده از طریق { -send-brand } با رمزگذاری سرتاسری و پیوندی که به طور خودکار منقضی می شود، به اشتراک گذاشته شد.
|
||||
trySendDescription = { -send-brand } را برای اشتراک گذاری ساده و ایمن پرونده امتحان کنید.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] تنها 1 پرونده میتواند در لحظه بارگزاری شود.
|
||||
*[other] تنها { $count } پرونده میتواند در لحظه بارگزاری شود.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] تنها 1 بایگانی مجاز است.
|
||||
*[other] تنها { $count } بایگانی مجاز است.
|
||||
}
|
||||
expiredTitle = این پیوند منقضی شده است.
|
||||
notSupportedDescription = { -send-brand } با این مرورگر کار نخواهد کرد. { -send-short-brand } بهترین عملکرد را با آخرین نسخه { -firefox } خواهد داشت، و با آخرین نسخه اکثر مرورگرهای کنونی کار میکند.
|
||||
downloadFirefox = دریافت { -firefox }
|
||||
legalTitle = { -send-short-brand } نکات حفظ حریم خصوصی
|
||||
legalDateStamp = نسخه ۱.۰، مورخ ۱۲، ۲۰۱۹
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } روز { $hours } ساعت { $minutes } دقیقه
|
||||
addFilesButton = پروندهها را برای بارگذاری انتخاب کنید
|
||||
uploadButton = بارگذاری
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = فایلها را بکشید و اینجا رها کنید
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = یا برای ارسال تا { $size } کلیک کنید
|
||||
addPassword = با گذرواژه محافظت کنید
|
||||
emailPlaceholder = ایمیل خود را وارد کنید
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = برای ارسال تا { $size } وارد شوید
|
||||
signInOnlyButton = ورود
|
||||
accountBenefitTitle = یک حساب { -firefox } ایجاد کنید یا وارد شوید
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = پروندههایی تا { $size } را اشتراکگذاری کنید
|
||||
accountBenefitDownloadCount = پروندهها را با افراد بیشتری به اشتراک بگذارید
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] پیوندها را تا 1 روز فعال نگه دارید
|
||||
*[other] پیوندها را تا { $count } روز فعال نگه دارید
|
||||
}
|
||||
accountBenefitSync = فایلهای اشتراکی را از هر دستگاه مدیریت کنید
|
||||
accountBenefitMoz = در مورد سایر خدمات { -mozilla } اطلاعات کسب کنید
|
||||
signOut = خروج
|
||||
okButton = تأیید
|
||||
downloadingTitle = در حال بارگیری
|
||||
noStreamsWarning = ممکن است این مرورگر نتواند یک پرونده به این بزرگی را رمزگشایی کند.
|
||||
noStreamsOptionCopy = لینک را کپی کنید تا در مرورگر دیگری باز شود
|
||||
noStreamsOptionFirefox = مرورگر مورد علاقه ما را امتحان کنید
|
||||
noStreamsOptionDownload = با این مرورگر ادامه دهید
|
||||
downloadFirefoxPromo = { -send-short-brand } با جدیدترین { -firefox } برای شما آماده شده است.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = پیوند مربوط به پرونده خود را به اشتراک بگذارید:
|
||||
shareLinkButton = اشتراکگذاری پیوند
|
||||
# $name is the name of the file
|
||||
shareMessage = “{ $name }” را با { -send-brand } دانلود کنید: اشتراکگذاری ساده و امن فایل
|
||||
trailheadPromo = راهی برای محافظت از حریم خصوصی شما وجود دارد. به Firefox بپیوندید.
|
||||
learnMore = بیشتر بدانید.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Palaute
|
||||
importingFile = Tuodaan…
|
||||
encryptingFile = Salataan...
|
||||
decryptingFile = Puretaan salausta...
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versio 1.0, päivätty 13. maaliskuuta 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } pv { $hours } t { $minutes } min
|
||||
addFilesButton = Valitse lähetettävät tiedostot
|
||||
trustWarningMessage = Varmista, että luotat vastaanottajaan jakaessasi arkaluontoisia tietoja.
|
||||
uploadButton = Lähetä
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Vedä ja pudota tiedostot
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Jaa linkki
|
||||
shareMessage = Lataa tiedosto ”{ $name }” { -send-brand } -palvelusta: yksinkertaista ja turvallista tiedostonjakoa
|
||||
trailheadPromo = On tapa suojata yksityisyyttään. Liity Firefoxiin.
|
||||
learnMore = Lue lisää.
|
||||
downloadFlagged = Tämä linkki on poistettu käytöstä palvelun käyttöehtojen rikkomisen vuoksi.
|
||||
downloadConfirmTitle = Vielä yksi asia
|
||||
downloadConfirmDescription = Varmista, että luotat sinulle tämän tiedoston lähettäneeseen henkilöön, koska emme voi vahvistaa, ettei kyseinen tiedosto vahingoita laitettasi.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Luotan henkilöön, joka lähetti tämän tiedoston
|
||||
*[other] Luotan henkilöön, joka lähetti nämä tiedostot
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Ilmoita tämä tiedosto epäilyttävänä
|
||||
*[other] Ilmoita nämä tiedostot epäilyttävinä
|
||||
}
|
||||
reportDescription = Auta meitä ymmärtämään mitä tapahtuu. Mikä on mielestäsi vialla näissä tiedostoissa?
|
||||
reportUnknownDescription = Siirry sen linkin osoitteeseen, josta haluat tehdä ilmoituksen, ja napsauta “{ reportFile }”.
|
||||
reportButton = Ilmoita
|
||||
reportReasonMalware = Nämä tiedostot sisältävät haittaohjelmia tai ovat osa tietojenkalasteluhyökkäystä.
|
||||
reportReasonPii = Nämä tiedostot sisältävät henkilökohtaisia tietoja minusta.
|
||||
reportReasonAbuse = Nämä tiedostot sisältävät laitonta tai loukkaavaa sisältöä.
|
||||
reportReasonCopyright = Ilmoita tekijänoikeuksien tai tavaramerkkien loukkauksista <a>tällä sivulla</a> kuvatun prosessin mukaisesti.
|
||||
reportedTitle = Tiedostot ilmoitettu
|
||||
reportedDescription = Kiitos. Olemme vastaanottaneet raporttisi näistä tiedostoista.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Votre avis
|
||||
importingFile = Importation…
|
||||
encryptingFile = Chiffrement…
|
||||
decryptingFile = Déchiffrement…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Version 1.0 du 12 mars 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } j { $hours } h { $minutes } min
|
||||
addFilesButton = Sélectionnez des fichiers à envoyer
|
||||
trustWarningMessage = Assurez-vous de faire confiance au destinataire lorsque vous partagez des données sensibles.
|
||||
uploadButton = Envoyer
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Glissez-déposez des fichiers
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Partager le lien
|
||||
shareMessage = Télécharger « { $name } » avec { -send-brand } : un moyen simple et sûr de partager des fichiers
|
||||
trailheadPromo = Il existe un moyen de protéger votre vie privée. Rejoignez Firefox.
|
||||
learnMore = En savoir plus.
|
||||
downloadFlagged = Ce lien a été désactivé en raison d’une violation des conditions d’utilisation.
|
||||
downloadConfirmTitle = Une dernière chose
|
||||
downloadConfirmDescription = Assurez-vous de faire confiance à la personne qui vous a envoyé ce fichier, car nous ne pouvons pas vérifier qu’il n’endommagera pas votre appareil.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Je fais confiance à la personne qui a envoyé ce fichier
|
||||
*[other] Je fais confiance à la personne qui a envoyé ces fichiers
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Signaler ce fichier comme suspect
|
||||
*[other] Signaler ces fichiers comme suspects
|
||||
}
|
||||
reportDescription = Aidez-nous à comprendre ce qui se passe. Selon vous, quel est le problème avec ces fichiers ?
|
||||
reportUnknownDescription = Accédez à l’adresse du lien que vous souhaitez signaler et cliquez sur « { reportFile } ».
|
||||
reportButton = Signaler
|
||||
reportReasonMalware = Ces fichiers contiennent des logiciels malveillants ou contribuent à une attaque de hameçonnage.
|
||||
reportReasonPii = Ces fichiers contiennent des informations personnelles qui me concernent.
|
||||
reportReasonAbuse = Ces fichiers contiennent du contenu illégal ou abusif.
|
||||
reportReasonCopyright = Pour signaler une violation de droit d’auteur ou de marque, suivez la procédure décrite sur <a>cette page</a>.
|
||||
reportedTitle = Fichiers signalés
|
||||
reportedDescription = Merci, nous avons reçu votre signalement relatif à ces fichiers.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Kommentaar
|
||||
importingFile = Ymportearje…
|
||||
encryptingFile = Fersiferje…
|
||||
decryptingFile = Untsiferje…
|
||||
@@ -12,7 +11,7 @@ downloadCount =
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 oer
|
||||
*[other] { $num } oeren
|
||||
*[other] { $num } oer
|
||||
}
|
||||
copiedUrl = Kopiearre!
|
||||
unlockInputPlaceholder = Wachtwurd
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Ferzje 1.0, datearre 12 maart 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }o { $minutes }m
|
||||
addFilesButton = Bestannen selektearje om op te laden
|
||||
trustWarningMessage = Soargje derfoar dat jo jo ûntfanger fertrouwe wannear't jo gefoelige gegevens diele.
|
||||
uploadButton = Oplade
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Sleep en pleats bestannen
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Keppeling diele
|
||||
shareMessage = Download ‘{ $name }’ mei { -send-brand }: ienfâldich, feilich bestannen diele
|
||||
trailheadPromo = Der is in manier om jo privacy te beskermjen. Doch mei mei Firefox.
|
||||
learnMore = Mear ynfo.
|
||||
downloadFlagged = Dizze keppeling is útskeakele fanwegen skeining fan de servicebetingsten.
|
||||
downloadConfirmTitle = Noch ien ding
|
||||
downloadConfirmDescription = Soargje derfoar dat jo de persoan fertrouwe dy't jo dit bestân stjoerd hat, omdat wy net ferifiearje kinne dat it jo apparaat net skansearje sil.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Ik fertrou de persoan dy't dit bestân stjoerd hat
|
||||
*[other] Ik fertrou de persoan dy't dizze bestannen stjoerd hat
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Dit bestân as fertocht rapportearje
|
||||
*[other] Dizze bestannen as fertocht rapportearje
|
||||
}
|
||||
reportDescription = Help ús te begripen wat der oan de hân is. Wat is der neffens jo mis mei dizze bestannen?
|
||||
reportUnknownDescription = Gean nei de URL fan de keppeling dy't jo melde wolle en klik op ‘{ reportFile }’.
|
||||
reportButton = Rapportearje
|
||||
reportReasonMalware = Dizze bestannen befetsje malware of binne part fan in phishingoanfal.
|
||||
reportReasonPii = Dizze bestannen befetsje persoanlik identifisearjende ynformaasje oer my.
|
||||
reportReasonAbuse = Dizze bestannen befetsje yllegale of beledigjende ynhâld.
|
||||
reportReasonCopyright = Brûk de proseduere op <a>dizze side</a> om ynbreuk op auteursrjochten of hannelsmerken te melden.
|
||||
reportedTitle = Bestannen rapportearre
|
||||
reportedDescription = Tank. Wy hawwe jo rapport oer dizze bestannen ûntfongen.
|
||||
|
||||
185
public/locales/gn/send.ftl
Normal file
185
public/locales/gn/send.ftl
Normal file
@@ -0,0 +1,185 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
importingFile = Ojegueruhína…
|
||||
encryptingFile = Mo’ãmby…
|
||||
decryptingFile = Ñemo’ã’o…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 mboguejy
|
||||
*[other] { $num } mboguejy
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 aravo
|
||||
*[other] { $num } aravo
|
||||
}
|
||||
copiedUrl = Monguatiapyre!
|
||||
unlockInputPlaceholder = Ñe’ẽñemi
|
||||
unlockButtonLabel = Mbojera
|
||||
downloadButtonLabel = Mboguejy
|
||||
downloadFinish = Oguejypáma
|
||||
fileSizeProgress = ({ $partialSize } rehe { $totalSize })
|
||||
sendYourFilesLink = Eipuru Firefox Send
|
||||
errorPageHeader = ¡Oiko jejavy!
|
||||
fileTooBig = Marandurenda tuichaiterei ehupi hag̃ua. Michĩveva’erã { $size } gui.
|
||||
linkExpiredAlt = Juajuha ndoikóiva
|
||||
notSupportedHeader = Ne kundaha ndorekói pytyvõ.
|
||||
notSupportedLink = ¿Mba’ére che kundahára ndorekói ñepytyvõ?
|
||||
notSupportedOutdatedDetail = Ko Firefox rembiapo ndaipu’akái ñanduti rembipurupyahu oikotevẽva Firefox Send. Embohekopyahúke ne kundahára.
|
||||
updateFirefox = Firefox mbohekopyahu
|
||||
deletePopupCancel = Heja
|
||||
deleteButtonHover = Mboguete
|
||||
footerLinkLegal = Añetegua
|
||||
footerLinkPrivacy = Ñemigua
|
||||
footerLinkCookies = Kookie
|
||||
passwordTryAgain = Ñe’ẽñemi ndoikóiva. Eha’ãjey.
|
||||
javascriptRequired = Firefox Send oikotevẽ JavaScript
|
||||
whyJavascript = ¿Mba’ére Firefox Send oikotevẽ JavaScript?
|
||||
enableJavascript = Ikatúpa embojuruja JavaScript ha eha’ãjey uperire.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours } h { $minutes } m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Ñe’ẽñemi pukukue: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Ndaikatúi oikóvo ko ñe’ẽñemi
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Marandurenda ñemoambue hasy’ỹ ha ñemiguáva
|
||||
introDescription = { -send-brand } omoherakuãkuaa marandurenda papapýpe ñepyrũ guive opa peve ha juajuha opareíva ijehegui. Ikatu oreko ñemihápe emoherakuãva ha ehecháta mba’éicha ne mba’ekuéra noĩri ñandutípe opa ára.
|
||||
notifyUploadEncryptDone = Ne marandurenda oñemo’ã ha ikatúma emondo
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Opáta { $downloadCount } rire térã { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 aravo’i
|
||||
*[other] { $num } aravo’i
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 ára
|
||||
*[other] { $num } ára
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 arapokõindy
|
||||
*[other] { $num } arapokõindy
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 marandurenda
|
||||
*[other] { $num } marandurenda
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Tuichakue: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Emonguatia juajuha ha emoherakuã ne marandurenda:
|
||||
copyLinkButton = Emonguatia juajuha
|
||||
downloadTitle = Emboguejy marandurenda
|
||||
downloadDescription = Ko marandurenda omoherakuã { -send-brand } rupive papapýpe ñepyrũ guive opa peve ha juajuha opáva ijehegui reheve.
|
||||
trySendDescription = Eipuru { -send-brand } emoherakuã hag̃ua marandurenda tasy’ỹ ha tekorosãme.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Ikatu ehupi 1 marandurenda oñondive
|
||||
*[other] Ikatu ehupi { $count } marandurenda oñondive
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Oñemoneĩ 1 marandurenda añoite
|
||||
*[other] Oñemoneĩ { $count } marandurenda añoite
|
||||
}
|
||||
expiredTitle = Ko juajuha ndoikovéima.
|
||||
notSupportedDescription = { -send-brand } ndoikomo’ãi ko kundahára ndive. { -send-short-brand } oikoporãvéta { -firefox } rembiapokue ipyahuvéva ndive, ha oikóta opavavete kundahára ndive.
|
||||
downloadFirefox = Emboguejy { -firefox }
|
||||
legalTitle = { -send-short-brand } Marandu ñemigua
|
||||
legalDateStamp = Mba’epyahu 1.0, 12 jasyapy 2019 peguare
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Eiporavo marandurenda ehupi hag̃ua
|
||||
trustWarningMessage = Ejerovia añetépa emondotaháre emoherakuãvo mba’ekuaarã kañyguáva.
|
||||
uploadButton = Hupi
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Embosyryry ha epoi marandurenda
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = térã eikutu emondo hag̃ua { $size } peve
|
||||
addPassword = Ñe’ẽñemíme mo’ãmbyre
|
||||
emailPlaceholder = Emoinge ne ñanduti veve
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Eñepyrũ tembiapo emondo hag̃ua { $size } peve
|
||||
signInOnlyButton = Eñepyrũ tembiapo
|
||||
accountBenefitTitle = Emoheñói { -firefox } mba’ete térã eñepyrũ tembiapo
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Emoherakuã marandurenda { $size } peve
|
||||
accountBenefitDownloadCount = Emoherakuã marandurenda hetave tapicha ndive
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Eguereko juajuha hendyhápe 1 ára
|
||||
*[other] Eguereko juajuha hendyhápe { $count } ára
|
||||
}
|
||||
accountBenefitSync = Eñangareko marandurenda moherakuãmbyrére oimeraẽ mba’e’oka guive.
|
||||
accountBenefitMoz = Eikuaa ambue { -mozilla } mba’epytyvõrã
|
||||
signOut = Emboty tembiapo
|
||||
okButton = OK
|
||||
downloadingTitle = Oñemboguejyhína
|
||||
noStreamsWarning = Ikatu ko kundahára ndoikuaái marandurenda tuichaitereíva.
|
||||
noStreamsOptionCopy = Embokuatia juajuha embojuruja hag̃ua ambue kundahárape.
|
||||
noStreamsOptionFirefox = Eipuru ore kundahára rohayhuvéva
|
||||
noStreamsOptionDownload = Eku’ejey ko kundahára ndive
|
||||
downloadFirefoxPromo = Ipyahúva { -firefox } ome’ẽse ndéve { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Emoherakuã juajuha ne mba’e’oka ndive:
|
||||
shareLinkButton = Emoherakuã juajuha
|
||||
# $name is the name of the file
|
||||
shareMessage = Emboguejy “{ $name }” { -send-brand } ndive: emoherakuã marandurenda tasy’ỹ ha tekorosãme
|
||||
trailheadPromo = Mba’éichapa emo’ãta ne ñemigua. Eipuru Firefox.
|
||||
learnMore = Kuaave.
|
||||
downloadFlagged = Ko juajuha ojepe’áma ombyai rupi mba’epytyvõrã ñemboguata.
|
||||
downloadConfirmTitle = Peteĩ mba’eve
|
||||
downloadConfirmDescription = Ejerovia añetépa pe tapicha oguerukáva ndéve ko marandurenda ndaikatúire rohechajey ne mba’e’oka.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Ajerovia tapicháre orukáva ko marandurenda
|
||||
*[other] Ajerovia umi tapicha orukáva ko’ã marandurenda
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Ehechauka ko marandurenda imarãkuaávarõ
|
||||
*[other] Ehechauka ko’ã marandurenda imarãkuaávarõ
|
||||
}
|
||||
reportDescription = Orepytyvõ roikumbývo mba’épa oiko. ¿Mba’épa ere oĩvaiha ko’ã marandurenda ndive?
|
||||
reportUnknownDescription = Eikundaha pe url juajuha ekoroiseha ndive ha eikutu “{ reportFile }”.
|
||||
reportButton = Ekorói
|
||||
reportReasonMalware = Ko’ã marandurenda oreko tembiaporape imarãva térã oñembyaikuaáva.
|
||||
reportReasonPii = Ko’ã marandurenda oreko marandu nemba’etéva che kuaaukakuaáva.
|
||||
reportReasonAbuse = Ko’ã marandurenda oreko tetepy ivai térã imbaretéva.
|
||||
reportReasonCopyright = Ekoróitarõ derécho ñembyaíre térã marca registrada, ehecha jehaipyre <a>ko kuatiaroguépe</a>.
|
||||
reportedTitle = Marandurenda jekoroihague
|
||||
reportedDescription = Aguyje. Og̃uahẽ nde jekorói ko’ã marandurenda rehegua.
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = משוב
|
||||
importingFile = מתבצע ייבוא…
|
||||
encryptingFile = מתבצעת הצפנה...
|
||||
decryptingFile = מתבצע פענוח...
|
||||
@@ -119,6 +118,7 @@ legalDateStamp = גרסה 1.0, בתאריך 12 במרץ 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } ימים { $hours } שעות { $minutes } דקות
|
||||
addFilesButton = בחירת קבצים להעלאה
|
||||
trustWarningMessage = עליך לוודא שבעת שיתוף מידע רגיש הנמענים שלך הם מהימנים.
|
||||
uploadButton = העלאה
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = גרירה והשלכת קבצים
|
||||
@@ -156,3 +156,31 @@ shareLinkButton = שיתוף קישור
|
||||
shareMessage = הורדת ״{ $name }״ עם { -send-brand }: שיתוף קבצים פשוט ובטוח
|
||||
trailheadPromo = ישנן דרכים נוספות להגן על הפרטיות שלכם. הצטרפו אל Firefox.
|
||||
learnMore = מידע נוסף.
|
||||
downloadFlagged = קישור זה הושבת מכיוון שהפר את תנאי השירות.
|
||||
downloadConfirmTitle = דבר אחד אחרון
|
||||
downloadConfirmDescription = נא לוודא שמי ששלח לך את הקובץ הזה מהימן כיוון שאין לנו אפשרות לוודא שהוא לא יפגע במכשיר שלך.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] שולח הקובץ הזה מהימן
|
||||
*[other] שולח הקבצים האלו מהימן
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] דיווח על קובץ זה כחשוד
|
||||
*[other] דיווח על קבצים אלו כחשודים
|
||||
}
|
||||
reportUnknownDescription = נא לגשת אל כתובת הקישור עליו ברצונך לדווח וללחוץ על ״{ reportFile }״.
|
||||
reportButton = דיווח
|
||||
reportReasonMalware = קבצים אלה מכילים תוכנה זדונית או שהינם חלק מהתקפת דיוג.
|
||||
reportReasonAbuse = קבצים אלה מכילים תוכן בלתי חוקי או פוגע.
|
||||
reportReasonCopyright = כדי לדווח על הפרה של זכויות יוצרים או סימני מסחר, יש להשתמש בתהליך המתואר ב<a>דף זה</a>.
|
||||
reportedTitle = קבצים שדווחו
|
||||
reportedDescription = תודה. קיבלנו את הדיווח שלך על קבצים אלה.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Povratne informacije
|
||||
importingFile = Uvoz…
|
||||
encryptingFile = Kriptiranje…
|
||||
decryptingFile = Dekriptiranje…
|
||||
encryptingFile = Šifriranje …
|
||||
decryptingFile = Dešifriranje …
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] { $num } preuzimanje
|
||||
@@ -22,29 +21,29 @@ unlockButtonLabel = Otključaj
|
||||
downloadButtonLabel = Preuzmi
|
||||
downloadFinish = Preuzimanje je završeno.
|
||||
fileSizeProgress = ({ $partialSize } od { $totalSize })
|
||||
sendYourFilesLink = Isprobajte Firefox Send
|
||||
errorPageHeader = Nešto je pošlo naopako!
|
||||
fileTooBig = Datoteka je prevelika za prijenos. Treba biti manja od { $size }.
|
||||
sendYourFilesLink = Isprobaj Firefox Send
|
||||
errorPageHeader = Dogodila se neka greška!
|
||||
fileTooBig = Datoteka je prevelika za prijenos. Mora biti manja od { $size }.
|
||||
linkExpiredAlt = Poveznica je istekla
|
||||
notSupportedHeader = Vaš preglednik nije podržan.
|
||||
notSupportedHeader = Tvoj preglednik nije podržan.
|
||||
notSupportedLink = Zašto moj preglednik nije podržan?
|
||||
notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morat ćete ažurirati vaš preglednik.
|
||||
notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morat ćeš ažurirati preglednik.
|
||||
updateFirefox = Ažuriraj Firefox
|
||||
deletePopupCancel = Otkaži
|
||||
deletePopupCancel = Odustani
|
||||
deleteButtonHover = Obriši
|
||||
footerLinkLegal = Pravni podaci
|
||||
footerLinkPrivacy = Privatnost
|
||||
footerLinkCookies = Kolačići
|
||||
passwordTryAgain = Netočna lozinka. Pokušaj ponovo.
|
||||
javascriptRequired = Za Firefox Send je potreban JavaScript
|
||||
javascriptRequired = Za Firefox Send potreban je JavaScript
|
||||
whyJavascript = Zašto je za Firefox Send potreban JavaScript?
|
||||
enableJavascript = Omogućite JavaScript i pokušajte ponovo.
|
||||
enableJavascript = Aktiviraj JavaScript i pokušaj ponovo.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }s { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
expiresMinutes = { $minutes }min
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Najveća dužina lozinke: { $length }
|
||||
maxPasswordLength = Maksimalna duljina lozinke: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Lozinku nije moguće postaviti
|
||||
|
||||
@@ -56,10 +55,10 @@ passwordSetError = Lozinku nije moguće postaviti
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Jednostavno i privatno dijeljenje datoteka
|
||||
introDescription = { -send-brand } vam omogućava dijeljenje datoteka s kriptiranjem i poveznicu koja automatski ističe. Ovim putem stvari koje dijelite ostaju privatne i osiguravate se da ne ostaju zauvijek dostupne na Internetu.
|
||||
notifyUploadEncryptDone = Vaša datoteka je kriptirana i spremna za slanje.
|
||||
introDescription = { -send-brand } omogućava dijeljenje datoteka sa šifriranjem i poveznicom koja će automatski isteći. Ovim putem, stvari koje dijeliš ostaju privatne i osiguravaš se da ne ostaju zauvijek dostupne na internetu.
|
||||
notifyUploadEncryptDone = Tvoja je datoteka šifrirana i spremna za slanje.
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Istječe nakon { $downloadCount } ili { $timespan }
|
||||
archiveExpiryInfo = Isteći će nakon { $downloadCount } ili { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] { $num } minuta
|
||||
@@ -97,11 +96,11 @@ fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ukupna veličina: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Kopirajte poveznicu da biste podijelili svoju datoteku:
|
||||
copyLinkDescription = Kopiraj poveznicu za dijeljenje svoje datoteke:
|
||||
copyLinkButton = Kopiraj poveznicu
|
||||
downloadTitle = Preuzmite datoteke
|
||||
downloadDescription = Ova datoteka je podjeljena putem { -send-brand } s kriptiranjem i poveznicom koja automatski istječe.
|
||||
trySendDescription = Probajte { -send-brand } za jednostavno i sigurno dijeljenje datoteka.
|
||||
downloadTitle = Preuzmi datoteke
|
||||
downloadDescription = Ova se datoteka dijelila putem usluge { -send-brand } sa šifriranjem i poveznicom koja će automatski isteći.
|
||||
trySendDescription = Probaj { -send-brand } za jednostavno i sigurno dijeljenje datoteka.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
@@ -117,48 +116,81 @@ tooManyArchives =
|
||||
*[other] Dozvoljeno je samo { $count } arhiva.
|
||||
}
|
||||
expiredTitle = Poveznica je istekla.
|
||||
notSupportedDescription = { -send-brand } neće raditi s ovim preglednikom. { -send-short-brand } radi najbolje s zadnjom { -firefox } inačicom i radit će s trenutnom inačicom većine preglednika.
|
||||
downloadFirefox = Preuzmite { -firefox }
|
||||
notSupportedDescription = { -send-brand } neće raditi s ovim preglednikom. { -send-short-brand } najbolje radi sa zadnjom { -firefox } verzijom i radit će s aktualnim verzijama većine preglednika.
|
||||
downloadFirefox = Preuzmi { -firefox }
|
||||
legalTitle = { -send-short-brand } politika privatnosti
|
||||
legalDateStamp = Inačica 1.0, od 12. ožujka 2019. godine
|
||||
legalDateStamp = Verzija 1.0, od 12. ožujka 2019. godine
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }s { $minutes }m
|
||||
addFilesButton = Odaberite datoteke za prijenos
|
||||
addFilesButton = Odaberi datoteke za prijenos
|
||||
trustWarningMessage = Budite sigurni da vjerujete primatelju prije dijeljenja osjetljivih podataka.
|
||||
uploadButton = Prijenos
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Povucite i ispustite datoteke
|
||||
dragAndDropFiles = Povuci i ispusti datoteke
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = ili kliknite za slanje do { $size }
|
||||
addPassword = Zaštitite lozinkom
|
||||
emailPlaceholder = Unesite svoju adresu e-pošte
|
||||
orClickWithSize = ili pritisni gumb, za slanje do { $size }
|
||||
addPassword = Zaštiti s lozinkom
|
||||
emailPlaceholder = Upiši svoju e-adresu
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Prijavite se za slanje do { $size }
|
||||
signInSizeBump = Prijavi se, za slanje do { $size }
|
||||
signInOnlyButton = Prijavi se
|
||||
accountBenefitTitle = Stvorite { -firefox } račun ili se prijavite
|
||||
accountBenefitTitle = Otvori { -firefox } račun ili se prijavi
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Dijelite datoteke do { $size }
|
||||
accountBenefitDownloadCount = Dijelite datoteke s više osoba
|
||||
accountBenefitLargeFiles = Dijeli datoteke do { $size }
|
||||
accountBenefitDownloadCount = Dijeli datoteke s više osoba
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Neka poveznice budu aktivne { $count } dan
|
||||
[few] Neka poveznice budu aktivne { $count } dana
|
||||
*[other] Neka poveznice budu aktivne { $count } dana
|
||||
[one] Ostavi poveznice aktivnima { $count } dan
|
||||
[few] Ostavi poveznice aktivnima { $count } dana
|
||||
*[other] Ostavi poveznice aktivnima { $count } dana
|
||||
}
|
||||
accountBenefitSync = Upravljanje dijeljenim datotekama s bilo kojeg uređaja
|
||||
accountBenefitMoz = Saznajte više o drugim { -mozilla } uslugama
|
||||
accountBenefitSync = Upravljaj dijeljenim datotekama s bilo kojeg uređaja
|
||||
accountBenefitMoz = Saznaj više o drugim { -mozilla } uslugama
|
||||
signOut = Odjavi se
|
||||
okButton = U redu
|
||||
downloadingTitle = Preuzimanje
|
||||
noStreamsWarning = Ovaj preglednik možda neće moći dekriptirati datoteku ove veličine.
|
||||
noStreamsOptionCopy = Kopirajte poveznicu kako biste je otvorili u drugom pregledniku
|
||||
noStreamsOptionFirefox = Isprobajte naš omiljeni preglednik
|
||||
noStreamsOptionDownload = Nastavite s ovim preglednikom
|
||||
downloadFirefoxPromo = Potpuno novi { -firefox } vam donosi { -send-short-brand }.
|
||||
noStreamsWarning = Ovaj preglednik možda neće moći dešifrirati datoteku ove veličine.
|
||||
noStreamsOptionCopy = Za otvaranje u drugom pregledniku, kopiraj poveznicu
|
||||
noStreamsOptionFirefox = Isprobaj naš omiljeni preglednik
|
||||
noStreamsOptionDownload = Nastavi s ovim preglednikom
|
||||
downloadFirefoxPromo = Potpuno novi { -firefox } donosi { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Dijelite poveznicu na svoju datoteku:
|
||||
shareLinkDescription = Dijeli poveznicu na tvoju datoteku:
|
||||
shareLinkButton = Dijeli poveznicu
|
||||
# $name is the name of the file
|
||||
shareMessage = Preuzmite “{ $name }” sa { -send-brand }: jednostavno i sigurno dijeljenje datoteka
|
||||
trailheadPromo = Postoji način da zaštitite svoju privatnost. Pridružite se Firefoxu.
|
||||
learnMore = Saznajte više.
|
||||
shareMessage = Preuzmi „{ $name }” pomoću { -send-brand }: jednostavno i sigurno dijeljenje datoteka
|
||||
trailheadPromo = Postoji način, kako zaštititi vlastitu privatnost. Pridruži se Firefoxu.
|
||||
learnMore = Saznaj više.
|
||||
downloadFlagged = Poveznica je onemogućena zbog kršenja uvjeta pružanja usluge.
|
||||
downloadConfirmTitle = Još jedna stvar
|
||||
downloadConfirmDescription = Budite sigurni da vjerujete osobi koja vam je poslala ovu datoteku, zato što mi ne možemo provjeriti da li će ova datoteka naštetiti vašem uređaju.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Vjerujem osobi koja je poslala ove datoteke
|
||||
[few] Vjerujem osobi koja je poslala ove datoteke
|
||||
*[other] Vjerujem osobi koja je poslala ove datoteke
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Prijavi ove datoteke kao sumnjive
|
||||
[few] Prijavi ove datoteke kao sumnjive
|
||||
*[other] Prijavi ove datoteke kao sumnjive
|
||||
}
|
||||
reportDescription = Pomozite nam da shvatimo što se dešava. Zašto mislite da nešto nije u redu s ovim datotekama?
|
||||
reportUnknownDescription = Idite na poveznicu koju želite prijaviti i kliknite “{ reportFile }”.
|
||||
reportButton = Prijavi datoteku
|
||||
reportReasonMalware = Ove datoteke sadrže zlonamjerni softver ili su dio napada za krađu identiteta.
|
||||
reportReasonPii = Ove datoteke sadrže moje osobne podatke.
|
||||
reportReasonAbuse = Ove datoteke sadrže ilegalni ili nasilni sadržaj.
|
||||
reportReasonCopyright = Kako biste prijavili kršenje autorskih prava, koristite proces opisan na <a>ovoj stranici</a>.
|
||||
reportedTitle = Datoteke prijavljene
|
||||
reportedDescription = Hvala vam. Primili smo vašu prijavu za ove datoteke.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Komentar
|
||||
importingFile = Importuje so...
|
||||
encryptingFile = Zaklučuje so...
|
||||
decryptingFile = Dešifruje so...
|
||||
@@ -132,6 +131,7 @@ legalDateStamp = Wersija 1.0 wot 12. měrca 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Dataje za nahrawanje wubrać
|
||||
trustWarningMessage = Wy měł přijimarjej dowěrić, hdyž sensibelne daty dźěliće.
|
||||
uploadButton = Nahrać
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Ćehńće a wotkładźće dataje
|
||||
@@ -171,3 +171,37 @@ shareLinkButton = Wotkaz dźělić
|
||||
shareMessage = Sćehńće „{ $name }“ z { -send-brand }: jednore, wěste dźělenje datajow
|
||||
trailheadPromo = Je móžnosć, wašu priwatnosć škitać. Přińdźće k Firefox.
|
||||
learnMore = Dalše informacije.
|
||||
downloadFlagged = Tutón wotkaz je so přestupjenja wužiwanskich wuměnjenjow dla znjemóžnił.
|
||||
downloadConfirmTitle = Jedna wěc hišće
|
||||
downloadConfirmDescription = Wy měł wotpósłarjej tuteje dataje dowěrić, dokelž njemóžemy přepruwować, hač to wašemu gratej wadźi.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Dowěrju wosobje, kotraž je tutu dataju pósłała
|
||||
[two] Dowěrju wosobje, kotraž je tutej dataji pósłała
|
||||
[few] Dowěrju wosobje, kotraž je tute dataje pósłała
|
||||
*[other] Dowěrju wosobje, kotraž je tute dataje pósłała
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Tutu dataju jako podhladnu zdźělić
|
||||
[two] Tutej dataji jako podhladnej zdźělić
|
||||
[few] Tute dataje jako podhladne zdźělić
|
||||
*[other] Tute dataje jako podhladne zdźělić
|
||||
}
|
||||
reportDescription = Pomhajće nam rozumić, što so stawa. Što po wašim zdaću z tutymi datajemi w porjadku njeje?
|
||||
reportUnknownDescription = Dźiće prošu k URL wotkaza, kotryž chceće zdźělić a klikńće na „{ reportFile }“.
|
||||
reportButton = Zdźělić
|
||||
reportReasonMalware = Tute dataje škódnu softwaru wobsahuja abo su dźěl nadpada kradnjenja datow.
|
||||
reportReasonPii = Tute dataje wosobinske informacije wo mni, kotrež móža mje identifikować.
|
||||
reportReasonAbuse = Tute dataje njedowoleny abo ranjacy wobsah wobsahuja.
|
||||
reportReasonCopyright = Zo byšće zranjenje awtorskeho prawa abo prawa wikowanskich znamjenjow zdźělił, wužiwajće postupowanje, kotrež so na <a>tutej stronje</a> wopisuje.
|
||||
reportedTitle = Dataje su zdźělene
|
||||
reportedDescription = Wulki dźak. Smy wašu rozprawu wo tutych datajach dóstali.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Visszajelzés
|
||||
importingFile = Importálás…
|
||||
encryptingFile = Titkosítás…
|
||||
decryptingFile = Visszafejtés…
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = 1.0-s verzió, kelt 2019. március 12-én
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }n { $hours }ó { $minutes }p
|
||||
addFilesButton = Válassza ki a feltöltendő fájlokat
|
||||
trustWarningMessage = Érzékeny adatok megosztásakor győződjön meg róla, hogy megbízik-e a címzettben.
|
||||
uploadButton = Feltöltés
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Húzza ide a fájlokat
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Hivatkozás megosztása
|
||||
shareMessage = „{ $name }” letöltése a { -send-brand } segítségével: egyszerű, biztonságos fájlmegosztás
|
||||
trailheadPromo = Védje meg a magánszféráját. Csatlakozzon a Firefoxhoz.
|
||||
learnMore = További tudnivalók.
|
||||
downloadFlagged = Ezt a hivatkozást a szolgáltatási feltételek megsértése miatt letiltottuk.
|
||||
downloadConfirmTitle = Még egy dolog
|
||||
downloadConfirmDescription = Győződjön meg arról, hogy megbízik-e abban, aki küldte a fájlt, mert nem tudjuk ellenőrizni, hogy nem okoz-e kárt az eszközén.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Megbízom abban a személyben, aki elküldte ezt a fájlt
|
||||
*[other] Megbízom abban a személyben, aki elküldte ezeket a fájlokat
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Fájl jelentése gyanúsként
|
||||
*[other] Fájlok jelentése gyanúsként
|
||||
}
|
||||
reportDescription = Segítsen megérteni, hogy mi a helyzet. Ön szerint mi a baj ezekkel a fájlokkal?
|
||||
reportUnknownDescription = Ugorjon a jelentendő hivatkozás URL-jéhez, és kattintson a „{ reportFile }” gombra.
|
||||
reportButton = Jelentés
|
||||
reportReasonMalware = Ezek a fájlok rosszindulatú programokat tartalmaznak, vagy adathalász támadás részét képezik.
|
||||
reportReasonPii = Ezek a fájlok személyesen azonosítható információkat tartalmaznak rólam.
|
||||
reportReasonAbuse = Ezek a fájlok illegális vagy visszaélésszerű tartalmúak.
|
||||
reportReasonCopyright = A szerzői jogok vagy védjegyek megsértésének jelentéséhez használja az <a>ezen az oldalon</a> írt folyamatot.
|
||||
reportedTitle = Fájlok jelentve
|
||||
reportedDescription = Köszönjük. Megkaptuk a jelentését ezekről a fájlokról.
|
||||
|
||||
152
public/locales/hus/send.ftl
Normal file
152
public/locales/hus/send.ftl
Normal file
@@ -0,0 +1,152 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Ka olna' max jant'oj yab u t'ojnal alwa'
|
||||
importingFile = k'wajat i chiyál...
|
||||
encryptingFile = K'wajat i tsinat dheyál...
|
||||
decryptingFile = K'wajat i exal ki wila'...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
*[other] 1 pa'badh { $num } pa'badh
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
*[other] 1 hora { $num } hora
|
||||
}
|
||||
copiedUrl = Letsbadh...
|
||||
unlockInputPlaceholder = Tsinat japixtal
|
||||
unlockButtonLabel = Ka japiy
|
||||
downloadButtonLabel = Ka pa'ba'
|
||||
downloadFinish = Tala' pa'iyits
|
||||
fileSizeProgress = { $partialSize } xi ti { $totalSize }
|
||||
sendYourFilesLink = Ka eyendha' Firefox Send
|
||||
errorPageHeader = ¡Yab kalej alwa'!
|
||||
fileTooBig = Tekedh pulik axi a le' ka kadh'ba', kwa'al kin alemna' { $size }
|
||||
linkExpiredAlt = Yabats u awil ki ela'
|
||||
notSupportedHeader = Yab u awil ka japiyat k'al axi NAVEGADOR
|
||||
notSupportedLink = ¿Jale' ti u NAVEGADOR yab in japiyal?
|
||||
notSupportedOutdatedDetail = Yab u awil ka eyendha' Firefox Send kom an NAVEGADOR Firefox biyalits. Ka Pa'ba' axi it.
|
||||
updateFirefox = Ka itmedha' Firefox
|
||||
deletePopupCancel = Ka kuba'
|
||||
deleteButtonHover = Ka pakuw
|
||||
footerLinkLegal = Axi walkadh ka t'ajan
|
||||
footerLinkPrivacy = Tsinataláb
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Yab ja' an tsinat japixtaláb. Ka exa' junil.
|
||||
javascriptRequired = Firefox Send in yejenchal JavaScript
|
||||
whyJavascript = ¿Jale' Firefox Send in yejenchal JavaScript?
|
||||
enableJavascript = Ka lek'wtsiy JavaScript ani ka exa' junil.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = In puwél an tsinat japixtaláb pel: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Axi tsinat japixtaláb yab u awil ka eyendha'
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Yab k'ibat, a tsinat t'ojlabil u awil ka buk'uw
|
||||
introDescription = { -send-brand } in t'ajál abal ka buk'uw a t'ojlabil po axé' tsinat abal an atikláb axi tat yab a le' kin tsu'uw yab kin ejtow, aniyej an enlace abal ka pa'ba' an t'ojláb u talél kwetém. Antsan patal axi ka abna' u awil ka buk'uw tsinat ani antsan jayej axi ka buk'uw yab u jilk'onal ets'ey ti ébtsolom (internet).
|
||||
notifyUploadEncryptDone = A t'ojlabil xo' tsinadhits ani u awilits ka abna'
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ne'ets ka taliy ti { $downloadCount } o ti { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
*[other] 1 minuto { $num }
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
*[other] 1 k'icháj { $num } k'ichajchik
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
*[other] 1 semana { $num } i semanachik
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
*[other] 1 t'ojláb { $num } t'ojlabchik
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = In puwél an t'ojláb: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Ka k'ot'biy an enlace abal ka ejtow ka buk'uw a t'ojlabil:
|
||||
copyLinkButton = ka k'ot'biy an enlace
|
||||
downloadTitle = Ka pa'ba' an t'ojláb
|
||||
downloadDescription = Axi t'ojláb aban k'al in tolmixtal an { -send-brand } ani tsinat, aniyej in tsap an enlace u talél kwetém.
|
||||
trySendDescription = Ka eyendha' { -send-brand } abal ka abna' a t'ojlabil, yab k'ibat ani k'anidh.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
*[other]
|
||||
Expidh u awil ka k'adhba' 1 i t'ojláb
|
||||
Expidh u awil ka k'adhba' { $count } i t'ojláb.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
*[other]
|
||||
Expidh u awil 1 i t'ojláb.
|
||||
Expidh u awil { $count } i t'ojláb.
|
||||
}
|
||||
expiredTitle = An enlace talíts in tsap.
|
||||
notSupportedDescription = { -send-brand } yab u t'ojnal al axi navegador. { -send-short-brand } u t'ojnal alwa' k'al an { -firefox } axi it, ani ne'ets ka t'ojon alwa' k'al an it navegadorchik.
|
||||
downloadFirefox = Ka pa'ba' { -firefox }
|
||||
legalTitle = Tin kwentaj an "Tsinaxtaláb a k'al" { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0 ani t'ajadh ti Marzo 12 ti tamub 2019.
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } k'icháj { $hours } hora { $minutes } minuto
|
||||
addFilesButton = Ka takuy an t'ojláb axi ne'ets ka k'adhba'
|
||||
uploadButton = Ka k'adhba'
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Ka kina' a t'ojlabil ani ka walka' te'
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = o ka t'aja' an clic abal ka abna' ma { $size }
|
||||
addPassword = Ka k'aniy k'al jún i tsinat japixtaláb
|
||||
emailPlaceholder = Ka punuw a abnax dhuchlab Correo Electrónico.
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Kit otsits abal ka ejtow ka abna' ma { $size }
|
||||
signInOnlyButton = Kit otsits
|
||||
accountBenefitTitle = Ka ts'ejka' jún a it k'al (cuenta) { -firefox } o kit otsits max a kwa'alits jún.
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Ka buk'uw a t'ojlabil, ma { $size }
|
||||
accountBenefitDownloadCount = Ka buk'uw a t'ojlabil k'al pil i atiklabchik
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
*[other]
|
||||
Ka ko'oy an enlace ma 1 a k'icháj
|
||||
Ka ko'oy an enlacechik ma { $count } a k'icháhchik
|
||||
}
|
||||
accountBenefitSync = Ka ejtow tit t'ojnal k'al t'ojlabil al jawakitsk'ij tum eyendhabnél
|
||||
accountBenefitMoz = Ka exla' jant'oj ti pidhál { -mozilla }
|
||||
signOut = Kit kalej
|
||||
okButton = Ka bats'uw
|
||||
downloadingTitle = K'wajat ti pa'íl
|
||||
noStreamsWarning = Walám axi navegador yab ne'ets kin ejtow kin japiy jún i t'ojláb tekedh pulik.
|
||||
noStreamsOptionCopy = Ka k'ot'biy an enlace abal ka japiy al pil i navegador
|
||||
noStreamsOptionFirefox = Ka eyendha' i navegador
|
||||
noStreamsOptionDownload = yab kit kalej al axi navegador
|
||||
downloadFirefoxPromo = An it { -firefox } ti pidhál { -send-short-brand }
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Ka abna' an enlace al an eyendhanél:
|
||||
shareLinkButton = Ka abna' an enlace
|
||||
# $name is the name of the file
|
||||
shareMessage = Ka pa'ba' “{ $name }” k'al { -send-brand }: ka abna' a t'ojlabil, yab k'ibat ani k'anidh
|
||||
trailheadPromo = U awil ka k'aniy axi tat a k'al. Kit tamkun k'al Firefox.
|
||||
learnMore = Ka ajiy más.
|
||||
155
public/locales/hy-AM/send.ftl
Normal file
155
public/locales/hy-AM/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Արձագանք
|
||||
importingFile = Ներմուծում...
|
||||
encryptingFile = Գաղտնագրում…
|
||||
decryptingFile = Վերծանում…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 ներբեռնում
|
||||
*[other] { $num } ներբեռնումներ
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 ժամ
|
||||
*[other] { $num } ժամ
|
||||
}
|
||||
copiedUrl = Պատճենված
|
||||
unlockInputPlaceholder = Գաղտնաբառ
|
||||
unlockButtonLabel = Ապակողպել
|
||||
downloadButtonLabel = Ներբեռնել
|
||||
downloadFinish = Ներբեռնումն ավարտված է
|
||||
fileSizeProgress = ({ $partialSize }-ը { $totalSize })-ից
|
||||
sendYourFilesLink = Փորձել Firefox Send-ը
|
||||
errorPageHeader = Ինչ-որ բան այն չէ
|
||||
fileTooBig = Այդ ֆայլը չափազանց մեծ է վերբեռնելու համար: Այն պետք է լինի ավելի քիչ, քան { $size }-ը
|
||||
linkExpiredAlt = Հղումն ավարտված է
|
||||
notSupportedHeader = Ձեր զննարկիչը չի աջակցվում:
|
||||
notSupportedLink = Ինչու իմ զննարկիչը չի աջակցվում:
|
||||
notSupportedOutdatedDetail = Դժբախտաբար, Firefox- ի այս տարբերակը չի աջակցում այն վեբ տեխնոլոգիան, որը պետք է Firefox Send-ի համար: Դուք պետք է թարմացնեք ձեր զննարկիչը:
|
||||
updateFirefox = Թարմացնել Firefox-ը
|
||||
deletePopupCancel = Չեղարկել
|
||||
deleteButtonHover = Ջնջել
|
||||
footerLinkLegal = Իրավական
|
||||
footerLinkPrivacy = Գաղտնիություն
|
||||
footerLinkCookies = Cookie-ներ
|
||||
passwordTryAgain = Սխալ գաղտնաբառ. Կրկին փորձեք:
|
||||
javascriptRequired = Firefox Send-ը պահանջում է JavaScript
|
||||
whyJavascript = Ինչո՞ւ է Firefox Send-ը պահանջում JavaScript.
|
||||
enableJavascript = Խնդրում ենք միացնել JavaScript-ը և կրկին փորձել:
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }ժ { $minutes }ր
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }ր
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Գանղտնաբառի առավելագույն չափ. { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Այս գաղտնաբառը հնարավոր չէ սահմանել
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Ուղարկել
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Պարզ, մասնավոր ֆայլերի փոխանակում
|
||||
introDescription = { -send-brand }-ը թույլ է տալիս փոխանակել ֆայլեր ծայրից ծայր գաղտնագրման միջոցով և այնպիսի հղում, որն ինքնաբերաբար ավարտվում է: Այսպիսով, դուք կարող եք վերահսկել այն, ինչով կիսվում եք և համոզված լինեք, որ ձեր նյութերը հավերժ չեն մնա առցանց:
|
||||
notifyUploadEncryptDone = Ձեր ֆայլը գաղտնագրված է և պատրաստ է ուղարկել
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ավարտվելու է { $downloadCount }-ից կամ { $timespan }-ից
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 րոպե
|
||||
*[other] { $num } րոպե
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 օր
|
||||
*[other] { $num } օր
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 շաբաթ
|
||||
*[other] { $num } շաբաթ
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 ֆայլ
|
||||
*[other] { $num } ֆայլեր
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = Բ
|
||||
# kibibyte abbreviation
|
||||
kb = ԿԲ
|
||||
# mebibyte abbreviation
|
||||
mb = ՄԲ
|
||||
# gibibyte abbreviation
|
||||
gb = ԳԲ
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ընդհանուր չափ՝ { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Պատճենեք հղումը՝ ֆայլը համօգտագործելու համար.
|
||||
copyLinkButton = Պատճենել հղումը
|
||||
downloadTitle = Ներբեռնել ֆայլերը
|
||||
downloadDescription = Հայլը համօգտագործվել է { -send-brand }-ի միջոցով ՝ ծայրից ծայր գաղտնագրմամբ և ինքնաբերաբար ավարտվող հղմամբ:
|
||||
trySendDescription = Փորձեք { -send-brand }-ը՝ ֆայլերի պարզ և անվտանգ փոխանակման համար:
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Միաժամանակ միայն 1 ֆայլ կարող է վերբեռնվել:
|
||||
*[other] Միաժամանակ միայն { $count } ֆայլեր կարող են վերբեռնվել:
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Միայն 1 արխիվ է թույլատրված:
|
||||
*[other] Միայն { $count } արխիվներ են թույլատրված:
|
||||
}
|
||||
expiredTitle = Այս հղումն ավարտված է:
|
||||
notSupportedDescription = { -send-brand }-ը չի աշխատի այս զննարկչի հետ: { -send-short-brand }-ը լավագույն կերպով աշխատում է { -firefox }-ի վերջին տարբերակի հետ և կաշխատի զննարկիչների մեծամասնության վերջին տարբերակների հետ:
|
||||
downloadFirefox = Ներբեռնել { -firefox }-ը
|
||||
legalTitle = { -send-short-brand }-ի Գաղտնիության ծանուցում
|
||||
legalDateStamp = Տարբերակ 1.0, թվագրված՝ 2019 թ. մարտի 12-ով
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }օր { $hours }ժ { $minutes }ր
|
||||
addFilesButton = Ընտրեք ֆայլեր՝ վերբեռնելու համար
|
||||
uploadButton = Վերբեռնել
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Քաշեք և գցեք ֆայլերը
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = կամ կտտացրեք`ուղարկելու համար մինչև { $size }
|
||||
addPassword = Պաշտպանեք գաղտնաբառով
|
||||
emailPlaceholder = Մուտքագրեք ձեր էլ. փոստը
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Մուտք գործեք՝ { $size } ուղարկելու համար
|
||||
signInOnlyButton = Մուտք գործել
|
||||
accountBenefitTitle = Ստեղծեք { -firefox } հաշիվ կամ մուտք գործեք
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Կիսվեք մինչև { $size } ֆայլերով
|
||||
accountBenefitDownloadCount = Կիսվեք ֆայլերով ավելի շատ մարդկանց հետ
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Հղումներն ակտիվ պահել մինչև 1 օր
|
||||
*[other] Հղումներն ակտիվ պահել մինչև { $count } օր
|
||||
}
|
||||
accountBenefitSync = Կառավարեք համօգտագործվող ֆայլերը ցանկացած սարքից
|
||||
accountBenefitMoz = Իմացեք { -mozilla }-ի այլ ծառայությունների մասին
|
||||
signOut = Դուրս գրվել
|
||||
okButton = Լավ
|
||||
downloadingTitle = Ներբեռնվում է
|
||||
noStreamsWarning = Այս զննարկիչը չի կարողանա վերծանել այսպիսի մեծ ֆայլը
|
||||
noStreamsOptionCopy = Պատճենեք հղումը`այլ զննարկիչում բացելու համար
|
||||
noStreamsOptionFirefox = Փորձեք մեր սիրած զննարկիչը
|
||||
noStreamsOptionDownload = Շարունակեք այս զննարկիչով
|
||||
downloadFirefoxPromo = { -send-short-brand }-ը ձեզ է առաջարկում ամբողջովին նոր { -firefox }:
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Կիսվեք ձեր ֆայլի հղումով.
|
||||
shareLinkButton = Համօգտագործել հղումը
|
||||
# $name is the name of the file
|
||||
shareMessage = Ներբեռնեք “{ $name }”-ը { -send-brand }-ով ՝ պարզ և ապահով՝ ֆայլերի համօգտագործում
|
||||
trailheadPromo = Ձեր գաղտնիությունը պաշտպանելու միջոց կա: Միացեք Firefox- ին:
|
||||
learnMore = Իմանալ ավելին
|
||||
@@ -1,18 +1,17 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Reaction
|
||||
importingFile = Importation…
|
||||
encryptingFile = Cryptation...
|
||||
decryptingFile = Decryptation…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] discargamento
|
||||
*[other] discargamentos
|
||||
[one] { $num } discargamento
|
||||
*[other] { $num } discargamentos
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] hora
|
||||
*[other] horas
|
||||
[one] { $num } hora
|
||||
*[other] { $num } horas
|
||||
}
|
||||
copiedUrl = Copiate!
|
||||
unlockInputPlaceholder = Contrasigno
|
||||
@@ -22,11 +21,11 @@ downloadFinish = Discargamento completate
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Proba Firefox Send
|
||||
errorPageHeader = Un error occurreva!
|
||||
fileTooBig = Iste file es troppo grande pro lo cargar. Illo debe ser inferior a { $size }.
|
||||
fileTooBig = Iste file es troppo grande pro incargar. Illo debe esser inferior a { $size }.
|
||||
linkExpiredAlt = Ligamine expirate
|
||||
notSupportedHeader = Tu navigator non es supportate
|
||||
notSupportedLink = Perque iste navigator non es supportate?
|
||||
notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologias web que move Firefox Send. Tu besonia de actualisar tu navigator.
|
||||
notSupportedLink = Proque non es mi navigator supportate?
|
||||
notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologia web que actiona Firefox Send. Tu debe actualisar tu navigator.
|
||||
updateFirefox = Actualisar Firefox
|
||||
deletePopupCancel = Cancellar
|
||||
deleteButtonHover = Deler
|
||||
@@ -44,7 +43,7 @@ expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maxime longor del contrasigno: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Iste contrasigno non pote ser definite
|
||||
passwordSetError = Iste contrasigno non ha potite esser establite
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
@@ -55,7 +54,7 @@ passwordSetError = Iste contrasigno non pote ser definite
|
||||
-mozilla = Mozilla
|
||||
introTitle = Comparti file in maniera confidential
|
||||
introDescription = { -send-brand } te pone in grado de compartir files con cryptographia bilateral e un ligamine que automaticamente expira. Assi que tu pote mantener private lo que tu comparti e liberar te del anxietate que tu problema resta online per sempre.
|
||||
notifyUploadEncryptDone = Tu file es cryptate e preste pro ser inviate.
|
||||
notifyUploadEncryptDone = Tu file es cryptate e preste pro esser inviate
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Expira post { $downloadCount } o { $timespan }
|
||||
timespanMinutes =
|
||||
@@ -99,24 +98,25 @@ trySendDescription = Prova { -send-brand } pro le compartimento de file simple e
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Solo 1 file al vice pote ser cargate.
|
||||
*[other] Solo { $count } files al vice pote ser cargate.
|
||||
[one] Solmente 1 file pote ser incargate al vice.
|
||||
*[other] Solmente { $count } files pote esser incargate al vice.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Solo 1 archivo es consentite.
|
||||
*[other] Solo { $count } archivos es consentite.
|
||||
[one] Solo 1 archivo es permittite.
|
||||
*[other] Solo { $count } archivos es permitter.
|
||||
}
|
||||
expiredTitle = Iste ligamine ha expirate.
|
||||
notSupportedDescription = { -send-brand } non functionara con iste navigator. { -send-short-brand } functiona melio con le ultime version de { -firefox }, e functionara con le version actual de plure navigatores.
|
||||
downloadFirefox = Discargar { -firefox }
|
||||
legalTitle = Politica de confidentialitate de { -send-short-brand }
|
||||
legalTitle = Aviso de confidentialitate de { -send-short-brand }
|
||||
legalDateStamp = Version 1.0 del 12 martio 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Selige le files a cargar
|
||||
uploadButton = Cargar
|
||||
addFilesButton = Selige le files a incargar
|
||||
trustWarningMessage = Verifica que tu te fide a tu destinatario quando tu comparti datos sensibile.
|
||||
uploadButton = Incargar
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Traher e deponer files
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
@@ -125,8 +125,8 @@ orClickWithSize = o cliccar pro inviar usque { $size }
|
||||
addPassword = Proteger per contrasigno
|
||||
emailPlaceholder = Insere tu adresse de e-mail
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Accede pro inviar usque { $size }
|
||||
signInOnlyButton = Authentica te
|
||||
signInSizeBump = Aperi session pro inviar usque a { $size }
|
||||
signInOnlyButton = Aperir session
|
||||
accountBenefitTitle = Crea un conto { -firefox } o registra te
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Comparti files usque { $size }
|
||||
@@ -136,12 +136,12 @@ accountBenefitTimeLimit =
|
||||
[one] Retene active le ligamine pro 1 die
|
||||
*[other] Retene active le ligamine pro { $count } dies
|
||||
}
|
||||
accountBenefitSync = Gere files compartite ab ulle apparato
|
||||
accountBenefitSync = Gere files compartite ab non importa qual apparato
|
||||
accountBenefitMoz = Discoperi altere servicios de { -mozilla }
|
||||
signOut = Disconnecter
|
||||
signOut = Clauder session
|
||||
okButton = OK
|
||||
downloadingTitle = Discargamento
|
||||
noStreamsWarning = Iste navigator pote non pote decifrar un file assi grande.
|
||||
noStreamsWarning = Es possibile que iste navigator non pote decryptar un file de iste proportiones.
|
||||
noStreamsOptionCopy = Copiar le ligamine e aperir lo in un altere navigator
|
||||
noStreamsOptionFirefox = Prova nostre navigator favorite
|
||||
noStreamsOptionDownload = Continuar con iste navigator
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Condivide ligamine
|
||||
shareMessage = Discarga “{ $name }” con { -send-brand }: condivide files in modo simple e secur
|
||||
trailheadPromo = Il ha un via pro proteger tu confidentialitate. Junge te a Firefox!
|
||||
learnMore = Saper plus.
|
||||
downloadFlagged = Iste ligamine ha essite disactivate per violation del terminos de servicio.
|
||||
downloadConfirmTitle = Un altere cosa
|
||||
downloadConfirmDescription = Verifica que tu te fide al persona qui te inviava iste file, perque nos non pote verificar que illo non violara tu apparato.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Io me fide al persona qui inviava iste file
|
||||
*[other] Io me fide al persona qui inviava iste files
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] reportar iste file como suspecte
|
||||
*[other] reportar iste files como suspecte
|
||||
}
|
||||
reportDescription = Adjuta nos a comprender lo que eveni. Que pensa tu es problematic con iste files?
|
||||
reportUnknownDescription = Va al URL del ligamine que tu desira signalar e clicca “{ reportFile }”.
|
||||
reportButton = Reportar
|
||||
reportReasonMalware = Iste files contine malware o es parte de un attacco fraudulente.
|
||||
reportReasonPii = Iste files contine informationes personal identificabile re me.
|
||||
reportReasonAbuse = Iste files contine contento illegal o abusive.
|
||||
reportReasonCopyright = Pro signalar violation de derectos de autor o marca de fabrica, usa le procedura describite a <a>iste pagina</a>.
|
||||
reportedTitle = Files reportate
|
||||
reportedDescription = Gratias. Nos ha recipite tu reporto sur iste files.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Saran
|
||||
importingFile = Mengimpor…
|
||||
encryptingFile = Mengenkripsi...
|
||||
decryptingFile = Mendekripsi...
|
||||
@@ -108,6 +107,7 @@ legalDateStamp = Versi 1.0, tertanggal 12 Maret 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }h { $hours }j { $minutes }m
|
||||
addFilesButton = Pilih berkas untuk diunggah
|
||||
trustWarningMessage = Pastikan Anda mempercayai penerima Anda saat berbagi data sensitif.
|
||||
uploadButton = Unggah
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Seret dan jatuhkan berkas
|
||||
@@ -144,3 +144,31 @@ shareLinkButton = Bagikan tautan
|
||||
shareMessage = Unduh "{ $name }" dengan { -send-brand }: berbagi berkas dengan sederhana dan aman
|
||||
trailheadPromo = Ada cara untuk melindungi privasi Anda. Bergabunglah dengan Firefox.
|
||||
learnMore = Pelajari lebih lanjut.
|
||||
downloadFlagged = Tautan ini telah dinonaktifkan karena melanggar persyaratan layanan.
|
||||
downloadConfirmTitle = Satu hal lagi
|
||||
downloadConfirmDescription = Pastikan Anda memercayai orang yang mengirimi Anda file ini karena kami tidak dapat memverifikasi bahwa hal itu tidak akan merusak perangkat Anda.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
*[other] Saya percaya orang yang mengirim file-file ini
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
*[other] Laporkan file-file ini karena mencurigakan
|
||||
}
|
||||
reportDescription = Bantu kami memahami apa yang sedang terjadi. Apa yang menurut Anda salah dengan file-file ini?
|
||||
reportUnknownDescription = Buka url tautan yang ingin Anda laporkan dan klik “{ reportFile }”.
|
||||
reportButton = Melaporkan
|
||||
reportReasonMalware = File-file ini mengandung malware atau merupakan bagian dari serangan phishing.
|
||||
reportReasonPii = File-file ini mengandung informasi pribadi tentang saya.
|
||||
reportReasonAbuse = File-file ini mengandung konten ilegal atau kasar.
|
||||
reportReasonCopyright = Untuk melaporkan pelanggaran hak cipta atau merek dagang, gunakan proses yang dijelaskan di <a> laman ini </a>.
|
||||
reportedTitle = File Dilaporkan
|
||||
reportedDescription = Terima kasih. Kami telah menerima laporan Anda tentang file-file ini.
|
||||
|
||||
93
public/locales/ig/send.ftl
Normal file
93
public/locales/ig/send.ftl
Normal file
@@ -0,0 +1,93 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Zipu
|
||||
importingFile = Mbubata…
|
||||
encryptingFile = ezoro ezo...
|
||||
decryptingFile = Kpebie
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] ụbọchị { $num }
|
||||
*[other] Abuọ
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] { $num } otu
|
||||
*[other] { $num } abụọ
|
||||
}
|
||||
copiedUrl = edepụtachaghiri
|
||||
unlockInputPlaceholder = okwuntughe
|
||||
unlockButtonLabel = imeghe
|
||||
downloadButtonLabel = budata
|
||||
downloadFinish = Mbudata zuru ezu
|
||||
fileSizeProgress = ({ $partialSize } nke { $totalSize })
|
||||
sendYourFilesLink = Firefox Zipu
|
||||
errorPageHeader = Onwere ihe na-adighi mma
|
||||
fileTooBig = Failu a ebuka ibulite. Ọ kwẹsịghi ịkalị { $size }
|
||||
linkExpiredAlt = Njiko jedebe
|
||||
notSupportedHeader = Adighi akwado ihe nchogharị gị
|
||||
notSupportedLink = Gịnị kpatara na akwadoghị ihe nchọgharị m?
|
||||
notSupportedOutdatedDetail = Ọ dị nwute na ụdị Firefox a anaghị akwado teknụzụ weebụ na-eji Firefox Zipụ. Ikwesiri imelite ihe nchọgharị gị.
|
||||
updateFirefox = Melite Firefox
|
||||
deletePopupCancel = Kagbuo
|
||||
deleteButtonHover = Hichapụ
|
||||
footerLinkLegal = n'Iwu
|
||||
footerLinkPrivacy = nzuzo
|
||||
footerLinkCookies = Kuki ga
|
||||
passwordTryAgain = okwuntughe ezighi ezi.Nwaa ọzọ
|
||||
javascriptRequired = Firefox Zipu chọrọ
|
||||
whyJavascript = Kedu ihe kpatara Firefox Send jiri chọ JavaScript?
|
||||
enableJavascript = Biko họrọ JavaScript ma nwaa ọzọ
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Oke okwuntughe kachasị: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Enweghị ike ịtọ paswọọdụ a
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Zipu, Ziga
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Mfe, nkekọrịta faịlụ nkeonwe
|
||||
introDescription = na-ahapu gị ịkekọrịta faịlụ na izo ya na njedebe na njedebe na-akwụsị na akpaghị aka. Yabụ ị nwere ike idobe ihe ị na -eche ma hụ na ngwongwo gị agaghị adị n'ịntanetị ruo mgbe ebighi ebi.
|
||||
notifyUploadEncryptDone = Failu gi zoro ezo ma di njikere iziga
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ọ ga-agwu mgbe { $downloadCount } ma ọ bụ { $timespan } gasịrị
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 ụbọchị
|
||||
*[other] ụbọchị { $num }
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 izu
|
||||
*[other] izu { $num }
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $Number } { $nkeji }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = { $nha }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Detuo njikọ ahụ iji kee faịlụ gị
|
||||
copyLinkButton = Detuo njikọ
|
||||
downloadTitle = Budata faịlụ gasi
|
||||
downloadDescription = Nkekọrịta faịlụ a site na site na iji zoo njedebe na-njedebe yana otu njikọ na-akwụsị na-akpaghị aka.
|
||||
trySendDescription = Gbalịa maka nyefe faịlụ dị mfe.
|
||||
expiredTitle = Njikọ a emebiela.
|
||||
notSupportedDescription = agaghị eji ihe nchọgharị a rụọ ọrụ. na arụ ọrụ kacha mma na ụdị nke , ọ ga-arụkwa ụdị nke ihe nchọgharị ka ugbu a.
|
||||
downloadFirefox = Budata
|
||||
legalTitle = Nkwupụta Nzuzo
|
||||
legalDateStamp = 1.dị 1.0, akara ụbọchị Maachi 12, 2019
|
||||
okButton = O
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Importazione in corso…
|
||||
encryptingFile = Crittazione in corso…
|
||||
decryptingFile = Decrittazione in corso…
|
||||
@@ -57,7 +56,7 @@ introTitle = Condividi file in modo semplice e riservato
|
||||
introDescription = { -send-brand } permette di condividere file con crittografia end-to-end attraverso un link che scade automaticamente. In questo modo hai la garanzia che i tuoi contenuti vengano condivisi in modo riservato e non rimangano online per sempre.
|
||||
notifyUploadEncryptDone = Il file è crittato e pronto per l’invio
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Scade dopo { $downloadCount } o dopo { $timespan }
|
||||
archiveExpiryInfo = Scade dopo { $downloadCount } o tra { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
@@ -108,6 +107,7 @@ legalDateStamp = Versione 1.0 del 12 marzo 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }g { $hours }h { $minutes }m
|
||||
addFilesButton = Seleziona i file da caricare
|
||||
trustWarningMessage = Assicurati che il destinatario sia affidabile quando condividi dati sensibili.
|
||||
uploadButton = Carica
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Trascina e rilascia i file
|
||||
@@ -143,5 +143,35 @@ shareLinkDescription = Condividi il link al tuo file:
|
||||
shareLinkButton = Condividi link
|
||||
# $name is the name of the file
|
||||
shareMessage = Scarica “{ $name }” con { -send-brand }: condivisione di file semplice e sicura
|
||||
trailheadPromo = C’è un modo per proteggere la tua privacy. Entra a far parte di Firefox.
|
||||
trailheadPromo = C’è un modo per proteggere la tua privacy. Entra in Firefox.
|
||||
learnMore = Ulteriori informazioni.
|
||||
downloadFlagged = Questo link è stato disattivato perché vìola i termini di servizio.
|
||||
downloadConfirmTitle = Un’ultima cosa
|
||||
downloadConfirmDescription = Assicurati che la persona che ti ha inviato questo file sia affidabile perché non possiamo garantire che non sia in grado di danneggiare il tuo dispositivo.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Considero affidabile la persona che ha inviato questo file
|
||||
*[other] Considero affidabile la persona che ha inviato questi file
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Segnala questo file come sospetto
|
||||
*[other] Segnala questi file come sospetti
|
||||
}
|
||||
reportDescription = Aiutaci a capire che cosa è successo. Qual è il problema con questi file?
|
||||
reportUnknownDescription = Vai all’indirizzo del link che vuoi segnalare e fai clic su “{ reportFile }”.
|
||||
reportButton = Segnala
|
||||
reportReasonMalware = Questi file contengono malware o fanno parte di un attacco phishing.
|
||||
reportReasonPii = Questi file contengono informazioni personali identificabili che mi riguardano.
|
||||
reportReasonAbuse = Questi file contengono contenuti illegali o offensivi.
|
||||
reportReasonCopyright = Per segnalare violazioni del copyright o abusi di marchi registrati, utilizzare la procedura descritta in <a>questa pagina</a>.
|
||||
reportedTitle = File segnalati
|
||||
reportedDescription = Grazie, abbiamo ricevuto la tua segnalazione relativa a questi file.
|
||||
|
||||
58
public/locales/ixl/send.ftl
Normal file
58
public/locales/ixl/send.ftl
Normal file
@@ -0,0 +1,58 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Aq'a yol sti'
|
||||
importingFile = Eq'otzan
|
||||
encryptingFile = La muj isik'lele
|
||||
decryptingFile = Ni jaj ve't isik'lele'
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] Eq'omal ku'tzan
|
||||
*[other] { $num } Eq'omalaj ku'tzan
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 Ch'ich'
|
||||
*[other] { $num } Nimalaj ch'ich'
|
||||
}
|
||||
copiedUrl = Eesamal ivatz!
|
||||
unlockInputPlaceholder = Kach'ub'al
|
||||
unlockButtonLabel = Eesa ikach'ub'al
|
||||
downloadButtonLabel = Eq'o ku'tzan
|
||||
downloadFinish = Eq'o ku'tzan kaajayil
|
||||
fileSizeProgress = ({ $partialSize }tetz{ $totalSize })
|
||||
sendYourFilesLink = B'anb'e ve't u Firefox Send
|
||||
errorPageHeader = At ma'l kam valexh kat eli!
|
||||
notSupportedHeader = U chukb'al aq'one' ye' ni toleb'e'.
|
||||
notSupportedLink = Kam q'ii uve' ye' kuxh ni toleb' u chukb'al vaq'one'?
|
||||
updateFirefox = Tz'ajsa tatine' Firefox
|
||||
deletePopupCancel = Ya'samal
|
||||
deleteButtonHover = Sojsa
|
||||
footerLinkPrivacy = Tetz kuxhtu'
|
||||
footerLinkCookies = Cookies
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Aq'b'en
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
emailPlaceholder = Aq'ku' a correo
|
||||
shareLinkButton = La jatxb'en u vaa'
|
||||
learnMore = Ootzi ka'te.
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = フィードバック
|
||||
importingFile = インポート中...
|
||||
encryptingFile = 暗号化中...
|
||||
decryptingFile = 復号化中...
|
||||
@@ -108,6 +107,7 @@ legalDateStamp = バージョン 1.0, 2019年3月12日時点
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } 日 { $hours } 時 { $minutes } 分
|
||||
addFilesButton = アップロードするファイルを選択
|
||||
trustWarningMessage = 機密データを共有する場合は、受信者が信頼できる相手であることを確認してください。
|
||||
uploadButton = アップロード
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = ファイルをドラッグ&ドロップ
|
||||
@@ -134,7 +134,9 @@ okButton = OK
|
||||
downloadingTitle = ダウンロード中
|
||||
noStreamsWarning = このブラウザーは、この大きさのファイルを復号化できません。
|
||||
noStreamsOptionCopy = リンクをコピーして他のブラウザーで開いてください
|
||||
noStreamsOptionFirefox = Firefox を試してみる
|
||||
noStreamsOptionDownload = このブラウザーで続ける
|
||||
downloadFirefoxPromo = { -send-short-brand } はすべてが新しくなった { -firefox } により提供されています。
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = ファイルへのリンクを共有しましょう:
|
||||
shareLinkButton = リンクを共有
|
||||
@@ -142,3 +144,31 @@ shareLinkButton = リンクを共有
|
||||
shareMessage = { -send-brand } で "{ $name }" をダウンロード: シンプルで安全なファイル共有
|
||||
trailheadPromo = プライバシーを保護する方法があります。Firefox を試してください。
|
||||
learnMore = 詳細情報
|
||||
downloadFlagged = サービス利用規約に違反しているため、このリンクは無効になっています。
|
||||
downloadConfirmTitle = さらにもう一つ
|
||||
downloadConfirmDescription = このファイルが端末に悪影響を及ぼさないことを確かめられないため、送信者が信頼できる相手であることを確認してください。
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
*[other] ファイルの送信者を信頼します
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
*[other] 疑わしいファイルとして報告する
|
||||
}
|
||||
reportDescription = 詳しく調べるためにお知らせください。これらのファイルの何が問題だと思われますか?
|
||||
reportUnknownDescription = 報告したい内容のリンクの URL にアクセスし、“{ reportFile }” をクリックしてください。
|
||||
reportButton = 問題を報告
|
||||
reportReasonMalware = これらのファイルにはマルウェアが含まれているか、フィッシング詐欺攻撃の一部です。
|
||||
reportReasonPii = これらのファイルには私に関する個人情報が含まれています。
|
||||
reportReasonAbuse = これらのファイルには違法または虐待的なコンテンツが含まれています。
|
||||
reportReasonCopyright = 著作権または商標の侵害を報告するには、<a>このページ</a> に記載された手続きに従ってください。
|
||||
reportedTitle = ファイルを報告しました
|
||||
reportedDescription = ご協力ありがとうございました。これらのファイルに関する報告を受け取りました。
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = გამოხმაურება
|
||||
importingFile = გადმოტანა...
|
||||
encryptingFile = დაშიფვრა...
|
||||
decryptingFile = გაშიფვრა...
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = ვერსია 1.0, დათარიღებული 12
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } დღე { $hours } სთ { $minutes } წთ
|
||||
addFilesButton = ფაილების შერჩევა ასატვირთად
|
||||
trustWarningMessage = დარწმუნდით, რომ ენდობით მიმღებს, სანამ მნიშვნელოვან მონაცემებს გაუზიარებთ.
|
||||
uploadButton = ატვირთვა
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = გადმოიტანეთ და მოათავსეთ ფაილები
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = ბმულის გაზიარება
|
||||
shareMessage = ჩამოტვირთეთ „{ $name }“ { -send-brand }-ით: ფაილების გაზიარება მარტივად, უსაფრთხოდ
|
||||
trailheadPromo = გზა, თქვენი პირადულობის დასაცავად. შემოუერთდით Firefox-ს.
|
||||
learnMore = იხილეთ ვრცლად.
|
||||
downloadFlagged = ბმული გაუქმებულია, მომსახურების პირობების დარღვევის გამო.
|
||||
downloadConfirmTitle = კიდევ ერთი რამ
|
||||
downloadConfirmDescription = დარწმუნდით, რომ სანდოა პირი, ვინც ეს ფაილი გამოგიგზავნათ, რადგან ჩვენ ვერ დაგპირდებით, რომ არ დააზიანებს თქვენს მოწყობილობას.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] ვენდობი პირს, რომელმაც ეს ფაილი გამომიგზავნა
|
||||
*[other] ვენდობი პირს, რომელმაც ეს ფაილები გამომიგზავნა
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] მოხსენება, საეჭვო ფაილზე
|
||||
*[other] მოხსენება, საეჭვო ფაილებზე
|
||||
}
|
||||
reportDescription = დაგვეხმარეთ გარკვევაში. თქვენი აზრით, რა ფაილებია?
|
||||
reportUnknownDescription = გთხოვთ გადახვიდეთ ბმულზე, რომლზეც გსურთ გვაცნობოთ და დაწკაპეთ „{ reportFile }“.
|
||||
reportButton = მოხსენება
|
||||
reportReasonMalware = ეს ფაილები შეიცავს მავნე კოდს ან თაღლითური შეტევის ნაწილია.
|
||||
reportReasonPii = ეს ფაილები შეიცავს ვინაობის ამსახველ მასალას ჩემზე.
|
||||
reportReasonAbuse = ეს ფაილები შეიცავს უკანონო ან შეურაცხმყოფელ მასალას.
|
||||
reportReasonCopyright = საავტორო უფლებებთან ან სავაჭრო ნიშნებთან დაკავშირებულ დარღვევებზე მოხსენებისთვის, გთხოვთ იხილოთ განმარტებითი მითითებები <a>ამ გვერდზე</a>.
|
||||
reportedTitle = ფაილებზე მოხსენება გაგზავნილია
|
||||
reportedDescription = გმადლობთ. მივიღეთ თქვენი მოხსენება, ამ ფაილებზე.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tikti
|
||||
importingFile = Akter...
|
||||
encryptingFile = Awgelhen...
|
||||
decryptingFile = Azmek...
|
||||
@@ -22,7 +21,7 @@ downloadFinish = Asider yemmed
|
||||
fileSizeProgress = ({ $partialSize } seg { $totalSize })
|
||||
sendYourFilesLink = Ɛreḍ Firefox Send
|
||||
errorPageHeader = Yella wayen yeḍran!
|
||||
fileTooBig = Afaylu-agi meqqeṛ aṭas. Yessefk ad yili daw n { $size }.
|
||||
fileTooBig = Afaylu-agi meqqer aṭas. Yessefk ad yili daw n { $size }.
|
||||
linkExpiredAlt = Aseɣwen yemmut
|
||||
notSupportedHeader = Iminig-ik ur ittusefrak ara
|
||||
notSupportedLink = Ayγer iminig inu ur yettwasefrek ara?
|
||||
@@ -54,7 +53,7 @@ passwordSetError = Awal-agi uffir ur izmir ara ad ittwabaded
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Afessas, beṭṭu n ifuyla s wudem uslig
|
||||
introDescription = { -send-brand } ad k(kem)-yeǧǧ ad tebḍuḍ ifuyla iwgelhanensi ṭṭerf ɣer ṭṭerf akked useɣwen ara yemmten s wudem awurman. Daɣen, ad tizmireḍ ad tḥ€rzeḍ ayen i tbeṭṭuḍ s wudem uslig daɣen ad temneḍ imi agbur-ik ur yettɣimi ara srid i lebda.
|
||||
introDescription = { -send-brand } ad k·kem-yeǧǧ ad tebḍuḍ ifuyla iwgelhanen si ṭṭerf ɣer ṭṭerf akked useɣwen ara yemmten s wudem awurman. Daɣen, ad tizmireḍ ad tḥerzeḍ ayen i tbeṭṭuḍ s wudem uslig daɣen ad tamneḍ imi agbur-ik·im ur yettɣimi ara i lebda.
|
||||
notifyUploadEncryptDone = Afaylu-ik yewgelhen daɣen ihegga i tuzna
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ad yemmet deffir { $downloadCount } neɣ { $timespan }
|
||||
@@ -76,7 +75,7 @@ timespanWeeks =
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 n ufaylu
|
||||
*[other] { $num } n ifuyla
|
||||
*[other] { $num } n yifuyla
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Lqem 1.0, azemz n 12 Meɣres 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } ass { $hours } srg { $minutes } tsd
|
||||
addFilesButton = Fren ifuyla ad tessaliḍ
|
||||
trustWarningMessage = Ḍmen d akken tumneḍ anermis ticki tebḍiḍ isefka n tbadnit.
|
||||
uploadButton = Sali
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Ẓuɣer sakin sers ifuyla
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Bḍu aseɣwen
|
||||
shareMessage = Sider "{ $name }" s { -send-brand }: d fessas, d aɣelsan i beṭṭu n yifuyla.
|
||||
trailheadPromo = Yella wallal n ummesten n tudert-ik tusligt. Ddu ɣer Firefox.
|
||||
learnMore = Issin ugar.
|
||||
downloadFlagged = Aseɣwen-a yensa acku ur iquder ara tiwtilin n useqdec.
|
||||
downloadConfirmTitle = Taɣawsa-nniḍen
|
||||
downloadConfirmDescription = Ḍmen d akken tumneḍ amdan i ak-d-yuznen afaylu-a acku ur nezmir ara ad nwali ma yella ur iṭuṛṛu ara ibenk-ik.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Umneɣ amdan i yi-d-yuznen afaylu-a.
|
||||
*[other] Umneɣ amdan i yi-d-yuznen ifuyla-a.
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Mmel-d afaylu-a ma tkukraḍ
|
||||
*[other] Mmel-d ifuyla-a ma tkukraḍ
|
||||
}
|
||||
reportDescription = Mudd-aɣ-d afus n tallalt akken ad negzu acu i la iḍerrun. Acu twalaḍ cwiya-t kan deg yifuyla-a?
|
||||
reportUnknownDescription = Ttxil-k·m rzu ɣer url n useɣwen i tebɣiḍ ad t-tceggreḍ syen sit ɣef “{ reportFile }”.
|
||||
reportButton = Aneqqis
|
||||
reportReasonMalware = Ifuyla-a deg-sen yir iseɣzanen neɣ d aḥric seg uẓdam n ṣṣyada.
|
||||
reportReasonPii = Ifuyla-a deg-sen talɣut tudmawant yettwassnen i yi-yeɛnan.
|
||||
reportReasonAbuse = Ifuyla-a deg-sen agbur arusḍif neɣ anaffal.
|
||||
reportReasonCopyright = I ucegger n tkerḍa n yizerfan n umeskar neɣ n tecraḍ, seqdec asesfer i d-yettwagelmen ɣef <a>usebter-a</a>.
|
||||
reportedTitle = Ifuyla i d-yettwaceqqren
|
||||
reportedDescription = Tanemmirt. Nermes-d aneqqis-ik·im ɣef yifuyla-a.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = 사용자 의견
|
||||
importingFile = 가져오는 중…
|
||||
encryptingFile = 암호화 중…
|
||||
decryptingFile = 복호화 중…
|
||||
@@ -26,9 +25,9 @@ footerLinkLegal = 법적 정보
|
||||
footerLinkPrivacy = 개인정보 보호
|
||||
footerLinkCookies = 쿠키
|
||||
passwordTryAgain = 비밀번호가 맞지 않습니다. 다시 시도해 주세요.
|
||||
javascriptRequired = Firefox Send는 자바스크립트를 필요로 합니다
|
||||
whyJavascript = 왜 Firefox Send에 자바스크립트가 필요하죠?
|
||||
enableJavascript = 자바스크립트를 활성화하고 다시 시도해 주세요.
|
||||
javascriptRequired = Firefox Send는 JavaScript를 필요로 합니다
|
||||
whyJavascript = 왜 Firefox Send에 JavaScript가 필요하죠?
|
||||
enableJavascript = JavaScript를 활성화하고 다시 시도해 주세요.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }시간 { $minutes }분
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
@@ -96,15 +95,16 @@ tooManyArchives =
|
||||
}
|
||||
expiredTitle = 이 링크는 만료되었습니다.
|
||||
notSupportedDescription = { -send-brand }는 이 브라우저와 작동하지 않습니다. { -send-short-brand }는 최신 { -firefox }와 가장 잘 작동하며, 대부분의 최신 웹 브라우저와도 잘 작동합니다.
|
||||
downloadFirefox = 다운로드 { -firefox }
|
||||
legalTitle = { -send-short-brand } 개인정보 보호 공지
|
||||
legalDateStamp = 버전 1.0, 2019년 3월 12일 출시됨
|
||||
downloadFirefox = { -firefox } 다운로드
|
||||
legalTitle = { -send-short-brand } 개인정보처리방침
|
||||
legalDateStamp = 버전 1.0, 2019년 3월 12일자
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }일 { $hours }시간 { $minutes }분
|
||||
addFilesButton = 업로드할 파일을 선택하세요
|
||||
addFilesButton = 업로드할 파일들을 선택하세요
|
||||
trustWarningMessage = 중요한 정보를 공유할 때는 수신자들이 모두 믿을 만한 사람들인지를 꼭 확인하세요.
|
||||
uploadButton = 업로드
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = 파일을 이곳에 드래그 엔 드롭하세요.
|
||||
dragAndDropFiles = 파일들을 여기에 끌어서 놓으세요
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = 또는 여기를 클릭하여 { $size }까지의 파일을 공유하세요.
|
||||
@@ -113,7 +113,7 @@ emailPlaceholder = 이메일 입력
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = { $size }까지 파일을 보낼 수 있게 로그인
|
||||
signInOnlyButton = 로그인
|
||||
accountBenefitTitle = { -firefox } 계정을 하나 만들거나, 로그인
|
||||
accountBenefitTitle = { -firefox } 계정 생성 또는 로그인
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = { $size }까지의 파일 공유
|
||||
accountBenefitDownloadCount = 더 많은 사람들과 함께 파일 공유
|
||||
@@ -122,11 +122,11 @@ accountBenefitTimeLimit =
|
||||
*[other] 최대 { $count }일까지 링크 유지
|
||||
}
|
||||
accountBenefitSync = 어떤 기기에서든지 공유된 링크 관리
|
||||
accountBenefitMoz = 더 많은 { -mozilla } 서비스에 대해 알아보기
|
||||
accountBenefitMoz = 다른 { -mozilla } 서비스에 대해 알아보기
|
||||
signOut = 로그아웃
|
||||
okButton = 확인
|
||||
downloadingTitle = 다운로드 중
|
||||
noStreamsWarning = 이 브라우저는 이렇게 큰 용량의 파일 암호화를 풀 수 없을 수도 있습니다.
|
||||
noStreamsWarning = 이 브라우저는 이렇게 큰 파일은 암호화 해제를 못할 수도 있습니다.
|
||||
noStreamsOptionCopy = 다른 브라우저에서 열 수 있도록 링크를 복사
|
||||
noStreamsOptionFirefox = 우리가 애용하는 브라우저를 사용해 보세요
|
||||
noStreamsOptionDownload = 이 브라우저로 계속하기
|
||||
@@ -136,5 +136,33 @@ shareLinkDescription = 파일 링크 공유:
|
||||
shareLinkButton = 링크 공유
|
||||
# $name is the name of the file
|
||||
shareMessage = { -send-brand }으로 “{ $name }” 파일을 내려받으세요: 쉽고 안전한 파일 공유입니다.
|
||||
trailheadPromo = 개인 정보를 보호하는 방법이 있습니다. 파이어폭스와 함께 하세요.
|
||||
learnMore = 자세히 알아보기
|
||||
trailheadPromo = 개인 정보를 보호하는 방법이 있습니다. Firefox에 가입하세요.
|
||||
learnMore = 더 알아보기.
|
||||
downloadFlagged = 서비스 약관 위반으로 인해 비활성화된 링크입니다.
|
||||
downloadConfirmTitle = 한 가지 더
|
||||
downloadConfirmDescription = 이 파일이 기기에 해를 끼치지 않는 다는 점을 확인하지 못했기 때문에 이 파일을 보낸 사람을 신뢰할 수 있는지 확인하세요.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
*[other] 이 파일을 보낸 사람을 신뢰함
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
*[other] 이 파일을 의심스러운 것으로 신고
|
||||
}
|
||||
reportDescription = 어떤 일이 발생했는지 알려 주세요. 이 파일의 어느 부분이 문제인 것 같나요?
|
||||
reportUnknownDescription = 신고하려는 링크의 URL로 가서 “{ reportFile }”를 클릭하세요.
|
||||
reportButton = 신고
|
||||
reportReasonMalware = 이 파일은 악성 코드를 포함하고 있거나 피싱 공격의 일부입니다.
|
||||
reportReasonPii = 이 파일에는 본인에 대한 개인 식별 정보가 포함되어 있습니다.
|
||||
reportReasonAbuse = 이 파일에는 불법적이거나 모욕적인 내용이 들어 있습니다.
|
||||
reportReasonCopyright = 저작권 또는 상표권 침해를 신고하려면 <a>이 페이지</a>에 설명된 절차를 따르십시오.
|
||||
reportedTitle = 파일 신고됨
|
||||
reportedDescription = 파일에 대한 신고를 접수했습니다. 감사합니다.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Pateikti atsiliepimą
|
||||
importingFile = Importuojama…
|
||||
encryptingFile = Šifruojama…
|
||||
decryptingFile = Iššifruojama…
|
||||
@@ -132,6 +131,7 @@ legalDateStamp = 1.0 versija, 2019 m. kovo 12 d
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d. { $hours } val. { $minutes } min.
|
||||
addFilesButton = Rinktis failus įkėlimui
|
||||
trustWarningMessage = Dalindamiesi svarbiais duomenimis įsitikinkite, kad pasitikite gavėju.
|
||||
uploadButton = Įkelti
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Užtempkite ir numeskite failus čia
|
||||
@@ -170,3 +170,35 @@ shareLinkButton = Dalintis saitu
|
||||
shareMessage = Atsisiųskite „{ $name }“ su „{ -send-brand }“: paprastas, saugus dalinimasis failais
|
||||
trailheadPromo = Yra būdas apsaugoti jūsų privatumą. Naudokite „Firefox“.
|
||||
learnMore = Sužinoti daugiau.
|
||||
downloadFlagged = Šis saitas panaikintas dėl paslaugos teikimo nuostatų pažeidimo.
|
||||
downloadConfirmTitle = Dar vienas dalykas
|
||||
downloadConfirmDescription = Įsitikinkite, kad pasitikite asmeniu, atsiuntusiu šį failą, nes mes negalime užtikrinti, kad jis nepakenks jūsų įrenginiui.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Aš pasitikiu asmeniu, atsiuntusiu šį failą
|
||||
[few] Aš pasitikiu asmeniu, atsiuntusiu šiuos failus
|
||||
*[other] Aš pasitikiu asmeniu, atsiuntusiu šiuos failus
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Pranešti apie įtartiną failą
|
||||
[few] Pranešti apie įtartinus failus
|
||||
*[other] Pranešti apie įtartinus failus
|
||||
}
|
||||
reportDescription = Padėkite mums suprasti situaciją. Kas jūsų nuomone negerai su šiais failais?
|
||||
reportUnknownDescription = Atverkite saitą, apie kurį norite pranešti, ir spustelėkite „{ reportFile }“.
|
||||
reportButton = Pranešti
|
||||
reportReasonMalware = Šiuose failuose yra kenkėjiškos programinės įrangos, arba jie yra dalis sukčiavimo atakos.
|
||||
reportReasonPii = Šiuose failuose yra mano asmeninės informacijos.
|
||||
reportReasonAbuse = Šiuose failuose yra nelegalaus arba neteisėto turinio.
|
||||
reportReasonCopyright = Norėdami pranešti apie autorių teisių ar prekės ženklo pažeidimus, vadovaukitės <a>šiame puslapyje</a> aprašytu procesu.
|
||||
reportedTitle = Apie failus pranešta
|
||||
reportedDescription = Ačiū. Mes gavome jūsų pranešimą apie šiuos failus.
|
||||
|
||||
5
public/locales/lus/send.ftl
Normal file
5
public/locales/lus/send.ftl
Normal file
@@ -0,0 +1,5 @@
|
||||
encryptingFile = Encrypting...
|
||||
decryptingFile = Decrypting
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
154
public/locales/meh/send.ftl
Normal file
154
public/locales/meh/send.ftl
Normal file
@@ -0,0 +1,154 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tu'un jianininu
|
||||
importingFile = Nasia´a…
|
||||
encryptingFile = Encriptando...
|
||||
decryptingFile = Desencriptando…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
*[other] { $num } nxinuun
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 hora
|
||||
*[other] { $num } horas
|
||||
}
|
||||
copiedUrl = Ntɨɨn
|
||||
unlockInputPlaceholder = Contraseña
|
||||
unlockButtonLabel = Nkasɨ
|
||||
downloadButtonLabel = Xinuu
|
||||
downloadFinish = Nnɨ´ɨ xinuu
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Ni´i Firefox Send
|
||||
errorPageHeader = ¡Iyo iin ntu nkene va´a!
|
||||
fileTooBig = Archivo ya´a ka´nu. Nejia chunku´va { $size }
|
||||
linkExpiredAlt = Nnɨ´ɨ enlace
|
||||
notSupportedHeader = Ntu íyo tiñu nuu ka̱a̱ nánuku ya´a.
|
||||
notSupportedLink = ¿Navi ntu satiñu nuu ka̱a̱ nánuku ya´a?
|
||||
notSupportedOutdatedDetail = Tuni Firefox ya´a ntu satiñu vii jii Firefox Send. Nejika xinunu a jíía ka̱a̱ nánuku.
|
||||
updateFirefox = Naxi´ñá Firefox
|
||||
deletePopupCancel = Nkuvi-ka
|
||||
deleteButtonHover = Xita
|
||||
footerLinkLegal = Tu´un nichi
|
||||
footerLinkPrivacy = Tu´un xitu a kumiji noo´o
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Contraseña ntu vatu. Nachu´un tuku.
|
||||
javascriptRequired = Firefox Send ni´i JavaScript
|
||||
whyJavascript = ¿Navi Firefox Send ni´i JavaScript?
|
||||
enableJavascript = Kua´a jia´a JavaScript jee nachu´un tuku.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Naja ka´nu koo contraseña: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Ntu nkuvi sá´á contraseña
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Kua´a daa archivo ñama jee yu´u
|
||||
introDescription = { -send-brand } taji jia´anu archivos jii cifrado uvi nuu jee iin enlace nɨ´ɨ. Sukuan kuvi kumi yu´unu daa archivo jia´anu jee kuninu nkino daa ya´a kue´e kuiya íchi nuu.
|
||||
notifyUploadEncryptDone = Archivo noo´o íyo cifrado jee kuvi chu´un íchi
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Nɨ'ɨ dee nña´a { $downloadCount } a xiin { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } minutos
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 día
|
||||
*[other] { $num } días
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semana
|
||||
*[other] { $num } semanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 archivo
|
||||
*[other] { $num } archivos
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ka´nu: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Tɨɨn enlace jee kua´a archivo:
|
||||
copyLinkButton = Tɨɨn enlacae
|
||||
downloadTitle = Xinuu archivo
|
||||
downloadDescription = Archivo ya´a nsajia { -send-brand } jíí cifrado punto a punto jee iin enlace naa.
|
||||
trySendDescription = Nasá´á jii { -send-brand } kua´a ñama jee vatu.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Ntuxini 1 archivo kuvi ska.
|
||||
*[other] Ntuxini { $count } archivos kuvi ska.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Ntu xini 1 archivo íyo
|
||||
*[other] Ntu xini { $count } archivos íyo
|
||||
}
|
||||
expiredTitle = Nnɨ'ɨ link ya´a.
|
||||
notSupportedDescription = { -send-brand } nsatiñu jii ka̱a̱ nánuku ya´a. { -send-short-brand } satiñu va´a jii tuni íchi yata { -firefox }, jee satiñu va´a jii tuni íyo ntañu´u kuaiyo daa ka̱a̱ nánuku.
|
||||
downloadFirefox = Xinuun { -firefox }
|
||||
legalTitle = Tu´un xitu a kumiji noo´o { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Kaji archivos ska
|
||||
uploadButton = Ska
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Staka jee sía daa archivo
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = a xiin kuaxin saa chu´un íchi nee { $size }
|
||||
addPassword = Iyo yu´u jii contraseña
|
||||
emailPlaceholder = Chu´un email noo´o
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Kajie´e sesión saa chu´un íchi nee { $size }
|
||||
signInOnlyButton = Kajie´e sesión
|
||||
accountBenefitTitle = Sá´á iin cuenta { -firefox } a xiin kajie´e sesión
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Kua´a archivo ka´nu { $size }
|
||||
accountBenefitDownloadCount = Kua´a archivos jii inka ñivɨ
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Kuteku enlaces 1 kivɨ
|
||||
*[other] Kuteku daa enlaces { $count } kivɨ
|
||||
}
|
||||
accountBenefitSync = Tetiñu archivos jia´anu ntaka ka̱a̱
|
||||
accountBenefitMoz = Ka´vi kue´eka jiee inka tiñu { -mozilla }
|
||||
signOut = Kasɨ sesión
|
||||
okButton = Kuvi
|
||||
downloadingTitle = Xinuu
|
||||
noStreamsWarning = Kuvi ka̱a̱ nánaku ya´a nxituvi a vaji nuu iin archivo ka´nu.
|
||||
noStreamsOptionCopy = Tɨɨn enlace jee síne nuu inka ka̱a̱ nánuku
|
||||
noStreamsOptionFirefox = Ni´i ka̱a̱ nánuku va´a
|
||||
noStreamsOptionDownload = Kaka jii ka̱a̱ nánuku ya´a
|
||||
downloadFirefoxPromo = { -send-short-brand } taji jíía { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Kua´a enlace archivo noo´o
|
||||
shareLinkButton = Kua´a link
|
||||
# $name is the name of the file
|
||||
shareMessage = Xinuu “{ $name }” jii { -send-brand }: ntu viji
|
||||
trailheadPromo = Iyo iin kuvi kumi privacidad noo´o. Nayonika Firefox.
|
||||
learnMore = Ka´vi kue´eka
|
||||
185
public/locales/mix/send.ftl
Normal file
185
public/locales/mix/send.ftl
Normal file
@@ -0,0 +1,185 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
importingFile = Ndakiin…
|
||||
encryptingFile = Ndasami tu'un…
|
||||
decryptingFile = Nchiko tu'un…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 snuú
|
||||
*[other] { $num } snuú
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 hora
|
||||
*[other] { $num } horas
|
||||
}
|
||||
copiedUrl = ¡Tsa ndatavi ña!
|
||||
unlockInputPlaceholder = Tu'un seè
|
||||
unlockButtonLabel = Kuna
|
||||
downloadButtonLabel = Snuù
|
||||
downloadFinish = Ntsinu snui
|
||||
fileSizeProgress = ({ $partialSize } ña { $totalSize })
|
||||
sendYourFilesLink = Kuachu'un Firefox Send
|
||||
errorPageHeader = ¡Yee ña va'a!
|
||||
fileTooBig = Kanu tutu yo. Tsini ñu'u koi tana { $size }.
|
||||
linkExpiredAlt = Ntoo enlace
|
||||
notSupportedHeader = Kue ku kuni página.
|
||||
notSupportedLink = ¿Chanu kue ku kuncheuña?
|
||||
notSupportedOutdatedDetail = Firefox kue ku kuni página web takua kuachu'un Firefox Send. tsiniñu'u ndu tsa'a navegador.
|
||||
updateFirefox = Ndu tsa'a Firefox
|
||||
deletePopupCancel = Kunchatu
|
||||
deleteButtonHover = Stoò
|
||||
footerLinkLegal = Aviso legal
|
||||
footerLinkPrivacy = Ña meu
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Kue vaa ni chau sivi siki. Chai tuku.
|
||||
javascriptRequired = Firefox Send tsiniñui JavaScript
|
||||
whyJavascript = ¿Chanu Firefox Send tsiniñui JavaScript?
|
||||
enableJavascript = Saá ña mani katsi JavaScript chá kitsa tuku.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Kua tu'un see: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Ma ku ntanii tu'un see
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Stucha kue tutu ku
|
||||
introDescription = { -send-brand } ku stuchaku tutu seé tsi inkana tsi iin enlace ña ntóo mituin. Sa'an ku kunka va'a ña stuchaku cha ma ku kunchee na kue tutu ku.
|
||||
notifyUploadEncryptDone = Tsa inka va'a tutu ku tsa ku stuchaku ña
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ku kunkai mancha { $downloadCount } a { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } minutos
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 kii
|
||||
*[other] { $num } kii
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semana
|
||||
*[other] { $num } semanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 tutu
|
||||
*[other] { $num } tutu
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Kua: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Ndatava enlace takua stuchaku tutú.
|
||||
copyLinkButton = Ndatava enlace
|
||||
downloadTitle = Snuú tutu
|
||||
downloadDescription = Tutu yo stuchaku ña tsi { -send-brand } inka si'i chá ku nto'o mituin.
|
||||
trySendDescription = Kuachu'un { -send-brand } takua stuchaku nchi tutu niku
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Ku skau 1 tutu ni.
|
||||
*[other] Mitu'un { $count }tutu ku skau.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] 1 tutu ni ku.
|
||||
*[other] Mitu'un { $count } tutu ni ku.
|
||||
}
|
||||
expiredTitle = Koo enlace inka
|
||||
notSupportedDescription = { -send-brand } ma ku Kuachu'un navegador yo. { -send-short-brand } Sachu'in va'a la versión da ntii { -firefox }, sachu'un tsi versión tsa'a su inka kue navegador.
|
||||
downloadFirefox = Snuú { -firefox }
|
||||
legalTitle = Tu'un privacidad { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Katsi tutu ku skau
|
||||
trustWarningMessage = Kunche'e a va'a nu ku ntachuún ña.
|
||||
uploadButton = Skaa
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Xita cha sia kue tutu
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = katavi takua stuchaku ña mancha { $size }
|
||||
addPassword = Inka vai tsi tu'un seé
|
||||
emailPlaceholder = Chaa korreo ku
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = kitsa takua kuachu'una mancha { $size }
|
||||
signInOnlyButton = Kitsaa
|
||||
accountBenefitTitle = Saa iin kuenta ña { -firefox } a kitsa
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Stucha tutu mancha { $size }
|
||||
accountBenefitDownloadCount = Stucha tutu tsi kuaka nivi
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Ku kunka tutu ku mancha 1 kii
|
||||
*[other] Ku kunka tutu ku mancha { $count } kii
|
||||
}
|
||||
accountBenefitSync = Stucha tutu tsí nchi kaa ndusu niku
|
||||
accountBenefitMoz = Kavi tutú tsa { -mozilla }
|
||||
signOut = Kee
|
||||
okButton = Vaá
|
||||
downloadingTitle = Snuì
|
||||
noStreamsWarning = Ku ña navegador yo ma ku mini iin tutú kanu.
|
||||
noStreamsOptionCopy = Ndatava enlace takua kunu tsí inka navegador
|
||||
noStreamsOptionFirefox = Kuachu'un navegador ña va'a nu ntia
|
||||
noStreamsOptionDownload = Kunka tsi navegador yo
|
||||
downloadFirefoxPromo = { -send-short-brand } snai ña tsaa { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Stucha enlace tutu ku:
|
||||
shareLinkButton = Stucha Enlace
|
||||
# $name is the name of the file
|
||||
shareMessage = Snuu «{ $name }» tsi { -send-brand }: kue nchichi
|
||||
trailheadPromo = Ku china vau ña chau. Kita'an tsi Firefox.
|
||||
learnMore = Skua'a kuakaa.
|
||||
downloadFlagged = Va'á enlace yo.
|
||||
downloadConfirmTitle = Una cosa más
|
||||
downloadConfirmDescription = A tsinu nivo tachu'un tutu yo takua ma stivia kàa ndusu ku.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Va'a nivi ntachu'un tutu yo
|
||||
*[other] Va'a nivi ntachu'un tutu yo
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Katu'un ña va'á tutu yo
|
||||
*[other] Katu'un ña va'á kue tutu yo
|
||||
}
|
||||
reportDescription = Chinche kue yu na kunikue ña yee. ¿A va'á kue tutu yo?
|
||||
reportUnknownDescription = Sa'a ña mani kuncheu, url ña enlace ña va'á cha katavi “{ reportFile }”.
|
||||
reportButton = Ka tu'un
|
||||
reportReasonMalware = Inka ña va'á nu kue tutu yo.
|
||||
reportReasonPii = Inka kue tu'un me nu kue tutu yo.
|
||||
reportReasonAbuse = Yee ña va'á nu kue tutu yo.
|
||||
reportReasonCopyright = Tatu ye ña va'á nu derechos de autor a marca registrada, kavi tutu yo <a>esta página</a>.
|
||||
reportedTitle = Ku ncheé tutu
|
||||
reportedDescription = Ti tsavu. tsa kumikue tu'un tsa'a tutuku.
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tilbakemelding
|
||||
importingFile = Importerer…
|
||||
encryptingFile = Krypterer...
|
||||
decryptingFile = Dekrypterer...
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versjon 1.0, datert den 12. mars 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }t { $minutes }m
|
||||
addFilesButton = Velg filer du vil laste opp
|
||||
trustWarningMessage = Forsikre deg om at du stoler på mottakeren din når du deler sensitive data.
|
||||
uploadButton = Last opp
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Dra og slipp filer
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Del lenke
|
||||
shareMessage = Last ned ‹{ $name }› med { -send-brand }: enkel, trygg fildeling
|
||||
trailheadPromo = Det finnes en måte å ta vare på personvernet ditt. Bruk Firefox.
|
||||
learnMore = Les mer.
|
||||
downloadFlagged = Denne koblingen er deaktivert på grunn av brudd på vilkårene for tjenesten.
|
||||
downloadConfirmTitle = En ting til
|
||||
downloadConfirmDescription = Forsikre deg om at du stoler på personen som sendte deg denne filen, fordi vi ikke kan bekrefte at den ikke vil skade enheten din.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Jeg stoler på personen som sendte denne filen
|
||||
*[other] Jeg stoler på personen som sendte disse filene
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Rapporter denne filen som mistenkelig
|
||||
*[other] Rapporter disse filene som mistenkelige
|
||||
}
|
||||
reportDescription = Hjelp oss å forstå hva som skjer. Hva tror du er galt med disse filene?
|
||||
reportUnknownDescription = Gå til adressen til lenken du ønsker å rapportere, og klikk «{ reportFile }».
|
||||
reportButton = Rapporter
|
||||
reportReasonMalware = Disse filene inneholder skadelig programvare eller er del av et nettfiskingsangrep (phishing-angrep).
|
||||
reportReasonPii = Disse filene inneholder personlig identifiserbar informasjon om meg.
|
||||
reportReasonAbuse = Disse filene inneholder ulovlig eller voldelig innhold.
|
||||
reportReasonCopyright = For å rapportere brudd på opphavsrett eller varemerke, bruk prosessen som er beskrevet på <a>denne siden</a>.
|
||||
reportedTitle = Filer rapportert
|
||||
reportedDescription = Takk skal du ha. Vi har mottatt rapporten din om disse filene.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
importingFile = Importeren…
|
||||
encryptingFile = Versleutelen…
|
||||
decryptingFile = Ontcijferen…
|
||||
decryptingFile = Ontsleutelen…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 download
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versie 1.0 d.d. 12 maart 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }u { $minutes }m
|
||||
addFilesButton = Selecteer te uploaden bestanden
|
||||
trustWarningMessage = Zorg ervoor dat u uw ontvanger vertrouwt wanneer u gevoelige gegevens deelt.
|
||||
uploadButton = Uploaden
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Versleep bestanden
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Koppeling delen
|
||||
shareMessage = Download ‘{ $name }’ met { -send-brand }: eenvoudig, veilig bestanden delen
|
||||
trailheadPromo = Er is een manier om uw privacy te beschermen. Doe mee met Firefox.
|
||||
learnMore = Meer info.
|
||||
downloadFlagged = Deze koppeling is uitgeschakeld wegens schending van de servicevoorwaarden.
|
||||
downloadConfirmTitle = Nog een ding
|
||||
downloadConfirmDescription = Zorg ervoor dat u de persoon vertrouwt die u dit bestand heeft gestuurd, omdat we niet kunnen verifiëren dat het uw apparaat niet zal schaden.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Ik vertrouw de persoon die dit bestand heeft verzonden
|
||||
*[other] Ik vertrouw de persoon die deze bestanden heeft verzonden
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Dit bestand als verdacht rapporteren
|
||||
*[other] Deze bestanden als verdacht rapporteren
|
||||
}
|
||||
reportDescription = Help ons te begrijpen wat er aan de hand is. Wat is er volgens u mis met deze bestanden?
|
||||
reportUnknownDescription = Ga naar de URL van de koppeling die u wilt melden en klik op ‘{ reportFile }’.
|
||||
reportButton = Rapporteren
|
||||
reportReasonMalware = Deze bestanden bevatten malware of zijn onderdeel van een phishingaanval.
|
||||
reportReasonPii = Deze bestanden bevatten persoonlijk identificeerbare informatie over mij.
|
||||
reportReasonAbuse = Deze bestanden bevatten illegale of beledigende inhoud.
|
||||
reportReasonCopyright = Gebruik de procedure op <a>deze pagina</a> om inbreuk op auteursrechten of handelsmerken te melden.
|
||||
reportedTitle = Bestanden gerapporteerd
|
||||
reportedDescription = Dank u. We hebben uw rapport over deze bestanden ontvangen.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tilbakemelding
|
||||
importingFile = Importerer…
|
||||
encryptingFile = Krypterer…
|
||||
decryptingFile = Dekrypterer...
|
||||
@@ -94,7 +93,7 @@ totalSize = Total storleik: { $size }
|
||||
copyLinkDescription = Kopier lenka for å dele fila di:
|
||||
copyLinkButton = Kopier lenke
|
||||
downloadTitle = Last ned filer
|
||||
downloadDescription = Denne fila vart delt via { -send-brand } med ende-til-ende-kryptering og ei lenke som automatisk går ut.
|
||||
downloadDescription = Denne fila vart delt via { -send-brand }, med ende-til-ende-kryptering, og ei lenke som automatisk går ut.
|
||||
trySendDescription = Prøv { -send-brand } for enkel og sikker fildeling.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
@@ -116,6 +115,7 @@ legalDateStamp = Versjon 1.0, datert den 12 mars 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }t { $minutes }m
|
||||
addFilesButton = Vel filer som skal lastast opp
|
||||
trustWarningMessage = Forsikre deg om at du stolar på mottakaren din når du deler sensitive data.
|
||||
uploadButton = Last opp
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Dra og slepp filer
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Del lenke
|
||||
shareMessage = Last ned "{ $name }" med { -send-brand }: enkel, trygg fildelning
|
||||
trailheadPromo = Det finst ein måte å ta vare på personvernet ditt. Ver med Firefox på ferda.
|
||||
learnMore = Les meir.
|
||||
downloadFlagged = Denne koplinga er deaktivert på grunn av brot på vilkåra for tenesta.
|
||||
downloadConfirmTitle = Ein ting til
|
||||
downloadConfirmDescription = Forsikre deg om at du stolar på personen som sende deg denne fila fordi, vi ikkje kan stadfeste at ho ikkje vil skade eininga di.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Eg stolar på personen som sende denne fila
|
||||
*[other] Eg stolar på personen som sende desse filene
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Rapporter denne fila som mistenkjeleg
|
||||
*[other] Rapporter desse filene som mistenkjelege
|
||||
}
|
||||
reportDescription = Hjelp oss å forstå kva som skjer. Kva trur du er gale med desse filene?
|
||||
reportUnknownDescription = Gå til lenkeadressa du ønskjer å rapportere, og klikk «{ reportFile }».
|
||||
reportButton = Rapporter
|
||||
reportReasonMalware = Desse filene inneheld skadeleg programvare eller er del av eit nettfiskingsangrep (phishing-angrep).
|
||||
reportReasonPii = Desse filene inneheld personleg identifiserbar informasjon om meg.
|
||||
reportReasonAbuse = Desse filene inneheld ulovleg eller valdeleg innhald.
|
||||
reportReasonCopyright = For å rapportere brot på opphavsrett eller varemerke, bruk prosessen som er beskriven på <a>denne sida</a>.
|
||||
reportedTitle = Rapporterte filer
|
||||
reportedDescription = Takk skal du ha. Vi har fått rapporten din om desse filene.
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentaris
|
||||
importingFile = Importacion…
|
||||
encryptingFile = Chiframent…
|
||||
decryptingFile = Deschiframent…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 telecargament
|
||||
*[other] { $num } telecargaments
|
||||
[one] 1 telecargament
|
||||
*[other] { $num } telecargaments
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 ora
|
||||
*[other] { $num } oras
|
||||
[one] 1 ora
|
||||
*[other] { $num } oras
|
||||
}
|
||||
copiedUrl = Copiat !
|
||||
copiedUrl = Copiat !
|
||||
unlockInputPlaceholder = Senhal
|
||||
unlockButtonLabel = Desverrolhar
|
||||
downloadButtonLabel = Telecargar
|
||||
@@ -60,23 +59,23 @@ notifyUploadEncryptDone = Vòstre fichièr es chifrat e prèst per mandadís
|
||||
archiveExpiryInfo = Expira aprèp { $downloadCount } o { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuta
|
||||
*[other] { $num } minutas
|
||||
[one] 1 minuta
|
||||
*[other] { $num } minutas
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 jorn
|
||||
*[other] { $num } jorns
|
||||
[one] 1 jorn
|
||||
*[other] { $num } jorns
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 setmana
|
||||
*[other] { $num } setmanas
|
||||
[one] 1 setmana
|
||||
*[other] { $num } setmanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 fichièr
|
||||
*[other] { $num } fichièrs
|
||||
[one] 1 fichièr
|
||||
*[other] { $num } fichièrs
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = o
|
||||
@@ -116,9 +115,10 @@ legalDateStamp = Version 1.0 del 12 de març de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } j { $hours } h { $minutes } min
|
||||
addFilesButton = Seleccionatz los fichièrs de mandar
|
||||
trustWarningMessage = Asseguratz-vos que vos fisatz del destinari quand partejatz de donadas confidencialas.
|
||||
uploadButton = Enviar
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Lissatz-depausatz de fichièrs
|
||||
dragAndDropFiles = Lisatz-depausatz de fichièrs
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = o clicatz per enviar fins a { $size }
|
||||
@@ -153,3 +153,33 @@ shareLinkButton = Partejar lo ligam
|
||||
shareMessage = Telecargar « { $name } » amb { -send-brand } : un biais simple e segur de partejar de fichièrs.
|
||||
trailheadPromo = Existís un biais de protegir vòstra vida privada. Rejonhètz Firefox.
|
||||
learnMore = Ne saber mai.
|
||||
downloadFlagged = Aqueste ligam foguèt desactivat a causa d’una infraccions a las condicions d’utilizacion.
|
||||
downloadConfirmTitle = Un quicomet mai
|
||||
downloadConfirmDescription = Asseguratz-vos que la persona que vos mandèt aqueste fichièr perque podèm pas verificar qu’es pas malfasent per vòstre periferic
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Me fisi de la persona que me mandèt lo fichièr
|
||||
*[other] Me fisi de la persona que me mandèt los fichièrs
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Senhalar aqueste fichièr coma suspècte
|
||||
*[other] Senhalar aquestes fichièrs coma suspèctes
|
||||
}
|
||||
reportDescription = Ajudatz-nos a comprendre qué passa. Qué vos fa pensar que quicòm truca amb aquestes fichièrs ?
|
||||
reportUnknownDescription = Anatz a l’URL del ligam que volètz senhalar e clicatz « { reportFile } ».
|
||||
reportButton = Senhalar
|
||||
reportReasonMalware = Aquestes fichièrs contenon de logicials malvolents o forman part d’un atac de pesca electronica.
|
||||
reportReasonPii = Aquestes fichièrs contenon d’informacions d’identificacion personala que me concernisson.
|
||||
reportReasonAbuse = Aquestes fichièrs contenon de contengut illegal o abusiu.
|
||||
reportReasonCopyright = Per senhalar una violacion de drech d’autor o de marca, seguissètz la procedura descricha sus <a>aquesta pagina</a>.
|
||||
reportedTitle = Fichièrs senhalats
|
||||
reportedDescription = Mercés. Avèm recebut vòstre senhalament d’aquestes fichièrs.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = ਸੁਝਾਅ
|
||||
importingFile = ...ਦਰਾਮਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
|
||||
encryptingFile = ...ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
|
||||
decryptingFile = ...ਡਿਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
|
||||
@@ -153,3 +152,4 @@ shareLinkButton = ਲਿੰਕ ਸਾਂਝਾ ਕਰੋ
|
||||
shareMessage = { -send-brand } ਨਾਲ "{ $name }" ਡਾਊਨਲੋਡ ਕਰੋ: ਸੌਖਾ, ਸੁਰੱਖਿਅਤ ਫਾਇਲ ਸਾਂਝਾ ਕਰਨਾ
|
||||
trailheadPromo = ਤੁਹਾਡੀ ਪਰਦੇਦਾਰੀ ਦੀ ਸੁਰੱਖਿਆ ਦਾ ਢੰਗ ਹੈ। ਫਾਇਰਫਾਕਸ ਨਾਲ ਜੁੜੋ।
|
||||
learnMore = ਹੋਰ ਸਿੱਖੋ
|
||||
downloadConfirmTitle = ਇੱਕ ਗੱਲ ਹੋਰ
|
||||
|
||||
4
public/locales/pai/send.ftl
Normal file
4
public/locales/pai/send.ftl
Normal file
@@ -0,0 +1,4 @@
|
||||
siteFeedback = Tkweek uk kabyuwuha
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Wyślij opinię
|
||||
importingFile = Importowanie…
|
||||
encryptingFile = Szyfrowanie…
|
||||
decryptingFile = Odszyfrowywanie…
|
||||
@@ -124,6 +123,7 @@ legalDateStamp = Wersja 1.0 z 12 marca 2019 r.
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d. { $hours } godz. { $minutes } min
|
||||
addFilesButton = Wybierz pliki do wysłania
|
||||
trustWarningMessage = Upewnij się, że ufasz odbiorcy, kiedy udostępniasz prywatne dane.
|
||||
uploadButton = Wyślij
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Przeciągnij pliki
|
||||
@@ -162,3 +162,35 @@ shareLinkButton = Udostępnij odnośnik
|
||||
shareMessage = Pobierz „{ $name }” za pomocą { -send-brand }: prostego i bezpiecznego udostępniania plików
|
||||
trailheadPromo = Jest sposób na ochronę swojej prywatności. Dołącz do Firefoksa.
|
||||
learnMore = Więcej informacji.
|
||||
downloadFlagged = Ten odnośnik został wyłączony z powodu naruszenia warunków korzystania z usługi.
|
||||
downloadConfirmTitle = Jeszcze jedna rzecz
|
||||
downloadConfirmDescription = Upewnij się, że ufasz osobie, która wysłała Ci ten plik, ponieważ nie możemy zweryfikować, czy nie spowoduje on uszkodzenia Twojego urządzenia.
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
downloadTrustCheckbox =
|
||||
{ $count ->
|
||||
[one] Ufam osobie, która wysłała ten plik
|
||||
[few] Ufam osobie, która wysłała te pliki
|
||||
*[many] Ufam osobie, która wysłała te pliki
|
||||
}
|
||||
# This string has a special case for '1' and [other] (default). If necessary for
|
||||
# your language, you can add {$count} to your translations and use the
|
||||
# standard CLDR forms, or only use the form for [other] if both strings should
|
||||
# be identical.
|
||||
reportFile =
|
||||
{ $count ->
|
||||
[one] Zgłoś ten plik jako podejrzany
|
||||
[few] Zgłoś te pliki jako podejrzane
|
||||
*[many] Zgłoś te pliki jako podejrzane
|
||||
}
|
||||
reportDescription = Pomóż nam zrozumieć, co się stało. Co według Ciebie jest nie tak z tymi plikami?
|
||||
reportUnknownDescription = Przejdź do adresu odnośnika, który chcesz zgłosić, i kliknij „{ reportFile }”.
|
||||
reportButton = Zgłoś
|
||||
reportReasonMalware = Te pliki zawierają złośliwe oprogramowanie lub są częścią próby oszustwa.
|
||||
reportReasonPii = Te pliki zawierają informacje umożliwiające identyfikację mojej osoby.
|
||||
reportReasonAbuse = Te pliki zawierają nielegalne lub obraźliwe treści.
|
||||
reportReasonCopyright = Aby zgłosić naruszenie praw autorskich lub znaków towarowych, skorzystaj z procedury opisanej na <a>ten stronie</a>.
|
||||
reportedTitle = Pliki zostały zgłoszone
|
||||
reportedDescription = Dziękujemy. Otrzymaliśmy Twoje zgłoszenie dotyczące tych plików.
|
||||
|
||||
155
public/locales/ppl/send.ftl
Normal file
155
public/locales/ppl/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Shitechnawati
|
||||
importingFile = Mukalaktia nemi…
|
||||
encryptingFile = Tikichtakawiat tinemit…
|
||||
decryptingFile = Tikichtakapuat tinemit…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] temultijtuk
|
||||
*[other] { $num } temultijtuk
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] oraj
|
||||
*[other] { $num } oraj
|
||||
}
|
||||
copiedUrl = Muishkupintuk!
|
||||
unlockInputPlaceholder = Ichtakatajkwilul
|
||||
unlockButtonLabel = Shiktapua
|
||||
downloadButtonLabel = Shiktemulti
|
||||
downloadFinish = Senkiska mutemultij
|
||||
fileSizeProgress = ({ $partialSize } ipal { $totalSize })
|
||||
sendYourFilesLink = Shikejeku Firefox Send
|
||||
errorPageHeader = IJtakawtuk!
|
||||
fileTooBig = Ini tajkwilul sujsul etek pal tiktejkultia. Ma nemi san { $size }.
|
||||
linkExpiredAlt = Ne ilpika pulijtuk
|
||||
notSupportedHeader = Te tikishmatit ne mutachialuni.
|
||||
notSupportedLink = Taika te ankishmatit nutachialuni?
|
||||
notSupportedOutdatedDetail = Ini tamakalis ipal Firefox tesu kimati ne tzawaltekitilis ne kiyulitia Firefox Send. Nemi pal tikyankwilia ne mutachialuni.
|
||||
updateFirefox = Shikyankwili Firefox
|
||||
deletePopupCancel = Shikilwi tesu
|
||||
deleteButtonHover = Shikpulu
|
||||
footerLinkLegal = Ipanpa ne tajtuli
|
||||
footerLinkPrivacy = Teichtakayu
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Ne ichtakatajkwilul tesu yek. Shikejeku uksenpa.
|
||||
javascriptRequired = Firefox Send muneki JavaScript
|
||||
whyJavascript = Taika Firefox Send muneki JavaScript?
|
||||
enableJavascript = Shichiwa ma JavaScript tekiti wan shikejeku uksenpa.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Ne iweyaka ne ichtakatajkwilul muneki: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Te tiweliket tiktaliat ini ichtakataketzalis
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Shiktitani
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Shikmajmaka se tajkwilul, te uij wan ichtaka
|
||||
introDescription = { -send-brand } metzpalewia tikmajmaka se tajkwilul iwan taichtakawilis wan se ilpika puliwi nemanha. Yajika, tikpia muichtakayu pal tikmajmaka wan tesu naka senpa mutajtatka tik matapan.
|
||||
notifyUploadEncryptDone = Ne archivoj nemi ichtakawijtuk wan weli tiktitania
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Puliwi kwak ajsi { $downloadCount } ush { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] { $num } minutoj
|
||||
*[other] { $num } minutoj
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] { $num } tunal
|
||||
*[other] { $num } tunal
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] { $num } semanaj
|
||||
*[other] { $num } semanaj
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] { $num } tajkwilul
|
||||
*[other] { $num } tajkwilul
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Itamachiwka: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Shikishkupina ne ilpika pal tikmajmaka mutajkwilul:
|
||||
copyLinkButton = Shikishkupina ne ilpika
|
||||
downloadTitle = Shiktemulti tajkwilul
|
||||
downloadDescription = Ini tajkwilul kiski itech { -send-brand } iwan taichtakawilis wan se ilpika ka puliwi nemanha.
|
||||
trySendDescription = Shikejeku { -send-brand } wan shiktakuli ichtaka wan te uij.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Semaya se tajkwilul weli pal tiktejkultia sansepa.
|
||||
*[other] Semaya { $count } tajkwilul weli pal tiktejkultia sansepa.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Semaya se amapial weli mutitania.
|
||||
*[other] Semaya { $count } amapial weli mutitania.
|
||||
}
|
||||
expiredTitle = Ne ilpika puliwik.
|
||||
notSupportedDescription = { -send-brand } tesu yawi tekiti iwan ini tachialuni. { -send-short-brand } tekiti sujsul yek iwan ne tipan tamakalis ipal { -firefox }, wan nusan iwan ne tipan tamakalis ipal miak tachialuni.
|
||||
downloadFirefox = Shiktemulti { -firefox }
|
||||
legalTitle = { -send-short-brand } Tanawatilis ipanpa teichtakayu
|
||||
legalDateStamp = Tamakalis 1.0, tik marzoj 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } t { $hours } h { $minutes } m
|
||||
addFilesButton = Shikpejpena ne tajkwilul pal tiktejkultia
|
||||
uploadButton = Shiktejkulti
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Shiktilana wan shikmayawi ne tajkwilul
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = u shikpachu pal tiktitania { $size }
|
||||
addPassword = Shiktajpia iwan ichtakatajkwilul
|
||||
emailPlaceholder = Shiktali mutepusamaw
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Shiktali mutukay pal tiktitania { $size }
|
||||
signInOnlyButton = Shiktali mutukay
|
||||
accountBenefitTitle = Shikchiwa se mutapujka tik { -firefox } ush shiktali mutukay
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Shiktakuli tajtajkwilul ka { $size }
|
||||
accountBenefitDownloadCount = Shiktakuli tajtajkwilul iwan seuk
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Shikpia ne ilpika tapujtuk 1 tunal
|
||||
*[other] Shikpia ne ilpika tapujtuk { $count } tunal
|
||||
}
|
||||
accountBenefitSync = Shiktajpia ne tajkwilul takulijtuk ka kanaj
|
||||
accountBenefitMoz = Shikmati ipanpa ukse { -mozilla } tayekultilis
|
||||
signOut = Shikisa
|
||||
okButton = Yek
|
||||
downloadingTitle = Kitemultia nemi
|
||||
noStreamsWarning = Ini tachialuni anka te weli kichtakapua ini tajkwilul wey.
|
||||
noStreamsOptionCopy = Shikishkupina ne ilpika pal tiktapua tik ukse tachialuni
|
||||
noStreamsOptionFirefox = Shikejeku ne tachialuni tikishwelitat
|
||||
noStreamsOptionDownload = Ma ninemi senpa iwan ini tachialuni
|
||||
downloadFirefoxPromo = Ne yankwik { -firefox } metzwikilia { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Shiktakuli ne ilpika ipal mutajkwilul:
|
||||
shareLinkButton = Shiktakuli ne ilpika
|
||||
# $name is the name of the file
|
||||
shareMessage = Shiktemulti “{ $name }” iwan { -send-brand }: ichtaka wan te uij
|
||||
trailheadPromo = Nemi ken pal tiktajpia ne muichtakayu. Shimuishtuka iwan Firefox.
|
||||
learnMore = Shimumachti ukchupi.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user