Compare commits

..

509 Commits

Author SHA1 Message Date
Danny Coates
c2dd51c638 v3.0.18 2019-09-06 10:40:36 -07:00
Danny Coates
cdd98af86a updated deps 2019-09-06 10:39:42 -07:00
Danny Coates
883f2bc0f9 wait until serviceWorker activate to precache 2019-09-05 19:04:03 -07:00
Danny Coates
94f1eabbc7 v3.0.17 2019-09-05 15:59:42 -07:00
Danny Coates
902bc6628e cache fonts 2019-09-05 15:57:07 -07:00
Danny Coates
460b741f17 clean service worker cache after activate instead of on install 2019-09-05 15:24:26 -07:00
Danny Coates
d5c488196d no-cache harder 2019-09-05 13:33:12 -07:00
Danny Coates
9ad9c9feb2 fixed git hooks 2019-09-05 13:16:32 -07:00
Danny Coates
6576e4a74c added sync-npm-dependencies script and hooks 2019-09-05 08:14:14 -07:00
Danny Coates
950872109e updated deps 2019-09-05 08:11:20 -07:00
Martijn Dekker
87051d27ed Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-09-03 22:52:26 +00:00
Marcelo Ghelman
3451803b37 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-08-29 10:32:02 +00:00
dskmori
ac15153e8f Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-08-28 13:12:29 +00:00
Danny Coates
924f5dc682 disable streaming download on mobile firefox 2019-08-26 10:49:19 -07:00
Danny Coates
ff9be6a213 updated deps 2019-08-26 08:58:34 -07:00
Roberto Alvarado
883728570e Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
- Adolfo Jayme Barrientos <fitoschido@gmail.com>
2019-08-25 05:52:41 +00:00
Adolfo Jayme Barrientos
0435f17f9a Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
- Adolfo Jayme Barrientos <fitoschido@gmail.com>
2019-08-20 16:34:33 +00:00
Danny Coates
1e1268fff0 fixed hebrew fluent variable name 2019-08-19 10:59:35 -07:00
Quế Tùng
252d7817e3 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-08-17 15:53:31 +00:00
Danny Coates
ce28c38ebe v3.0.16 2019-08-12 10:10:07 -07:00
Danny Coates
f0407f9beb use custom configstore that doesn't use the fs 2019-08-12 10:00:57 -07:00
Sahithi
c6f222eb57 Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi@swecha.net>
2019-08-11 08:54:01 +00:00
leo.toneff
6dd6135185 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Firefox Send
Localization authors:
- leo.toneff <leo.toneff@gmail.com>
- Håvar Henriksen <havar@firefox.no>
2019-08-10 16:33:36 +00:00
Danny Coates
8df339b66d v3.0.15 2019-08-09 12:26:09 -07:00
Danny Coates
8702fda651 handle websocket construction exceptions 2019-08-09 11:47:44 -07:00
Danny Coates
807ecff471 updated sentry libs from raven to @sentry 2019-08-09 11:06:21 -07:00
Danny Coates
927c981cd7 added size/time info to up/download error reporting 2019-08-09 10:09:34 -07:00
Danny Coates
7073cc8ce6 added download hang detection and error reporting 2019-08-08 13:54:02 -07:00
Danny Coates
c925fae696 updated deps 2019-08-08 13:01:57 -07:00
Danny Coates
966d7a5e35 create configstore dir in docker container 2019-08-08 10:42:57 -07:00
Danny Coates
96c750c098 added size and duration to connection error reporting 2019-08-08 09:52:22 -07:00
Danny Coates
0729064753 Merge pull request #1378 from mozilla/new-ws
Use resumable uploads to GCS
2019-08-08 08:54:00 -07:00
Joergen
259a5a5f24 Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Joergen <joergenr@stofanet.dk>
2019-08-08 14:02:32 +00:00
Danny Coates
27be72e0cd refactored client side upload loop 2019-08-07 13:51:23 -07:00
Danny Coates
e4231bbc0f updated deps 2019-08-07 13:47:26 -07:00
Danny Coates
1d184f06bf revert webpack for broken css extraction 2019-08-07 12:14:27 -07:00
Quentí
f7b46a99ac Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 18:12:20 +00:00
Quentí
3fadb489c7 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 17:13:10 +00:00
Danny Coates
6378676c2d use resumable uploads to GCS 2019-08-07 10:10:42 -07:00
Quentí
014d84e4c7 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 16:54:33 +00:00
Quentí
a08d8435a9 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 07:12:56 +00:00
Quentí
40a05c9ecf Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 06:52:27 +00:00
Danny Coates
527040afef updated ws dependency and slightly improved client side error handling, hung uploads will error instead of hang forever 2019-08-06 14:47:21 -07:00
Michal Stanke
a48a447808 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-08-06 12:14:20 +00:00
julen
f3569d7f98 Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- julen <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-08-05 08:52:40 +00:00
صفا الفليج
6ca7d11efb Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-08-05 08:52:37 +00:00
julen
b71ae4a0ff Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
- julen <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-08-05 08:34:11 +00:00
Aman Alam
7ba25664b5 Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-08-05 00:52:41 +00:00
Danny Coates
80fb42ad3d v3.0.14 2019-08-02 12:13:39 -07:00
Danny Coates
f036df5f47 updated eslint config 2019-08-02 12:03:53 -07:00
Danny Coates
20c063db7c fixed logged error in integration tests 2019-08-02 11:26:52 -07:00
Danny Coates
a6b43c9eef v3.0.13 2019-07-29 16:24:48 -07:00
Danny Coates
c80f9ada65 updated deps 2019-07-29 15:26:11 -07:00
aefgh39622
e0ae5cb3c6 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-28 12:12:35 +00:00
Марко Костић (Marko Kostić)
c0fb3d17be Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-07-24 21:52:22 +00:00
Ратко Вујановић
116f090b7e Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
- Ратко Вујановић <arheopterics@gmail.com>
- Isidora Barad Dur <barad.dur@yahoo.com>
2019-07-23 19:52:46 +00:00
Danny Coates
7cbd9716e2 updated deps 2019-07-23 10:30:43 -07:00
Danny Coates
58191975b9 stubbed /login page for redirect base login flow 2019-07-23 09:27:34 -07:00
Anesu Chiodza
76695aee5d Pontoon: Update Shona (sn) localization of Firefox Send
Localization authors:
- Anesu Chiodza <anesuchiodza@gmail.com>
2019-07-16 17:31:47 +00:00
Anesu Chiodza
b356b4cad3 Pontoon: Update Shona (sn) localization of Firefox Send
Localization authors:
- Anesu Chiodza <anesuchiodza@gmail.com>
2019-07-16 17:11:53 +00:00
m4hdi.pdroid
63ddbeefc4 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- m4hdi.pdroid <m4hdi.pdroid@gmail.com>
- Amin Mahmudian <amin.mahmudian@gmail.com>
2019-07-14 18:31:39 +00:00
Belayet Hossain
7b423b24b6 Pontoon: Update Bengali (bn) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-07-13 18:31:39 +00:00
Belayet Hossain
b67050b742 Pontoon: Update Bengali (bn) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-07-13 18:11:35 +00:00
rgpublic
06242dfd38 Add deployment instructions (#1366) 2019-07-12 10:07:24 -04:00
Danny Coates
3b8dbfd81c npm run format 2019-07-11 10:47:42 -07:00
Danny Coates
9c2fe39764 updated deps 2019-07-11 10:46:07 -07:00
Danny Coates
8b21d43bfa Merge pull request #1363 from flodolo/bengali
Rename bn-BD as bn
2019-07-10 09:54:32 -07:00
Francesco Lodolo [:flod]
e7e39f4d4a Rename bn-BD as bn 2019-07-10 06:52:22 +02:00
Top
e4c801d9a1 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
- Top <teerapatxtop@yahoo.com>
2019-07-08 16:12:27 +00:00
Cristian Silaghi
324f275dd4 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-07-08 15:31:49 +00:00
Pin-guang Chen
594e0bd28e Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-07-08 14:12:25 +00:00
aefgh39622
6a7fdfe780 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-08 13:51:49 +00:00
aefgh39622
0c82741b98 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-08 13:33:33 +00:00
aefgh39622
fe57734792 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-08 13:12:28 +00:00
Top
4754bed9b8 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- Top <teerapatxtop@yahoo.com>
2019-07-07 18:52:25 +00:00
aefgh39622
a60da467b9 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-07 15:53:12 +00:00
Tomer Cohen
362da2bbfc Pontoon: Update Hebrew (he) localization of Firefox Send
Localization authors:
- Tomer Cohen <tomer.mozilla@tomercohen.com>
2019-07-05 18:54:16 +00:00
ItielMaN
1a9ef4a246 Pontoon: Update Hebrew (he) localization of Firefox Send
Localization authors:
- ItielMaN <itiel_yn8@walla.com>
- Yaron Shahrabani <sh.yaron@gmail.com>
- Tomer Cohen <tomer.mozilla@tomercohen.com>
2019-07-05 16:52:35 +00:00
Marcelo Ghelman
f51dbbb8f5 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-07-04 21:32:59 +00:00
Cristian Silaghi
e497107e59 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-07-02 09:32:42 +00:00
sergio
10ad6fc1ae Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- sergio <sergio+it@outerface.net>
2019-07-01 12:32:41 +00:00
Christian Elbrianno
c982db4c75 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Christian Elbrianno <christian.elbrianno41@gmail.com>
- Ringgo <armen.ringgo@yahoo.de>
2019-06-30 04:52:51 +00:00
Cristian Silaghi
cd8130563d Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-27 12:58:48 +00:00
Cristian Silaghi
730a569d43 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-26 13:33:36 +00:00
kumincir
769dae1bdc Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- kumincir <ia.adnan@gmail.com>
2019-06-26 02:33:06 +00:00
Cristian Silaghi
54a8c504ce Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-24 15:33:56 +00:00
robbp
92dc9a0f71 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-06-23 05:17:32 +00:00
Besnik Bleta
80a7c92056 Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
2019-06-21 11:52:47 +00:00
p.sanroman.bengoetxea
c6ebea0100 Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
2019-06-18 12:35:09 +00:00
mail
039b5daaed Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- mail <mail@kyg.kr>
2019-06-18 06:31:42 +00:00
Marcelo Ghelman
4bf4e61c2c Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-06-17 18:13:25 +00:00
Cristian Silaghi
3c21e2a00f Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-17 13:13:34 +00:00
Cristian Silaghi
38a379d1de Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-16 20:11:54 +00:00
Sahithi
adeb19d974 Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi.thinker@gmail.com>
2019-06-16 10:53:05 +00:00
Sahithi
744c410704 Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi.thinker@gmail.com>
2019-06-16 10:32:18 +00:00
Sahithi
99ab3882eb Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi.thinker@gmail.com>
2019-06-16 10:13:18 +00:00
Danny Coates
7cdf566bcd updated deps 2019-06-14 11:58:39 -07:00
Danny Coates
b6e4877d93 Merge pull request #1352 from mozilla/tailwind-1
updated tailwindcss to 1.0
2019-06-14 11:45:10 -07:00
Danny Coates
b9c87fd779 updated tailwindcss to 1.0 2019-06-14 11:37:30 -07:00
Joe ST
6ef5b5133c Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Send
Localization authors:
- Joe ST <joe@fbstj.net>
2019-06-14 16:39:06 +00:00
Yassine Aït-El-Mouden
b7d2420765 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
- Brahim Essaidi <Essaidib2@gmail.com>
2019-06-14 12:33:45 +00:00
Artem Polivanchuk
c139531c91 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-06-14 09:14:39 +00:00
Muhend Belkacem
88fe3902bc Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2019-06-14 08:52:19 +00:00
Muhend Belkacem
645fd062ac Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2019-06-13 23:51:58 +00:00
Uccen Marzuq
ccb0b71df5 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Uccen Marzuq <merzouk.ouchene@laposte.net>
2019-06-13 21:52:28 +00:00
Muhend Belkacem
b8ec90a398 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2019-06-13 20:51:59 +00:00
marsf
7ed5f37c66 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- marsf <chimantaea_mirabilis@yahoo.co.jp>
2019-06-13 10:32:28 +00:00
Victor Bychek
c899129f9a Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- Victor Bychek <a@bychek.ru>
2019-06-12 12:34:13 +00:00
Hyeonseok Shin
1bb91690c5 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- Jonathan Joseph Chiarella <jonathan.chiarella@gmail.com>
2019-06-12 03:12:53 +00:00
Mikeyy
073f6f67d3 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Mikeyy <mihovil@miho.im>
2019-06-10 19:54:19 +00:00
Danny Coates
533bfdb496 updated deps 2019-06-06 18:01:57 -07:00
Paulius
34de65d7d2 Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Paulius <paulius@mozilla.lt>
2019-06-06 13:13:09 +00:00
Danny Coates
209fdf34f8 Merge pull request #1348 from georapbox/issue-1332
Fixes blurry Sign in button when hovered
2019-06-05 09:33:53 -07:00
Brahim Essaidi
ba5c2a049d Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Brahim Essaidi <Essaidib2@gmail.com>
2019-06-05 11:33:42 +00:00
George Raptis
1528aa3f1b Fixes blurry Sign in button when hovered 2019-06-05 11:58:11 +03:00
Danny Coates
b1f1b9bd19 v3.0.12 2019-06-03 13:20:37 -07:00
Fjoerfoks
2963b2fc05 Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-06-03 12:16:57 +00:00
Gwenn
e4f9cfa023 Pontoon: Update Breton (br) localization of Firefox Send
Localization authors:
- Gwenn <tornoz@laposte.net>
2019-06-03 12:16:54 +00:00
Mark Heijl
09e961219d Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-06-03 11:52:36 +00:00
Gwenn
b36a5f6973 Pontoon: Update Breton (br) localization of Firefox Send
Localization authors:
- Gwenn <tornoz@laposte.net>
2019-06-03 11:52:34 +00:00
Cristian Silaghi
1a36dc084e Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-03 10:53:39 +00:00
Björn I
c66347b3da Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-06-03 07:12:53 +00:00
Björn I
a7d0551509 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-06-03 03:32:42 +00:00
Björn I
f6f6324aa1 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-06-03 02:51:33 +00:00
Marcelo Poli
a24597695b Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2019-06-02 19:11:41 +00:00
ravmn
706ac638da Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2019-06-01 23:32:20 +00:00
Selim Şumlu
d66d08f0ed Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-06-01 23:12:28 +00:00
Michael Wolf
ab9af7fd9b Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-06-01 18:51:55 +00:00
Jiri Grönroos
466a087689 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-06-01 05:53:37 +00:00
Piotr Drąg
71956739f8 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-05-31 18:13:10 +00:00
Danny Coates
62689b9556 Merge pull request #1344 from mozilla/update-promo-banner
tweak promo banner to match spec'
2019-05-31 09:23:51 -07:00
Danny Coates
7d1b8e002f a couple promo style tweaks 2019-05-31 09:18:20 -07:00
Slimane Selyan AMIRI
8c535ce50d Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-05-31 14:32:26 +00:00
John Gruen
a3bdcd8478 tweak promo banner to match spec' 2019-05-31 13:48:32 +02:00
Jim Spentzos
1e77d86e8a Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-05-31 04:12:41 +00:00
Jim Spentzos
1af01b1ee3 Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-05-31 03:51:26 +00:00
Balázs Meskó
eb1bcde37f Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-05-30 11:31:25 +00:00
avelper
8def910d61 Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
2019-05-30 11:11:30 +00:00
Quế Tùng
5892532d03 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-05-30 10:16:41 +00:00
Rhoslyn Prys
8ede5cf05c Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-05-30 08:12:25 +00:00
Danny Coates
7213fef7c3 updated deps 2019-05-29 19:27:47 -07:00
Danny Coates
d3e9bb09df trailhead promo 2019-05-29 19:27:47 -07:00
Michael Wolf
2682aec90d Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-05-29 21:12:41 +00:00
Rodrigo
0ea89a58b0 Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-05-29 21:12:39 +00:00
Marcelo Ghelman
2a2a3ad21f Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-05-29 20:52:57 +00:00
yusup.ramdani
36c73bae7b Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-29 18:51:34 +00:00
Danny Coates
f5116cee29 v3.0.11 2019-05-29 10:16:56 -07:00
Danny Coates
72ab5bdbf3 revert master logo until june 3rd 2019-05-29 10:05:31 -07:00
Michal Stanke
94f0b928ae Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-05-29 16:33:34 +00:00
G12r
5e14a0b45a Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-05-29 16:14:08 +00:00
Andreas Pettersson
84a382af77 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-05-29 15:51:45 +00:00
Pin-guang Chen
8680dc6b3c Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-05-29 15:31:43 +00:00
passionforlife
cf787eef9f Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-05-29 15:31:41 +00:00
Juraj Cigáň
a5dffdba14 Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-05-29 15:11:44 +00:00
Rok Žerdin
2dcc3730d9 Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-05-29 14:57:31 +00:00
Francesco Lodolo
3fb3f6f77f Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Francesco Lodolo <flod+pontoon@mozilla.com>
2019-05-29 14:57:28 +00:00
Melo46
0a4a9f674d Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-05-29 14:57:26 +00:00
Francesco Lodolo
7e2e171f83 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Francesco Lodolo <flod+pontoon@mozilla.com>
2019-05-29 14:57:23 +00:00
Théo Chevalier
a64bb4ac8b Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2019-05-29 14:57:20 +00:00
Kohei Yoshino
acab58ca1e Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-05-29 14:57:18 +00:00
clouserw-mozilla-owner
10ed88fa40 Merge pull request #1341 from mozilla/trailhead
added master logo and trailhead strings
2019-05-29 07:20:04 -07:00
Danny Coates
9b2a7dfcd7 added master logo and trailhead strings 2019-05-28 18:54:33 -07:00
Danny Coates
517f51f4f0 added line-break: anywhere; fixes #1326 2019-05-28 15:08:58 -07:00
Danny Coates
73735010ae set account ui state on createElement. fixes #1325 2019-05-28 14:54:58 -07:00
صفا الفليج
72497b77b2 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-05-27 18:34:16 +00:00
صفا الفليج
7c4a00ecd1 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-05-27 18:11:26 +00:00
صفا الفليج
d96cb1aec4 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
- mohamedstarwars <mohamedstarwars@gmail.com>
2019-05-27 17:57:15 +00:00
Piotr Drąg
fc99ed584f Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
- Paweł <bauerp@bauerp.info>
2019-05-27 10:32:12 +00:00
Piotr Drąg
da1ffe581b Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-05-27 10:11:35 +00:00
robbp
6cbbbab691 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-05-26 04:32:02 +00:00
yusup.ramdani
b91bd2b859 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-24 09:12:50 +00:00
yusup.ramdani
14ae124ca8 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 12:33:33 +00:00
yusup.ramdani
3bd087a66d Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 12:12:42 +00:00
yusup.ramdani
57e9fbcd26 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 11:52:14 +00:00
yusup.ramdani
bd42445a98 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 11:33:33 +00:00
yusup.ramdani
0e1027544c Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 10:56:55 +00:00
yusup.ramdani
c7532f3f4a Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 10:13:53 +00:00
yusup.ramdani
97e861f050 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 09:52:40 +00:00
marsf
9f3adbf6ad Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- marsf <chimantaea_mirabilis@yahoo.co.jp>
2019-05-21 01:52:19 +00:00
Rhoslyn Prys
7b4c42a56f Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-05-18 09:32:44 +00:00
Jim Spentzos
0f763ca4ec Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-05-17 11:33:35 +00:00
robbp
97164a4b08 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-05-17 10:33:18 +00:00
Besnik Bleta
ee8baff557 Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
2019-05-13 09:53:37 +00:00
Aman Alam
637a6d86fb Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-11 06:53:49 +00:00
Aman Alam
f8f200cbcd Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-10 14:13:11 +00:00
Aman Alam
0e4b9f425f Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-10 07:13:45 +00:00
Aman Alam
eb4a2c9f02 Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-10 06:52:40 +00:00
Aman Alam
55f3abaa1b Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-09 02:34:32 +00:00
Merike Sell
bb1ee80c34 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-07 20:34:14 +00:00
Merike Sell
f9edf196a2 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-07 20:15:43 +00:00
Artem Polivanchuk
9bebab3f66 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-05-07 08:32:45 +00:00
Merike Sell
e9bf6e235b Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-06 20:12:30 +00:00
Merike Sell
88a3dc94d5 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-06 19:52:42 +00:00
Paulius
d7143ab63a Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Paulius <paulius@mozilla.lt>
2019-05-05 15:32:35 +00:00
Selim Şumlu
b340969cc1 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-05-05 13:11:33 +00:00
Mikeyy
ce0bf26b9e Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Mikeyy <mihovil@miho.im>
2019-05-05 08:52:14 +00:00
jlG
193f43ac9d Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- jlG <jlg.l10n.es@gmail.com>
2019-05-04 17:52:19 +00:00
Jordi Serratosa
e376f978a2 Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-05-04 16:32:48 +00:00
Juraj Cigáň
bd93fb66a5 Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-05-04 10:31:59 +00:00
Davide
fc79233ade Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Davide <dvd.forty@gmail.com>
2019-05-04 08:52:50 +00:00
Danny Coates
8263a9eaa9 updated deps 2019-05-03 17:04:26 -07:00
Juan Sián
5d02f47e41 Pontoon: Update Kaqchikel (cak) localization of Firefox Send
Localization authors:
- Juan Sián <ajtzibsyan@yahoo.com>
2019-05-03 22:52:31 +00:00
Danny Coates
23ecb632eb added signin button color experiment. closes #1306 (#1320) 2019-05-03 13:10:56 -04:00
Danny Coates
b82177dc44 Merge pull request #1324 from mozilla/style-tweaks-for-trailhead
tweak some styles for trailhead
2019-05-03 09:59:44 -07:00
John Gruen
51296d5489 tweak some styles for trailhead 2019-05-03 18:45:36 +02:00
Danny Coates
f603f40f43 added agent to server metrics (#1321) 2019-05-03 12:25:12 -04:00
Rok Žerdin
19ac0480ee Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-05-03 12:54:00 +00:00
Jakob Kappel
7d43f4f145 Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Jakob Kappel <jakobkpetersen@gmail.com>
2019-05-03 07:13:17 +00:00
Danny Coates
8f17c86611 Merge pull request #1322 from hugomiguelabreu/master
Defined retry_strategy for redis. Closes #1292
2019-05-02 15:05:35 -07:00
Hugo Abreu
f517c514d8 Defined retry_strategy for redis. Closes #1292 2019-05-02 21:56:28 +01:00
Jiri Grönroos
e2d9c0acca Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
- Lasse Liehu <lasse.liehu@iki.fi>
2019-05-02 20:52:02 +00:00
Gabriela
c3221bddf2 Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Send
Localization authors:
- Gabriela <gmontagu@gmail.com>
2019-05-02 18:32:26 +00:00
goofy
5ac10a2057 Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- goofy <goofy@babelzilla.org>
2019-05-02 18:12:16 +00:00
Théo Chevalier
85ce14a991 Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2019-05-02 17:11:17 +00:00
Rhoslyn Prys
2594581965 Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-05-02 16:12:37 +00:00
Balázs Meskó
1a3968476a Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-05-02 15:33:15 +00:00
Ian Neal
281abfc79b Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Send
Localization authors:
- Ian Neal <iann_bugzilla@blueyonder.co.uk>
2019-05-02 15:33:12 +00:00
Fauzan Alfi
6dd4a92467 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Fauzan Alfi <fauzanalfi@mozilla.web.id>
2019-05-02 14:32:29 +00:00
Alexander Slovesnik
9614c119aa Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- Alexander Slovesnik <unghost@mozilla-russia.org>
2019-05-02 12:53:09 +00:00
ജോയ്സ്
1e1c21a45a Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- ജോയ്സ് <joicefootball@gmail.com>
2019-05-02 12:53:04 +00:00
Fjoerfoks
8cff6f9441 Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-05-02 11:11:24 +00:00
Mark Heijl
23c2a61567 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-05-02 11:11:22 +00:00
Piotr Drąg
903cb9cc49 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-05-02 09:52:00 +00:00
Quế Tùng
d4901662f8 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-05-02 05:12:13 +00:00
passionforlife
686197be61 Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-05-02 02:52:26 +00:00
Pin-guang Chen
dd848f19b4 Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-05-02 02:32:08 +00:00
Kohei Yoshino
a7d1607cb3 Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-05-02 01:32:27 +00:00
ravmn
508e252067 Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2019-05-02 00:31:50 +00:00
Pedro Burlamaqui Bendahan
2cf409ca11 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
- Pedro Burlamaqui Bendahan <pregomoraes2@gmail.com>
2019-05-02 00:31:47 +00:00
G12r
3f0fac738a Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-05-01 22:32:09 +00:00
Hugo
9bd14a17f9 Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Hugo <hugo.miguel.abreu@gmail.com>
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-05-01 21:11:55 +00:00
Mark Heijl
4505296b35 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-05-01 18:52:22 +00:00
Björn I
5a91ba47c6 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-05-01 18:32:10 +00:00
Michael Wolf
b82e2efd33 Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-05-01 18:11:50 +00:00
Michael Wolf
284676d956 Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-05-01 18:11:47 +00:00
Melo46
d91edcb653 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-05-01 18:11:45 +00:00
Melo46
9ffc792dec Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-05-01 17:51:15 +00:00
Michal Stanke
7d3973a5e4 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-05-01 17:51:12 +00:00
Michael Köhler
ffc0d57576 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2019-05-01 17:32:21 +00:00
Andreas Pettersson
f28ee8ab78 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-05-01 17:11:35 +00:00
Rok Žerdin
6b02a2167c Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-05-01 17:11:32 +00:00
Théo Chevalier
c9b9c338d7 Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2019-05-01 16:52:18 +00:00
Joe Becher
d22d54dee0 Rename circle.yml to .circleci/config.yml
Corrected config filename and path. This should get it building correctly on CircleCI
2019-05-01 09:50:52 -07:00
Danny Coates
20b9279eec added survey dialog. closes #1307 2019-05-01 09:47:04 -07:00
Hugo Abreu
ce4157ac08 Fixed inactive scroll bar. Closes #1303 (#1317)
* Fixed inactive scroll bar. Closes #1303

* Changed Sign in button string. Closes #1309

* Changed button string id

* Reverted en-CA and en-GB changes
2019-05-01 09:39:29 -07:00
Selim Şumlu
3c74d9958f Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-05-01 13:11:39 +00:00
Jiri Grönroos
569d110f6e Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-04-30 22:32:24 +00:00
Jim Spentzos
e69c91b5eb Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-04-29 22:13:44 +00:00
Sav22999
2477b6cde8 Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Sav22999 <saverio.morelli@outlook.it>
2019-04-29 20:55:16 +00:00
Cristian Silaghi
8cf42a2711 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-04-29 18:33:38 +00:00
Björn I
5207c3fb15 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-04-29 14:12:34 +00:00
Fjoerfoks
a166f98b66 Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-04-29 13:12:49 +00:00
Michael Wolf
d572c44dd0 Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-04-28 16:32:08 +00:00
Artem Polivanchuk
9286140b15 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-04-28 15:39:10 +00:00
Fjoerfoks
0b738bc152 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-04-28 15:10:58 +00:00
Paulius
f06ddfd888 Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Paulius <paulius@mozilla.lt>
2019-04-28 08:51:50 +00:00
avelper
f10ed62310 Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
2019-04-28 08:32:19 +00:00
Melo46
a5c05daac5 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-04-28 03:52:37 +00:00
ravmn
a84ce0b0cf Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2019-04-28 00:32:28 +00:00
Marcelo Ghelman
adecddae77 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-04-27 23:11:59 +00:00
Joergen
927706d67c Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Joergen <joergenr@stofanet.dk>
2019-04-27 21:32:13 +00:00
Victor Bychek
e70c883673 Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- Victor Bychek <a@bychek.ru>
2019-04-27 19:11:49 +00:00
Anish Sheela
09f583c569 Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- Anish Sheela <aneesh.nl@gmail.com>
2019-04-27 16:31:52 +00:00
Balázs Meskó
6e676404a0 Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-04-27 16:11:59 +00:00
Piotr Drąg
daa70a61eb Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-04-27 14:31:17 +00:00
G12r
2ed4ad6772 Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-04-27 13:11:15 +00:00
Fauzan Alfi
f0a42c5c07 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Fauzan Alfi <fauzanalfi@mozilla.web.id>
2019-04-27 10:31:33 +00:00
Michal Stanke
02174c3245 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-04-27 09:52:02 +00:00
Rhoslyn Prys
8a148747bd Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-04-27 09:11:31 +00:00
Lan Glad
66750ca9ff Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Lan Glad <upwinxp@gmail.com>
2019-04-27 08:51:40 +00:00
Andreas Pettersson
e84ec0fcb3 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-04-27 07:51:40 +00:00
Michael Köhler
39edee306e Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2019-04-27 07:11:14 +00:00
Quế Tùng
464fdc9873 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-04-27 06:12:24 +00:00
Luna Jernberg
38ef8db3f1 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Luna Jernberg <bittin@cafe8bitar.se>
2019-04-27 05:52:05 +00:00
Pin-guang Chen
3fee10c890 Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-04-27 04:31:27 +00:00
passionforlife
3a35b2ae2a Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-04-27 01:11:24 +00:00
passionforlife
cff4227132 Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-04-26 23:32:24 +00:00
Rodrigo
b01dbdc119 Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-04-26 22:31:51 +00:00
Michael Wolf
62603f095e Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-04-26 19:12:14 +00:00
Juraj Cigáň
1e95a9122e Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-04-26 19:12:11 +00:00
Kohei Yoshino
308fd0cdcb Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-04-26 19:12:08 +00:00
Danny Coates
a4e8c0b4a3 Merge pull request #1310 from mozilla/updates
added promo string to ftl & updated deps
2019-04-26 11:49:10 -07:00
Danny Coates
e7964c03ed added promo string to ftl & updated deps 2019-04-26 11:41:34 -07:00
Romi Hardiyanto
c800257678 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Romi Hardiyanto <romihardiyanto@gmail.com>
2019-04-25 08:11:59 +00:00
Melo46
89a3c984e7 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-04-21 07:31:53 +00:00
Anish Sheela
05d32ef9d7 Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- Anish Sheela <aneesh.nl@gmail.com>
2019-04-20 12:31:50 +00:00
mujeebcpy
a2ec22a4e0 Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- mujeebcpy <mujeebcpy@gmail.com>
- Anish Sheela <aneesh.nl@gmail.com>
- Kiran Johns <kiranjohns101@gmail.com>
2019-04-20 12:11:08 +00:00
Balasankar C
7ae676ce8a Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- mujeebcpy <mujeebcpy@gmail.com>
- Balasankar C <balasankarc@autistici.org>
- Kiran Johns <kiranjohns101@gmail.com>
2019-04-20 09:52:12 +00:00
Balasankar C
b0c2c329e2 Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- Balasankar C <balasankarc@autistici.org>
- Kiran Johns <kiranjohns101@gmail.com>
2019-04-20 09:36:13 +00:00
Balasankar C
9c423bb435 Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- Balasankar C <balasankarc@autistici.org>
2019-04-20 09:11:59 +00:00
Balasankar C
3cb6952d68 Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- Balasankar C <balasankarc@autistici.org>
2019-04-20 08:51:47 +00:00
Danny Coates
147ed4c736 Merge pull request #1299 from slootjes/master
Prevent possible download counter race condition
2019-04-19 10:37:58 -07:00
Robert
f94918bebd Prevent possible download counter race condition 2019-04-19 13:10:49 +02:00
ivan.pompa
ee45a835be Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- ivan.pompa <ivan.pompa@gmail.com>
2019-04-18 16:12:33 +00:00
Hyeonseok Shin
26ad1b8763 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- Native <nativehyun@gmail.com>
- 종이상자 <lego37yoon@outlook.com>
2019-04-18 01:53:10 +00:00
Danny Coates
8b798ce36c v3.0.10 2019-04-17 09:36:34 -07:00
Danny Coates
894ad6cb08 added locales to production 2019-04-17 09:35:50 -07:00
Danny Coates
98c4bd0f50 updated deps 2019-04-17 09:27:50 -07:00
Hyeonseok Shin
898d152810 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- 종이상자 <lego37yoon@outlook.com>
2019-04-14 11:11:25 +00:00
Melo46
9c588ed008 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-04-13 22:51:32 +00:00
Danny Coates
1da7e1c112 added overflow-hidden to file input element. fixes #1295 2019-04-11 11:08:48 -07:00
Danny Coates
19d1f8cf80 updated deps 2019-04-11 11:05:40 -07:00
Danny Coates
29f243fdda removed old encryption key implementation 2019-04-11 10:24:29 -07:00
Lasse Liehu
bd58022b08 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Lasse Liehu <lasse.liehu@iki.fi>
2019-04-07 19:52:22 +00:00
Jim Spentzos
a6fa2c642c Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
- merianosnikos <merianosnikos@gmail.com>
2019-04-06 04:53:54 +00:00
Danny Coates
890642fcff Merge pull request #1291 from mozilla/reject-loading-unexpected-urls
Fix #1283 Prevent loading any pages other than our file:/// url resou…
2019-04-05 10:57:03 -07:00
Donovan Preston
74ecb598d2 Fix #1283 Prevent loading any pages other than our file:/// url resources and accounts.firefox.com in the webview
Also, remove debug logs.
2019-04-05 12:18:22 -04:00
Christoph Kührer
48b5d85904 Cleanup Android project (Minor refactorings, etc.) (#1244)
* (Android) Get rid of double bangs by using Kotlin view binding

Instead of holding a nullable reference to the WebView, we are now
accessing the WebView using the view binding utility of Kotlin's
Android Extensions.

Further reading:
https://kotlinlang.org/docs/tutorials/android-plugin.html

* (Android) Enable WebView debugging in debug builds

This enables debugging the app's WebView using Chrome's DevTools.
https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews

* (Android) Make MainActivity.kt adhere to common Kotlin conventions

* (Android) Update dependencies and improve formatting of Gradle files

This updates the Kotlin plugin to 1.3.21 and the Gradle plugin to 3.3.2

* (Android) Remove unnecessary ConstraintLayout container

Layout files should generally have as few nested layers as possible,
because every layer affects the performance.

* (Android) Use JSONObject class to construct a JSON string

It is way safer to construct a JSON string using classes that are
meant for doing that, instead of concatenating raw strings.

* (Android) Suppress JavaScript lint warning

* (Android) Use Kotlin string templates instead of concatenating strings

* (Android) Add missing SuppressLint import
2019-04-04 15:25:25 -04:00
Danny Coates
373da3f090 Merge pull request #1290 from mozilla/call-setTranslate-on-android
Call setTranslate on android.
2019-04-04 11:55:55 -07:00
Donovan Preston
4a69ccbe51 Call setTranslate on android. 2019-04-04 14:49:01 -04:00
John Gruen
4c1496e1cd Merge pull request #1288 from SuriyaaKudoIsc/patch-1
Replace title with Firefox Send logo
2019-04-04 19:52:06 +02:00
Danny Coates
0a243dfb52 Merge pull request #1287 from Mozilla-GitHub-Standards/master
Add Mozilla Code of Conduct
2019-04-04 10:17:59 -07:00
Jim Spentzos
79bd847042 Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
- merianosnikos <merianosnikos@gmail.com>
2019-04-03 16:11:43 +00:00
Luis A. Sánchez
2fe5cad9d5 Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Luis A. Sánchez <lasr21@gmail.com>
2019-04-03 15:11:35 +00:00
Hyeonseok Shin
fbde75fd66 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- Native <nativehyun@gmail.com>
2019-04-03 02:32:28 +00:00
Hyeonseok Shin
24167161b1 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- Native <nativehyun@gmail.com>
2019-04-03 02:12:51 +00:00
Slimane Selyan AMIRI
eda132832f Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-04-02 13:51:12 +00:00
Yassine Aït-El-Mouden
4839ff3584 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-04-01 14:31:32 +00:00
Yassine Aït-El-Mouden
de2d11cc59 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-04-01 14:11:22 +00:00
Yassine Aït-El-Mouden
95779b3243 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-04-01 13:51:31 +00:00
Danny Coates
7f76a279c3 fixed L10N_DEV option 2019-03-31 13:04:16 -07:00
Danny Coates
219b1d6806 updated deps 2019-03-31 13:04:16 -07:00
Danny Coates
efea0e5ab0 added gravatar to CSP image-src 2019-03-31 13:04:15 -07:00
Danny Coates
5d19a9d696 fixed dev android for longer file ids 2019-03-31 13:04:15 -07:00
Yassine Aït-El-Mouden
17a12e3194 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-31 01:51:33 +00:00
Yassine Aït-El-Mouden
b71265b0c5 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-31 01:11:08 +00:00
Yassine Aït-El-Mouden
4a62048d64 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 22:51:45 +00:00
Suriyaa ✌️️
acd48cc2f5 Replace title with Firefox Send logo 2019-03-30 15:47:34 +01:00
Yassine Aït-El-Mouden
364778c516 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 14:31:41 +00:00
Yassine Aït-El-Mouden
d7ca9b4f84 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 14:11:54 +00:00
Andreas Pettersson
b6350c787a Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-03-30 08:31:18 +00:00
Mozilla-GitHub-Standards
ee8a672873 Add Mozilla Code of Conduct file
Fixes #1286.

_(Message COC002)_
2019-03-29 23:15:18 -07:00
Yassine Aït-El-Mouden
67b812a538 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 00:31:45 +00:00
Yassine Aït-El-Mouden
c811cbd34e Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 00:12:12 +00:00
Slimane Selyan AMIRI
2ed09d1fda Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-29 21:51:42 +00:00
Slimane Selyan AMIRI
557ecb196d Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-29 21:31:36 +00:00
Slimane Selyan AMIRI
88e8a234d6 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-29 21:12:23 +00:00
Jiri Grönroos
34eb0fce2a Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-03-29 20:11:21 +00:00
Yassine Aït-El-Mouden
995054a2cb Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 12:51:50 +00:00
Yassine Aït-El-Mouden
e70161bfb0 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 12:31:36 +00:00
Yassine Aït-El-Mouden
ebf62761bc Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 11:51:17 +00:00
Yassine Aït-El-Mouden
cf08b03a6b Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 11:31:59 +00:00
Besnik Bleta
f3be26d5f5 Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
2019-03-29 11:31:56 +00:00
Yassine Aït-El-Mouden
03c68b0c58 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 11:11:32 +00:00
Besnik Bleta
59d460e80b Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
- wanzhi09 <wanzhi09@gmail.com>
2019-03-29 11:11:30 +00:00
Yassine Aït-El-Mouden
87f947c31d Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 00:31:36 +00:00
Yassine Aït-El-Mouden
7ff0a7654c Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 00:12:13 +00:00
Yassine Aït-El-Mouden
9f829e8467 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 23:51:35 +00:00
Yassine Aït-El-Mouden
b68762da50 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 23:31:33 +00:00
Yassine Aït-El-Mouden
caef279fed Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 23:12:45 +00:00
Yassine Aït-El-Mouden
0dfda7c610 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 18:32:35 +00:00
Yassine Aït-El-Mouden
5c2d9d8673 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 18:11:59 +00:00
Slimane Selyan AMIRI
be51ae7ac9 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-28 14:11:15 +00:00
Ian Neal
1ba6aceb1f Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Send
Localization authors:
- Ian Neal <iann_bugzilla@blueyonder.co.uk>
2019-03-28 09:51:43 +00:00
Jiri Grönroos
0a3c3d8c51 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
- Lasse Liehu <lasse.liehu@iki.fi>
2019-03-27 22:51:33 +00:00
Danny Coates
38aa460a03 v3.0.9 2019-03-26 10:27:25 -07:00
Danny Coates
58b7a17680 fixed isFile for extended file id size 2019-03-26 09:58:04 -07:00
Danny Coates
1ce115c3e9 updated prod locales 2019-03-26 09:45:35 -07:00
Danny Coates
8cf3b89f91 increase file id to 8 bytes 2019-03-26 09:32:44 -07:00
p.sanroman.bengoetxea
eced5be836 Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
- julenx <julenx@gmail.com>
2019-03-24 20:51:38 +00:00
Jiri Grönroos
bb4fa0a75c Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-03-24 18:51:18 +00:00
Jiri Grönroos
98b62cd1c2 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-03-24 18:12:07 +00:00
Jim Spentzos
62461f50a5 Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
- merianosnikos <merianosnikos@gmail.com>
2019-03-24 16:51:52 +00:00
Марко Костић (Marko Kostić)
1be87a531c Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 12:12:06 +00:00
Марко Костић (Marko Kostić)
f70caf814b Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 11:51:41 +00:00
Марко Костић (Marko Kostić)
a9595e501d Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 11:31:53 +00:00
Melo46
40814207ee Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-24 10:11:26 +00:00
Марко Костић (Marko Kostić)
1970a88ece Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 09:51:37 +00:00
Марко Костић (Marko Kostić)
a6d41e70b2 Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 09:32:18 +00:00
merianosnikos
549ce3281a Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
- merianosnikos <merianosnikos@gmail.com>
2019-03-22 00:12:17 +00:00
Danny Coates
1ec56df7ad fixed fxa entrypoint param name... 🤦‍♂️ 2019-03-21 09:30:13 -07:00
robbp
c78899c387 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-03-21 07:32:41 +00:00
Björn I
c76fe3ac96 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-20 15:12:08 +00:00
Björn I
49cfd599ec Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-20 14:51:43 +00:00
dskmori
74c08200ad Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-20 02:11:57 +00:00
Breana Gonzales
8cd5839d36 Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Breana Gonzales <breanajones@hotmail.com>
2019-03-19 14:51:41 +00:00
Danny Coates
cbd7a99e38 v3.0.8 2019-03-18 16:26:12 -07:00
Danny Coates
6a5960c254 updated CONTRIBUTORS 2019-03-18 15:38:28 -07:00
Danny Coates
b70cbd8359 Merge pull request #1259 from co16353sidak/patch-1
Updated file size limit (as of March 2019)
2019-03-18 15:33:35 -07:00
Danny Coates
ad72fa11a4 added locales to production 2019-03-18 15:26:06 -07:00
Danny Coates
cc9a5d112a added entrypoint param to fxa auth request 2019-03-18 15:01:01 -07:00
Danny Coates
122867b926 updated webcrypto-liner 2019-03-18 12:43:20 -07:00
Michal Stanke
3f7d755070 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-03-18 18:11:34 +00:00
Danny Coates
ad9070b7c6 changed webpack output filenames to use contenthash 2019-03-17 19:21:28 -07:00
Sidak Singh Aulakh
30678b824b Updated file size limit (as of March 2019)
The file size limit was previously marked as 2 hours, but now it supports 2.5GB (1GB for non signed in users)
2019-03-17 21:44:01 +05:30
josotrix
5dedad8ae7 Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- josotrix <josotrix@ravmn.cl>
- ravmn <ravmn@ravmn.cl>
2019-03-17 15:53:11 +00:00
victor.gonzalezro
748f8cc7f8 Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- victor.gonzalezro <victor.gonzalezro@gmail.com>
- josotrix <josotrix@ravmn.cl>
2019-03-16 19:51:52 +00:00
Victor Bychek
be9b51adbb Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- MytnikAA <MytnikAA@gmail.com>
- Victor Bychek <a@bychek.ru>
2019-03-16 16:32:15 +00:00
Danny Coates
7f13d4d9b6 fixed incorrect uncompressed size in zip 2019-03-16 09:19:28 -07:00
Edi Santoso
0e81ef2514 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Edi Santoso <repopamor@gmail.com>
2019-03-16 14:12:13 +00:00
Björn I
b0907095e4 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-16 12:12:58 +00:00
Piotr Drąg
c4cc736cff Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- tomowoj <tomowoj@gmail.com>
- Piotr Drąg <piotrdrag@gmail.com>
- Paweł <bauerp@bauerp.info>
2019-03-16 11:18:13 +00:00
Piotr Drąg
c4118c5684 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- tomowoj <tomowoj@gmail.com>
- Piotr Drąg <piotrdrag@gmail.com>
- Paweł <bauerp@bauerp.info>
2019-03-16 10:52:16 +00:00
Jakob Kappel
fad35cf8fc Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Jakob Kappel <jakobkpetersen@gmail.com>
2019-03-16 09:32:00 +00:00
Edi Santoso
062cbbd1f8 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
- Edi Santoso <repopamor@gmail.com>
2019-03-16 06:32:00 +00:00
dskmori
f200bd51d2 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-16 02:52:18 +00:00
Enol
152616574f Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-03-15 18:52:57 +00:00
Enol
822fcb363d Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-03-15 18:32:08 +00:00
Enol
e1c6e59495 Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-03-15 18:12:41 +00:00
Danny Coates
d42d8f8b75 v3.0.7 2019-03-15 09:40:03 -07:00
Danny Coates
ebbb1d05d2 use crypto.timingSafeEqual in hmac and ownerToken authentication 2019-03-14 22:09:34 -07:00
Melo46
67b55d1477 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-14 23:52:14 +00:00
Danny Coates
e3391ca823 Merge pull request #1242 from mgalicer/fix-1130
[Integration-Test] Add test to ensure that file size stays consistent
2019-03-14 14:54:37 -07:00
ravmn
0cac3bd0dc Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- victor.gonzalezro <victor.gonzalezro@gmail.com>
- josotrix <josotrix@ravmn.cl>
- ravmn <ravmn@ravmn.cl>
2019-03-14 21:52:00 +00:00
Juan Sián
78de0b7a22 Pontoon: Update Kaqchikel (cak) localization of Firefox Send
Localization authors:
- Juan Sián <ajtzibsyan@yahoo.com>
2019-03-14 21:51:56 +00:00
Juraj Cigáň
14308dc491 Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-03-14 21:31:50 +00:00
Danny Coates
f690e4a705 v3.0.6 2019-03-14 13:19:25 -07:00
Danny Coates
3e14d3049d only index / route 2019-03-14 13:17:47 -07:00
Danny Coates
6a6f8b86e4 v3.0.5 2019-03-14 12:04:01 -07:00
Danny Coates
c4891c3866 fixed req.route bug when no routes match 2019-03-14 12:02:36 -07:00
Danny Coates
5d0d5ef858 v3.0.4 2019-03-14 11:44:42 -07:00
Danny Coates
4e26c6ab75 added robots meta tag 2019-03-14 11:40:01 -07:00
julenx
7413a3336a Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
- julenx <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-03-14 17:52:22 +00:00
Artem Polivanchuk
ef825206a4 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-03-14 15:11:51 +00:00
stripTM
f6a2e3ef53 Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
- stripTM <striptm@yahoo.com>
2019-03-14 12:32:53 +00:00
Rhoslyn Prys
98bf370ccb Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-03-14 08:51:39 +00:00
Mikeyy
1e9e9d6494 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Mikeyy <mihovil@miho.im>
2019-03-14 08:32:08 +00:00
Artem Polivanchuk
c698b39d5c Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-03-14 07:13:37 +00:00
Melo46
109ee6aa29 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-14 05:32:26 +00:00
Melo46
fe9ed5f001 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-14 05:16:00 +00:00
Hyeonseok Shin
84d74a096c Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-14 02:12:19 +00:00
victor.gonzalezro
770d276f6d Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- victor.gonzalezro <victor.gonzalezro@gmail.com>
- ravmn <ravmn@ravmn.cl>
2019-03-14 00:32:17 +00:00
G12r
ddf69120e8 Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-03-14 00:32:15 +00:00
G12r
6c583e09a7 Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-03-14 00:11:37 +00:00
Danny Coates
677ff65e8d Merge pull request #1227 from jrbenny35/run-download-tests-on-ci
Update config for running download tests on CI
2019-03-13 16:11:34 -07:00
Anika Dorn
8445657b72 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Anika Dorn <adorn@mozilla.com>
2019-03-13 20:53:06 +00:00
Andreas Pettersson
33ef1f33a5 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-03-13 20:32:15 +00:00
Anika Dorn
ff79662b72 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Anika Dorn <adorn@mozilla.com>
2019-03-13 20:32:13 +00:00
marigalicer
0012dec277 [Integration-Test] Add test to ensure that file size stays consistent
fixes #1130
2019-03-13 16:03:44 -04:00
Danny Coates
a648c5ead9 v3.0.3 2019-03-13 12:14:48 -07:00
Danny Coates
017bb0d146 wrap openid-config request in try/catch 2019-03-13 12:07:59 -07:00
Danny Coates
555c615711 Merge pull request #1237 from mozilla/quick-style-banner
style banner
2019-03-13 11:42:14 -07:00
Danny Coates
ce8dba4200 fixed disappearing header in Chrome 2019-03-13 11:40:51 -07:00
Rimas Kudelis
44dcf8a260 Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Rimas Kudelis <rimas@mozilla.lt>
2019-03-13 18:31:34 +00:00
Danny Coates
e702022d7f default accept-language to en-US when regexp does not match 2019-03-13 11:30:37 -07:00
John Gruen
4ee80abce9 style banner 2019-03-13 19:16:58 +01:00
Kohei Yoshino
45d9bdb577 Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-03-13 18:11:00 +00:00
Piotr Drąg
013cca5d86 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-03-13 17:51:58 +00:00
Ander Elortondo
0bf162592f Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- julenx <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-03-13 17:51:55 +00:00
Danny Coates
da6cbc05c2 added more locales to production 2019-03-13 10:44:23 -07:00
Danny Coates
d28da3247d enable promo banner 2019-03-13 10:30:27 -07:00
Danny Coates
44043b54b3 Merge pull request #1235 from christopher-ramirez/master
Fix link to dev.js and prod.js files.
2019-03-13 09:23:40 -07:00
Danny Coates
813ddc6c6c Merge pull request #1231 from aaaaalbert/fix-small-typo-in-docs-encryption
Fix a small typo in docs/encryption.md: it's --> its
2019-03-13 09:22:59 -07:00
Danny Coates
1b9c02d86c Merge pull request #1230 from airuikun/master
【typo fixed】1.an download ---> a download  2.be at issue ---> be an i…
2019-03-13 09:22:18 -07:00
Jordi Serratosa
135b4a9669 Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-03-13 15:51:28 +00:00
Jordi Serratosa
426464641f Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-03-13 15:33:13 +00:00
Rodrigo
9ea3b19b8e Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-03-13 14:51:50 +00:00
Marcelo Ghelman
4a8bfd829b Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-03-13 14:51:47 +00:00
Michael Köhler
f40bfe6a96 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2019-03-13 14:51:44 +00:00
Benjamin Forehand Jr
3f8ebdaf4b Remove extra changes from package.json. 2019-03-13 10:02:36 -04:00
Christopher Ramírez
f3fb433531 Fix link to dev.js and prod.js files.
The links on readme.md were pointing to no longer existant files.
With this PR these links are updated to the new location of the
files inside the ./bin directory.
2019-03-13 07:45:55 -06:00
Gabriela
d7f097a2e0 Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Send
Localization authors:
- Gabriela <gmontagu@gmail.com>
2019-03-13 13:32:19 +00:00
Michal Vašíček
1c42f2b397 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Vašíček <mvasicek@mozilla.cz>
- Michal Stanke <mstanke@mozilla.cz>
2019-03-13 12:51:29 +00:00
aaaaalbert
ae7f7de28a Fix small typo in docs/encryption.md: it's --> its 2019-03-13 13:28:45 +01:00
Selim Şumlu
bfb9b7ea4e Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-13 12:12:36 +00:00
Balázs Meskó
761c041069 Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-03-13 10:51:40 +00:00
Belayet Hossain
85fa38df53 Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-13 10:51:36 +00:00
Michael Wolf
d0cd84f5f5 Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-03-13 10:31:23 +00:00
Michael Wolf
35af2cf0a1 Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-03-13 10:31:20 +00:00
ruikunai
d2d472e2b4 【typo fixed】1.an download ---> a download 2.be at issue ---> be an issue 3.the the hamburger menu ---> the hamburger menu 2019-03-13 18:15:36 +08:00
goofy
773bea01fb Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
- goofy <goofy@babelzilla.org>
2019-03-13 09:12:08 +00:00
Fjoerfoks
158575a2ff Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-03-13 08:51:33 +00:00
Pin-guang Chen
f2f504c93d Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-03-13 08:32:25 +00:00
Quế Tùng
ff9d45eb71 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-03-13 08:12:20 +00:00
passionforlife
b133be9f01 Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-03-13 07:31:27 +00:00
Mark Heijl
9b1c1feb80 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-03-13 06:52:22 +00:00
Quế Tùng
f2e8d3e988 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-03-13 06:32:25 +00:00
Rok Žerdin
d29ded2c79 Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-03-13 06:32:22 +00:00
Francesco Lodolo
160bfed7a9 Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2019-03-13 06:32:19 +00:00
Marcelo Ghelman
9e3d28a98a Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-03-13 05:52:35 +00:00
Michal Stanke
8728402d14 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-03-13 05:32:28 +00:00
Rok Žerdin
e215738c67 Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-03-13 05:13:04 +00:00
Danny Coates
f4e185bdc0 Merge pull request #1213 from mozilla/localized-filesize
localize file sizes
2019-03-12 21:49:36 -07:00
Danny Coates
adf9c7b96f localize file sizes 2019-03-12 21:46:50 -07:00
Danny Coates
f78e025d33 disable streaming download if registering sw fails. fixes #1226 2019-03-12 20:53:54 -07:00
Benjamin Forehand Jr
6559afba37 Fix port. 2019-03-12 20:56:31 -04:00
Benjamin Forehand Jr
f07988426b Fix permissions. 2019-03-12 20:52:41 -04:00
Benjamin Forehand Jr
bada0707c5 Update config for running download tests on CI 2019-03-12 20:47:54 -04:00
Danny Coates
9da70931e4 body overflow-x: hidden. fixes #1219 2019-03-12 13:36:46 -07:00
Selim Şumlu
43ad9ad057 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-12 19:11:35 +00:00
Selim Şumlu
e08146ebfd Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-12 18:52:00 +00:00
Juraj Cigáň
88c97a199d Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-03-12 18:51:57 +00:00
Selim Şumlu
5105de66f8 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-12 18:31:47 +00:00
Danny Coates
cdff2884cd Merge pull request #1220 from mozilla/really-use-send.firefox.com
Really switch the android beta to use send.firefox.com.
2019-03-12 11:10:57 -07:00
Donovan Preston
862fedb420 Really switch the android beta to use send.firefox.com. 2019-03-12 13:59:30 -04:00
Björn I
3e5fa8525f Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-12 17:52:09 +00:00
Björn I
7eb43d9046 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-12 17:32:16 +00:00
Danny Coates
30fc4e7e08 Merge pull request #1216 from mozilla/new-package-name-and-release-server
Switch the package name, for signing with a new key; switch the server to send.firefox.com
2019-03-12 10:05:02 -07:00
Danny Coates
2f3e4c72c3 v3.0.2 2019-03-12 10:02:38 -07:00
Danny Coates
d6becdcf3c fixed meta image urls 2019-03-12 09:57:26 -07:00
Donovan Preston
8c59e54677 Switch the package name, for signing with a new key; switch the server to send.firefox.com 2019-03-12 12:35:45 -04:00
Danny Coates
d068dd2954 Revert "updated legal page. closes #1214"
This reverts commit 2f50c29152.
2019-03-12 09:34:52 -07:00
Marcelo Ghelman
4157f5264d Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-03-12 16:32:14 +00:00
Belayet Hossain
2edd0cbc36 Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-12 16:32:11 +00:00
Belayet Hossain
0c013f38ee Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-12 16:11:21 +00:00
Belayet Hossain
767ae24083 Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-12 15:51:29 +00:00
Danny Coates
7710cf98e9 fixed paste email bug 2019-03-12 08:37:43 -07:00
Belayet Hossain
5b4f623070 Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-12 15:32:14 +00:00
Belayet Hossain
b4220010ee Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-12 15:11:46 +00:00
Danny Coates
60ba8429d6 v3.0.1 2019-03-12 08:08:12 -07:00
Danny Coates
2f50c29152 updated legal page. closes #1214 2019-03-12 07:52:54 -07:00
Belayet Hossain
26bc3fa5a1 Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-12 14:51:42 +00:00
Danny Coates
0c458e180c error if file from localStorage is old (no manifest) 2019-03-12 07:39:50 -07:00
Rodrigo
c908f0a927 Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-03-12 14:32:04 +00:00
dskmori
b3cfcf3fd3 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-12 13:57:20 +00:00
Francesco Lodolo
986d70a521 Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2019-03-12 13:57:17 +00:00
dskmori
653a1a44e9 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-12 12:51:42 +00:00
Rok Žerdin
d06a7a01be Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
- Matjaž Horvat <matjaz.horvat@gmail.com>
2019-03-12 09:11:42 +00:00
Danny Coates
163899467d check capabilities.account before showing upsell button 2019-03-11 19:02:44 -07:00
168 changed files with 11288 additions and 9244 deletions

View File

@@ -35,8 +35,7 @@ jobs:
path: coverage
integration_tests:
docker:
- image: circleci/node:10
- image: selenium/standalone-firefox
- image: circleci/node:10-browsers
steps:
- checkout
- restore_cache:
@@ -46,7 +45,9 @@ jobs:
key: send-int-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm run circleci-test-integration
- run:
name: Run integration test
command: ./scripts/bin/run-integration-test-circleci.sh
deploy_dev:
machine: true
steps:

View File

@@ -2,5 +2,6 @@ dist
assets
firefox
coverage
android/app/build
app/locale.js
app/capabilities.js

View File

@@ -4,6 +4,7 @@ env:
extends:
- eslint:recommended
- prettier
- plugin:node/recommended
- plugin:security/recommended
@@ -22,13 +23,5 @@ rules:
security/detect-non-literal-fs-filename: off
security/detect-object-injection: off
eol-last: [error, always]
eqeqeq: error
no-alert: warn
no-console: warn
no-path-concat: error
no-unused-vars: [error, {argsIgnorePattern: "^_|err|event|next|reject"}]
no-var: error
one-var: [error, never]
prefer-const: error
quotes: [error, single, {avoidEscape: true}]
require-atomic-updates: warn

15
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,15 @@
# Community Participation Guidelines
This repository is governed by Mozilla's code of conduct and etiquette guidelines.
For more details, please read the
[Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/).
## How to Report
For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page.
<!--
## Project Specific Etiquette
In some cases, there will be additional project etiquette i.e.: (https://bugzilla.mozilla.org/page.cgi?id=etiquette.html).
Please update for your project.
-->

View File

@@ -4,69 +4,113 @@ Adnan Kičin
Alberto Castro
Alexander Slovesnik
Alfredos-Panagiotis Damkalis
Aman Alam
Amin Mahmudian
Ander Elortondo
Andreas Pettersson
Anesu Chiodza
Anika Dorn
Anish Sheela
Arash Mousavi
Artem Polivanchuk
Ashikur Rahman
Ashok kumar
Balasankar C
Balázs Meskó
Belayet Hossain
Benjamin Forehand Jr
Besnik Bleta
Björn I
Bjørn I
Boopesh Mahendran
Brahim Essaidi
Brainlulz
Breana Gonzales
Christian Elbrianno
Christoph Kührer
Christopher Ramírez
Chuck Harmston
Cloney 173741
Cláudio Esperança
Cristian Silaghi
Cynthia Pereira
Daniel Thorn
Daniela Arcese
Danny Coates
Davide
Derek Tamsen
Dhyey Thakore
Donovan Preston
Edi Santoso
Edmund Huggett
Elisa X
Emily
Emily Hou
Emin Mastizada
Enol
Erica
Erica Wright
Fauzan Alfi
Filip Hruška
Fjoerfoks
Francesco Lodolo
Francesco Lodolo [:flod]
Frederick Villaluna
G12r
Gabriela
Gautam krishna.R
George Raptis
Georgianizator
Gonçalo Matos
Gwenn
Hugo
Hugo Abreu
Hyeonseok Shin
Håvar Henriksen
Ian Neal
ItielMaN
Jae Hyeon Park
Jakob Kappel
Jakub Rychlý
Jamie
Jarmo
Jim Spentzos
Jiri Grönroos
Jobava
Joe Becher
Joe ST
Joergen
Johann-S
John Gruen
Jon Buckley
Jon Vadillo
Jonathan Claudius
Jordi Cuevas
Jordi Serratosa
Juan Esteban Ajsivinac Sián
Juan Sián
Juraj Cigáň
Kerim Kalamujić
Khaled Hosny
Kim Ludvigsen
Kohei Yoshino
Lan Glad
Lasse Liehu
Laurent Jouanneau
Lobodzets
LuFlo
Luis A. Sánchez
Luiz Carlos de Morais
Luna Jernberg
Mahay Alam Khan
Marcelo Ghelman
Marcelo Poli
Marco Aurélio
Mark Heijl
Mark Liang
Mark Liang (You-Wen)
Marko Andrejić
Marwan Mohamad
Matjaž Horvat
Maykon Chagas
Melo46
@@ -75,24 +119,40 @@ Michael Köhler
Michael Wolf
Michal Stanke
Michal Vašíček
Mikeyy
Miro Rauhala
Mozilla Pontoon
Mozilla-GitHub-Standards
Mozinet
Moḥend Belqasem
Muhend Belkacem
Muḥend Belqasem
Myungjae Won
Nicholas Skinsacos
Nihad
Nihad Suljić
Oscar
Paulius
Pedro Burlamaqui Bendahan
Peter deHaan
Pierre Neter
Pin-guang Chen
Piotr Drąg
Quế Tùng
Radu Popescu
Rhoslyn Prys
RickieES
Rimas Kudelis
Rizky Ariestiyansyah
Rob Powell
Robert
Roberto Alvarado
Rodrigo
Rodrigo Guerra
Rok Žerdin
Romi Hardiyanto
Rongjian Zhang
Ruba
Sahithi
Sairam Raavi
Sander Lepik
@@ -101,57 +161,100 @@ Sara Todaro
Sav22999
Schieck :)
Selim Şumlu
Sidak Singh Aulakh
Slimane Amiri
Slimane Selyan AMIRI
Soumya Himanish Mohapatra
Staś Małolepszy
Suriyaa ✌️️
Tema
Thomas Dalichow
Théo Chevalier
Tiago Morais Morgado
Tim Visée
Tomer Cohen
Tomáš Zelina
Ton
Top
Tymur Faradzhev
Uccen Marzuq
Varghese Thomas
Victor Bychek
Vimal Raghubir
Vitaliy Krutko
Weihang Lo
Wil Clouser
YFdyh000
Yassine Aït-El-Mouden
Yongmin H
You-Wen Liang (Mark)
aaaaalbert
aefgh39622
alamanda
albertdcastro
alex_mayorga
ariestiyansyah
avelper
chilledfrogs
clouserw-mozilla-owner
dgadelha
dskmori
ehuggett
eljuno
emily-hou1
erdem cobanoglu
gautamkrishnar
gmontagu
goofy
hello
hi
ivan.pompa
jesferman1993
jlG
josotrix
jspam
julenx
kenrick95
kumincir
m4hdi.pdroid
mail
manxmensch
marigalicer
marsf
merianosnikos
mirzet.omerovic.1992
mujeebcpy
p.sanroman.bengoetxea
passionforlife
paul.trevor
pyup.io bot
ravmn
rcmainak
reza.habibi2008
rgpublic
risger
robbp
ruikunai
savemore99.sm
sergio
shikhar-scs
siparon
skystar-p
stripTM
tatalmondmush
tiagomoraismorgado
timvisee
victor.gonzalezro
xcffl
ybouhamam
yoshimitsu002
yusup.ramdani
Μιχάλης
Марко Костић (Marko Kostić)
Ратко Вујановић
صفا الفليج
వీవెన్
ജോയ്സ്
张无忌
新垣结衣松冈茉优长泽雅美门胁麦上野树里石原里美
莫非前世那一眼

View File

@@ -10,6 +10,8 @@ USER app
WORKDIR /app
COPY --chown=app:app --from=builder /app .
COPY --chown=app:app . .
RUN mkdir -p /app/.config/configstore
RUN ln -s dist/version.json version.json
ENV PORT=1443
EXPOSE $PORT

View File

@@ -1,4 +1,4 @@
# Firefox Send
# [![Firefox Send](./assets/logo.svg)](https://send.firefox.com/)
[![CircleCI](https://img.shields.io/circleci/project/github/mozilla/send.svg)](https://circleci.com/gh/mozilla/send)
@@ -16,6 +16,7 @@
* [Localization](#localization)
* [Contributing](#contributing)
* [Testing](#testing)
* [Deployment](#deployment)
* [Android](#android)
* [License](#license)
@@ -91,6 +92,12 @@ Pull requests are always welcome! Feel free to check out the list of ["good firs
---
## Deployment
see also [docs/deployment.md](docs/deployment.md)
---
## Android
The android implementation is contained in the `android` directory, and can be viewed locally for easy testing and editing by running `ANDROID=1 npm start` and then visiting <http://localhost:8080>. CSS and image files are located in the `android/app/src/main/assets` directory.

View File

@@ -1,8 +1,7 @@
/* global window, navigator */
import 'fluent-intl-polyfill';
import 'intl-pluralrules';
import choo from 'choo';
import html from 'choo/html';
import Raven from 'raven-js';
import * as Sentry from '@sentry/browser';
import { setApiUrlPrefix, getConstants } from '../app/api';
import metrics from '../app/metrics';
@@ -19,10 +18,12 @@ import share from './pages/share';
import preferences from './pages/preferences';
import error from './pages/error';
import { getTranslator } from '../app/locale';
import { setTranslate } from '../app/utils';
import { delay } from '../app/utils';
if (navigator.userAgent === 'Send Android') {
setApiUrlPrefix('https://send2.dev.lcip.org');
setApiUrlPrefix('https://send.firefox.com');
}
const app = choo();
@@ -51,7 +52,7 @@ function body(main) {
const menu = html`<a
id="hamburger"
class="absolute pin-t pin-r z-50"
class="absolute top-0 right-0 z-50"
href="#"
onclick="${clickPreferences}"
>
@@ -69,6 +70,7 @@ function body(main) {
}
(async function start() {
const translate = await getTranslator('en-US');
setTranslate(translate);
const { LIMITS, DEFAULTS } = await getConstants();
app.use(state => {
state.LIMITS = LIMITS;
@@ -80,7 +82,7 @@ function body(main) {
state.archive = new Archive([], DEFAULTS.EXPIRE_SECONDS);
state.storage = storage;
state.user = new User(storage, LIMITS);
state.raven = Raven;
state.sentry = Sentry;
});
app.use(metrics);
app.route('/', body(home));

View File

@@ -1,13 +1,11 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 27
defaultConfig {
applicationId "org.mozilla.sendandroid"
applicationId "org.mozilla.firefoxsend"
minSdkVersion 26
targetSdkVersion 27
versionCode 1
@@ -31,7 +29,7 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.github.delight-im:Android-AdvancedWebView:v3.0.0'
implementation "org.mozilla.components:service-firefox-accounts:${rootProject.ext.android_components_version}"
implementation "org.mozilla.components:service-firefox-accounts:$android_components_version"
}
task generateAndLinkBundle(type: Exec, description: 'Generate the android.js bundle and link it into the assets directory') {

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.sendandroid">
package="org.mozilla.firefoxsend">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
@@ -13,7 +13,7 @@
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing" android:value="false" />
<activity android:name=".MainActivity" android:screenOrientation="portrait">
<activity android:name="org.mozilla.firefoxsend.MainActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@@ -0,0 +1,226 @@
package org.mozilla.firefoxsend
import android.annotation.SuppressLint
import android.content.ComponentName
import android.content.Intent
import android.graphics.Bitmap
import android.net.Uri
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Base64
import android.util.Log
import android.view.View
import android.webkit.*
import im.delight.android.webview.AdvancedWebView
import kotlinx.android.synthetic.main.activity_main.*
import mozilla.components.service.fxa.Config
import mozilla.components.service.fxa.FirefoxAccount
import mozilla.components.service.fxa.FxaResult
import org.json.JSONObject
internal class LoggingWebChromeClient : WebChromeClient() {
override fun onConsoleMessage(cm: ConsoleMessage): Boolean {
Log.d(TAG, String.format("%s @ %d: %s",
cm.message(), cm.lineNumber(), cm.sourceId()))
return true
}
companion object {
private const val TAG = "CONTENT"
}
}
class WebAppInterface(private val mContext: MainActivity) {
@JavascriptInterface
fun beginOAuthFlow() {
mContext.beginOAuthFlow()
}
@JavascriptInterface
fun shareUrl(url: String) {
mContext.shareUrl(url)
}
}
class MainActivity : AppCompatActivity(), AdvancedWebView.Listener {
private var mToShare: String? = null
private var mToCall: String? = null
private var mAccount: FirefoxAccount? = null
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG)
webView.apply {
setListener(this@MainActivity, this@MainActivity)
addJavascriptInterface(WebAppInterface(this@MainActivity), JS_INTERFACE_NAME)
setLayerType(View.LAYER_TYPE_HARDWARE, null)
webChromeClient = LoggingWebChromeClient()
settings.apply {
userAgentString = "Send Android"
allowUniversalAccessFromFileURLs = true
javaScriptEnabled = true
}
}
val type = intent.type
if (Intent.ACTION_SEND == intent.action && type != null) {
if (type == "text/plain") {
val sharedText = intent.getStringExtra(Intent.EXTRA_TEXT)
// Log.d(TAG_INTENT, "text/plain $sharedText")
mToShare = "data:text/plain;base64," + Base64.encodeToString(sharedText.toByteArray(), 16).trim()
} else if (type.startsWith("image/")) {
val imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM) as Uri
// Log.d(TAG_INTENT, "image/ $imageUri")
mToShare = "data:text/plain;base64," + Base64.encodeToString(imageUri.path.toByteArray(), 16).trim()
}
}
webView.loadUrl("file:///android_asset/android.html")
}
fun beginOAuthFlow() {
Config.release().then { value ->
mAccount = FirefoxAccount(value, "20f7931c9054d833", "https://send.firefox.com/fxa/android-redirect.html")
mAccount?.beginOAuthFlow(arrayOf("profile", "https://identity.mozilla.com/apps/send"), true)
?.then { url ->
// Log.d(TAG_CONFIG, "GOT A URL $url")
this@MainActivity.runOnUiThread {
webView.loadUrl(url)
}
FxaResult.fromValue(Unit)
}
// Log.d(TAG_CONFIG, "CREATED FIREFOXACCOUNT")
FxaResult.fromValue(Unit)
}
}
fun shareUrl(url: String) {
val shareIntent = Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, url)
}
val components = arrayOf(ComponentName(applicationContext, MainActivity::class.java))
val chooser = Intent.createChooser(shareIntent, "")
.putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, components)
startActivity(chooser)
}
override fun onResume() {
super.onResume()
webView.onResume()
}
override fun onPause() {
webView.onPause()
super.onPause()
}
override fun onDestroy() {
webView.onDestroy()
super.onDestroy()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
webView.onActivityResult(requestCode, resultCode, intent)
}
override fun onBackPressed() {
if (!webView.onBackPressed()) {
return
}
super.onBackPressed()
}
override fun onPageStarted(url: String, favicon: Bitmap?) {
if (url.startsWith("https://send.firefox.com/fxa/android-redirect.html")) {
// We load this here so the user doesn't see the android-redirect.html page
webView.loadUrl("file:///android_asset/android.html")
val uri = Uri.parse(url)
uri.getQueryParameter("code")?.let { code ->
uri.getQueryParameter("state")?.let { state ->
mAccount?.completeOAuthFlow(code, state)?.whenComplete { info ->
mAccount?.getProfile(false)?.then { profile ->
val profileJsonPayload = JSONObject()
.put("accessToken", info.accessToken)
.put("keys", info.keys)
.put("avatar", profile.avatar)
.put("displayName", profile.displayName)
.put("email", profile.email)
.put("uid", profile.uid).toString()
mToCall = "finishLogin($profileJsonPayload)"
this@MainActivity.runOnUiThread {
// Clear the history so that the user can't use the back button to see broken pages
// that were inserted into the history by the login process.
webView.clearHistory()
// We also reload this here because we need to make sure onPageFinished runs after mToCall has been set.
// We can't guarantee that onPageFinished wasn't already called at this point.
webView.loadUrl("file:///android_asset/android.html")
}
FxaResult.fromValue(Unit)
}
}
}
}
}
if (!url.startsWith("file:///android_asset/") && !url.startsWith("https://accounts.firefox.com/")) {
// Don't allow loading anything other than the app in our webview
// It should be possible to do this with shouldOverrideUrlLoading
// but it didn't seem to be working, so this works as a hack.
webView.loadUrl("file:///android_asset/android.html")
Log.d(TAG_MAIN, "BAD URL " + url)
} else {
// Log.d(TAG_MAIN, "onPageStarted " + url)
}
}
override fun onPageFinished(url: String) {
// Log.d(TAG_MAIN, "onPageFinished")
if (mToShare != null) {
// Log.d(TAG_INTENT, mToShare)
webView.postWebMessage(WebMessage(mToShare), Uri.EMPTY)
mToShare = null
}
if (mToCall != null) {
this@MainActivity.runOnUiThread {
webView.evaluateJavascript(mToCall) {
mToCall = null
}
}
}
}
override fun onPageError(errorCode: Int, description: String, failingUrl: String) {
Log.d(TAG_MAIN, "onPageError($errorCode, $description, $failingUrl)")
}
override fun onDownloadRequested(url: String,
suggestedFilename: String,
mimeType: String,
contentLength: Long,
contentDisposition: String,
userAgent: String) {
// Log.d(TAG_MAIN, "onDownloadRequested")
}
override fun onExternalPageRequest(url: String) {
// Log.d(TAG_MAIN, "onExternalPageRequest($url)")
}
companion object {
private const val TAG_MAIN = "MAIN"
private const val TAG_INTENT = "INTENT"
private const val TAG_CONFIG = "CONFIG"
private const val JS_INTERFACE_NAME = "Android"
}
}

View File

@@ -1,220 +0,0 @@
package org.mozilla.sendandroid
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import im.delight.android.webview.AdvancedWebView
import android.graphics.Bitmap
import android.content.Context
import android.content.Intent
import android.annotation.SuppressLint
import android.content.ComponentName
import android.net.Uri
import android.webkit.WebView
import android.webkit.WebMessage
import android.util.Log
import android.util.Base64
import android.view.View
import android.webkit.ConsoleMessage
import android.webkit.JavascriptInterface
import android.webkit.WebChromeClient
import mozilla.components.service.fxa.Config
import mozilla.components.service.fxa.FirefoxAccount
import mozilla.components.service.fxa.OAuthInfo
import mozilla.components.service.fxa.Profile
import mozilla.components.service.fxa.FxaResult
internal class LoggingWebChromeClient : WebChromeClient() {
override fun onConsoleMessage(cm: ConsoleMessage): Boolean {
Log.w("CONTENT", String.format("%s @ %d: %s",
cm.message(), cm.lineNumber(), cm.sourceId()))
return true
}
}
class WebAppInterface(private val mContext: MainActivity) {
@JavascriptInterface
fun beginOAuthFlow() {
mContext.beginOAuthFlow();
}
@JavascriptInterface
fun shareUrl(url: String) {
mContext.shareUrl(url)
}
}
class MainActivity : AppCompatActivity(), AdvancedWebView.Listener {
private var mWebView: AdvancedWebView? = null
private var mToShare: String? = null
private var mToCall: String? = null
private var mAccount: FirefoxAccount? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews
// WebView.setWebContentsDebuggingEnabled(true); // TODO only dev builds
mWebView = findViewById<WebView>(R.id.webview) as AdvancedWebView
mWebView!!.setListener(this, this)
mWebView!!.setWebChromeClient(LoggingWebChromeClient())
mWebView!!.addJavascriptInterface(WebAppInterface(this), "Android")
mWebView!!.setLayerType(View.LAYER_TYPE_HARDWARE, null);
val webSettings = mWebView!!.getSettings()
webSettings.setUserAgentString("Send Android")
webSettings.setAllowUniversalAccessFromFileURLs(true)
webSettings.setJavaScriptEnabled(true)
val intent = getIntent()
val action = intent.getAction()
val type = intent.getType()
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.equals("text/plain")) {
val sharedText = intent.getStringExtra(Intent.EXTRA_TEXT)
Log.w("INTENT", "text/plain " + sharedText)
mToShare = "data:text/plain;base64," + Base64.encodeToString(sharedText.toByteArray(), 16).trim()
} else if (type.startsWith("image/")) {
val imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM) as Uri
Log.w("INTENT", "image/ " + imageUri)
mToShare = "data:text/plain;base64," + Base64.encodeToString(imageUri.path.toByteArray(), 16).trim()
}
}
mWebView!!.loadUrl("file:///android_asset/android.html")
}
fun beginOAuthFlow() {
Config.release().then(fun (value: Config): FxaResult<Unit> {
mAccount = FirefoxAccount(value, "20f7931c9054d833", "https://send.firefox.com/fxa/android-redirect.html")
mAccount?.beginOAuthFlow(arrayOf("profile", "https://identity.mozilla.com/apps/send"), true)?.then(fun (url: String): FxaResult<Unit> {
Log.w("CONFIG", "GOT A URL " + url)
this@MainActivity.runOnUiThread({
mWebView!!.loadUrl(url)
})
return FxaResult.fromValue(Unit)
})
Log.w("CONFIG", "CREATED FIREFOXACCOUNT")
return FxaResult.fromValue(Unit)
})
}
fun shareUrl(url: String) {
val shareIntent = Intent()
shareIntent.action = Intent.ACTION_SEND
shareIntent.type = "text/plain"
shareIntent.putExtra(Intent.EXTRA_TEXT, url)
val chooser = Intent.createChooser(shareIntent, "")
chooser.putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, arrayOf(ComponentName(applicationContext, MainActivity::class.java)))
startActivity(chooser)
}
@SuppressLint("NewApi")
override fun onResume() {
super.onResume()
mWebView!!.onResume()
// ...
}
@SuppressLint("NewApi")
override fun onPause() {
mWebView!!.onPause()
// ...
super.onPause()
}
override fun onDestroy() {
mWebView!!.onDestroy()
// ...
super.onDestroy()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
mWebView!!.onActivityResult(requestCode, resultCode, intent)
// ...
}
override fun onBackPressed() {
if (!mWebView!!.onBackPressed()) {
return
}
// ...
super.onBackPressed()
}
override fun onPageStarted(url: String, favicon: Bitmap?) {
if (url.startsWith("https://send.firefox.com/fxa/android-redirect.html")) {
// We load this here so the user doesn't see the android-redirect.html page
mWebView!!.loadUrl("file:///android_asset/android.html")
val parsed = Uri.parse(url)
val code = parsed.getQueryParameter("code")
val state = parsed.getQueryParameter("state")
code?.let { code ->
state?.let { state ->
mAccount?.completeOAuthFlow(code, state)?.whenComplete { info ->
//displayAndPersistProfile(code, state)
val profile = mAccount?.getProfile(false)?.then(fun (profile: Profile): FxaResult<Unit> {
val accessToken = info.accessToken
val keys = info.keys
val avatar = profile.avatar
val displayName = profile.displayName
val email = profile.email
val uid = profile.uid
val toPass = "{\"accessToken\": \"${accessToken}\", \"keys\": '${keys}', \"avatar\": \"${avatar}\", \"displayName\": \"${displayName}\", \"email\": \"${email}\", \"uid\": \"${uid}\"}"
mToCall = "finishLogin(${toPass})"
this@MainActivity.runOnUiThread({
// Clear the history so that the user can't use the back button to see broken pages
// that were inserted into the history by the login process.
mWebView!!.clearHistory()
// We also reload this here because we need to make sure onPageFinished runs after mToCall has been set.
// We can't guarantee that onPageFinished wasn't already called at this point.
mWebView!!.loadUrl("file:///android_asset/android.html")
})
return FxaResult.fromValue(Unit)
})
}
}
}
}
Log.w("MAIN", "onPageStarted");
}
override fun onPageFinished(url: String) {
Log.w("MAIN", "onPageFinished")
if (mToShare != null) {
Log.w("INTENT", mToShare)
mWebView?.postWebMessage(WebMessage(mToShare), Uri.EMPTY)
mToShare = null
}
if (mToCall != null) {
this@MainActivity.runOnUiThread({
mWebView?.evaluateJavascript(mToCall, fun (value: String) {
mToCall = null
})
})
}
}
override fun onPageError(errorCode: Int, description: String, failingUrl: String) {
Log.w("MAIN", "onPageError " + description)
}
override fun onDownloadRequested(url: String, suggestedFilename: String, mimeType: String, contentLength: Long, contentDisposition: String, userAgent: String) {
Log.w("MAIN", "onDownloadRequested")
}
override fun onExternalPageRequest(url: String) {
Log.w("MAIN", "onExternalPageRequest")
}
}

View File

@@ -1,13 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<im.delight.android.webview.AdvancedWebView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<im.delight.android.webview.AdvancedWebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
tools:context=".MainActivity" />

View File

@@ -8,20 +8,15 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.20"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.3.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21"
}
}
allprojects {
repositories {
google()
maven {
url "https://maven.mozilla.org/maven2"
}
maven { url "https://maven.mozilla.org/maven2" }
jcenter()
maven { url "https://jitpack.io" }
}

View File

@@ -42,11 +42,7 @@ module.exports = function(state, emit) {
content =
archives.length < 1
? intro(state)
: list(
archives,
'list-reset h-full overflow-y-auto w-full',
'mb-3 w-full'
);
: list(archives, 'h-full overflow-y-auto w-full', 'mb-3 w-full');
}
return html`
@@ -57,7 +53,7 @@ module.exports = function(state, emit) {
>
${content}
</section>
<div class="fixed pin-r pin-b z-20">
<div class="fixed right-0 bottom-0 z-20">
${button}
<input
id="file-upload"

View File

@@ -12,7 +12,7 @@ export default function initialState(state, emitter) {
getAsset(name) {
return `${state.prefix}/${name}`;
},
raven: {
sentry: {
captureException: e => {
console.error('ERROR ' + e + ' ' + e.stack);
}

View File

@@ -8,7 +8,16 @@ try {
// NOOP
}
if (!fileProtocolWssUrl) {
fileProtocolWssUrl = 'wss://send2.dev.lcip.org/api/ws';
fileProtocolWssUrl = 'wss://send.firefox.com/api/ws';
}
export class ConnectionError extends Error {
constructor(cancelled, duration, size) {
super(cancelled ? '0' : 'connection closed');
this.cancelled = cancelled;
this.duration = duration;
this.size = size;
}
}
export function setFileProtocolWssUrl(url) {
@@ -137,17 +146,25 @@ export async function setPassword(id, owner_token, keychain) {
}
function asyncInitWebSocket(server) {
return new Promise(resolve => {
const ws = new WebSocket(server);
ws.onopen = () => {
resolve(ws);
};
return new Promise((resolve, reject) => {
try {
const ws = new WebSocket(server);
ws.addEventListener('open', () => resolve(ws), { once: true });
} catch (e) {
reject(new ConnectionError(false));
}
});
}
function listenForResponse(ws, canceller) {
return new Promise((resolve, reject) => {
function handleClose(event) {
// a 'close' event before a 'message' event means the request failed
ws.removeEventListener('message', handleMessage);
reject(new ConnectionError(canceller.cancelled));
}
function handleMessage(msg) {
ws.removeEventListener('close', handleClose);
try {
const response = JSON.parse(msg.data);
if (response.error) {
@@ -156,13 +173,11 @@ function listenForResponse(ws, canceller) {
resolve(response);
}
} catch (e) {
ws.close();
canceller.cancelled = true;
canceller.error = e;
reject(e);
}
}
ws.addEventListener('message', handleMessage, { once: true });
ws.addEventListener('close', handleClose, { once: true });
});
}
@@ -176,6 +191,8 @@ async function upload(
onprogress,
canceller
) {
let size = 0;
const start = Date.now();
const host = window.location.hostname;
const port = window.location.port;
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
@@ -203,31 +220,41 @@ async function upload(
const reader = stream.getReader();
let state = await reader.read();
let size = 0;
while (!state.done) {
const buf = state.value;
if (canceller.cancelled) {
throw canceller.error;
ws.close();
}
if (ws.readyState !== WebSocket.OPEN) {
break;
}
const buf = state.value;
ws.send(buf);
onprogress(size);
size += buf.length;
state = await reader.read();
while (ws.bufferedAmount > ECE_RECORD_SIZE * 2) {
while (
ws.bufferedAmount > ECE_RECORD_SIZE * 2 &&
ws.readyState === WebSocket.OPEN &&
!canceller.cancelled
) {
await delay();
}
}
const footer = new Uint8Array([0]);
ws.send(footer);
if (ws.readyState === WebSocket.OPEN) {
ws.send(new Uint8Array([0])); //EOF
}
await completedResponse;
ws.close();
uploadInfo.duration = Date.now() - start;
return uploadInfo;
} catch (e) {
ws.close(4000);
e.size = size;
e.duration = Date.now() - start;
throw e;
} finally {
if (![WebSocket.CLOSED, WebSocket.CLOSING].includes(ws.readyState)) {
ws.close();
}
}
}
@@ -244,7 +271,6 @@ export function uploadWs(
return {
cancel: function() {
canceller.error = new Error(0);
canceller.cancelled = true;
},
@@ -284,7 +310,7 @@ async function downloadS(id, keychain, signal) {
return response.body;
}
async function tryDownloadStream(id, keychain, signal, tries = 1) {
async function tryDownloadStream(id, keychain, signal, tries = 2) {
try {
const result = await downloadS(id, keychain, signal);
return result;
@@ -306,18 +332,19 @@ export function downloadStream(id, keychain) {
}
return {
cancel,
result: tryDownloadStream(id, keychain, controller.signal, 2)
result: tryDownloadStream(id, keychain, controller.signal)
};
}
//////////////////
function download(id, keychain, onprogress, canceller) {
async function download(id, keychain, onprogress, canceller) {
const auth = await keychain.authHeader();
const xhr = new XMLHttpRequest();
canceller.oncancel = function() {
xhr.abort();
};
return new Promise(async function(resolve, reject) {
return new Promise(function(resolve, reject) {
xhr.addEventListener('loadend', function() {
canceller.oncancel = function() {};
const authHeader = xhr.getResponseHeader('WWW-Authenticate');
@@ -337,7 +364,6 @@ function download(id, keychain, onprogress, canceller) {
onprogress(event.loaded);
}
});
const auth = await keychain.authHeader();
xhr.open('get', getApiUrl(`/api/download/blob/${id}`));
xhr.setRequestHeader('Authorization', auth);
xhr.responseType = 'blob';
@@ -346,7 +372,7 @@ function download(id, keychain, onprogress, canceller) {
});
}
async function tryDownload(id, keychain, onprogress, canceller, tries = 1) {
async function tryDownload(id, keychain, onprogress, canceller, tries = 2) {
try {
const result = await download(id, keychain, onprogress, canceller);
return result;
@@ -367,7 +393,7 @@ export function downloadFile(id, keychain, onprogress) {
}
return {
cancel,
result: tryDownload(id, keychain, onprogress, canceller, 2)
result: tryDownload(id, keychain, onprogress, canceller)
};
}

View File

@@ -1,5 +1,5 @@
/* global AUTH_CONFIG LOCALE */
import { browserName } from './utils';
/* global AUTH_CONFIG */
import { browserName, locale } from './utils';
async function checkCrypto() {
try {
@@ -76,8 +76,8 @@ async function polyfillStreams() {
}
export default async function getCapabilities() {
const serviceWorker =
'serviceWorker' in navigator && browserName() !== 'edge';
const browser = browserName();
const serviceWorker = 'serviceWorker' in navigator && browser !== 'edge';
let crypto = await checkCrypto();
const nativeStreams = checkStreams();
let polyStreams = false;
@@ -91,7 +91,14 @@ export default async function getCapabilities() {
account = false;
}
const share =
typeof navigator.share === 'function' && LOCALE.startsWith('en'); // en until strings merge
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);
return {
account,
@@ -99,8 +106,9 @@ export default async function getCapabilities() {
serviceWorker,
streamUpload: nativeStreams || polyStreams,
streamDownload:
nativeStreams && serviceWorker && browserName() !== 'safari',
nativeStreams && serviceWorker && browser !== 'safari' && !mobileFirefox,
multifile: nativeStreams || polyStreams,
share
share,
standalone
};
}

View File

@@ -2,11 +2,12 @@ import FileSender from './fileSender';
import FileReceiver from './fileReceiver';
import { copyToClipboard, delay, openLinksInNewTab, percent } from './utils';
import * as metrics from './metrics';
import { bytes } from './utils';
import { bytes, locale } from './utils';
import okDialog from './ui/okDialog';
import copyDialog from './ui/copyDialog';
import shareDialog from './ui/shareDialog';
import signupDialog from './ui/signupDialog';
import surveyDialog from './ui/surveyDialog';
export default function(state, emitter) {
let lastRender = 0;
@@ -75,7 +76,7 @@ export default function(state, emitter) {
state.storage.remove(ownedFile.id);
await ownedFile.del();
} catch (e) {
state.raven.captureException(e);
state.sentry.captureException(e);
}
render();
});
@@ -175,14 +176,17 @@ export default function(state, emitter) {
} catch (err) {
if (err.message === '0') {
//cancelled. do nothing
const duration = Date.now() - start;
metrics.cancelledUpload(archive, duration);
metrics.cancelledUpload(archive, err.duration);
render();
} else {
// eslint-disable-next-line no-console
console.error(err);
state.raven.captureException(err);
metrics.stoppedUpload(archive);
state.sentry.withScope(scope => {
scope.setExtra('duration', err.duration);
scope.setExtra('size', err.size);
state.sentry.captureException(err);
});
metrics.stoppedUpload(archive, err.duration);
emitter.emit('pushState', '/error');
}
} finally {
@@ -261,7 +265,12 @@ export default function(state, emitter) {
state.transfer = null;
const location = err.message === '404' ? '/404' : '/error';
if (location === '/error') {
state.raven.captureException(err);
state.sentry.withScope(scope => {
scope.setExtra('duration', err.duration);
scope.setExtra('size', err.size);
scope.setExtra('progress', err.progress);
state.sentry.captureException(err);
});
const duration = Date.now() - start;
metrics.stoppedDownload({
size,
@@ -281,6 +290,22 @@ export default function(state, emitter) {
// metrics.copiedLink({ location });
});
emitter.on('closeModal', () => {
if (
state.PREFS.surveyUrl &&
['copy', 'share'].includes(state.modal.type) &&
locale().startsWith('en') &&
(state.storage.totalUploads > 1 || state.storage.totalDownloads > 0) &&
!state.user.surveyed
) {
state.user.surveyed = true;
state.modal = surveyDialog();
} else {
state.modal = null;
}
render();
});
setInterval(() => {
// poll for updates of the upload list
if (!state.modal && state.route === '/') {

View File

@@ -1,6 +1,22 @@
import hash from 'string-hash';
import Account from './ui/account';
const experiments = {};
const experiments = {
signin_button_color: {
eligible: function() {
return true;
},
variant: function() {
return ['white-blue', 'blue', 'white-violet', 'violet'][
Math.floor(Math.random() * 4)
];
},
run: function(variant, state) {
const account = state.cache(Account, 'account');
account.buttonClass = variant;
}
}
};
//Returns a number between 0 and 1
// eslint-disable-next-line no-unused-vars
@@ -25,23 +41,12 @@ export default function initialize(state, emitter) {
xp.run(+state.query.v, state, emitter);
}
});
if (!state.storage.get('testpilot_ga__cid')) {
// first ever visit. check again after cid is assigned.
emitter.on('DOMContentLoaded', () => {
checkExperiments(state, emitter);
});
const enrolled = state.storage.enrolled;
// single experiment per session for now
const id = Object.keys(enrolled)[0];
if (Object.keys(experiments).includes(id)) {
experiments[id].run(enrolled[id], state, emitter);
} else {
const enrolled = state.storage.enrolled.filter(([id, variant]) => {
const xp = experiments[id];
if (xp) {
xp.run(variant, state, emitter);
}
return !!xp;
});
// single experiment per session for now
if (enrolled.length === 0) {
checkExperiments(state, emitter);
}
checkExperiments(state, emitter);
}
}

View File

@@ -112,6 +112,7 @@ export default class FileReceiver extends Nanobus {
}
async downloadStream(noSave = false) {
const start = Date.now();
const onprogress = p => {
this.progress = [p, this.fileInfo.size];
this.emit('progress');
@@ -153,9 +154,7 @@ export default class FileReceiver extends Nanobus {
const downloadPath = `/api/download/${this.fileInfo.id}`;
let downloadUrl = getApiUrl(downloadPath);
if (downloadUrl === downloadPath) {
downloadUrl = `${location.protocol}//${location.host}/api/download/${
this.fileInfo.id
}`;
downloadUrl = `${location.protocol}//${location.host}${downloadPath}`;
}
const a = document.createElement('a');
a.href = downloadUrl;
@@ -164,11 +163,29 @@ export default class FileReceiver extends Nanobus {
}
let prog = 0;
let hangs = 0;
while (prog < this.fileInfo.size) {
const msg = await this.sendMessageToSw({
request: 'progress',
id: this.fileInfo.id
});
if (msg.progress === prog) {
hangs++;
} else {
hangs = 0;
}
if (hangs > 30) {
// TODO: On Chrome we don't get a cancel
// signal so one is indistinguishable from
// a hang. We may be able to detect
// which end is hung in the service worker
// to improve on this.
const e = new Error('hung download');
e.duration = Date.now() - start;
e.size = this.fileInfo.size;
e.progress = prog;
throw e;
}
prog = msg.progress;
onprogress(prog);
await delay(1000);

View File

@@ -44,7 +44,6 @@ export default class FileSender extends Nanobus {
}
async upload(archive, bearerToken) {
const start = Date.now();
if (this.cancelled) {
throw new Error(0);
}
@@ -76,7 +75,6 @@ export default class FileSender extends Nanobus {
this.emit('progress'); // HACK to kick MS Edge
try {
const result = await this.uploadRequest.result;
const time = Date.now() - start;
this.msg = 'notifyUploadEncryptDone';
this.uploadRequest = null;
this.progress = [1, 1];
@@ -87,8 +85,8 @@ export default class FileSender extends Nanobus {
name: archive.name,
size: archive.size,
manifest: archive.manifest,
time: time,
speed: archive.size / (time / 1000),
time: result.duration,
speed: archive.size / (result.duration / 1000),
createdAt: Date.now(),
expiresAt: Date.now() + archive.timeLimit * 1000,
secretKey: secretKey,

View File

@@ -18,23 +18,6 @@ export default class Keychain {
false,
['deriveKey']
);
this.encryptKeyPromise = this.secretKeyPromise.then(function(secretKey) {
return crypto.subtle.deriveKey(
{
name: 'HKDF',
salt: new Uint8Array(),
info: encoder.encode('encryption'),
hash: 'SHA-256'
},
secretKey,
{
name: 'AES-GCM',
length: 128
},
false,
['encrypt', 'decrypt']
);
});
this.metaKeyPromise = this.secretKeyPromise.then(function(secretKey) {
return crypto.subtle.deriveKey(
{

View File

@@ -1,4 +1,4 @@
import { FluentBundle } from 'fluent';
import { FluentBundle } from '@fluent/bundle';
function makeBundle(locale, ftl) {
const bundle = new FluentBundle(locale, { useIsolating: false });
@@ -10,9 +10,9 @@ export async function getTranslator(locale) {
const bundles = [];
const { default: en } = await import('../public/locales/en-US/send.ftl');
if (locale !== 'en-US') {
const {
default: ftl
} = await import(`../public/locales/${locale}/send.ftl`);
const { default: ftl } = await import(
`../public/locales/${locale}/send.ftl`
);
bundles.push(makeBundle(locale, ftl));
}
bundles.push(makeBundle('en-US', en));

View File

@@ -1,4 +1,9 @@
@tailwind preflight;
@tailwind base;
html {
line-height: 1.15;
}
@tailwind components;
:not(input) {
@@ -8,6 +13,14 @@
user-select: none;
}
:root {
--violet-gradient: linear-gradient(
-180deg,
rgba(144, 89, 255, 0.8) 0%,
rgba(144, 89, 255, 0.4) 100%
);
}
a {
color: inherit;
text-decoration: none;
@@ -22,6 +35,7 @@ body {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
overflow-x: hidden;
}
.btn {
@@ -30,6 +44,7 @@ body {
@apply cursor-pointer;
@apply py-4;
@apply px-6;
@apply font-semibold;
}
.btn:hover {
@@ -138,6 +153,11 @@ footer li:hover {
white-space: nowrap;
}
.main-header img {
height: 32px;
width: 170px;
}
.intro {
max-width: 100%;
height: unset;
@@ -158,7 +178,7 @@ footer li:hover {
.mozilla-logo {
background-image: url('../assets/mozilla-logo.svg');
background-repeat: no-repeat;
background-size: 100px, 32px;
background-size: 100px, 48px;
overflow: hidden;
text-indent: 120%;
white-space: nowrap;
@@ -245,6 +265,11 @@ select {
}
@screen md {
.main-header img {
height: 48px;
width: auto;
}
.intro {
max-width: unset;
height: unset;
@@ -260,7 +285,7 @@ select {
@apply py-8;
min-height: 36rem;
max-height: 40rem;
max-height: 42rem;
width: calc(100% - 3rem);
}
}
@@ -273,8 +298,9 @@ select {
}
.shadow-big {
box-shadow: 0 0 32px 0 rgba(12, 12, 13, 0.1),
0 2px 16px 0 rgba(12, 12, 13, 0.05);
box-shadow: 0 12px 18px 2px rgba(34, 0, 51, 0.04),
0 6px 22px 4px rgba(7, 48, 114, 0.12),
0 6px 10px -4px rgba(14, 13, 26, 0.12);
}
}
@@ -286,4 +312,69 @@ select {
.word-break-all {
word-break: break-all;
line-break: anywhere;
}
.signin {
backface-visibility: hidden;
border-radius: 6px;
transition-property: transform, background-color;
transition-duration: 250ms;
transition-timing-function: cubic-bezier(0.07, 0.95, 0, 1);
}
.signin:hover,
.signin:focus {
@apply shadow-btn;
transform: scale(1.0625);
}
.signin:hover:active {
transform: scale(0.9375);
}
/* begin signin button color experiment */
.white-blue {
@apply border-blue-dark;
@apply border-2;
@apply text-blue-dark;
}
.white-blue:hover,
.white-blue:focus {
@apply bg-blue-dark;
@apply text-white;
}
.blue {
@apply bg-blue-dark;
@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 */

View File

@@ -1,7 +1,7 @@
/* global DEFAULTS LIMITS LOCALE */
/* global DEFAULTS LIMITS PREFS */
import 'core-js';
import 'fast-text-encoding'; // MS Edge support
import 'fluent-intl-polyfill';
import 'intl-pluralrules';
import choo from 'choo';
import nanotiming from 'nanotiming';
import routes from './routes';
@@ -12,14 +12,15 @@ import pasteManager from './pasteManager';
import storage from './storage';
import metrics from './metrics';
import experiments from './experiments';
import Raven from 'raven-js';
import * as Sentry from '@sentry/browser';
import './main.css';
import User from './user';
import { getTranslator } from './locale';
import Archive from './archive';
import { setTranslate, locale } from './utils';
if (navigator.doNotTrack !== '1' && window.RAVEN_CONFIG) {
Raven.config(window.SENTRY_ID, window.RAVEN_CONFIG).install();
if (navigator.doNotTrack !== '1' && window.SENTRY_CONFIG) {
Sentry.init(window.SENTRY_CONFIG);
}
if (process.env.NODE_ENV === 'production') {
@@ -35,30 +36,39 @@ if (process.env.NODE_ENV === 'production') {
return window.location.assign('/unsupported/crypto');
}
if (capabilities.serviceWorker) {
await navigator.serviceWorker.register('/serviceWorker.js');
await navigator.serviceWorker.ready;
try {
await navigator.serviceWorker.register('/serviceWorker.js');
await navigator.serviceWorker.ready;
} catch (e) {
// continue but disable streaming downloads
capabilities.streamDownload = false;
}
}
const translate = await getTranslator(LOCALE);
const translate = await getTranslator(locale());
setTranslate(translate);
// eslint-disable-next-line require-atomic-updates
window.initialState = {
LIMITS,
DEFAULTS,
PREFS,
archive: new Archive([], DEFAULTS.EXPIRE_SECONDS),
capabilities,
translate,
storage,
raven: Raven,
sentry: Sentry,
user: new User(storage, LIMITS, window.AUTH_CONFIG),
transfer: null,
fileInfo: null
};
const app = routes(choo());
const app = routes(choo({ hash: true }));
// eslint-disable-next-line require-atomic-updates
window.app = app;
app.use(experiments);
app.use(metrics);
app.use(controller);
app.use(dragManager);
app.use(experiments);
app.use(pasteManager);
app.mount('body');
})();

View File

@@ -1,21 +1,23 @@
import storage from './storage';
import { platform } from './utils';
import { platform, locale } from './utils';
import { sendMetrics } from './api';
let appState = null;
// let experiment = null;
let experiment = null;
const HOUR = 1000 * 60 * 60;
const events = [];
let session_id = Date.now();
const lang = document.querySelector('html').lang;
const lang = locale();
export default function initialize(state, emitter) {
appState = state;
if (!appState.user.firstAction) {
appState.user.firstAction = appState.route === '/' ? 'upload' : 'download';
}
emitter.on('DOMContentLoaded', () => {
// experiment = storage.enrolled[0];
experiment = storage.enrolled;
if (!appState.user.firstAction) {
appState.user.firstAction =
appState.route === '/' ? 'upload' : 'download';
}
const query = appState.query;
addEvent('client_visit', {
entrypoint: appState.route === '/' ? 'upload' : 'download',
@@ -59,6 +61,11 @@ function submitEvents() {
async function addEvent(event_type, event_properties) {
const user_id = await appState.user.metricId();
const device_id = await appState.user.deviceId();
const ab_id = Object.keys(experiment)[0];
if (ab_id) {
event_properties.experiment = ab_id;
event_properties.variant = experiment[ab_id];
}
events.push({
device_id,
event_properties,
@@ -100,9 +107,10 @@ function completedUpload(archive, duration) {
});
}
function stoppedUpload(archive) {
function stoppedUpload(archive, duration = 0) {
return addEvent('client_upload', {
download_limit: archive.dlimit,
duration: sizeOrder(duration),
file_count: archive.numFiles,
password_protected: !!archive.password,
size: sizeOrder(archive.size),

View File

@@ -4,6 +4,9 @@ import { del, fileInfo, setParams, setPassword } from './api';
export default class OwnedFile {
constructor(obj) {
if (!obj.manifest) {
throw new Error('invalid file object');
}
this.id = obj.id;
this.url = obj.url;
this.name = obj.name;

View File

@@ -7,7 +7,7 @@ function getString(item) {
export default function(state, emitter) {
window.addEventListener('paste', async event => {
if (state.route !== '/' || state.uploading) return;
if (['password', 'text'].includes(event.target.type)) return;
if (['password', 'text', 'email'].includes(event.target.type)) return;
const items = Array.from(event.clipboardData.items);
const transferFiles = items.filter(item => item.kind === 'file');

View File

@@ -2,7 +2,7 @@ const choo = require('choo');
const download = require('./ui/download');
const body = require('./ui/body');
module.exports = function(app = choo()) {
module.exports = function(app = choo({ hash: true })) {
app.route('/', body(require('./ui/home')));
app.route('/download/:id', body(download));
app.route('/download/:id/:key', body(download));
@@ -13,6 +13,7 @@ module.exports = function(app = choo()) {
app.route('/oauth', function(state, emit) {
emit('authenticate', state.query.code, state.query.state);
});
app.route('/login', body(require('./ui/home')));
app.route('*', body(require('./ui/notFound')));
return app;
};

View File

@@ -11,13 +11,14 @@ const map = new Map();
const IMAGES = /.*\.(png|svg|jpg)$/;
const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)$/;
const DOWNLOAD_URL = /\/api\/download\/([A-Fa-f0-9]{4,})/;
const FONT = /\.woff2?$/;
self.addEventListener('install', event => {
event.waitUntil(precache());
self.addEventListener('install', () => {
self.skipWaiting();
});
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
event.waitUntil(self.clients.claim().then(precache));
});
async function decryptStream(id) {
@@ -83,16 +84,28 @@ async function decryptStream(id) {
}
async function precache() {
try {
await cleanCache();
const cache = await caches.open(version);
const images = assets.match(IMAGES);
await cache.addAll(images);
} catch (e) {
console.error(e);
// cache will get populated on demand
}
}
async function cleanCache() {
const oldCaches = await caches.keys();
for (const c of oldCaches) {
if (c !== version) {
await caches.delete(c);
}
}
const cache = await caches.open(version);
const images = assets.match(IMAGES);
await cache.addAll(images);
return self.skipWaiting();
}
function cacheable(url) {
return VERSIONED_ASSET.test(url) || FONT.test(url);
}
async function cachedOrFetched(req) {
@@ -102,7 +115,7 @@ async function cachedOrFetched(req) {
return cached;
}
const fetched = await fetch(req);
if (fetched.ok && VERSIONED_ASSET.test(req.url)) {
if (fetched.ok && cacheable(req.url)) {
cache.put(req, fetched.clone());
}
return fetched;
@@ -115,7 +128,7 @@ self.onfetch = event => {
const dlmatch = DOWNLOAD_URL.exec(url.pathname);
if (dlmatch) {
event.respondWith(decryptStream(dlmatch[1]));
} else if (VERSIONED_ASSET.test(url.pathname)) {
} else if (cacheable(url.pathname)) {
event.respondWith(cachedOrFetched(req));
}
};

View File

@@ -86,16 +86,13 @@ class Storage {
this.engine.setItem('referrer', str);
}
get enrolled() {
return JSON.parse(this.engine.getItem('experiments') || '[]');
return JSON.parse(this.engine.getItem('ab_experiments') || '{}');
}
enroll(id, variant) {
const enrolled = this.enrolled;
// eslint-disable-next-line no-unused-vars
if (!enrolled.find(([i, v]) => i === id)) {
enrolled.push([id, variant]);
this.engine.setItem('experiments', JSON.stringify(enrolled));
}
const enrolled = {};
enrolled[id] = variant;
this.engine.setItem('ab_experiments', JSON.stringify(enrolled));
}
get files() {

View File

@@ -1,4 +1,4 @@
/* global ReadableStream TransformStream */
/* global TransformStream */
export function transformStream(readable, transformer, oncancel) {
try {

View File

@@ -8,7 +8,8 @@ class Account extends Component {
this.emit = emit;
this.enabled = state.capabilities.account;
this.local = state.components[name] = {};
this.setState();
this.buttonClass = '';
this.setLocal();
}
avatarClick(event) {
@@ -38,7 +39,7 @@ class Account extends Component {
return this.local.loggedIn !== this.state.user.loggedIn;
}
setState() {
setLocal() {
const changed = this.changed();
if (changed) {
this.local.loggedIn = this.state.user.loggedIn;
@@ -47,7 +48,7 @@ class Account extends Component {
}
update() {
return this.setState();
return this.setLocal();
}
createElement() {
@@ -58,15 +59,17 @@ class Account extends Component {
}
const user = this.state.user;
const translate = this.state.translate;
this.setLocal();
if (!this.local.loggedIn) {
return html`
<send-account>
<button
class="p-2 md:p-4 border rounded-lg text-blue-dark border-blue-dark hover:text-white hover:bg-blue-dark focus:outline"
class="px-4 py-2 md:px-8 md:py-4 focus:outline signin ${this
.buttonClass}"
onclick="${e => this.login(e)}"
title="${translate('signInButton')}"
title="${translate('signInOnlyButton')}"
>
${translate('signInButton')}
${translate('signInOnlyButton')}
</button>
</send-account>
`;
@@ -82,7 +85,7 @@ class Account extends Component {
/>
<ul
id="accountMenu"
class="invisible list-reset absolute pin-t pin-r mt-10 pt-2 pb-2 bg-white shadow-md whitespace-no-wrap outline-none z-50"
class="invisible absolute top-0 right-0 mt-10 pt-2 pb-2 bg-white shadow-md whitespace-no-wrap outline-none z-50"
onblur="${e => this.hideMenu(e)}"
>
<li class="p-2 text-grey-dark">${user.email}</li>

View File

@@ -120,7 +120,7 @@ function fileInfo(file, action) {
function archiveInfo(archive, action) {
return html`
<p class="w-full flex items-center">
<img class="mr-3 flex-no-shrink" src="${assets.get('blue_file.svg')}"/>
<img class="mr-3 flex-shrink-0" src="${assets.get('blue_file.svg')}"/>
<p class="flex-grow">
<h1 class="text-base font-medium word-break-all">${archive.name}</h1>
<div class="text-sm font-normal opacity-75 pt-1">${bytes(
@@ -155,7 +155,7 @@ function archiveDetails(translate, archive) {
num: archive.manifest.files.length
})}
</summary>
${list(archive.manifest.files.map(f => fileInfo(f)), 'list-reset')}
${list(archive.manifest.files.map(f => fileInfo(f)))}
</details>
`;
}
@@ -213,7 +213,7 @@ module.exports = function(state, emit, archive) {
html`
<input
type="image"
class="self-start flex-no-shrink text-white hover:opacity-75 focus:outline"
class="self-start flex-shrink-0 text-white hover:opacity-75 focus:outline"
alt="${state.translate('deleteButtonHover')}"
title="${state.translate('deleteButtonHover')}"
src="${assets.get('close-16.svg')}"
@@ -256,9 +256,7 @@ module.exports = function(state, emit, archive) {
try {
await navigator.share({
title: state.translate('-send-brand'),
text: `Download "${
archive.name
}" with Firefox Send: simple, safe file sharing`,
text: `Download "${archive.name}" with Firefox Send: simple, safe file sharing`,
//state.translate('shareMessage', { name }),
url: archive.url
});
@@ -278,15 +276,15 @@ module.exports.wip = function(state, emit) {
.map(f =>
fileInfo(f, remove(f, state.translate('deleteButtonHover')))
),
'flex-shrink bg-grey-lightest rounded-t list-reset overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen',
'flex-shrink bg-grey-lightest rounded-t overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen',
'bg-white px-2 my-2 shadow-light rounded'
)}
<div
class="flex-no-shrink flex-grow flex items-end p-4 bg-grey-lightest rounded-b mb-1 font-medium"
class="flex-shrink-0 flex-grow flex items-end p-4 bg-grey-lightest rounded-b mb-1 font-medium"
>
<input
id="file-upload"
class="opacity-0 w-0 h-0 appearance-none absolute"
class="opacity-0 w-0 h-0 appearance-none absolute overflow-hidden"
type="file"
multiple
onfocus="${focus}"
@@ -315,7 +313,7 @@ module.exports.wip = function(state, emit) {
${expiryOptions(state, emit)} ${password(state, emit)}
<button
id="upload-btn"
class="btn rounded-lg flex-no-shrink focus:outline"
class="btn rounded-lg flex-shrink-0 focus:outline"
title="${state.translate('uploadButton')}"
onclick="${upload}"
>
@@ -412,24 +410,25 @@ module.exports.uploading = function(state, emit) {
};
module.exports.empty = function(state, emit) {
const upsell = state.user.loggedIn
? ''
: html`
<button
class="center font-medium text-sm text-blue-dark hover:text-blue-darker focus:text-blue-darker mt-4 mb-2"
onclick="${event => {
event.stopPropagation();
emit('signup-cta', 'drop');
}}"
>
${state.translate('signInSizeBump', {
size: bytes(state.LIMITS.MAX_FILE_SIZE)
})}
</button>
`;
const upsell =
state.user.loggedIn || !state.capabilities.account
? ''
: html`
<button
class="center font-medium text-sm text-blue-dark hover:text-blue-darker focus:text-blue-darker mt-4 mb-2"
onclick="${event => {
event.stopPropagation();
emit('signup-cta', 'drop');
}}"
>
${state.translate('signInSizeBump', {
size: bytes(state.LIMITS.MAX_FILE_SIZE)
})}
</button>
`;
return html`
<send-upload-area
class="flex flex-col items-center justify-center border-2 border-dashed border-grey rounded px-6 py-16 h-full w-full"
class="flex flex-col items-center justify-center border-2 border-dashed border-grey-transparent rounded px-6 py-16 h-full w-full"
onclick="${e => {
if (e.target.tagName !== 'LABEL') {
document.getElementById('file-upload').click();
@@ -447,7 +446,7 @@ module.exports.empty = function(state, emit) {
</div>
<input
id="file-upload"
class="opacity-0 w-0 h-0 appearance-none absolute"
class="opacity-0 w-0 h-0 appearance-none absolute overflow-hidden"
type="file"
multiple
onfocus="${focus}"
@@ -508,7 +507,7 @@ module.exports.preview = function(state, emit) {
</div>
<button
id="download-btn"
class="btn rounded-lg mt-4 w-full flex-no-shrink focus:outline"
class="btn rounded-lg mt-4 w-full flex-shrink-0 focus:outline"
title="${state.translate('downloadButtonLabel')}"
onclick=${download}
>

View File

@@ -4,7 +4,7 @@ module.exports = function() {
return html`
<main class="main">
<section
class="h-full w-full p-6 z-10 md:flex md:flex-row md:rounded-lg md:shadow-big"
class="h-full w-full p-6 md:p-8 md:flex md:flex-row md:rounded-xl md:shadow-big"
>
<div class="md:mr-6 md:w-1/2 w-full"></div>
<div class="md:w-1/2 mt-6 md:mt-0 w-full"></div>

View File

@@ -4,7 +4,12 @@ const Header = require('./header');
const Footer = require('./footer');
function banner(state) {
if (state.promo && !state.route.startsWith('/unsupported/')) {
if (state.layout) {
return; // server side
}
const show =
!state.capabilities.standalone && !state.route.startsWith('/unsupported/');
if (show) {
return state.cache(Promo, 'promo').render();
}
}

View File

@@ -2,12 +2,12 @@ const html = require('choo/html');
const { copyToClipboard } = require('../utils');
module.exports = function(name, url) {
return function(state, emit, close) {
const dialog = function(state, emit, close) {
return html`
<send-copy-dialog
class="flex flex-col items-center text-center p-4 max-w-sm m-auto"
>
<h1 class="font-bold my-4">
<h1 class="text-3xl font-bold my-4">
${state.translate('notifyUploadEncryptDone')}
</h1>
<p class="font-normal leading-normal text-grey-darkest word-break-all">
@@ -22,7 +22,7 @@ module.exports = function(name, url) {
readonly="true"
/>
<button
class="btn rounded-lg w-full flex-no-shrink focus:outline"
class="btn rounded-lg w-full flex-shrink-0 focus:outline"
onclick="${copy}"
title="${state.translate('copyLinkButton')}"
>
@@ -45,4 +45,6 @@ module.exports = function(name, url) {
setTimeout(close, 1000);
}
};
dialog.type = 'copy';
return dialog;
};

View File

@@ -22,7 +22,9 @@ function downloading(state, emit) {
<div
class="flex flex-col w-full h-full items-center md:justify-center md:-mt-8"
>
<h1 class="mb-4">${state.translate('downloadingTitle')}</h1>
<h1 class="text-3xl font-bold mb-4">
${state.translate('downloadingTitle')}
</h1>
${archiveTile.downloading(state, emit)}
</div>
`;
@@ -36,7 +38,9 @@ function preview(state, emit) {
<div
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
>
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
<h1 class="text-3xl font-bold mb-4">
${state.translate('downloadTitle')}
</h1>
<p class="w-full text-grey-darkest text-center leading-normal">
${state.translate('downloadDescription')}
</p>
@@ -76,7 +80,9 @@ module.exports = function(state, emit) {
return html`
<main class="main">
${state.modal && modal(state, emit)}
<section class="relative h-full w-full p-6 md:rounded-lg md:shadow-big">
<section
class="relative h-full w-full p-6 md:p-8 md:rounded-xl md:shadow-big"
>
${content}
</section>
</main>

View File

@@ -7,7 +7,7 @@ module.exports = function(state) {
id="download-complete"
class="flex flex-col items-center justify-center h-full w-full bg-white p-2"
>
<h1 class="text-center font-bold my-2">
<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" />

View File

@@ -8,7 +8,9 @@ module.exports = function(state, emit) {
<div
class="h-full w-full flex flex-col items-center justify-center bg-white py-8 max-w-md mx-auto"
>
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
<h1 class="text-3xl font-bold mb-4">
${state.translate('downloadTitle')}
</h1>
<p class="w-full mb-4 text-center text-grey-darkest leading-normal">
${state.translate('downloadDescription')}
</p>

View File

@@ -7,9 +7,9 @@ module.exports = function(state, emit) {
<main class="main">
${state.modal && modal(state, emit)}
<section
class="flex flex-col items-center justify-center h-full w-full p-6 z-10 overflow-hidden md:rounded-lg md:shadow-big"
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 font-bold my-2">
<h1 class="text-center text-3xl font-bold my-2">
${state.translate('errorPageHeader')}
</h1>
<img class="my-12 h-48" src="${assets.get('error.svg')}" />

View File

@@ -19,7 +19,7 @@ class Footer extends Component {
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 font-medium text-xs text-grey-dark md:items-center justify-between"
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-dark md:items-center justify-between"
>
<a
class="mozilla-logo pb-10 md:pb-0 m-2"
@@ -28,7 +28,7 @@ class Footer extends Component {
Mozilla
</a>
<ul
class="list-reset flex flex-col md:flex-row items-start md:items-center md:justify-end"
class="flex flex-col md:flex-row items-start md:items-center md:justify-end"
>
<li class="m-2">
<a href="https://www.mozilla.org/about/legal/terms/services/#send">

View File

@@ -28,7 +28,7 @@ class Header extends Component {
`;
return html`
<header
class="relative flex-none flex flex-row items-center justify-between w-full px-6 h-16 md:h-24 z-20 bg-transparent"
class="main-header relative flex-none flex flex-row items-center justify-between w-full px-6 md:px-8 h-16 md:h-24 z-20 bg-transparent"
>
${title} ${this.account.render()}
</header>

View File

@@ -20,19 +20,15 @@ module.exports = function(state, emit) {
const right =
archives.length === 0
? intro(state)
: list(
archives,
'list-reset p-2 h-full overflow-y-auto w-full',
'mb-4 w-full'
);
: list(archives, 'p-2 h-full overflow-y-auto w-full', 'mb-4 w-full');
return html`
<main class="main">
${state.modal && modal(state, emit)}
<section
class="h-full w-full p-6 z-10 overflow-hidden md:flex md:flex-row md:rounded-lg md:shadow-big"
class="h-full w-full p-6 md:p-8 overflow-hidden md:flex md:flex-row md:rounded-xl md:shadow-big"
>
<div class="px-2 w-full md:px-0 md:mr-6 md:w-1/2">${left}</div>
<div class="px-2 w-full md:px-0 md:mr-8 md:w-1/2">${left}</div>
<div class="mt-6 w-full md:w-1/2 md:-m-2">${right}</div>
</section>
</main>

View File

@@ -7,10 +7,10 @@ module.exports = function intro(state) {
class="flex flex-col items-center justify-center bg-white px-6 md:py-0 py-6 mb-0 h-full w-full"
>
<div class="mt-12 flex flex-col h-full">
<h1 class="font-bold">
<h1 class="text-3xl font-bold md:pb-2">
${state.translate('introTitle')}
</h1>
<p class="max-w-sm leading-normal mt-6 md:mt-2 md:pr-16">
<p class="max-w-sm leading-loose mt-6 md:mt-2 md:pr-14">
${state.translate('introDescription')}
</p>
<img class="intro" src="${assets.get('intro.svg')}" />

View File

@@ -8,9 +8,11 @@ module.exports = function(state, emit) {
<div
class="flex flex-col items-center bg-white m-4 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
>
<h1 class="text-center">${state.translate('legalTitle')}</h1>
<h1 class="text-center text-3xl font-bold">
${state.translate('legalTitle')}
</h1>
<p class="mt-2">${state.translate('legalDateStamp')}</p>
<div class="overflow-scroll py-8 px-12">
<div class="overflow-y-scroll py-8 px-12">
<p class="leading-normal">
<span>When Mozilla receives information from you, our</span>
<a

View File

@@ -3,11 +3,11 @@ const html = require('choo/html');
module.exports = function(state, emit) {
return html`
<send-modal
class="absolute pin flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-lg md:my-8"
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8"
onclick="${close}"
>
<div
class="h-full w-full max-h-screen absolute pin-t flex items-center justify-center"
class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center"
>
<div class="w-full" onclick="${e => e.stopPropagation()}">
${state.modal(state, emit, close)}
@@ -21,7 +21,6 @@ module.exports = function(state, emit) {
event.preventDefault();
event.stopPropagation();
}
state.modal = null;
emit('render');
emit('closeModal');
}
};

View File

@@ -8,7 +8,9 @@ module.exports = function(state, emit) {
<div
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
>
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
<h1 class="mb-4 text-3xl font-bold">${state.translate(
'downloadTitle'
)}</h1>
<p
class="w-full p-2 border border-yellow-light rounded md:w-4/5 text-orange-dark bg-yellow-lighter text-center leading-normal"
>
@@ -17,7 +19,7 @@ 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-no-shrink" src="${assets.get(
<img class="mr-3 flex-shrink-0" src="${assets.get(
'blue_file.svg'
)}"/>
<p class="flex-grow">
@@ -49,7 +51,7 @@ module.exports = function(state, emit) {
</div>
</fieldset>
<input
class="btn rounded-lg w-full flex flex-no-shrink items-center justify-center"
class="btn rounded-lg w-full flex flex-shrink-0 items-center justify-center"
value="${state.translate('copyLinkButton')}"
title="${state.translate('copyLinkButton')}"
type="submit" />

View File

@@ -7,9 +7,9 @@ module.exports = function(state, emit) {
<main class="main">
${state.modal && modal(state, emit)}
<section
class="flex flex-col items-center justify-center h-full w-full p-6 z-10 overflow-hidden md:rounded-lg md:shadow-big"
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 font-bold my-2">
<h1 class="text-center text-3xl font-bold my-2">
${state.translate('expiredTitle')}
</h1>
<img src="${assets.get('notFound.svg')}" class="my-12" />

View File

@@ -4,9 +4,11 @@ module.exports = function(message) {
return function(state, emit, close) {
return html`
<send-ok-dialog class="flex flex-col max-w-sm p-4 m-auto">
<h2 class="text-center m-8 leading-normal">${message}</h2>
<h2 class="text-center text-xl font-bold m-8 leading-normal">
${message}
</h2>
<button
class="btn rounded-lg w-full flex-no-shrink"
class="btn rounded-lg w-full flex-shrink-0"
onclick="${close}"
title="${state.translate('okButton')}"
>

View File

@@ -3,8 +3,9 @@ const Component = require('choo/component');
const assets = require('../../common/assets');
class Promo extends Component {
constructor(name) {
constructor(name, state) {
super(name);
this.state = state;
}
update() {
@@ -14,20 +15,20 @@ class Promo extends Component {
createElement() {
return html`
<send-promo
class="w-full flex-none flex flex-row items-center content-center justify-center text-sm bg-grey-light leading-tight text-grey-darkest px-4 py-3"
class="w-full flex-row items-center content-center justify-center bg-white text-grey-darkest px-4 py-3 flex border-b border-grey-banner leading-normal"
>
<div class="flex items-center mx-auto">
<img
src="${assets.get('firefox_logo-only.svg')}"
class="w-6"
src="${assets.get('master-logo.svg')}"
class="w-6 h-6"
alt="Firefox"
/>
<span class="ml-3"
>Send is brought to you by the all-new Firefox.
<span class="ml-2 sm:ml-4 text-xs sm:text-base">
${this.state.translate('trailheadPromo')}${' '}
<a
class="text-blue"
href="https://www.mozilla.org/firefox/new/?utm_campaign=send-acquisition&utm_medium=referral&utm_source=send.firefox.com"
>Download Firefox now ≫</a
class="underline text-blue-dark"
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
>
</span>
</div>

View File

@@ -1,22 +1,16 @@
const html = require('choo/html');
/* Possible strings for l10n
shareLinkDescription = Share the link to your file:
shareLinkButton = Share link
shareMessage = Download "{ $name }" with { -send-brand }: simple, safe file sharing
*/
module.exports = function(name, url) {
return function(state, emit, close) {
const dialog = function(state, emit, close) {
return html`
<send-share-dialog
class="flex flex-col items-center text-center p-4 max-w-sm m-auto"
>
<h1 class="font-bold my-4">
<h1 class="text-3xl font-bold my-4">
${state.translate('notifyUploadEncryptDone')}
</h1>
<p class="font-normal leading-normal text-grey-darkest word-break-all">
Share the link to your file:<br />
${state.translate('shareLinkDescription')}<br />
${name}
</p>
<input
@@ -27,11 +21,11 @@ module.exports = function(name, url) {
readonly="true"
/>
<button
class="btn rounded-lg w-full flex-no-shrink focus:outline"
class="btn rounded-lg w-full flex-shrink-0 focus:outline"
onclick="${share}"
title="Share link"
title="${state.translate('shareLinkButton')}"
>
Share link
${state.translate('shareLinkButton')}
</button>
<button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker my-4 font-medium cursor-pointer focus:outline"
@@ -48,8 +42,7 @@ module.exports = function(name, url) {
try {
await navigator.share({
title: state.translate('-send-brand'),
text: `Download "${name}" with Firefox Send: simple, safe file sharing`,
//state.translate('shareMessage', { name }),
text: state.translate('shareMessage', { name }),
url
});
} catch (e) {
@@ -61,4 +54,6 @@ module.exports = function(name, url) {
close();
}
};
dialog.type = 'share';
return dialog;
};

View File

@@ -12,14 +12,11 @@ module.exports = function(trigger) {
<send-signup-dialog
class="flex flex-col lg:flex-row justify-center px-8 md:px-24 w-full h-full"
>
<img
src="${assets.get('firefox_logo-only.svg')}"
class="h-16 mt-1 mb-4"
/>
<img src="${assets.get('master-logo.svg')}" class="h-16 mt-1 mb-4" />
<section
class="flex flex-col flex-no-shrink self-center lg:mx-6 lg:max-w-xs"
class="flex flex-col flex-shrink-0 self-center lg:mx-6 lg:max-w-xs"
>
<h1 class="font-bold text-center lg:text-left">
<h1 class="text-3xl font-bold text-center lg:text-left">
${state.translate('accountBenefitTitle')}
</h1>
<ul
@@ -49,9 +46,9 @@ module.exports = function(trigger) {
placeholder=${state.translate('emailPlaceholder')}
/>
<input
class="btn rounded-lg w-full flex flex-no-shrink items-center justify-center"
value="${state.translate('signInButton')}"
title="${state.translate('signInButton')}"
class="btn rounded-lg w-full flex flex-shrink-0 items-center justify-center"
value="${state.translate('signInOnlyButton')}"
title="${state.translate('signInOnlyButton')}"
id="email-submit"
type="submit"
/>

42
app/ui/surveyDialog.js Normal file
View File

@@ -0,0 +1,42 @@
const html = require('choo/html');
const version = require('../../package.json').version;
const { browserName } = require('../utils');
module.exports = function() {
return function(state, emit, close) {
const surveyUrl = `${
state.PREFS.surveyUrl
}?ver=${version}&browser=${browserName()}&anon=${
state.user.loggedIn
}&active_count=${state.storage.files.length}`;
return html`
<send-survey-dialog
class="flex flex-col items-center text-center p-4 max-w-sm m-auto"
>
<h1 class="text-3xl font-bold my-4">
Tell us what you think.
</h1>
<p class="font-normal leading-normal text-grey-darkest px-4">
Love Firefox Send? Take a quick survey to let us know how we can make
it better.
</p>
<a
class="btn rounded-lg w-full flex-shrink-0 focus:outline my-5"
onclick="${() => emit('closeModal')}"
title="Give feedback"
href="${surveyUrl}"
target="_blank"
>
Give feedback
</a>
<button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker font-medium cursor-pointer focus:outline"
onclick="${close}"
title="Skip"
>
Skip
</button>
</send-survey-dialog>
`;
};
};

View File

@@ -29,7 +29,7 @@ module.exports = function(state, emit) {
<section
class="flex flex-col items-center justify-center text-center bg-white m-6 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
>
<h1 class="">${strings.header}</h1>
<h1 class="text-3xl font-bold">${strings.header}</h1>
<p class="mt-4 mb-8 max-w-md leading-normal">${strings.description}</p>
${why}
<a href="${url}" class="btn rounded-lg mt-8 px-8">

View File

@@ -44,6 +44,14 @@ export default class User {
this.storage.set('firstAction', action);
}
get surveyed() {
return this.storage.get('surveyed');
}
set surveyed(yes) {
this.storage.set('surveyed', yes);
}
get avatar() {
const defaultAvatar = assets.get('user.svg');
if (this.info.avatarDefault) {
@@ -94,10 +102,12 @@ export default class User {
return this.loggedIn ? hashId(this.storage.id) : hashId(anonId);
}
async startAuthFlow(source, utms = {}) {
async startAuthFlow(trigger, utms = {}) {
this.utms = utms;
this.trigger = trigger;
try {
const params = new URLSearchParams({
entrypoint: `send-${source}`,
entrypoint: `send-${trigger}`,
form_type: 'email',
utm_source: utms.source || 'send',
utm_campaign: utms.campaign || 'none'
@@ -111,12 +121,10 @@ export default class User {
const { flowId, flowBeginTime } = await res.json();
this.flowId = flowId;
this.flowBeginTime = flowBeginTime;
this.utms = utms;
} catch (e) {
console.error(e);
this.flowId = null;
this.flowBeginTime = null;
this.utms = null;
}
}
@@ -142,6 +150,9 @@ export default class User {
options.flow_id = this.flowId;
options.flow_begin_time = this.flowBeginTime;
}
if (this.trigger) {
options.entrypoint = `send-${this.trigger}`;
}
if (this.utms) {
options.utm_campaign = this.utms.campaign || 'none';
options.utm_content = this.utms.content || 'none';

View File

@@ -14,6 +14,10 @@ function b64ToArray(str) {
return b64.toByteArray(str + '==='.slice((str.length + 3) % 4));
}
function locale() {
return document.querySelector('html').lang;
}
function loadShim(polyfill) {
return new Promise((resolve, reject) => {
const shim = document.createElement('script');
@@ -25,7 +29,7 @@ function loadShim(polyfill) {
}
function isFile(id) {
return /^[0-9a-fA-F]{10}$/.test(id);
return /^[0-9a-fA-F]{10,16}$/.test(id);
}
function copyToClipboard(str) {
@@ -56,7 +60,7 @@ const LOCALIZE_NUMBERS = !!(
typeof navigator === 'object'
);
const UNITS = ['B', 'kB', 'MB', 'GB'];
const UNITS = ['bytes', 'kb', 'mb', 'gb'];
function bytes(num) {
if (num < 1) {
return '0B';
@@ -67,8 +71,7 @@ function bytes(num) {
let nStr = n.toFixed(decimalDigits);
if (LOCALIZE_NUMBERS) {
try {
const locale = document.querySelector('html').lang;
nStr = n.toLocaleString(locale, {
nStr = n.toLocaleString(locale(), {
minimumFractionDigits: decimalDigits,
maximumFractionDigits: decimalDigits
});
@@ -76,14 +79,16 @@ function bytes(num) {
// fall through
}
}
return `${nStr}${UNITS[exponent]}`;
return translate('fileSize', {
num: nStr,
units: translate(UNITS[exponent])
});
}
function percent(ratio) {
if (LOCALIZE_NUMBERS) {
try {
const locale = document.querySelector('html').lang;
return ratio.toLocaleString(locale, { style: 'percent' });
return ratio.toLocaleString(locale(), { style: 'percent' });
} catch (e) {
// fall through
}
@@ -93,8 +98,7 @@ function percent(ratio) {
function number(n) {
if (LOCALIZE_NUMBERS) {
const locale = document.querySelector('html').lang;
return n.toLocaleString(locale);
return n.toLocaleString(locale());
}
return n.toString();
}
@@ -256,7 +260,15 @@ function encryptedSize(size, rs = ECE_RECORD_SIZE, tagLength = TAG_LENGTH) {
return 21 + size + chunk_meta * Math.ceil(size / (rs - chunk_meta));
}
let translate = function() {
throw new Error('uninitialized translate function. call setTranslate first');
};
function setTranslate(t) {
translate = t;
}
module.exports = {
locale,
fadeOut,
delay,
allowedCopy,
@@ -275,5 +287,6 @@ module.exports = {
secondsToL10nId,
timeLeft,
platform,
encryptedSize
encryptedSize,
setTranslate
};

View File

@@ -50,7 +50,7 @@ class File {
v.setUint32(0, 0x08074b50, true); // sig
v.setUint32(4, this.crc, true); // crc32
v.setUint32(8, this.size, true); // compressed size
v.setUint16(12, this.size, true); // uncompressed size
v.setUint32(12, this.size, true); // uncompressed size
return new Uint8Array(dd);
}
@@ -60,7 +60,7 @@ class File {
v.setUint32(0, 0x02014b50, true); // sig
v.setUint16(4, 20, true); // version made
v.setUint16(6, 20, true); // version required
v.setUint16(8, 0, true); // bit flags
v.setUint16(8, 8, true); // bit flags (8 = use data descriptor)
v.setUint16(10, 0, true); // compression
v.setUint16(12, this.dateTime.time, true); // modified time
v.setUint16(14, this.dateTime.date, true); // modified date

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

99
assets/master-logo.svg Normal file
View File

@@ -0,0 +1,99 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80">
<defs>
<radialGradient id="a" cx="-1186.91" cy="-517.676" r="90.78" gradientTransform="translate(1258.441 534.061)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#fff36e"/>
<stop offset=".5" stop-color="#fc4055"/>
<stop offset="1" stop-color="#e31587"/>
</radialGradient>
<radialGradient id="b" cx="-1251.812" cy="-513.921" r="53.726" gradientTransform="translate(1258.441 534.061)" gradientUnits="userSpaceOnUse">
<stop offset=".001" stop-color="#c60084"/>
<stop offset="1" stop-color="#fc4055" stop-opacity="0"/>
</radialGradient>
<radialGradient id="c" cx="-1179.15" cy="-522.842" r="106.599" gradientTransform="translate(1258.441 534.061)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ffde67" stop-opacity=".6"/>
<stop offset=".093" stop-color="#ffd966" stop-opacity=".581"/>
<stop offset=".203" stop-color="#ffca65" stop-opacity=".525"/>
<stop offset=".321" stop-color="#feb262" stop-opacity=".432"/>
<stop offset=".446" stop-color="#fe8f5e" stop-opacity=".302"/>
<stop offset=".573" stop-color="#fd6459" stop-opacity=".137"/>
<stop offset=".664" stop-color="#fc4055" stop-opacity="0"/>
</radialGradient>
<radialGradient id="d" cx="42.285" cy="44.499" r="137.521" gradientTransform="translate(0 -.095)" gradientUnits="userSpaceOnUse">
<stop offset=".153" stop-color="#810220"/>
<stop offset=".167" stop-color="#920b27" stop-opacity=".861"/>
<stop offset=".216" stop-color="#cb2740" stop-opacity=".398"/>
<stop offset=".253" stop-color="#ef394f" stop-opacity=".11"/>
<stop offset=".272" stop-color="#fc4055" stop-opacity="0"/>
</radialGradient>
<radialGradient id="e" cx="31.878" cy="42.77" r="137.521" gradientTransform="translate(0 -.095)" gradientUnits="userSpaceOnUse">
<stop offset=".113" stop-color="#810220"/>
<stop offset=".133" stop-color="#920b27" stop-opacity=".861"/>
<stop offset=".204" stop-color="#cb2740" stop-opacity=".398"/>
<stop offset=".257" stop-color="#ef394f" stop-opacity=".11"/>
<stop offset=".284" stop-color="#fc4055" stop-opacity="0"/>
</radialGradient>
<linearGradient id="f" x1="-1212.61" y1="-525.103" x2="-1189.052" y2="-484.299" gradientTransform="translate(1258.441 532.89)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ffbd4f"/>
<stop offset=".508" stop-color="#ff9640" stop-opacity="0"/>
</linearGradient>
<radialGradient id="g" cx="-1255.933" cy="-77.395" r="88.863" gradientTransform="matrix(.959 0 0 .961 1273.896 86.468)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9640"/>
<stop offset=".8" stop-color="#fc4055"/>
</radialGradient>
<radialGradient id="h" cx="-1255.933" cy="-77.395" r="88.863" gradientTransform="matrix(.959 0 0 .961 1273.896 86.468)" gradientUnits="userSpaceOnUse">
<stop offset=".084" stop-color="#ffde67"/>
<stop offset=".147" stop-color="#ffdc66" stop-opacity=".968"/>
<stop offset=".246" stop-color="#ffd562" stop-opacity=".879"/>
<stop offset=".369" stop-color="#ffcb5d" stop-opacity=".734"/>
<stop offset=".511" stop-color="#ffbc55" stop-opacity=".533"/>
<stop offset=".667" stop-color="#ffaa4b" stop-opacity=".28"/>
<stop offset=".822" stop-color="#ff9640" stop-opacity="0"/>
</radialGradient>
<radialGradient id="i" cx="49.941" cy="38.654" r="41.79" gradientTransform="matrix(.247 .971 -1.011 .259 76.681 -19.851)" gradientUnits="userSpaceOnUse">
<stop offset=".363" stop-color="#fc4055"/>
<stop offset=".443" stop-color="#fd604d" stop-opacity=".633"/>
<stop offset=".545" stop-color="#fe8644" stop-opacity=".181"/>
<stop offset=".59" stop-color="#ff9640" stop-opacity="0"/>
</radialGradient>
<radialGradient id="j" cx="42.737" cy="42.193" r="41.79" gradientTransform="translate(0 -.095)" gradientUnits="userSpaceOnUse">
<stop offset=".216" stop-color="#fc4055" stop-opacity=".8"/>
<stop offset=".267" stop-color="#fd5251" stop-opacity=".633"/>
<stop offset=".41" stop-color="#fe8345" stop-opacity=".181"/>
<stop offset=".474" stop-color="#ff9640" stop-opacity="0"/>
</radialGradient>
<radialGradient id="k" cx="-1238.198" cy="-87.433" r="150.195" gradientTransform="matrix(.959 0 0 .961 1273.896 86.468)" gradientUnits="userSpaceOnUse">
<stop offset=".054" stop-color="#fff36e"/>
<stop offset=".457" stop-color="#ff9640"/>
<stop offset=".639" stop-color="#ff9640"/>
</radialGradient>
<linearGradient id="l" x1="59.052" y1="7.083" x2="18.155" y2="77.92" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#fff36e" stop-opacity=".8"/>
<stop offset=".094" stop-color="#fff36e" stop-opacity=".699"/>
<stop offset=".752" stop-color="#fff36e" stop-opacity="0"/>
</linearGradient>
<linearGradient id="m" x1="40.585" y1="-.67" x2="62.3" y2="62.203" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#b833e1"/>
<stop offset=".371" stop-color="#9059ff"/>
<stop offset=".614" stop-color="#5b6df8"/>
<stop offset="1" stop-color="#0090ed"/>
</linearGradient>
<linearGradient id="n" x1="-1230.731" y1="-532.566" x2="-1190.37" y2="-492.205" gradientTransform="translate(1258.441 532.89)" gradientUnits="userSpaceOnUse">
<stop offset=".805" stop-color="#722291" stop-opacity="0"/>
<stop offset="1" stop-color="#592acb" stop-opacity=".5"/>
</linearGradient>
</defs>
<path d="M71.944 15.7A39.47 39.47 0 0 0 41.588.009C32.3-.177 25.884 2.614 22.254 4.858 27.111 2.041 34.14.443 40.294.522c15.83.2 32.832 10.981 35.357 30.413 2.9 22.306-12.637 40.923-34.493 40.98-24.045.061-38.67-21.229-34.847-40.352a19.735 19.735 0 0 1 .413-2.787 37.815 37.815 0 0 1 4.193-14.018c-2.769 1.433-6.295 5.965-8.035 10.163A41.355 41.355 0 0 0 .284 45.1c.06.518.114 1.035.182 1.549A40.062 40.062 0 1 0 71.944 15.7zm-63.4 3.487z" fill="url(#a)"/>
<path d="M71.944 15.7A39.47 39.47 0 0 0 41.588.009C32.3-.177 25.884 2.614 22.254 4.858 27.111 2.041 34.14.443 40.294.522c15.83.2 32.832 10.981 35.357 30.413 2.9 22.306-12.637 40.923-34.493 40.98-24.045.061-38.67-21.229-34.847-40.352a19.735 19.735 0 0 1 .413-2.787 37.815 37.815 0 0 1 4.193-14.018c-2.769 1.433-6.295 5.965-8.035 10.163A41.355 41.355 0 0 0 .284 45.1c.06.518.114 1.035.182 1.549A40.062 40.062 0 1 0 71.944 15.7zm-63.4 3.487z" fill="url(#b)" opacity=".67"/>
<path d="M71.944 15.7A39.47 39.47 0 0 0 41.588.009C32.3-.177 25.884 2.614 22.254 4.858 27.111 2.041 34.14.443 40.294.522c15.83.2 32.832 10.981 35.357 30.413 2.9 22.306-12.637 40.923-34.493 40.98-24.045.061-38.67-21.229-34.847-40.352a19.735 19.735 0 0 1 .413-2.787 37.815 37.815 0 0 1 4.193-14.018c-2.769 1.433-6.295 5.965-8.035 10.163A41.355 41.355 0 0 0 .284 45.1c.06.518.114 1.035.182 1.549A40.062 40.062 0 1 0 71.944 15.7zm-63.4 3.487z" fill="url(#c)"/>
<path d="M71.944 15.7A39.47 39.47 0 0 0 41.588.009C32.3-.177 25.884 2.614 22.254 4.858 27.111 2.041 34.14.443 40.294.522c15.83.2 32.832 10.981 35.357 30.413 2.9 22.306-12.637 40.923-34.493 40.98-24.045.061-38.67-21.229-34.847-40.352a19.735 19.735 0 0 1 .413-2.787 37.815 37.815 0 0 1 4.193-14.018c-2.769 1.433-6.295 5.965-8.035 10.163A41.355 41.355 0 0 0 .284 45.1c.06.518.114 1.035.182 1.549A40.062 40.062 0 1 0 71.944 15.7zm-63.4 3.487z" fill="url(#d)"/>
<path d="M71.944 15.7A39.47 39.47 0 0 0 41.588.009C32.3-.177 25.884 2.614 22.254 4.858 27.111 2.041 34.14.443 40.294.522c15.83.2 32.832 10.981 35.357 30.413 2.9 22.306-12.637 40.923-34.493 40.98-24.045.061-38.67-21.229-34.847-40.352a19.735 19.735 0 0 1 .413-2.787 37.815 37.815 0 0 1 4.193-14.018c-2.769 1.433-6.295 5.965-8.035 10.163A41.355 41.355 0 0 0 .284 45.1c.06.518.114 1.035.182 1.549A40.062 40.062 0 1 0 71.944 15.7zm-63.4 3.487z" fill="url(#e)"/>
<path d="M75.651 30.935a41.01 41.01 0 0 1 .3 7.247q1.99-.3 3.987-.53A40.01 40.01 0 0 0 71.944 15.7 39.47 39.47 0 0 0 41.588.009C32.3-.177 25.884 2.614 22.254 4.858 27.111 2.041 34.14.443 40.294.522 56.124.724 73.126 11.5 75.651 30.935z" fill="url(#f)"/>
<path d="M76.625 29.826C74.374 9.518 56.263.39 40.294.522c-6.155.05-13.183 1.519-18.04 4.336a19.7 19.7 0 0 0-3.56 2.7c.129-.107.514-.424 1.152-.862l.063-.043.056-.038a26.655 26.655 0 0 1 7.692-3.572A43.5 43.5 0 0 1 40.84 1.5a33.254 33.254 0 0 1 31.25 31.993C72.457 46.7 61.648 57.23 49.188 57.84c-9.062.444-17.6-3.941-21.77-12.713a21.68 21.68 0 0 1-1.964-6.333c-1.976-13.35 6.989-24.735 15.21-27.554-4.435-3.874-15.548-3.611-23.819 2.474-5.956 4.382-9.82 11.049-11.1 19a32.945 32.945 0 0 0 2.34 18 35.3 35.3 0 0 0 30.089 21.443q1.489.114 2.984.113c26.462 0 37.942-20.087 35.467-42.444z" fill="url(#g)"/>
<path d="M76.625 29.826C74.374 9.518 56.263.39 40.294.522c-6.155.05-13.183 1.519-18.04 4.336a19.7 19.7 0 0 0-3.56 2.7c.129-.107.514-.424 1.152-.862l.063-.043.056-.038a26.655 26.655 0 0 1 7.692-3.572A43.5 43.5 0 0 1 40.84 1.5a33.254 33.254 0 0 1 31.25 31.993C72.457 46.7 61.648 57.23 49.188 57.84c-9.062.444-17.6-3.941-21.77-12.713a21.68 21.68 0 0 1-1.964-6.333c-1.976-13.35 6.989-24.735 15.21-27.554-4.435-3.874-15.548-3.611-23.819 2.474-5.956 4.382-9.82 11.049-11.1 19a32.945 32.945 0 0 0 2.34 18 35.3 35.3 0 0 0 30.089 21.443q1.489.114 2.984.113c26.462 0 37.942-20.087 35.467-42.444z" fill="url(#h)"/>
<path d="M76.625 29.826C74.374 9.518 56.263.39 40.294.522c-6.155.05-13.183 1.519-18.04 4.336a19.7 19.7 0 0 0-3.56 2.7c.129-.107.514-.424 1.152-.862l.063-.043.056-.038a26.655 26.655 0 0 1 7.692-3.572A43.5 43.5 0 0 1 40.84 1.5a33.254 33.254 0 0 1 31.25 31.993C72.457 46.7 61.648 57.23 49.188 57.84c-9.062.444-17.6-3.941-21.77-12.713a21.68 21.68 0 0 1-1.964-6.333c-1.976-13.35 6.989-24.735 15.21-27.554-4.435-3.874-15.548-3.611-23.819 2.474-5.956 4.382-9.82 11.049-11.1 19a32.945 32.945 0 0 0 2.34 18 35.3 35.3 0 0 0 30.089 21.443q1.489.114 2.984.113c26.462 0 37.942-20.087 35.467-42.444z" style="mix-blend-mode:multiply" opacity=".53" fill="url(#i)"/>
<path d="M76.625 29.826C74.374 9.518 56.263.39 40.294.522c-6.155.05-13.183 1.519-18.04 4.336a19.7 19.7 0 0 0-3.56 2.7c.129-.107.514-.424 1.152-.862l.063-.043.056-.038a26.655 26.655 0 0 1 7.692-3.572A43.5 43.5 0 0 1 40.84 1.5a33.254 33.254 0 0 1 31.25 31.993C72.457 46.7 61.648 57.23 49.188 57.84c-9.062.444-17.6-3.941-21.77-12.713a21.68 21.68 0 0 1-1.964-6.333c-1.976-13.35 6.989-24.735 15.21-27.554-4.435-3.874-15.548-3.611-23.819 2.474-5.956 4.382-9.82 11.049-11.1 19a32.945 32.945 0 0 0 2.34 18 35.3 35.3 0 0 0 30.089 21.443q1.489.114 2.984.113c26.462 0 37.942-20.087 35.467-42.444z" style="mix-blend-mode:multiply" opacity=".53" fill="url(#j)"/>
<path d="M49.188 57.84c17.1-1.04 24.42-15.2 24.879-25.245C74.783 16.9 65.472-.02 40.84 1.5a43.5 43.5 0 0 0-13.183 1.546 28.855 28.855 0 0 0-7.692 3.572l-.056.038-.063.043q-.574.4-1.123.842A33.482 33.482 0 0 1 39.7 3.605c14.142 1.856 27.072 12.857 27.072 27.373 0 11.169-8.631 19.7-18.738 19.087-15.015-.9-18.8-16.3-10.989-22.954-2.106-.453-6.064.435-8.82 4.555-2.473 3.7-2.333 9.41-.807 13.461a22.118 22.118 0 0 0 21.77 12.713z" fill="url(#k)"/>
<path d="M71.944 15.7a39.958 39.958 0 0 0-3.482-3.982 31.342 31.342 0 0 0-3.177-2.926 24.393 24.393 0 0 1 1.849 1.79 22.466 22.466 0 0 1 4.882 8.144c2.089 6.329 1.953 14.25-2.036 20.471a23.539 23.539 0 0 1-20.855 10.895c-.361 0-.725 0-1.091-.027-15.015-.9-18.8-16.3-10.988-22.954-2.107-.453-6.065.435-8.821 4.555-2.473 3.7-2.333 9.41-.807 13.461a21.679 21.679 0 0 1-1.963-6.333c-1.977-13.35 6.988-24.735 15.209-27.554-4.435-3.874-15.548-3.611-23.819 2.474a27.845 27.845 0 0 0-10.087 14.6 38.5 38.5 0 0 1 4.159-13.553c-2.769 1.433-6.295 5.965-8.035 10.163A41.355 41.355 0 0 0 .284 45.1c.06.518.114 1.035.182 1.549A40.062 40.062 0 1 0 71.944 15.7z" fill="url(#l)"/>
<path d="M72.016 18.726a22.458 22.458 0 0 0-4.882-8.144 30.224 30.224 0 0 0-9.094-6.493A40.518 40.518 0 0 0 49.1.92a39.834 39.834 0 0 0-16.565-.1c-5.683 1.2-10.68 3.659-13.841 6.733a32.1 32.1 0 0 1 8.031-3.2 33.565 33.565 0 0 1 31.173 8.1 27.01 27.01 0 0 1 4.329 5.3c4.895 7.959 4.432 17.965.615 23.866-2.835 4.384-8.907 8.5-14.572 8.452A23.629 23.629 0 0 0 69.98 39.2c3.989-6.224 4.125-14.145 2.036-20.474z" fill="url(#m)"/>
<path d="M72.016 18.726a22.458 22.458 0 0 0-4.882-8.144 30.224 30.224 0 0 0-9.094-6.493A40.518 40.518 0 0 0 49.1.92a39.834 39.834 0 0 0-16.565-.1c-5.683 1.2-10.68 3.659-13.841 6.733a32.1 32.1 0 0 1 8.031-3.2 33.565 33.565 0 0 1 31.173 8.1 27.01 27.01 0 0 1 4.329 5.3c4.895 7.959 4.432 17.965.615 23.866-2.835 4.384-8.907 8.5-14.572 8.452A23.629 23.629 0 0 0 69.98 39.2c3.989-6.224 4.125-14.145 2.036-20.474z" fill="url(#n)"/>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -21,7 +21,7 @@ Adapted from [this spreadsheet](https://airtable.com/shrkcBPOLkvNFOrpp)
- [ ] It should allow users to select and send multiple files in one URL
- [ ] It should limit the sendable file size to 1GB
- [ ] It should allow users to set an expiration time of 5 minutes, 1 hour, or 24 hours
- [ ] It should allow users to set an download count of 1 downloads
- [ ] It should allow users to set a download count of 1 downloads
### Authenticated Users
- [ ] It should indicate that the user is signed in via Firefox Account
@@ -63,8 +63,8 @@ This document tracks differences between the UX spec for Firefox Send and the in
[Spec Link](https://mozilla.invisionapp.com/share/GNN6KKOQ5XS)
* 1.1: Spec describes toolbar which may not be possible given the application framework we're using. In particular, issues with the spec include the color, logo and different font weights may be at issue.
* 1.2: Spec's treatment of FxA UI may be difficult to match. We should use the default OAuth implementation and re-evaluate UX once we see an implementation demo. Also, the landing page UI should display a log-in CTA directly and not require users click into the the hamburger menu.
* 1.1: Spec describes toolbar which may not be possible given the application framework we're using. In particular, issues with the spec include the color, logo and different font weights may be an issue.
* 1.2: Spec's treatment of FxA UI may be difficult to match. We should use the default OAuth implementation and re-evaluate UX once we see an implementation demo. Also, the landing page UI should display a log-in CTA directly and not require users click into the hamburger menu.
* 2.1: MVP will only include file picker. Signed in users will be able to select multiple files. File selection flow will be Android-native. Probably don't have the ability to add notifications as in the last screen on this page.
* 2.1: @fzzzy will provide screenshots of this flow for UX evaluation and comment.
* 3.1.4: The spec shows deleting the last item in an unshared set returning the user to the picker menu. Instead, it should return to the app home page.

68
docs/deployment.md Normal file
View File

@@ -0,0 +1,68 @@
## Requirements
This document describes how to do a full deployment of Firefox Send on your own Linux server. You will need:
* A working (and ideally somewhat recent) installation of NodeJS and NPM
* GIT
* An Apache webserver
* Optionally telnet, to be able to quickly check your installation
For Debian/Ubuntu systems this probably just means something like this:
* apt install git apache2 nodejs npm telnet
## Building
* We assume an already configured virtual-host on your webserver with an existing empty htdocs folder
* First, remove that htdocs folder - we will replace it with Firefox Send's version now
* git clone https://github.com/mozilla/send.git htdocs
* Make now sure you are NOT root but rather the user your webserver is serving files under (e.g. "su www-data" or whoever the owner of your htdocs folder is)
* npm install
* npm run build
## Running
To have a permanently running version of Firefox Send as a background process:
* Create a file "run.sh" with:
```
#!/bin/bash
nohup su www-data -c "npm run prod" 2>/dev/null &
```
* chmod +x run.sh
* ./run.sh
Now the Firefox Send backend should be running on port 1443. You can check with:
* telnet localhost 1443
## Reverse Proxy
Of course, we don't want to expose the service on port 1443. Instead we want our normal webserver to forward all requests to Firefox send ("Reverse proxy").
# Apache webserver
* a2enmod proxy
* a2enmod proxy_http
* a2enmod proxy_wstunnel
In your Apache virtual host configuration file, insert this:
```
# Enable rewrite engine
RewriteEngine on
# Make sure the original domain name is forwarded to Send
# Otherwise the generated URLs will be wrong
ProxyPreserveHost on
# Make sure the generated URL is https://
RequestHeader set X-Forwarded-Proto https
# If it's a normal file (e.g. PNG, CSS) just return it
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
# If it's a websocket connection, redirect it to a Send WS connection
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:1443/$1 [P,L]
# Otherwise redirect it to a normal HTTP connection
RewriteRule ^/(.*)$ http://127.0.0.1:1443/$1 [P,QSA]
ProxyPassReverse "/" "http://127.0.0.1:1443"
```

View File

@@ -7,8 +7,8 @@ Send use 128-bit AES-GCM encryption via the [Web Crypto API](https://developer.m
### Uploading
1. A new secret key is generated with `crypto.getRandomValues`
2. The secret key is used to derive 3 more keys via HKDF SHA-256
- an encryption key for the file (AES-GCM)
2. The secret key is used to derive more keys via HKDF SHA-256
- a series of encryption keys for the file, via [ECE](https://tools.ietf.org/html/rfc8188) (AES-GCM)
- an encryption key for the file metadata (AES-GCM)
- a signing key for request authentication (HMAC SHA-256)
3. The file and metadata are encrypted with their corresponding keys
@@ -21,7 +21,7 @@ Send use 128-bit AES-GCM encryption via the [Web Crypto API](https://developer.m
1. The browser loads the share url page, which includes an authentication nonce
2. The browser imports the secret key from the url fragment
3. The same 3 keys as above are derived
4. The browser signs the nonce with it's signing key and requests the metadata
4. The browser signs the nonce with its signing key and requests the metadata
5. The encrypted metadata is decrypted and presented on the page
6. The browser makes another authenticated request to download the encrypted file
7. The browser downloads and decrypts the file

View File

@@ -1,6 +1,6 @@
## How big of a file can I transfer with Firefox Send?
There is a 2GB file size limit built in to Send, however, in practice you may
There is a 2.5GB file size limit built in to Send(1GB for non-signed in users), however, in practice you may
be unable to send files that large. Send encrypts and decrypts the files in
the browser which is great for security but will tax your system resources. In
particular you can expect to see your memory usage go up by at least the size

View File

@@ -68,6 +68,7 @@ Server events allow us to aggregate data about file lifecycle without collecting
* `event_properties`
* `download_count` downloads completed
* `ttl` time remaining before expiry truncated to hour
* `agent` the browser name or first 6 characters of the user agent that made the request
### Client Events

10018
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "firefox-send",
"description": "File Sharing Experiment",
"version": "3.0.0",
"version": "3.0.18",
"author": "Mozilla (https://mozilla.org)",
"repository": "mozilla/send",
"homepage": "https://github.com/mozilla/send/",
@@ -27,7 +27,7 @@
"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 FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost:8080 webpack-dev-server --mode=development",
"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",
"android": "cross-env ANDROID=1 npm start",
"prod": "node server/bin/prod.js"
},
@@ -35,7 +35,8 @@
"hooks": {
"pre-commit": "lint-staged",
"pre-push": "npm test",
"post-merge": "npm install"
"post-merge": "npm install",
"post-checkout": "scripts/sync-npm-dependencies.sh"
}
},
"lint-staged": {
@@ -60,134 +61,163 @@
"node": ">=10.0.0"
},
"devDependencies": {
"@babel/core": "^7.3.4",
"@babel/plugin-proposal-class-properties": "^7.3.4",
"@babel/core": "^7.6.0",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "^7.3.4",
"@dannycoates/webcrypto-liner": "^0.1.34",
"@dannycoates/webpack-dev-server": "^3.1.4",
"@fullhuman/postcss-purgecss": "^1.1.0",
"@babel/preset-env": "^7.6.0",
"@dannycoates/webcrypto-liner": "^0.1.37",
"@fullhuman/postcss-purgecss": "^1.2.0",
"@mattiasbuelens/web-streams-polyfill": "0.2.1",
"@sentry/browser": "^5.6.3",
"asmcrypto.js": "^0.22.0",
"babel-loader": "^8.0.5",
"babel-plugin-istanbul": "^5.1.1",
"base64-js": "^1.3.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.0",
"core-js": "^2.6.5",
"copy-webpack-plugin": "^5.0.4",
"core-js": "^3.2.1",
"crc": "^3.8.0",
"cross-env": "^5.2.0",
"css-loader": "^2.1.1",
"cross-env": "^5.2.1",
"css-loader": "^3.2.0",
"css-mqpacker": "^7.0.0",
"cssnano": "^4.1.10",
"eslint": "^5.15.1",
"eslint-plugin-mocha": "^5.3.0",
"eslint-plugin-node": "^8.0.1",
"eslint": "^6.3.0",
"eslint-config-prettier": "^6.2.0",
"eslint-plugin-mocha": "^6.1.0",
"eslint-plugin-node": "^9.2.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",
"file-loader": "^3.0.1",
"fluent-intl-polyfill": "^0.1.0",
"file-loader": "^4.2.0",
"git-rev-sync": "^1.12.0",
"html-loader": "^0.5.5",
"http_ece": "^1.1.0",
"husky": "^1.3.1",
"lint-staged": "^8.1.5",
"mocha": "^6.0.2",
"husky": "^3.0.5",
"intl-pluralrules": "^1.0.3",
"lint-staged": "^9.2.5",
"mocha": "^6.2.0",
"morgan": "^1.9.1",
"nanobus": "^4.4.0",
"nanohtml": "^1.4.0",
"nanohtml": "^1.8.1",
"nanotiming": "^7.3.1",
"npm-run-all": "^4.1.5",
"nyc": "^13.3.0",
"nyc": "^14.1.1",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.6.0",
"prettier": "^1.16.4",
"proxyquire": "^2.1.0",
"puppeteer": "1.11.0",
"raven-js": "^3.27.0",
"raw-loader": "^1.0.0",
"redis-mock": "^0.43.0",
"rimraf": "^2.6.3",
"postcss-preset-env": "^6.7.0",
"prettier": "^1.18.2",
"proxyquire": "^2.1.3",
"puppeteer": "^1.19.0",
"raw-loader": "^3.1.0",
"redis-mock": "^0.46.0",
"rimraf": "^3.0.0",
"script-loader": "^0.7.2",
"sinon": "^7.2.7",
"sinon": "^7.4.2",
"string-hash": "^1.1.3",
"stylelint": "^9.10.1",
"stylelint-config-standard": "^18.2.0",
"stylelint": "^10.1.0",
"stylelint-config-standard": "^18.3.0",
"stylelint-no-unsupported-browser-features": "^3.0.2",
"svgo": "^1.2.0",
"svgo-loader": "^2.2.0",
"tailwindcss": "^0.7.4",
"svgo": "^1.3.0",
"svgo-loader": "^2.2.1",
"tailwindcss": "^1.1.2",
"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.3",
"webpack": "4.28.4",
"webpack-cli": "^3.2.3",
"webpack-dev-middleware": "^3.6.1",
"webdriverio": "^4.14.4",
"webpack": "4.38.0",
"webpack-cli": "^3.3.8",
"webpack-dev-middleware": "^3.7.1",
"webpack-dev-server": "^3.8.0",
"webpack-manifest-plugin": "^2.0.4",
"webpack-unassert-loader": "^1.2.0"
},
"dependencies": {
"@google-cloud/storage": "^2.4.2",
"aws-sdk": "^2.417.0",
"body-parser": "^1.18.3",
"choo": "^6.12.1",
"cldr-core": "^34.0.0",
"convict": "^4.4.1",
"express": "^4.16.3",
"express-ws": "github:dannycoates/express-ws",
"fluent": "^0.11.0",
"fluent-langneg": "^0.1.1",
"@dannycoates/express-ws": "^5.0.3",
"@fluent/bundle": "^0.13.0",
"@fluent/langneg": "^0.3.0",
"@google-cloud/storage": "^3.2.1",
"@sentry/node": "^5.6.2",
"aws-sdk": "^2.524.0",
"body-parser": "^1.19.0",
"choo": "^7.0.0",
"cldr-core": "^35.1.0",
"configstore": "github:dannycoates/configstore#master",
"convict": "^5.1.0",
"express": "^4.17.1",
"fxa-geodb": "^1.0.4",
"helmet": "^3.15.1",
"helmet": "^3.21.0",
"mkdirp": "^0.5.1",
"mozlog": "^2.2.0",
"node-fetch": "^2.3.0",
"raven": "^2.6.4",
"node-fetch": "^2.6.0",
"redis": "^2.8.0",
"ua-parser-js": "^0.7.19",
"websocket-stream": "^5.1.2"
"selenium-standalone": "^6.15.6",
"ua-parser-js": "^0.7.20"
},
"availableLanguages": [
"en-US",
"ar",
"ast",
"bn",
"br",
"ca",
"cak",
"cs",
"cy",
"da",
"de",
"dsb",
"el",
"en-CA",
"en-GB",
"es-AR",
"es-CL",
"es-ES",
"es-MX",
"et",
"eu",
"fi",
"fr",
"fy-NL",
"he",
"hr",
"hsb",
"hu",
"ia",
"id",
"it",
"ja",
"ka",
"kab",
"ko",
"lt",
"ml",
"nb-NO",
"nl",
"nn-NO",
"oc",
"pa-IN",
"pl",
"pt-BR",
"pt-PT",
"ro",
"ru",
"sk",
"sl",
"sq",
"sr",
"su",
"sv-SE",
"th",
"tr",
"uk",
"vi",
"zgh",
"zh-CN",
"zh-TW"
]

View File

@@ -6,7 +6,7 @@ class TailwindExtractor {
const options = {
plugins: [
require('tailwindcss')('./tailwind.js'),
require('tailwindcss')('./tailwind.config.js'),
require('postcss-preset-env')
]
};

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = فَيَرفُكس سِنْد
siteSubtitle = تجربة وِبّيّة
siteFeedback = الانطباعات
uploadPageHeader = شارِك ملفاتك بخصوصية وتعمية
uploadPageExplainer = أرسل الملفات عبر رابط آمن خاص ومعمّى تنتهي صلاحيته تلقائيا لتضمن عدم بقاء ما ترسله إلى الأبد.
uploadPageLearnMore = اطّلع على المزيد
uploadPageDropMessage = أسقِط ملفّك هنا لبدء الرفع
uploadPageSizeMessage = لتتحصل على أفضل تجربة، من المستحسن أن يكون الملف أصغر من 1 غ.بايت
uploadPageBrowseButton = اختر ملفًا على حاسوبك
uploadPageBrowseButton1 = اختر ملفّا لرفعه
uploadPageMultipleFilesAlert = رفع عدة ملفات (أو رفع مجلد) ليس مدعوما حاليا.
uploadPageBrowseButtonTitle = ارفع ملفًا
uploadingPageProgress = يرفع { $filename } ({ $size })
importingFile = يستورد…
verifyingFile = يتحقق…
encryptingFile = يعمّي…
decryptingFile = يفك التعمية…
notifyUploadDone = انتهى الرفع.
uploadingPageMessage = ما إن يُرفع الملف سيُتاح ضبط خيارات انتهاء صلاحيته.
uploadingPageCancel = ألغِ الرفع
uploadCancelNotification = أُلغي الرفع.
uploadingPageLargeFileMessage = هذا الملف كبير الحجم وسيأخذ رفعه وقتا. انتظر رجاءً.
uploadingFileNotification = أعلِمني عندما يكتمل الرفع.
uploadSuccessConfirmHeader = جاهز للإرسال
uploadSvgAlt = ارفع
uploadSuccessTimingHeader = ستنتهي صلاحية الرابط الذي يشير إلى الملف في حال: نُزِّل لأول مرة، أو مرّ ٢٤ ساعة على رفعه.
expireInfo = ستنتهي صلاحية رابط الملف بعد { $downloadCount } أو { $timespan }.
downloadCount =
{ $num ->
[zero] لا تنزيلات
@@ -44,76 +22,26 @@ timespanHours =
[many] { $num } ساعة
*[other] { $num } ساعة
}
copyUrlFormLabelWithName = انسخ الرابط وشاركه لإرسال الملف: { $filename }
copyUrlFormButton = انسخ إلى الحافظة
copiedUrl = نُسخ!
deleteFileButton = احذف الملف
sendAnotherFileLink = أرسِل ملفًا آخر
# Alternative text used on the download link/button (indicates an action).
downloadAltText = نزّل
downloadsFileList = التنزيلات
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = الوقت
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = نزّل { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = أدخل كلمة السر
unlockInputPlaceholder = كلمة السر
unlockButtonLabel = افتح القفل
downloadFileTitle = نزِّل الملف المعمّى
# Firefox Send is a brand name and should not be localized.
downloadMessage = يُرسل إليك صديقك ملفا عبر «فَيَرفُكس سِنْد»، وهي خدمة تتيح لك مشاركة الملفات عبر رابط آمن وخاص ومعمّى، حيث تنتهي صلاحياتها تلقائيا لتضمن عدم بقاء ما ترسله إلى الأبد.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = نزّل
downloadNotification = لقد اكتمل التنزيل.
downloadFinish = اكتمل التنزيل
# 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 = جرِّب «فَيَرفُكس سِنْد»
downloadingPageProgress = ينزّل { $filename } ({ $size })
downloadingPageMessage = رجاء أبقِ هذا اللسان مفتوحا حتى نجلب الملف ونفك تعميته.
errorAltText = خطأ أثناء الرفع
errorPageHeader = حدث خطب ما.
errorPageMessage = حدث خطب ما أثناء رفع الملف.
errorPageLink = أرسل ملفا آخر
fileTooBig = حجم الملف كبير للغاية لرفعه. يجب أن يكون أصغر من { $size }.
linkExpiredAlt = انتهت صلاحية الرابط
expiredPageHeader = انتهت صلاحية هذا الرابط أو لم يكن موجودا في المقام الأول!
notSupportedHeader = متصفحك غير مدعوم.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = للأسف فإن متصفحك لا يدعم تقنية الوِب التي يعتمد عليها «فَيَرفُكس سِنْد». عليك تجربة متصفح آخر، ونحن ننصحك بِفَيَرفُكس!
notSupportedLink = لماذا متصفحي غير مدعوم؟
notSupportedOutdatedDetail = للأسف فإن إصدارة فَيَرفُكس هذه لا تدعم تقنية الوِب التي يعتمد عليها «فَيَرفُكس سِنْد». عليك تحديث متصفحك.
updateFirefox = حدّث فَيَرفُكس
downloadFirefoxButtonSub = تنزيل مجاني
uploadedFile = ملف
copyFileList = انسخ الرابط
# expiryFileList is used as a column header
expiryFileList = ينتهي في
deleteFileList = احذف
nevermindButton = لا بأس
legalHeader = الشروط والخصوصية
legalNoticeTestPilot = «فَيَرفُكس سِنْد» جزء من اختبار تجريبي حاليًا و يخضع <a>لبنود خدمة</a> الاختبار التجريبي و <a>تنويه الخصوصية</a>. يمكنك التعرف على مزيد من المعلومات حول هذه التجربة وجمع البيانات<a>هنا</a>.
legalNoticeMozilla = يخضع استخدام موقع «فَيَرفُكس سِنْد» إلى<a>تنويه خصوصية المواقع</a> و <a>بنود خدمة المواقع</a>.
deletePopupText = أأحذف هذا الملف؟
deletePopupYes = نعم
deletePopupCancel = ألغِ
deleteButtonHover = احذف
copyUrlHover = انسخ الرابط
footerLinkLegal = القانونية
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = حول الاختبار التجريبي
footerLinkPrivacy = الخصوصية
footerLinkTerms = الشروط
footerLinkCookies = الكعكات
requirePasswordCheckbox = اطلب كلمة سر لتنزيل هذا الملف
addPasswordButton = أضِف كلمة سر
changePasswordButton = غيّر
passwordTryAgain = كلمة السر خاطئة. أعِد المحاولة.
reportIPInfringement = أبلغ عن انتهاك للملكية الفكرية
javascriptRequired = يتطلب فَيَرفُكس سِنْد جافاسكربت
whyJavascript = لماذا يتطلب فَيَرفُكس سِنْد جافاسكربت؟
enableJavascript = رجاء فعّل جافاسكربت ثم أعد المحاولة.
@@ -121,9 +49,137 @@ enableJavascript = رجاء فعّل جافاسكربت ثم أعد المحاو
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 a password is successfully set
passwordIsSet = ضُبطت كلمة السر
# 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
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 ->
[zero] أقل من دقيقة
[one] دقيقة واحدة
[two] دقيقتين اثنتين
[few] { $num } دقائق
[many] { $num } دقيقة
*[other] { $num } دقيقة
}
timespanDays =
{ $num ->
[zero] أقل من يوم
[one] يوم واحد
[two] يومين اثنين
[few] { $num } أيام
[many] { $num } يومًا
*[other] { $num } يوم
}
timespanWeeks =
{ $num ->
[zero] أقل من أسبوع
[one] أسبوع واحد
[two] أسبوعين اثنين
[few] { $num } أسابيع
[many] { $num } أسبوعًا
*[other] { $num } أسبوع
}
fileCount =
{ $num ->
[zero] { $num } ملف
[one] ملف واحد
[two] ملفان اثنان
[few] { $num } ملفات
[many] { $num } ملفًا
*[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 ->
[zero] لا يمكنك تنزيل أي ملف في آن واحد.
[one] لا يمكنك تنزيل ما يزيد على ملف واحد في آن واحد.
[two] لا يمكنك تنزيل ما يزيد على ملفين اثنين في آن واحد.
[few] لا يمكنك تنزيل ما يزيد على { $count } ملفات في آن واحد.
[many] لا يمكنك تنزيل ما يزيد على { $count } ملفًا في آن واحد.
*[other] لا يمكنك تنزيل ما يزيد على { $count } ملف في آن واحد.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[zero] الأرشيفات ممنوعة.
[one] لا يُسمح إلا بأرشيف واحد.
[two] لا يُسمح إلا بأرشيفين اثنين.
[few] لا يُسمح إلا ب‍ { $count } أرشيفات.
[many] لا يُسمح إلا ب‍ { $count } أرشيفًا.
*[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 ->
[zero] لا تُبقِ أي روابط نشطة
[one] أبقِ الروابط نشطة لمدة تصل إلى يوم واحد
[two] أبقِ الروابط نشطة لمدة تصل إلى يومين اثنين
[few] أبقِ الروابط نشطة لمدة تصل إلى { $count } أيام
[many] أبقِ الروابط نشطة لمدة تصل إلى { $count } يومًا
*[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 }: خدمة لمشاركة الملفات بلا عناء وبخصوصية تامة
learnMore = اطّلع على المزيد.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = esperimentu web
siteFeedback = Feedback
uploadPageHeader = Compartición privada y cifrada de ficheros
uploadPageExplainer = Unvia ficheros pente un enllaz seguru, priváu y cifráu que caduca automáticamente p'asegurar que les tos coses nun queden siempres na rede.
uploadPageLearnMore = Deprendi más
uploadPageDropMessage = Suelta equí'l to ficheru p'aniciar la xuba
uploadPageSizeMessage = Pal meyor funcionamientu, lo meyor ye que'l to ficheru seya menor de 1GB
uploadPageBrowseButton = Esbilla un ficheru nel to ordenador
uploadPageBrowseButton1 = Esbilla un ficheru pa unviar
uploadPageMultipleFilesAlert = Anguaño nun se sofita la xuba múltiple de ficheros o carpetes.
uploadPageBrowseButtonTitle = Xubir ficheru
uploadingPageProgress = Xubiendo { $filename } ({ $size })
siteFeedback = Comentarios
importingFile = Importando...
verifyingFile = Verificando...
encryptingFile = Cifrando...
decryptingFile = Descifrando...
notifyUploadDone = Finó la to xuba.
uploadingPageMessage = Namái que'l ficheru xuba, sedrás a afitar les opciones de caducidá.
uploadingPageCancel = Encaboxar xuba
uploadCancelNotification = Encaboxóse la to xuba.
uploadingPageLargeFileMessage = Esti ficheru ye grande y pue entardar daqué en xubir. ¡Paciencia!
uploadingFileNotification = Avísame cuando se complete la xuba.
uploadSuccessConfirmHeader = Preparáu pa unviar
uploadSvgAlt = Xubir
uploadSuccessTimingHeader = L'enllaz del to ficheru caducará dempués d'una descarga o en 24 hores.
expireInfo = L'enllaz al ficheru va caducar tres { $downloadCount } o { $timespan }.
downloadCount =
{ $num ->
[one] 1 descarga
@@ -36,75 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } hores
}
copyUrlFormLabelWithName = Copia y comparti l'enllaz pa unviar el to ficheru: { $filename }
copyUrlFormButton = Copiar al cartafueyu
copiedUrl = ¡Copióse!
deleteFileButton = Desaniciar ficheru
sendAnotherFileLink = Unviar otru ficheru
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Baxar
downloadsFileList = Descargues
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Tiempu
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Baxar { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Introducir contraseña
unlockInputPlaceholder = Contraseña
unlockButtonLabel = Desbloquiar
downloadFileTitle = Baxar ficheru cifráu
# Firefox Send is a brand name and should not be localized.
downloadMessage = El to collaciu unvióte un ficheru usando Firefox Send, un serviciu que te permite compartir ficheros con un enllaz seguru, priváu y cifráu que caduca automáticamente p'asegurar que les to coses nun queden siempres na rede.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Baxar
downloadNotification = Completóse la to descarga.
downloadFinish = Descarga completada
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
downloadFinish = Completóse la descarga
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Prueba Firefox Send
downloadingPageProgress = Baxando { $filename } ({ $size })
downloadingPageMessage = Dexa esta llingüeta abierta entrín vamos en cata del to ficheru y lu desciframos, por favor.
errorAltText = Fallu de xuba
sendYourFilesLink = Probar Firefox Send
errorPageHeader = ¡Daqué foi mal!
errorPageMessage = Hebo un fallu xubiendo'l ficheru.
errorPageLink = Unviar otru ficheru
fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }.
linkExpiredAlt = Enllaz caducáu
expiredPageHeader = ¡Esti enllaz caducó o enxamás nun esistó!
linkExpiredAlt = Caducó l'enllaz
notSupportedHeader = El to restolador nun ta sofitáu.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Desafortunadamente esti restolador nun sofita la teunoloxía web qu'usa Firefox Send. Precisarás d'usar otru restolador. ¡Aconseyámoste Firefox!
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. Precisarás d'anovar Firefox.
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar Firefox.
updateFirefox = Anovar Firefox
downloadFirefoxButtonSub = Descarga de baldre
uploadedFile = Ficheru
copyFileList = Copiar URL
# expiryFileList is used as a column header
expiryFileList = Caduca en
deleteFileList = Desaniciar
nevermindButton = Nun m'importa
legalHeader = Términos y privacidá
legalNoticeTestPilot = Anguaño Firefox Send ye un esperimentu de Test Pilot y ta suxetu a los <a>Términos de serviciu</a> y l'<a>Avisu de privacidá</a> de Test Pilot. <a>Equí</a> pues deprender más tocante a esti esperimentu y la so recoyida de datos.
legalNoticeMozilla = L'usu de Firefox Send tamién ta suxetu al <a>Avisu de privacidá</a> y a los <a>Términos d'usu de la páxina web</a> de Mozilla.
deletePopupText = ¿Desaniciar esti ficheru?
deletePopupYes = Sí
deletePopupCancel = Encaboxar
deleteButtonHover = Desaniciar
copyUrlHover = Copiar URL
footerLinkLegal = Llegal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Tocante a Test Pilot
footerLinkPrivacy = Privacidá
footerLinkTerms = Términos
footerLinkCookies = Cookies
requirePasswordCheckbox = Riquir una contraseña pa baxar esti ficheru
addPasswordButton = Amestar contraseña
changePasswordButton = Camudar
passwordTryAgain = Contraseña incorreuta. Volvi tentalo.
passwordTryAgain = La contraseña ye incorreuta. Volvi tentalo.
javascriptRequired = Firefox Send rique JavaScript
whyJavascript = ¿Por qué Firefox Send rique JavaScript?
enableJavascript = Activa JavaScript y volvi tentalo, por favor.
@@ -112,9 +41,101 @@ enableJavascript = Activa JavaScript y volvi tentalo, por favor.
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 a password is successfully set
passwordIsSet = Afitóse la contraseña
# A short status message shown when the user enters a long password
maxPasswordLength = Llargor máximu de la contraseña: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Nun pudo afitase esta 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 = Compartición de ficheros privada y cenciella
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 }
timespanMinutes =
{ $num ->
[one] 1 minutu
*[other] { $num } minutos
}
timespanDays =
{ $num ->
[one] 1 día
*[other] { $num } díes
}
timespanWeeks =
{ $num ->
[one] 1 selmana
*[other] { $num } selmanes
}
fileCount =
{ $num ->
[one] 1 ficheru
*[other] { $num } ficheros
}
# 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 = Tamañu total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copia l'enllaz pa compartir el ficheru:
copyLinkButton = Copiar l'enllaz
downloadTitle = Descarga de ficheros
downloadDescription = Esti ficheru compartióse per { -send-brand } con cifráu puntu a puntu y un enllaz que caduca automáticamente.
trySendDescription = Prueba { -send-brand } pa una compartición de ficheros cenciella y segura.
# 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.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Namái se permite 1 archivu
*[other] Namái 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 }
# 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
uploadButton = Xubir
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastra y suelta ficheros
# 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 calca pa unviar hasta { $size }
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
# $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
}
accountBenefitSync = Xestiona los ficheros compartíos dende cualesquier preséu
accountBenefitMoz = Deprendi más tocante a otros servicios de { -mozilla }
signOut = Zarrar sesión
okButton = Aceutar
downloadingTitle = Baxando
noStreamsWarning = Esti restolador quiciabes nun seya a descifrar un ficheru d'esti tamañu.

View File

@@ -1,42 +0,0 @@
# 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 = ({ $totalSize } এর { $partialSize })
sendYourFilesLink = Firefox Send পরখ করে দেখুন
errorPageHeader = কোন সমস্যা হয়েছে!
fileTooBig = ফাইলটি আপলোড করার জন্যে খুব বড়। এটি { $size } এর চেয়ে কম হওয়া উচিত।
linkExpiredAlt = লিঙ্ক মেয়াদউত্তীর্ণ হয়েছে
notSupportedHeader = আপনার ব্রাউজার সমর্থিত নয়।
notSupportedLink = আমার ব্রাউজার কেন সমর্থিত নয়?
notSupportedOutdatedDetail = দুর্ভাগ্যবশত Firefox এই সংস্করণটি ওয়েব প্রযুক্তিকে সমর্থন করে না যা Firefox Send কে সমর্থন করে। আপনাকে আপনার ব্রাউজারটি আপডেট করতে হবে।
updateFirefox = Firefox হালনাগাদ করুন
deletePopupCancel = বাতিল
deleteButtonHover = মুছে ফেলুন
footerLinkLegal = আইনগত
footerLinkPrivacy = গোপনীয়তা
footerLinkCookies = কুকি
passwordTryAgain = ভুল পাসওয়ার্ড। আবার চেষ্টা করুন।
javascriptRequired = Firefox Send এর জাভাস্ক্রিপ্ট প্রয়োজন।
whyJavascript = কেন Firefox Send এর জাভাস্ক্রিপ্ট প্রয়োজন?
enableJavascript = জাভাস্ক্রিপ্ট সক্রিয় করুন এবং আবার চেষ্টা করুন।
## Send version 2 strings

155
public/locales/bn/send.ftl Normal file
View 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 = ({ $totalSize } এর { $partialSize })
sendYourFilesLink = Firefox Send পরখ করে দেখুন
errorPageHeader = কোন সমস্যা হয়েছে!
fileTooBig = ফাইলটি আপলোড করার জন্যে খুব বড়। এটি { $size } এর চেয়ে কম হওয়া উচিত।
linkExpiredAlt = লিঙ্ক মেয়াদউত্তীর্ণ হয়েছে
notSupportedHeader = আপনার ব্রাউজার সমর্থিত নয়।
notSupportedLink = আমার ব্রাউজার কেন সমর্থিত নয়?
notSupportedOutdatedDetail = দুর্ভাগ্যবশত Firefox এই সংস্করণটি ওয়েব প্রযুক্তিকে সমর্থন করে না যা Firefox Send কে সমর্থন করে। আপনাকে আপনার ব্রাউজারটি আপডেট করতে হবে।
updateFirefox = Firefox হালনাগাদ করুন
deletePopupCancel = বাতিল
deleteButtonHover = মুছে ফেলুন
footerLinkLegal = আইনগত
footerLinkPrivacy = গোপনীয়তা
footerLinkCookies = কুকি
passwordTryAgain = ভুল পাসওয়ার্ড। আবার চেষ্টা করুন।
javascriptRequired = Firefox Send এর জাভাস্ক্রিপ্ট প্রয়োজন।
whyJavascript = কেন Firefox Send এর জাভাস্ক্রিপ্ট প্রয়োজন?
enableJavascript = জাভাস্ক্রিপ্ট সক্রিয় করুন এবং আবার চেষ্টা করুন।
# 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] ১ মিনিট
*[other] { $num } মিনিট
}
timespanDays =
{ $num ->
[one] ১ দিন
*[other] { $num } দিন
}
timespanWeeks =
{ $num ->
[one] ১ সপ্তাহ
*[other] { $num } সপ্তাহ
}
fileCount =
{ $num ->
[one] ১টি ফাইল
*[other] { $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 = { $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] একবারে কেবল ১টি ফাইল আপলোড করা যাবে।
*[other] একবারে কেবল { $count }টি ফাইল আপলোড করা যাবে।
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] কেবল ১টি আর্কাইভ অনুমোদিত।
*[other] কেবল { $count } আর্কাইভ অনুমোদিত।
}
expiredTitle = এই লিঙ্কের মেয়াদ শেষ হয়ে গেছে।
notSupportedDescription = { -send-brand } এই ব্রাউজারের সাথে কাজ করবে না। { -firefox } এর সাম্প্রতিকতম সংস্করণে { -send-short-brand } সর্বোত্তমভাবে কাজ করবে, এবং এটি বেশিরভাগ ব্রাউজারের বর্তমান সংস্করণে কাজ করবে।
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] ১ দিন পর্যন্ত লিঙ্ক সক্রিয় রাখুন
*[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 = { -send-brand } এর মাধ্যমে "{ $name }" ডাউনলোড করুন: সরল, নিরাপদ ফাইল শেয়ারিং
trailheadPromo = আপনার গোপনীয়তা রক্ষা করার একটি উপায় আছে। Firefox এ যোগ দিন।
learnMore = আরও জানুন।

182
public/locales/br/send.ftl Normal file
View File

@@ -0,0 +1,182 @@
# 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ñ...
downloadCount =
{ $num ->
[one] { $num } bellgargadenn
[two] { $num } bellgargadenn
[few] { $num } fellgargadenn
[many] { $num } a bellgargadennoù
*[other] { $num } pellgargadenn
}
timespanHours =
{ $num ->
[one] { $num } eur
[two] { $num } eur
[few] { $num } eur
[many] { $num } a eurioù
*[other] { $num } eur
}
copiedUrl = Eilet!
unlockInputPlaceholder = Ger-tremen
unlockButtonLabel = Dibrennañ
downloadButtonLabel = Pellgargañ
downloadFinish = Pellgargadur echu
fileSizeProgress = ({ $partialSize } war { $totalSize })
sendYourFilesLink = Esaeit Firefox Send
errorPageHeader = Degouezhet ez eus bet ur fazi!
fileTooBig = Re vras eo ar restr-mañ evit e pellgas. Rankout a ra bezañ nebeutoc'h eget { $size }
linkExpiredAlt = Ere diamzeret
notSupportedHeader = N'eo ket skoret ho merdeer.
notSupportedLink = Perak n'eo ket skoret ma merdeer?
notSupportedOutdatedDetail = Siwazh n'eo ket skoret ar c'halvezerezhioù implijet evit Firefox Send gant an handelv-mañ eus Firefox. Ret e vo deoc'h hizivaat ho merdeer.
updateFirefox = Hizivaat Firefox
deletePopupCancel = Nullañ
deleteButtonHover = Dilemel
footerLinkLegal = Lezennel
footerLinkPrivacy = Buhez prevez
footerLinkCookies = Toupinoù
passwordTryAgain = Ger-tremen direizh. Klaskit en-dro.
javascriptRequired = Firefox Send a azgoulenn Javascript
whyJavascript = Perak e azgoulenn Firefox Send Javascript?
enableJavascript = Gweredekait Javascript ha klaskit en-dro.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }e { $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 = Hirder brasañ aotreet evit ar ger-tremen: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = N'haller ket despizañ ar ger-tremen
## 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 = Rannañ restroù en un doare eeun ha prevez
introDescription = A-drugarez da { -send-brand } a c'hallit rannañ restroù gant un enrinegañ penn-ouzh-penn hag un ere a ziamzero ent emgefreek. Evel-se e c'hallit mirout ar pezh a rannit prevez ha bezañ sur ne chomo ket ho traoù enlinenn da viken.
notifyUploadEncryptDone = Enrineget eo ho restr ha prest eo da vezañ kaset
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Diamzeriñ a raio goude { $downloadCount } pe { $timespan }
timespanMinutes =
{ $num ->
[one] { $num } vunutenn
[two] { $num } vunutenn
[few] { $num } munutenn
[many] { $num } a vunutennoù
*[other] { $num } munutenn
}
timespanDays =
{ $num ->
[one] { $num } devezh
[two] { $num } zevezh
[few] { $num } devezh
[many] { $num } a zevezhioù
*[other] { $num } devezh
}
timespanWeeks =
{ $num ->
[one] { $num } sizhun
[two] { $num } sizhun
[few] { $num } sizhun
[many] { $num } a sizhunioù
*[other] { $num } sizhun
}
fileCount =
{ $num ->
[one] { $num } restr
[two] { $num } restr
[few] { $num } restr
[many] { $num } a restroù
*[other] { $num } restr
}
# byte abbreviation
bytes = e
# kibibyte abbreviation
kb = Ke
# mebibyte abbreviation
mb = Me
# gibibyte abbreviation
gb = Ge
# 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 = Ment hollek: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Eilit an ere evit rannañ ho restr
copyLinkButton = Eilañ an ere
downloadTitle = Pellgargañ ar restroù
downloadDescription = Dre { -send-brand } eo bet rannet ar restr-mañ, gant un enrinegañ penn-ouzh-penn hag un ere a ziamzer ent emgefreek.
trySendDescription = Esaeit { -send-brand } evit rannañ restroù en un doare eeun ha prevez.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] N'haller pellgas nemet { $count } restr er memes mare.
[two] N'haller pellgas nemet { $count } restr er memes mare.
[few] N'haller pellgas nemet { $count } restr er memes mare.
[many] N'haller pellgas nemet { $count } a restroù er memes mare.
*[other] N'haller pellgas nemet { $count } restr er memes mare.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Aotreet eo{ $count } diell nemetken.
[two] Aotreet eo{ $count } ziell nemetken.
[few] Aotreet eo{ $count } diell nemetken.
[many] Aotreet eo{ $count } a zielloù nemetken.
*[other] Aotreet eo{ $count } diell nemetken.
}
expiredTitle = Diamzeret eo an ere.
notSupportedDescription = { -send-brand } n'aio ket en-dro war ar merdeer-mañ. { -send-short-brand } a za en-dro gwelloc'h gant handelv diwezhañ { -firefox }, ha mont a raio en-dro gant handelv bremanel lodenn vrasañ ar merdeerioù.
downloadFirefox = Pellgargañ { -firefox }
legalTitle = Evezhiadenn a fed buhez prevez { -send-short-brand }
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
uploadButton = Pellgas
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Riklit ha laoskit restroù
# 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 = pe klikit evit kas betek { $size }
addPassword = Gwareziñ gant ur ger-tremen
emailPlaceholder = Enankit ho chomlec'h postel
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Kennaskit evit kas betek { $size }
signInOnlyButton = Kennaskañ
accountBenefitTitle = Krouit ur gont { -firefox } pe kennaskit
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Rannit restroù betek { $size }
accountBenefitDownloadCount = Rannit restroù gant muioc'h a dud
accountBenefitTimeLimit =
{ $count ->
[one] Dalc'hit an ereoù oberiant e-pad { $count } devezh
[two] Dalc'hit an ereoù oberiant e-pad { $count } zevezh
[few] Dalc'hit an ereoù oberiant e-pad { $count } devezh
[many] Dalc'hit an ereoù oberiant e-pad { $count } a zevezhioù
*[other] Dalc'hit an ereoù oberiant e-pad { $count } devezh
}
accountBenefitSync = Merit ar restroù rannet gant forzh peseurt trevnad
accountBenefitMoz = Gouzout hiroc'h a-zivout gwazerezhioù all { -mozilla }
signOut = Digennaskañ
okButton = Mat eo
downloadingTitle = O pellgargañ
noStreamsWarning = Posupl eo ne vefe ket gouest ar merdeer-mañ da ezrinegañ ur restr ken bras.
noStreamsOptionCopy = Eilit an ere evit digeriñ anezhañ en ur merdeer all
noStreamsOptionFirefox = Esaeit hor merdeer karetañ
noStreamsOptionDownload = Kenderc'hel gant ar merdeer-mañ
downloadFirefoxPromo = { -send-short-brand } a zo kinniget deoc'h gant ar { -firefox } nevez-flamm.
# the next line after the colon contains a file name
shareLinkDescription = Rannit an ere etrezek ho restr:
shareLinkButton = Rannañ an ere
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experiment web
siteFeedback = Comentaris
uploadPageHeader = Compartició de fitxers privada i xifrada
uploadPageExplainer = Envieu fitxers mitjançant un enllaç segur, privat i xifrat que caduca automàticament per tal que les vostres dades no es conservin a Internet per sempre.
uploadPageLearnMore = Més informació
uploadPageDropMessage = Arrossegueu el fitxer aquí per començar a pujar-lo
uploadPageSizeMessage = Funciona millor quan els fitxers tenen menys d'1 GB
uploadPageBrowseButton = Trieu un fitxer de l'ordinador
uploadPageBrowseButton1 = Seleccioneu el fitxer que voleu pujar
uploadPageMultipleFilesAlert = Actualment no es permet pujar diversos fitxers ni una carpeta.
uploadPageBrowseButtonTitle = Puja el fitxer
uploadingPageProgress = S'està pujant { $filename } ({ $size })
importingFile = S'està important…
verifyingFile = S'està verificant…
encryptingFile = S'està xifrant…
decryptingFile = S'està desxifrant…
notifyUploadDone = La pujada ha acabat.
uploadingPageMessage = Quan s'hagi acabat de pujat el fitxer, podreu definir les opcions de caducitat.
uploadingPageCancel = Cancel·la la pujada
uploadCancelNotification = La pujada s'ha cancel·lat.
uploadingPageLargeFileMessage = Aquest fitxer és gros i pot trigar una estona a pujar. Espereu assegut…
uploadingFileNotification = Notifica'm quan s'acabi de pujar.
uploadSuccessConfirmHeader = Llest per enviar
uploadSvgAlt = Puja
uploadSuccessTimingHeader = L'enllaç al fitxer caducarà quan es baixi una vegada o d'aquí 24 hores.
expireInfo = L'enllaç al fitxer caducarà en fer { $downloadCount } o d'aquí { $timespan }.
downloadCount =
{ $num ->
[one] 1 baixada
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } hores
}
copyUrlFormLabelWithName = Copieu l'enllaç i compartiu-lo per enviar el fitxer: { $filename }
copyUrlFormButton = Copia al porta-retalls
copiedUrl = Copiat!
deleteFileButton = Suprimeix el fitxer
sendAnotherFileLink = Envieu un altre fitxer
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Baixa
downloadsFileList = Baixades
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Temps
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Baixeu { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Introduïu la contrasenya
unlockInputPlaceholder = Contrasenya
unlockButtonLabel = Desbloca
downloadFileTitle = Baixa el fitxer xifrat
# Firefox Send is a brand name and should not be localized.
downloadMessage = Un amic us ha enviat un fitxer amb el Firefox Send, un servei que permet compartir fitxers mitjançant un enllaç segur, privat i xifrat que caduca automàticament per tal que les vostres dades no es conservin a Internet per sempre.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Baixa
downloadNotification = La baixada ha acabat.
downloadFinish = Ha acabat la baixada
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Proveu el Firefox Send
downloadingPageProgress = S'està baixant { $filename } ({ $size })
downloadingPageMessage = Deixeu aquesta pestanya oberta per tal que el fitxer es pugui baixar i desxifrar.
errorAltText = S'ha produït un error en pujar
errorPageHeader = Hi ha hagut un problema
errorPageMessage = S'ha produït un error en pujar el fitxer.
errorPageLink = Envieu un altre fitxer
fileTooBig = Aquest fitxer és massa gros per pujar-lo. Ha de tenir menys de { $size }.
linkExpiredAlt = L'enllaç ha caducat
expiredPageHeader = Aquest enllaç ha caducat o no existeix.
notSupportedHeader = El vostre navegador no és compatible.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Aquest navegador no admet la tecnologia web amb què funciona el Firefox Send. Haureu d'utilitzar un altre navegador. Us recomanem el Firefox!
notSupportedLink = Per què el meu navegador no és compatible?
notSupportedOutdatedDetail = Aquesta versió del Firefox no admet la tecnologia web amb què funciona el Firefox Send. Haureu d'actualitzar el navegador.
updateFirefox = Actualitza el Firefox
downloadFirefoxButtonSub = Baixada gratuïta
uploadedFile = Fitxer
copyFileList = Copia l'URL
# expiryFileList is used as a column header
expiryFileList = Caduca d'aquí
deleteFileList = Suprimeix
nevermindButton = No, gràcies
legalHeader = Condicions d'ús i privadesa
legalNoticeTestPilot = Actualment el Firefox Send és un experiment del Test Pilot i està subjecte a les <a>Condicions del servei</a> i a l'<a>Avís de privadesa</a> del Test Pilot. Podeu obtenir més informació sobre aquest experiment i la recollida de dades <a>aquí</a>.
legalNoticeMozilla = L'ús del Firefox Send també està subjecte a l'<a>Avís de privadesa de llocs web</a> i a les <a>Condicions d'ús de llocs web</a> de Mozilla.
deletePopupText = Voleu suprimir aquest fitxer?
deletePopupYes = Sí
deletePopupCancel = Cancel·la
deleteButtonHover = Suprimeix
copyUrlHover = Copia l'URL
footerLinkLegal = Avís legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Quant al Test Pilot
footerLinkPrivacy = Privadesa
footerLinkTerms = Condicions d'ús
footerLinkCookies = Galetes
requirePasswordCheckbox = Sol·licita una contrasenya per baixar aquest fitxer
addPasswordButton = Afegeix una contrasenya
changePasswordButton = Canvia
passwordTryAgain = La contrasenya és incorrecta. Torneu-ho a provar.
reportIPInfringement = Denuncieu una infracció de propietat intel·lectual
javascriptRequired = El Firefox Send necessita JavaScript
whyJavascript = Per què el Firefox Send necessita JavaScript?
enableJavascript = Activeu el JavaScript i torneu-ho a provar.
@@ -113,9 +41,113 @@ enableJavascript = Activeu el JavaScript i torneu-ho a provar.
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 a password is successfully set
passwordIsSet = S'ha definit la contrasenya
# A short status message shown when the user enters a long password
maxPasswordLength = Longitud màxima de la contrasenya: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = No s'ha pogut definir la contrasenya
## 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 Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartició de fitxers senzilla i privada
introDescription = El { -send-brand } permet compartir fitxers amb xifratge d'extrem a extrem mitjançant un enllaç que caduca automàticament. Per tant, us assegureu que tot allò que compartiu és privat i que no es mantindrà a Internet per sempre.
notifyUploadEncryptDone = El fitxer s'ha xifrat i està llest per enviar-se
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Caduca després de { $downloadCount } o { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minut
*[other] { $num } minuts
}
timespanDays =
{ $num ->
[one] 1 dia
*[other] { $num } dies
}
timespanWeeks =
{ $num ->
[one] 1 setmana
*[other] { $num } setmanes
}
fileCount =
{ $num ->
[one] 1 fitxer
*[other] { $num } fitxers
}
# 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 = Copieu l'enllaç per compartir el fitxer:
copyLinkButton = Copia l'enllaç
downloadTitle = Baixa els fitxers
downloadDescription = Aquest fitxer s'ha compartit mitjançant el { -send-brand } amb xifratge d'extrem a extrem i un enllaç que caduca automàticament.
trySendDescription = Proveu el { -send-brand } per compartir fitxers de forma senzilla i privada.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Només es pot pujar 1 fitxer alhora.
*[other] Només es poden pujar { $count } fitxers alhora.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Només es permet 1 fitxer.
*[other] Només es permeten { $count } fitxers.
}
expiredTitle = Aquest enllaç ha caducat.
notSupportedDescription = El { -send-brand } no funcionarà amb aquest navegador. El { -send-short-brand } funciona millor amb l'última versió del { -firefox } i funcionarà amb la versió més recent de la majoria de navegadors.
downloadFirefox = Baixa el { -firefox }
legalTitle = Avís de privadesa del { -send-short-brand }
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
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
# 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 feu clic aquí per enviar fins a { $size }
addPassword = Protegeix amb contrasenya
emailPlaceholder = Introduïu la vostra adreça electrònica
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Inicieu la sessió per enviar fins a { $size }
signInOnlyButton = Inicia la sessió
accountBenefitTitle = Creeu un compte del { -firefox } o inicieu la sessió
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartiu fitxers fins a { $size }
accountBenefitDownloadCount = Compartiu fitxers amb més persones
accountBenefitTimeLimit =
{ $count ->
[one] Manteniu els enllaços actius fins a 1 dia
*[other] Manteniu els enllaços actius fins a { $count } dies
}
accountBenefitSync = Gestioneu els fitxers compartits des de qualsevol dispositiu
accountBenefitMoz = Descobriu els altres serveis de { -mozilla }
signOut = Tanca la sessió
okButton = D'acord
downloadingTitle = S'està baixant
noStreamsWarning = Pot ser que aquest navegador no pugui desxifrar un fitxer tan gran.
noStreamsOptionCopy = Copieu l'enllaç per obrir-lo en un altre navegador
noStreamsOptionFirefox = Proveu el nostre navegador preferit
noStreamsOptionDownload = Segueix amb aquest navegador
downloadFirefoxPromo = El nou { -firefox } us ofereix el { -send-short-brand }
# the next line after the colon contains a file name
shareLinkDescription = Compartiu l'enllaç al vostre fitxer:
shareLinkButton = Comparteix l'enllaç
# $name is the name of the file
shareMessage = Baixeu «{ $name }» amb el { -send-brand }: compartició de fitxers senzilla i segura

View File

@@ -78,7 +78,17 @@ fileCount =
[one] 1 yakb'äl
*[other] { $num } taq yakb'äl
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Ronojel runimilem: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Tawachib'ej ri ximonel richin nakomonij ri ayakb'al:
@@ -110,15 +120,15 @@ uploadButton = Tijotob'äx
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Keqirirëx chuqa' ke'osq'opïx taq yakb'äl
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o tapitz'a' richin natäq k'a { $size }
addPassword = Tichajïx rik'in ewan tzij
emailPlaceholder = Tatz'ib'aj ataqoya'l
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Tatikirisaj molojri'ïl richin natäq k'a { $size }
signInButton = Tatikirisaj molojri'ïl/tatz'ib'aj ab'i'
signInOnlyButton = Titikirisäx molojri'ïl
accountBenefitTitle = Tatz'uku' jun { -firefox } Rub'i' Ataqoy'al o Tatikirisaj molojri'ïl
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Ke'akomonij taq yakb'äl k'a { $size }
accountBenefitDownloadCount = Ke'akomonij taq yakb'äl kik'in ch'aqa' chik winaqi'
accountBenefitTimeLimit =
@@ -135,3 +145,9 @@ noStreamsWarning = Rik'in jub'a' re okik'amaya'l re' man nitikïr ta nretamaj ru
noStreamsOptionCopy = Tiwachib'ëx ri ximonel richin nijaq pa jun chik okik'amaya'l
noStreamsOptionFirefox = Tatojtob'ej ri jeb'ël qokik'amaya'l
noStreamsOptionDownload = Kisamäj na rik'in re okik'amaya'l re'
downloadFirefoxPromo = Ja ri k'ak'a' { -firefox } nusüj ri { -send-short-brand } chawe.
# the next line after the colon contains a file name
shareLinkDescription = Nakomonij ri ximonel rik'in ri awokisab'al:
shareLinkButton = Tikomonïx ximonel
# $name is the name of the file
shareMessage = Tiqasäx "{ $name }" rik'in { -send-brand }: man k'ayew ta chuqa' ütz kikomonik ri yakb'äl

View File

@@ -1,5 +1,5 @@
# Firefox Send is a brand name and should not be localized.
title = { -send-brand }
title = Firefox Send
siteFeedback = Zpětná vazba
importingFile = Probíhá import…
encryptingFile = Probíhá šifrování…
@@ -22,22 +22,22 @@ unlockButtonLabel = Odemknout
downloadButtonLabel = Stáhnout
downloadFinish = Stahování dokončeno
fileSizeProgress = ({ $partialSize } z { $totalSize })
sendYourFilesLink = Vyzkoušejte { -send-brand(case: "acc") }
sendYourFilesLink = Vyzkoušejte 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
notSupportedHeader = Váš prohlížeč není podporován.
notSupportedLink = Proč není můj prohlížeč podporovaný?
notSupportedOutdatedDetail = Tato verze { -firefox(case: "gen") } bohužel nepodporuje webovou technologii, která pohání { -send-brand(case: "acc") }. Musíte aktualizovat svůj prohlížeč.
updateFirefox = Aktualizovat { -firefox(case: "acc") }
notSupportedOutdatedDetail = Tato verze Firefoxu bohužel nepodporuje webovou technologii, která pohání Firefox Send. Musíte aktualizovat svůj prohlížeč.
updateFirefox = Aktualizovat Firefox
deletePopupCancel = Zrušit
deleteButtonHover = Smazat
footerLinkLegal = Právní informace
footerLinkPrivacy = Soukromí
footerLinkCookies = Cookies
passwordTryAgain = Špatné heslo. Zkuste to znovu.
javascriptRequired = { -send-brand } vyžaduje povolený JavaScript
whyJavascript = Proč { -send-brand } vyžaduje povolený JavaScript?
javascriptRequired = Firefox Send vyžaduje povolený JavaScript
whyJavascript = Proč Firefox Send vyžaduje povolený JavaScript?
enableJavascript = Povolte JavaScript a zkuste to znovu.
# 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
@@ -120,7 +120,17 @@ fileCount =
[few] { $num } soubory
*[other] { $num } souborů
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Celková velikost: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Soubor můžete sdílet tímto odkazem:
@@ -154,15 +164,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = můžete poslat až { $size }
addPassword = Chránit heslem
addPassword = Ochránit heslem
emailPlaceholder = Zadejte svoji e-mailovou adresu
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Pro odesílání souborů o velikosti až { $size } se prosím přihlaste
signInButton = Přihlásit/Registrovat se
signInOnlyButton = Přihlásit se
accountBenefitTitle = Vytvořte si účet { -firefox(case: "gen") } nebo se přihlaste
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Sdílejte soubory o velikosti až { $size }
accountBenefitDownloadCount = Sdílejte soubory s více lidmi
accountBenefitTimeLimit =
@@ -180,3 +190,11 @@ noStreamsWarning = Dešifrování tak velikého souboru se v tomto prohlížeči
noStreamsOptionCopy = Zkopírujte odkaz pro otevření v jiném prohlížeči
noStreamsOptionFirefox = Vyzkoušejte náš oblíbený prohlížeč
noStreamsOptionDownload = Pokračovat v tomto prohlížeči
downloadFirefoxPromo = { -send-short-brand } od aplikace { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Sdílet odkaz na soubor:
shareLinkButton = Sdílet odkaz
# $name is the name of the file
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.

View File

@@ -1,119 +1,47 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = arbrawf gwe
siteFeedback = Adborth
uploadPageHeader = Rhannu Ffeiliau wedi eu Hamgryptio yn Breifat
uploadPageExplainer = Anfon ffeiliau drwy ddolen diogel, breifat ac wedi ei amgryptio sy'n dod i ben yn awtomatig er mwyn sicrhau nad yw eich pethau'n bodoli ar lein am byth.
uploadPageLearnMore = Dysgu rhagor
uploadPageDropMessage = Gollyngwch eich ffeiliau yma i gychwyn llwytho i fyny
uploadPageSizeMessage = Mae'n well cadw maint y ffeiliau o dan 1GB er mwyn iddo weithio ar ei orau.
uploadPageBrowseButton = Dewiswch ffeil ar eich cyfrifiadur
uploadPageBrowseButton1 = Dewiswch ffeil i'w llwytho i fyny
uploadPageMultipleFilesAlert = Nid yw llwytho nifer lluosog o ffeiliau neu ffolder yn cael ei gynnal ar hyn o bryd.
uploadPageBrowseButtonTitle = Llwytho ffeil i fyny
uploadingPageProgress = Llwytho { $filename } ({ $maint }) i fyny
importingFile = Mewnforio…
verifyingFile = Wrthi'n gwirio…
encryptingFile = Wrthi'n amgryptio…
decryptingFile = Wrthi'n dadgryptio…
notifyUploadDone = Mae eich llwytho wedi gorffen.
uploadingPageMessage = Unwaith y bydd eich ffeil wedi llwytho bydd modd gosod y manylion dod i ben.
uploadingPageCancel = Diddymu'r llwytho
uploadCancelNotification = Cafodd eich llwytho ei ddiddymu.
uploadingPageLargeFileMessage = Mae'r ffeil yn fawr a gall gymryd peth amser i'w llwytho. Amynedd!
uploadingFileNotification = Dweud pan fydd y llwytho wedi gorffen.
uploadSuccessConfirmHeader = Yn Barod i Anfon
uploadSvgAlt = Llwytho i Fyny
uploadSuccessTimingHeader = Bydd y ddolen i'ch ffeil y dod i ben ar ôl 1 llwytho neu o fewn 24 awr.
expireInfo = Bydd y ddolen i'ch ffeil yn dod i ben ym mhen { $downloadCount } neu { $timespan }.
downloadCount =
{ $num ->
[zero] Llwythi i lawr
[one] Llwyth i lawr
[two] Lwyth i lawr
[few] Llwyth i lawr
[many] Llwyth i lawr
*[other] Llwyth i lawr
[zero] Dim llwythi i lawr
[one] 1 llwyth i lawr
[two] { $num } llwyth i lawr
[few] { $num } llwyth i lawr
[many] { $num } llwyth i lawr
*[other] { $num } llwyth i lawr
}
timespanHours =
{ $num ->
[zero] awr
[one] awr
[two] awr
[few] awr
[many] awr
*[other] awr
[one] 1 awr
[two] { $num } awr
[few] { $num } awr
[many] { $num } awr
*[other] { $num } awr
}
copyUrlFormLabelWithName = Copïo a rhannu'r ddolen i anfon eich ffeil: { $filename }
copyUrlFormButton = Copïo i'r clipfwrdd
copiedUrl = Wedi eu copïo!
deleteFileButton = Dileu ffeil
sendAnotherFileLink = Anfon ffeil arall
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Llwytho i lawr
downloadsFileList = Llwythi
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Amser
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Llwytho i lawr { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Rhowch Gyfrinair
unlockInputPlaceholder = Cyfrinair
unlockButtonLabel = Datgloi
downloadFileTitle = Llwythwch Ffeil wedi ei Hamgryptio i Lawr
# Firefox Send is a brand name and should not be localized.
downloadMessage = Mae ffrind i chi yn anfon ffeil atoch drwy Firefox Send, gwasanaeth sy'n caniatáu i chi rannu ffeiliau drwy ddolen ddiogel, breifat ac wedi ei amgryptio sy'n dod i ben yn awtomatig er mwyn sicrhau nad yw eich deunydd yn aros ar-lein am byth.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Llwytho i Lawr
downloadNotification = Mae eich llwytho wedi gorffen
downloadFinish = Llwytho wedi Gorffen
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } o { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Rhowch gynnig ar Firefox Send
downloadingPageProgress = Llwytho i lawr { $filename } ({ $size })
downloadingPageMessage = Gadewch y tab yma ar agor tra fyddwn yn estyn eich ffeil a'i dad-amgryptio.
errorAltText = Gwall llwytho
errorPageHeader = Aeth rhywbeth o'i le!
errorPageMessage = Bu gwall wrth lwytho'r ffeil.
errorPageLink = Anfon ffeil arall
fileTooBig = Mae'r ffeil yn rhy fawr i'w llwytho. Dylai fod yn llai na { $size }.
linkExpiredAlt = Mae'r ddolen wedi dod i ben
expiredPageHeader = Mae'r ddolen wedi dod i ben neu nad yw wedi bodoli erioed!
notSupportedHeader = Nid yw eich porwr yn cael ei gynnal.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Yn anffodus, nid yw'r porwr hwn yn cynnal y technoleg gwe sy'n cynnal Firefox Send. Bydd angen i chi ddefnyddio porwr arall. Rydym ni'n argymell Firefox!
notSupportedLink = Pam nad yw fy mhorwr yn cael ei gynnal?
notSupportedOutdatedDetail = Yn anffodus, nid yw'r fersiwn yma o Firefox yn cynnal y technoleg gwe sy'n gyrru Firefox Send. Bydd angen i chi ddiweddaru eich porwr.
updateFirefox = Diweddaru Firefox
downloadFirefoxButtonSub = Llwytho i Lawr am Ddim
uploadedFile = Ffeil
copyFileList = Copïo URL
# expiryFileList is used as a column header
expiryFileList = Daw i ben ymhen
deleteFileList = Dileu
nevermindButton = Dim ots
legalHeader = Amodau a Phreifatrwydd
legalNoticeTestPilot = Ar hyn o mae Firefox Send yn arbrawf o fewn rhaglen Test Pilot ac yn destun <a>Amodau Gwasanaeth</a> a <a>Hysbysiad Preifatrwydd</a> Test Pilot . Gallwch ddysgu rhagor am yr arbrawf a'r data mae'n ei gasglu <a>yma</a>.
legalNoticeMozilla = Mae'r defnydd o wefan Firefox Send hefyd yn destun <a>Hysbysiad Preifatrwydd Gwefannau</a> ac <a>Amodau Defnydd Gwefannau</a> Mozilla.
deletePopupText = Dileu'r ffeil?
deletePopupYes = Iawn
deletePopupCancel = Diddymu
deleteButtonHover = Dileu
copyUrlHover = Copïo'r URL
footerLinkLegal = Cyfreithiol
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Ynghylch Test Pilot
footerLinkPrivacy = Preifatrwydd
footerLinkTerms = Amodau
footerLinkCookies = Cwcis
requirePasswordCheckbox = Gosod angen cyfrinair i lwytho'r ffeil hon i lawr
addPasswordButton = Ychwanegu Cyfrinair
changePasswordButton = Newid
passwordTryAgain = Cyfrinair anghywir. Ceisiwch eto.
reportIPInfringement = Adrodd ar Gamddefnydd o'r IP
javascriptRequired = Mae Firefox Send angen JavaScript
whyJavascript = Pam fod Firefox Send angen JavaScript?
enableJavascript = Galluogwch JavaScript a cheisio eto.
@@ -121,14 +49,12 @@ enableJavascript = Galluogwch JavaScript a cheisio eto.
expiresHoursMinutes = { $hours }a { $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 a password is successfully set
passwordIsSet = Wedi gosod y cyfrinair
# A short status message shown when the user enters a long password
maxPasswordLength = Hyd mwyaf cyfrinair: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Nid oedd modd gosod y cyfrinair hwn
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,7 @@ timespanMinutes =
timespanDays =
{ $num ->
[zero] 0 diwrnod
[one] 1 dwrnod
[one] 1 diwrnod
[two] { $num } diwrnod
[few] { $num } diwrnod
[many] { $num } diwrnod
@@ -176,7 +102,17 @@ fileCount =
[many] { $num } ffeil
*[other] { $num } ffeil
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Cyfanswm maint: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copïwch y ddolen i rannu eich ffeil:
@@ -216,15 +152,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = neu glicio i anfon hyd at { $size }
addPassword = Diogelu gyda chyfrinair
emailPlaceholder = Rhowch eich e-bost
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Mewngofnodi i anfon hyd at { $size }
signInButton = Mewngofnodi/Cofrestru
signInOnlyButton = Mewngofnodi
accountBenefitTitle = Creu Cyfrif { -firefox } neu fewngofnodi
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Rhannu ffeiliau hyd at { $size }
accountBenefitDownloadCount = Rhannu ffeiliau gyda mwy o bobl
accountBenefitTimeLimit =
@@ -245,3 +181,11 @@ noStreamsWarning = Efallai na fydd y porwr hwn yn gallu dadgryptio ffeil mor faw
noStreamsOptionCopy = Copïwch y ddolen i'w agor mewn porwr arall
noStreamsOptionFirefox = Rhowch gynnig ar ein hoff porwr
noStreamsOptionDownload = Parhau gyda'r porwr hwn
downloadFirefoxPromo = Mae { -send-short-brand } yn cael ei gynnig i ci gan y { -firefox } newydd.
# the next line after the colon contains a file name
shareLinkDescription = Rhannu'r ddolen i'ch ffeil:
shareLinkButton = Rhannu'r ddolen
# $name is the name of the file
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.

View File

@@ -78,7 +78,17 @@ fileCount =
[one] 1 fil
*[other] { $num } filer
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Samlet størrelse: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopier linket for at dele din fil:
@@ -110,15 +120,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = eller klik for at sende filer på op til { $size }
addPassword = Beskyt med adgangskode
emailPlaceholder = Indtast din mailadresse
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Log ind for at sende filer på op til { $size }
signInButton = Log ind/tilmeld dig
signInOnlyButton = Log ind
accountBenefitTitle = Opret en { -firefox }-konto eller log ind
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Del filer på op til { $size }
accountBenefitDownloadCount = Del filer med flere personer
accountBenefitTimeLimit =
@@ -135,3 +145,11 @@ noStreamsWarning = Denne browser kan muligvis ikke dekryptere en fil, der er så
noStreamsOptionCopy = Kopier linket for at åbne det i en anden browser
noStreamsOptionFirefox = Prøv vores favorit-browser
noStreamsOptionDownload = Fortsæt med denne browser
downloadFirefoxPromo = { -send-short-brand } præsenteres af den nye { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Del linket til din fil:
shareLinkButton = Del link
# $name is the name of the file
shareMessage = Hent { $name } med { -send-brand } - simpel og sikker fildeling
trailheadPromo = Beskyt dine digitale rettigheder. Slut dig til Firefox.
learnMore = Læs mere.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = Web-Experiment
siteFeedback = Feedback
uploadPageHeader = Privates, verschlüsseltes Austauschen von Dateien
uploadPageExplainer = Senden Sie Dateien über einen sicheren, privaten und verschlüsselten Link, der automatisch abläuft, damit Ihre Daten nicht für immer im Internet bleiben.
uploadPageLearnMore = Mehr erfahren
uploadPageDropMessage = Ziehen Sie eine Datei zum Hochladen hierher
uploadPageSizeMessage = Dateien unter 1 GB sorgen für erhöhte Zuverlässigkeit des Betriebs
uploadPageBrowseButton = Wählen Sie eine Datei auf Ihrem Computer aus
uploadPageBrowseButton1 = Datei zum Hochladen auswählen
uploadPageMultipleFilesAlert = Hochladen mehrerer Dateien oder eines Ordners wird derzeit nicht unterstützt.
uploadPageBrowseButtonTitle = Datei hochladen
uploadingPageProgress = { $filename } ({ $size }) wird hochgeladen
importingFile = Wird importiert…
verifyingFile = Wird überprüft…
encryptingFile = Wird verschlüsselt…
decryptingFile = Wird entschlüsselt…
notifyUploadDone = Ihr Upload ist abgeschlossen.
uploadingPageMessage = Sobald Ihre Datei hochgeladen wird, können Sie die Optionen zum Ablaufdatum auswählen.
uploadingPageCancel = Hochladen abbrechen
uploadCancelNotification = Ihr Upload wurde abgebrochen.
uploadingPageLargeFileMessage = Diese Datei ist groß, sodass das Hochladen einige Zeit dauern könnte. Haben Sie Geduld!
uploadingFileNotification = Mich benachrichtigen, wenn der Upload abgeschlossen ist.
uploadSuccessConfirmHeader = Bereit zum Senden
uploadSvgAlt = Hochladen
uploadSuccessTimingHeader = Der Link zu Ihrer Datei läuft nach einem Download oder in 24 Stunden ab.
expireInfo = Der Link zu Ihrer Datei läuft nach { $downloadCount } oder { $timespan } ab.
downloadCount =
{ $num ->
[one] einem Download
@@ -36,100 +14,48 @@ timespanHours =
[one] einer Stunde
*[other] { $num } Stunden
}
copyUrlFormLabelWithName = Kopieren und teilen Sie den Link, um Ihre Datei zu senden: { $filename }
copyUrlFormButton = In Zwischenablage kopieren
copiedUrl = Kopiert!
deleteFileButton = Datei löschen
sendAnotherFileLink = Eine weitere Datei senden
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Herunterladen
downloadsFileList = Downloads
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Zeit
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } herunterladen
downloadFileSize = ({ $size })
unlockInputLabel = Passwort eingeben
unlockInputPlaceholder = Passwort
unlockButtonLabel = Entsperren
downloadFileTitle = Verschlüsselte Datei herunterladen
# Firefox Send is a brand name and should not be localized.
downloadMessage = Ihr Freund schickt Ihnen eine Datei mit Firefox Send, einem Dienst, mit dem Sie Dateien über einen sicheren, privaten und verschlüsselten Link teilen können, der automatisch abläuft, damit Ihre Daten nicht für immer im Internet bleiben.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Herunterladen
downloadNotification = Der Download wurde abgeschlossen.
downloadFinish = Download abgeschlossen
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } von { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send ausprobieren
downloadingPageProgress = { $filename } ({ $size }) wird heruntergeladen
downloadingPageMessage = Bitte lassen Sie diesen Tab geöffnet, während Ihre Datei heruntergeladen und entschlüsselt wird.
errorAltText = Fehler beim Hochladen
errorPageHeader = Ein Fehler ist aufgetreten!
errorPageMessage = Beim Hochladen der Datei ist ein Fehler aufgetreten.
errorPageLink = Eine weitere Datei senden
fileTooBig = Die Datei ist zu groß zum Hochladen. Sie sollte maximal { $size } groß sein.
linkExpiredAlt = Link abgelaufen
expiredPageHeader = Dieser Link ist abgelaufen oder hat nie existiert!
notSupportedHeader = Ihr Browser wird nicht unterstützt.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Leider unterstützt dieser Browser die Web-Technologie nicht, auf der Firefox Send basiert. Sie benötigen einen anderen Browser. Wir empfehlen Firefox!
notSupportedHeader = Dein Browser wird nicht unterstützt.
notSupportedLink = Warum wird mein Browser nicht unterstützt?
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Firefox Send basiert. Sie müssen Ihren Browser aktualisieren.
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Firefox Send basiert. Du musst deinen Browser aktualisieren.
updateFirefox = Firefox aktualisieren
downloadFirefoxButtonSub = Kostenloser Download
uploadedFile = Datei
copyFileList = Adresse kopieren
# expiryFileList is used as a column header
expiryFileList = Läuft ab in
deleteFileList = Löschen
nevermindButton = Egal
legalHeader = Nutzungsbedingungen und Datenschutz
legalNoticeTestPilot = Firefox Send ist aktuell ein Test-Pilot-Experiment und unterliegt den <a>Nutzungsbedingungen</a> und dem <a>Datenschutzhinweis</a> von Test Pilot. Mehr über dieses Experiment und die Daten, die es sammelt, erfahren Sie <a>hier</a>.
legalNoticeMozilla = Die Nutzung der Website von Firefox Send unterliegt außerdem Mozillas <a>Datenschutzhinweis für Websites</a> und <a>Nutzungsbedingungen für Websites</a>.
deletePopupText = Diese Datei löschen?
deletePopupYes = Ja
deletePopupCancel = Abbrechen
deleteButtonHover = Löschen
copyUrlHover = Adresse kopieren
footerLinkLegal = Rechtliches
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Über Test Pilot
footerLinkPrivacy = Datenschutz
footerLinkTerms = Nutzungsbedingungen
footerLinkCookies = Cookies
requirePasswordCheckbox = Zum Herunterladen dieser Datei soll ein Passwort erforderlich sein
addPasswordButton = Passwort hinzufügen
changePasswordButton = Ändern
passwordTryAgain = Falsches Passwort. Versuchen Sie es erneut.
reportIPInfringement = IP-Verletzung melden
passwordTryAgain = Falsches Passwort. Versuche es nochmal.
javascriptRequired = Firefox Send benötigt JavaScript
whyJavascript = Warum benötigt Firefox Send JavaScript?
enableJavascript = Bitte aktivieren Sie JavaScript und versuchen Sie es erneut.
enableJavascript = Bitte aktiviere JavaScript und versuche es erneut.
# 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 a password is successfully set
passwordIsSet = Passwort gesetzt
# A short status message shown when the user enters a long password
maxPasswordLength = Maximale Passwortlänge: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Dieses Passwort konnte nicht eingerichtet werden
## New strings for the vNext version of Firefox Send
## 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 = Einfache, private Dateifreigabe
introDescription = Mit { -send-brand } können Sie Dateien mit Ende-zu-Ende-Verschlüsselung und einem automatisch ablaufenden Link freigeben. So können Sie die geteilten Inhalte privat halten und sicherstellen, dass Ihre Daten nicht für immer online bleiben.
notifyUploadEncryptDone = Ihre Datei ist verschlüsselt und zum Senden bereit
introTitle = Einfach und privat Dateien versenden
introDescription = Mit { -send-brand } kannst du Dateien sicher mit anderen teilen mit End-to-End-Verschlüsselung und einem Freigabe-Link, der automatisch abläuft. So bleiben deine geteilten Inhalte privat und du kannst sicherstellen, dass deine Daten nicht für immer im Web herumschwirren.
notifyUploadEncryptDone = Deine Datei ist verschlüsselt und zum Senden bereit
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Läuft ab nach { $downloadCount } oder { $timespan }
timespanMinutes =
@@ -152,14 +78,24 @@ fileCount =
[one] 1 Datei
*[other] { $num } Dateien
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Gesamtgröße: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopieren Sie den Link, um Ihre Datei zu teilen:
copyLinkDescription = Kopiere den Link, um deine Datei zu teilen:
copyLinkButton = Link kopieren
downloadTitle = Dateien herunterladen
downloadDescription = Diese Datei wurde über { -send-brand } mit Ende-zu-Ende-Verschlüsselung und einem automatisch ablaufenden Link geteilt.
trySendDescription = Probieren Sie { -send-brand } aus, um einfach und privat Dateien zu teilen.
downloadDescription = Diese Datei wurde über { -send-brand } mit End-to-End-Verschlüsselung und einem automatisch ablaufenden Link geteilt.
trySendDescription = Probiere { -send-brand } aus, um einfach und sicher Dateien zu versenden.
# count will always be > 10
tooManyFiles =
{ $count ->
@@ -182,30 +118,38 @@ expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Dateien zum Hochladen auswählen
uploadButton = Hochladen
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Dateien ziehen und ablegen
dragAndDropFiles = Dateien per Drag & Drop einfügen
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = oder klicken, um bis zu { $size } zu senden
addPassword = Mit Passwort schützen
emailPlaceholder = Geben Sie Ihre E-Mail-Adresse ein
# size is a localized number followed by a unit of bytes, ex. 2.5GB
signInSizeBump = Melden Sie sich an, um Dateien bis { $size } zu senden
signInButton = Anmelden/Registrieren
accountBenefitTitle = Erstellen Sie ein { -firefox }-Konto oder melden Sie sich an
# size is a localized number followed by a unit of bytes, ex. 2.5GB
emailPlaceholder = E-Mail-Adresse eingeben
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Melde dich an, um Dateien bis { $size } zu senden
signInOnlyButton = Anmelden
accountBenefitTitle = Erstelle ein { -firefox }-Konto oder melde dich an
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Dateien bis zu { $size } teilen
accountBenefitDownloadCount = Teilen Sie Dateien mit anderen Menschen
accountBenefitDownloadCount = Teile Dateien mit weiteren Leuten
accountBenefitTimeLimit =
{ $count ->
[one] Link bis zu einen Tag lang aktiv halten
*[other] Link bis zu { $count } Tage lang aktiv halten
}
accountBenefitSync = Geteilte Dateien von anderen Geräten aus verwalten
accountBenefitMoz = Erfahren Sie mehr über andere { -mozilla }-Dienste
accountBenefitMoz = Erfahre mehr über andere { -mozilla }-Dienste
signOut = Abmelden
okButton = OK
downloadingTitle = Wird heruntergeladen…
noStreamsWarning = Dieser Browser kann eine so große Datei möglicherweise nicht entschlüsseln.
noStreamsOptionCopy = Kopieren Sie den Link, um ihn in einem anderen Browser zu öffnen
noStreamsOptionFirefox = Probieren Sie unseren Lieblingsbrowser aus
noStreamsOptionCopy = Kopiere den Link, um ihn in einem anderen Browser zu öffnen
noStreamsOptionFirefox = Probiere unseren Lieblingsbrowser aus
noStreamsOptionDownload = Mit diesem Browser weitermachen
downloadFirefoxPromo = { -send-short-brand } wird Ihnen präsentiert vom brandneuen { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Teilen Sie den Link zu Ihrer Datei:
shareLinkButton = Link teilen
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webeksperiment
siteFeedback = Komentar
uploadPageHeader = Priwatne, skoděrowane źělenje datajow
uploadPageExplainer = Pósćelśo dataje pśez wěsty, priwatny a skoděrowany wótkaz, kótaryž awtomatiski spadnjo, až njeby waše daty na pśecej online wóstawali.
uploadPageLearnMore = Dalšne informacije
uploadPageDropMessage = Śěgniśo swóju dataju sem, aby ju nagrał
uploadPageSizeMessage = Wužywajśo nejlěpje dataje, kótarež su mjeńše ako 1 GB za lěpšu spušćobnosć.
uploadPageBrowseButton = Wubjeŕśo dataju na swójom licadle
uploadPageBrowseButton1 = Wubjeŕśo dataju za nagraśe
uploadPageMultipleFilesAlert = Nagrawanje někotarych datajow abo zarědnika se tuchylu njepódpěra.
uploadPageBrowseButtonTitle = Dataju nagraś
uploadingPageProgress = { $filename } ({ $size }) se nagrawa
importingFile = Importěrujo se...
verifyingFile = Pśespytujo se...
encryptingFile = Koděrujo se...
decryptingFile = Dešifrěrujo se...
notifyUploadDone = Wašo nagraśe jo dokóńcone.
uploadingPageMessage = Gaž se waša dataja nagrawa, móžośo nastajenja spadnjenja póstajiś.
uploadingPageCancel = Nagraśe pśetergnus
uploadCancelNotification = Wašo nagraśe jo se pśetergnuło.
uploadingPageLargeFileMessage = Toś ta dataja jo wjelika a nagrawanje mógło chylku traś. Buźćo sćerpliwy!
uploadingFileNotification = K wěsći daś, gaž nagraśe jo dokóńcone.
uploadSuccessConfirmHeader = Gótowy za słanje
uploadSvgAlt = Nagraś
uploadSuccessTimingHeader = Wótkaz k wašej dataji pó 1 ześěgnjenju abo 24 góźinach spadnjo.
expireInfo = Wótkaz k wašej dataji pó { $downloadCount } abo { $timespan } spadnjo.
downloadCount =
{ $num ->
[one] 1 ześěgnjenje
@@ -40,76 +18,26 @@ timespanHours =
[few] { $num } góźiny
*[other] { $num } góźin
}
copyUrlFormLabelWithName = Kopěrujśo a źělśo wótkaz, aby swóju dataju pósłał: { $filename }
copyUrlFormButton = Do mjazywótkłada kopěrowaś
copiedUrl = Kopěrowany!
deleteFileButton = Dataju wulašowaś
sendAnotherFileLink = Drugu dataju pósłaś
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Ześěgnuś
downloadsFileList = Ześěgnjenja
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Cas
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } ześěgnuś
downloadFileSize = ({ $size })
unlockInputLabel = Gronidło zapódaś
unlockInputPlaceholder = Gronidło
unlockButtonLabel = Wótwóriś
downloadFileTitle = Skoděrowanu dataju ześěgnuś
# Firefox Send is a brand name and should not be localized.
downloadMessage = Waš pśijaśel wam dataju z Firefox Send sćelo, słužba, kótaraž wam zmóžnja, dataje pśez wěsty, priwatny a skoděrowany wótkaz źěliś, kótaryž awtomatiski spadnjo, až njeby waše daty na pśecej online wóstawali.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Ześěgnuś
downloadNotification = Wašo ześěgnjenje jo dokóńcone.
downloadFinish = Ześěgnjenje dokóńcone
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } z { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send wopytaś
downloadingPageProgress = { $filename } ({ $size }) se ześěgujo
downloadingPageMessage = Pšosym wóstajśo toś ten rejtark wócynjony, mjaztym až wašu dataju ześěgujomy a dešifrěrujomy.
errorAltText = Nagrawańska zmólka
errorPageHeader = Něco njejo se raźiło!
errorPageMessage = Pśi nagrawanju dataje jo zmólka nastała.
errorPageLink = Drugu dataju pósłaś
fileTooBig = Toś ta dataja jo pśewjelika za nagraśe. Měła mjeńša ako { $size } byś.
linkExpiredAlt = Wótkaz spadnjony
expiredPageHeader = Toś ten wótkaz jo spadnjony abo njejo nigda eksistěrował!
notSupportedHeader = Waš wobglědowak se njepódpěra.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Bóžko toś ten wobglědowak webtechnologiju njepódpěra, na kótarejž Firefox Send bazěrujo. Musyśo drugi wobglědowak wužywaś. My Firefox dopórucujomy!
notSupportedLink = Cogodla se mój wobglědowak njepódpěra?
notSupportedOutdatedDetail = Bóžko toś ta wersija Firefox webtechnologiju njepódpěra, na kótarejž Firefox Send bazěrujo. Musyśo swój wobglědowak aktualizěrowaś.
updateFirefox = Firefox aktualizěrowaś
downloadFirefoxButtonSub = Dermotne ześěgnjenje
uploadedFile = Dataja
copyFileList = URL kopěrowaś
# expiryFileList is used as a column header
expiryFileList = Spadnjo za
deleteFileList = Wulašowaś
nevermindButton = Wšojadno
legalHeader = Wuměnjenja a priwatnosć
legalNoticeTestPilot = Firefox jo tuchylu eksperiment Test Pilot, a pódlažy <a>wužywańskim wuměnjenjam</a> a <a>pokazce priwatnosći</a> Test Pilot. Wěcej wó toś tom eksperimenśe a daty, kótarež gromaźi, <a>how</a> zgónijośo.
legalNoticeMozilla = Teke wužywanje websedła Firefox Send <a>pokazce priwatnosći za websedła</a> a <a>wužywańskim wuměnjenjam za websedła</a> Mozilla pódlažy.
deletePopupText = Toś tu dataju lašowaś?
deletePopupYes = Jo
deletePopupCancel = Pśetergnuś
deleteButtonHover = Wulašowaś
copyUrlHover = URL kopěrowaś
footerLinkLegal = Pšawniske
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Wó Test Pilot
footerLinkPrivacy = Priwatnosć
footerLinkTerms = Wuměnjenja
footerLinkCookies = Cookieje
requirePasswordCheckbox = Gronidło za ześěgnjenje toś teje dataje pominaś
addPasswordButton = Gronidło pśidaś
changePasswordButton = Změniś
passwordTryAgain = Wopacne gronidło. Wopytajśo hyšći raz.
reportIPInfringement = Pśekśiwjenje IP k wěsći daś
javascriptRequired = Firefox Send JavaScript trjeba
whyJavascript = Cogodla Firefox Send JavaScript trjeba?
enableJavascript = Pšosym zmóžniśo JavaScript a wopytajśo hyšći raz.
@@ -117,14 +45,12 @@ enableJavascript = Pšosym zmóžniśo JavaScript a wopytajśo hyšći raz.
expiresHoursMinutes = { $hours } góź. { $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 a password is successfully set
passwordIsSet = Gronidło jo se nastajiło
# A short status message shown when the user enters a long password
maxPasswordLength = Maksimalna dłujkosć gronidła: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Toś to gronidło njedajo se nastajiś
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -164,7 +90,17 @@ fileCount =
[few] { $num } dataje
*[other] { $num } datajow
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Cełkowna wjelikosć: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopěrujśo wótkaz, aby swóju dataju źělił:
@@ -200,15 +136,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = abo klikniśo, aby do { $size } pósłał
addPassword = Z gronidłom šćitaś
emailPlaceholder = Zapódajśo swóju e-mailowu adresu
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Pśizjawśo se, aby do { $size } pósłał
signInButton = Pśizjawiś/Registrěrowaś
signInOnlyButton = Pśizjawiś
accountBenefitTitle = Załožćo konto { -firefox } abo pśizjawśo se
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Dataje do { $size } źěliś
accountBenefitDownloadCount = Dataje z wěcej luźimi źěliś
accountBenefitTimeLimit =
@@ -227,3 +163,11 @@ noStreamsWarning = Toś ten wobglědowak njamógał taku wjeliku dataju dešifr
noStreamsOptionCopy = Kopěrujśo wótkaz, aby jen w drugim wobglědowaku wócynił
noStreamsOptionFirefox = Wopytajśo naš nejlubšy wobglědowak
noStreamsOptionDownload = Z toś tym wobglědowakom pókšacowaś
downloadFirefoxPromo = { -send-short-brand } se wam pśez cele nowy { -firefox } pśinjaso.
# the next line after the colon contains a file name
shareLinkDescription = Źělśo wótkaz k swójej dataji:
shareLinkButton = Wótkaz źěliś
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = πείραμα διαδικτύου
siteFeedback = Σχόλια
uploadPageHeader = Ιδιωτική, κρυπτογραφημένη κοινή χρήση αρχείων
uploadPageExplainer = Στείλτε αρχεία μέσω ασφαλούς, ιδιωτικού και κρυπτογραφημένου συνδέσμου που λήγει αυτόματα ώστε να διασφαλίσετε ότι τα περιεχόμενά σας δεν θα παραμείνουν στο διαδίκτυο για πάντα.
uploadPageLearnMore = Μάθετε περισσότερα
uploadPageDropMessage = Εναποθέστε το αρχείο σας εδώ για έναρξη μεταφόρτωσης
uploadPageSizeMessage = Για περισσότερο αξιόπιστη λειτουργία, προτείνεται να διατηρήσετε το αρχείο κάτω από 1GB
uploadPageBrowseButton = Επιλέξτε αρχείο από τον υπολογιστή σας
uploadPageBrowseButton1 = Επιλέξτε ένα αρχείο για μεταφόρτωση
uploadPageMultipleFilesAlert = Η μεταφόρτωση πολλαπλών αρχείων ή φακέλου δεν υποστηρίζεται αυτή τη στιγμή.
uploadPageBrowseButtonTitle = Μεταφόρτωση αρχείου
uploadingPageProgress = Μεταφόρτωση του { $filename } ({ $size })
importingFile = Εισαγωγή…
verifyingFile = Επαλήθευση...
encryptingFile = Κρυπτογράφηση…
decryptingFile = Αποκρυπτογράφηση…
notifyUploadDone = Η μεταφόρτωσή σας ολοκληρώθηκε.
uploadingPageMessage = Αφού μεταφορτωθούν τα αρχεία σας, θα μπορείτε να ορίσετε επιλογές λήξης.
uploadingPageCancel = Ακύρωση μεταφόρτωσης
uploadCancelNotification = Η μεταφόρτωσή σας ακυρώθηκε.
uploadingPageLargeFileMessage = Αυτό το αρχείο είναι μεγάλο και ίσως χρειαστεί λίγος αρκετός χρόνος για μεταφόρτωση. Χαλαρώστε!
uploadingFileNotification = Ειδοποίηση όταν ολοκληρωθεί η μεταφόρτωση.
uploadSuccessConfirmHeader = Έτοιμο για αποστολή
uploadSvgAlt = Μεταφόρτωση
uploadSuccessTimingHeader = Ο σύνδεσμος του αρχείου σας θα λήξει έπειτα από 1 λήψη ή 24 ώρες.
expireInfo = Ο σύνδεσμος για το αρχείο σας θα λήξει μετά από { $downloadCount } ή { $timespan }.
downloadCount =
{ $num ->
[one] 1 λήψη
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 ώρα
*[other] { $num } ώρες
}
copyUrlFormLabelWithName = Αντιγράψτε και μοιραστείτε τον σύνδεσμο για αποστολή του αρχείου σας : { $filename }
copyUrlFormButton = Αντιγραφή στο πρόχειρο
copiedUrl = Αντιγράφτηκε!
deleteFileButton = Διαγραφή αρχείου
sendAnotherFileLink = Αποστολή άλλου αρχείου
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Λήψη
downloadsFileList = Λήψεις
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Ώρα
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Λήψη του { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Εισαγωγή κωδικού πρόσβασης
unlockInputPlaceholder = Κωδικός πρόσβασης
unlockButtonLabel = Ξεκλείδωμα
downloadFileTitle = Λήψη κρυπτογραφημένου αρχείου
# Firefox Send is a brand name and should not be localized.
downloadMessage = Ο/Η φίλος/-η σας, σάς στέλνει ένα αρχείο με τη βοήθεια του Firefox Send, μιας υπηρεσίας που επιτρέπει τον διαμοιρασμό αρχείων μέσω ενός ασφαλούς, ιδιωτικού και κρυπτογραφημένου συνδέσμου που λήγει αυτόματα, ώστε να είστε σίγουροι ότι τα αρχεία σας δεν θα παραμείνουν στο διαδίκτυο για πάντα.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Λήψη
downloadNotification = Η λήψη σας ολοκληρώθηκε.
downloadFinish = Η λήψη ολοκληρώθηκε
# 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
downloadingPageProgress = Γίνεται λήψη του { $filename } ({ $size })
downloadingPageMessage = Παρακαλώ αφήστε ανοικτή αυτή την καρτέλα όσο λαμβάνουμε και αποκρυπτογραφούμε το αρχείο σας.
errorAltText = Σφάλμα μεταφόρτωσης
errorPageHeader = Κάτι πήγε στραβά!
errorPageMessage = Παρουσιάστηκε σφάλμα κατά τη μεταφόρτωση του αρχείου.
errorPageLink = Αποστολή άλλου αρχείου
fileTooBig = Αυτό το αρχείο είναι πολύ μεγάλο για μεταφόρτωση. Πρέπει να είναι μικρότερο από { $size }.
linkExpiredAlt = Ο σύνδεσμος έληξε
expiredPageHeader = Αυτός ο σύνδεσμος έχει λήξει ή δεν υπήρξε ποτέ!
notSupportedHeader = Το πρόγραμμα περιήγησής σας δεν υποστηρίζεται.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Δυστυχώς, αυτό το πρόγραμμα περιήγησης δεν υποστηρίζει την τεχνολογία ιστού στην οποία βασίζεται το Firefox Send. Θα πρέπει να δοκιμάσετε ένα άλλο πρόγραμμα περιήγησης. Προτείνουμε το Firefox!
notSupportedLink = Γιατί δεν υποστηρίζεται το πρόγραμμα περιήγησής μου;
notSupportedOutdatedDetail = Δυστυχώς, αυτή η έκδοση του Firefox δεν υποστηρίζει την τεχνολογία ιστού στην οποία βασίζεται το Firefox Send. Πρέπει να ενημερώσετε το πρόγραμμα περιήγησής σας.
updateFirefox = Ενημέρωση Firefox
downloadFirefoxButtonSub = Δωρεάν λήψη
uploadedFile = Αρχείο
copyFileList = Αντιγραφή URL
# expiryFileList is used as a column header
expiryFileList = Λήγει σε
deleteFileList = Διαγραφή
nevermindButton = Μην ανησυχείτε
legalHeader = Όροι & απόρρητο
legalNoticeTestPilot = Το Firefox Send αποτελεί προς το παρόν ένα πείραμα Test Pilot και υπόκειται στους <a>όρους υπηρεσίας</a> και την <a>πολιτική απορρήτου</a> του Test Pilot. Μπορείτε να μάθετε περισσότερα γι' αυτό το πείραμα και τη συλλογή δεδομένων <a>εδώ</a>.
legalNoticeMozilla = Η χρήση της ιστοσελίδας Firefox Send υπόκειται επίσης στην <a>πολιτική απορρήτου ιστοσελίδων</a> και τους <a>όρους χρήσης ιστοσελίδων</a> της Mozilla.
deletePopupText = Διαγραφή αρχείου;
deletePopupYes = Ναι
deletePopupCancel = Ακύρωση
deleteButtonHover = Διαγραφή
copyUrlHover = Αντιγραφή URL
footerLinkLegal = Νομικά
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Σχετικά με το Test Pilot
footerLinkPrivacy = Απόρρητο
footerLinkTerms = Όροι
footerLinkCookies = Cookies
requirePasswordCheckbox = Απαίτηση κωδικού πρόσβασης για λήψη του αρχείου
addPasswordButton = Προσθήκη κωδικού πρόσβασης
changePasswordButton = Αλλαγή
passwordTryAgain = Λάθος κωδικός πρόσβασης. Δοκιμάστε ξανά.
reportIPInfringement = Αναφορά παραβίασης IP
javascriptRequired = Το Firefox Send απαιτεί JavaScript
whyJavascript = Γιατί το Firefox Send απαιτεί JavaScript;
enableJavascript = Παρακαλώ ενεργοποιήστε το JavaScript και δοκιμάστε ξανά.
@@ -113,20 +41,23 @@ enableJavascript = Παρακαλώ ενεργοποιήστε το JavaScript
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 a password is successfully set
passwordIsSet = Επιτυχής ορισμός κωδικού
# 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 = Δεν ήταν δυνατός ο ορισμός αυτού του κωδικού
## New strings for the vNext version of Firefox Send
## 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 λεπτό
@@ -147,13 +78,78 @@ fileCount =
[one] 1 αρχείο
*[other] { $num } αρχεία
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Συνολικό μέγεθος: { $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 = Εισάγετε το email σας
signInButton = Σύνδεση/εγγραφή
# $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 = OK
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 = Μάθετε περισσότερα.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = web experiment
siteFeedback = Feedback
uploadPageHeader = Private, Encrypted File Sharing
uploadPageExplainer = Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
uploadPageLearnMore = Learn more
uploadPageDropMessage = Drop your file here to start uploading
uploadPageSizeMessage = For the most reliable operation, its best to keep your file under 1GB
uploadPageBrowseButton = Select a file on your computer
uploadPageBrowseButton1 = Select a file to upload
uploadPageMultipleFilesAlert = Uploading multiple files or a folder is currently not supported.
uploadPageBrowseButtonTitle = Upload file
uploadingPageProgress = Uploading { $filename } ({ $size })
importingFile = Importing…
verifyingFile = Verifying…
encryptingFile = Encrypting…
decryptingFile = Decrypting…
notifyUploadDone = Your upload has finished.
uploadingPageMessage = Once your file uploads you will be able to set expiry options.
uploadingPageCancel = Cancel upload
uploadCancelNotification = Your upload was cancelled.
uploadingPageLargeFileMessage = This file is large and may take a while to upload. Sit tight!
uploadingFileNotification = Notify me when the upload is complete.
uploadSuccessConfirmHeader = Ready to Send
uploadSvgAlt = Upload
uploadSuccessTimingHeader = The link to your file will expire after 1 download or in 24 hours.
expireInfo = The link to your file will expire after { $downloadCount } or { $timespan }.
downloadCount =
{ $num ->
[one] 1 download
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hour
*[other] { $num } hours
}
copyUrlFormLabelWithName = Copy and share the link to send your file: { $filename }
copyUrlFormButton = Copy to clipboard
copiedUrl = Copied!
deleteFileButton = Delete file
sendAnotherFileLink = Send another file
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Download
downloadsFileList = Downloads
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Time
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Download { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Enter Password
unlockInputPlaceholder = Password
unlockButtonLabel = Unlock
downloadFileTitle = Download Encrypted File
# Firefox Send is a brand name and should not be localized.
downloadMessage = Your friend is sending you a file with Firefox Send, a service that allows you to share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Download
downloadNotification = Your download has completed.
downloadFinish = Download Complete
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } of { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Try Firefox Send
downloadingPageProgress = Downloading { $filename } ({ $size })
downloadingPageMessage = Please leave this tab open while we fetch your file and decrypt it.
errorAltText = Upload error
errorPageHeader = Something went wrong!
errorPageMessage = There has been an error uploading the file.
errorPageLink = Send another file
fileTooBig = That file is too big to upload. It should be less than { $size }.
linkExpiredAlt = Link expired
expiredPageHeader = This link has expired or never existed in the first place!
notSupportedHeader = Your browser is not supported.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Unfortunately this browser does not support the web technology that powers Firefox Send. Youll need to try another browser. We recommend Firefox!
notSupportedLink = Why is my browser not supported?
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.
updateFirefox = Update Firefox
downloadFirefoxButtonSub = Free Download
uploadedFile = File
copyFileList = Copy URL
# expiryFileList is used as a column header
expiryFileList = Expires In
deleteFileList = Delete
nevermindButton = Never mind
legalHeader = Terms & Privacy
legalNoticeTestPilot = Firefox Send is currently a Test Pilot experiment, and subject to the Test Pilot <a>Terms of Service</a> and <a>Privacy Notice</a>. You can learn more about this experiment and its data collection <a>here</a>.
legalNoticeMozilla = Use of the Firefox Send website is also subject to Mozillas <a>Websites Privacy Notice</a> and <a>Websites Terms of Use</a>.
deletePopupText = Delete this file?
deletePopupYes = Yes
deletePopupCancel = Cancel
deleteButtonHover = Delete
copyUrlHover = Copy URL
footerLinkLegal = Legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = About Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Terms
footerLinkCookies = Cookies
requirePasswordCheckbox = Require a password to download this file
addPasswordButton = Add password
changePasswordButton = Change
passwordTryAgain = Incorrect password. Try again.
reportIPInfringement = Report IP Infringement
javascriptRequired = Firefox Send requires JavaScript
whyJavascript = Why does Firefox Send require JavaScript?
enableJavascript = Please enable JavaScript and try again.
@@ -113,14 +41,12 @@ enableJavascript = Please enable JavaScript and try again.
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 a password is successfully set
passwordIsSet = Password set
# A short status message shown when the user enters a long password
maxPasswordLength = Maximum password length: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = This password could not be set
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,17 @@ fileCount =
[one] 1 file
*[other] { $num } files
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Total size: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copy the link to share your file:
@@ -184,15 +120,15 @@ uploadButton = Upload
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Drag and drop files
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = or click to send up to { $size }
addPassword = Protect with password
emailPlaceholder = Enter your email
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Sign in to send up to { $size }
signInButton = Sign in/up
signInOnlyButton = Sign in
accountBenefitTitle = Create a { -firefox } Account or sign in
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Share files up to { $size }
accountBenefitDownloadCount = Share files with more people
accountBenefitTimeLimit =
@@ -209,3 +145,11 @@ noStreamsWarning = This browser might not be able to decrypt a file this big.
noStreamsOptionCopy = Copy the link to open in another browser
noStreamsOptionFirefox = Try our favourite browser
noStreamsOptionDownload = Continue with this browser
downloadFirefoxPromo = { -send-short-brand } is brought to you by the all-new { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Share the link to your file:
shareLinkButton = Share link
# $name is the name of the file
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
trailheadPromo = There is a way to protect your privacy. Join Firefox.
learnMore = Learn more.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = web experiment
siteFeedback = Feedback
uploadPageHeader = Private, Encrypted File Sharing
uploadPageExplainer = Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
uploadPageLearnMore = Learn more
uploadPageDropMessage = Drop your file here to start uploading
uploadPageSizeMessage = For the most reliable operation, its best to keep your file under 1GB
uploadPageBrowseButton = Select a file on your computer
uploadPageBrowseButton1 = Select a file to upload
uploadPageMultipleFilesAlert = Uploading multiple files or a folder is currently not supported.
uploadPageBrowseButtonTitle = Upload file
uploadingPageProgress = Uploading { $filename } ({ $size })
importingFile = Importing…
verifyingFile = Verifying…
encryptingFile = Encrypting…
decryptingFile = Decrypting…
notifyUploadDone = Your upload has finished.
uploadingPageMessage = Once your file uploads you will be able to set expiry options.
uploadingPageCancel = Cancel upload
uploadCancelNotification = Your upload was cancelled.
uploadingPageLargeFileMessage = This file is large and may take a while to upload. Sit tight!
uploadingFileNotification = Notify me when the upload is complete.
uploadSuccessConfirmHeader = Ready to Send
uploadSvgAlt = Upload
uploadSuccessTimingHeader = The link to your file will expire after 1 download or in 24 hours.
expireInfo = The link to your file will expire after { $downloadCount } or { $timespan }.
downloadCount =
{ $num ->
[one] 1 download
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hour
*[other] { $num } hours
}
copyUrlFormLabelWithName = Copy and share the link to send your file: { $filename }
copyUrlFormButton = Copy to clipboard
copiedUrl = Copied!
deleteFileButton = Delete file
sendAnotherFileLink = Send another file
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Download
downloadsFileList = Downloads
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Time
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Download { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Enter Password
unlockInputPlaceholder = Password
unlockButtonLabel = Unlock
downloadFileTitle = Download Encrypted File
# Firefox Send is a brand name and should not be localized.
downloadMessage = Your friend is sending you a file with Firefox Send, a service that allows you to share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Download
downloadNotification = Your download has completed.
downloadFinish = Download Complete
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } of { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Try Firefox Send
downloadingPageProgress = Downloading { $filename } ({ $size })
downloadingPageMessage = Please leave this tab open while we fetch your file and decrypt it.
errorAltText = Upload error
errorPageHeader = Something went wrong!
errorPageMessage = There has been an error uploading the file.
errorPageLink = Send another file
fileTooBig = That file is too big to upload. It should be less than { $size }.
linkExpiredAlt = Link expired
expiredPageHeader = This link has expired or never existed in the first place!
notSupportedHeader = Your browser is not supported.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Unfortunately this browser does not support the web technology that powers Firefox Send. Youll need to try another browser. We recommend Firefox!
notSupportedLink = Why is my browser not supported?
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.
updateFirefox = Update Firefox
downloadFirefoxButtonSub = Free Download
uploadedFile = File
copyFileList = Copy URL
# expiryFileList is used as a column header
expiryFileList = Expires In
deleteFileList = Delete
nevermindButton = Never mind
legalHeader = Terms & Privacy
legalNoticeTestPilot = Firefox Send is currently a Test Pilot experiment, and subject to the Test Pilot <a>Terms of Service</a> and <a>Privacy Notice</a>. You can learn more about this experiment and its data collection <a>here</a>.
legalNoticeMozilla = Use of the Firefox Send web site is also subject to Mozillas <a>Websites Privacy Notice</a> and <a>Websites Terms of Use</a>.
deletePopupText = Delete this file?
deletePopupYes = Yes
deletePopupCancel = Cancel
deleteButtonHover = Delete
copyUrlHover = Copy URL
footerLinkLegal = Legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = About Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Terms
footerLinkCookies = Cookies
requirePasswordCheckbox = Require a password to download this file
addPasswordButton = Add password
changePasswordButton = Change
passwordTryAgain = Incorrect password. Try again.
reportIPInfringement = Report IP Infringement
javascriptRequired = Firefox Send requires JavaScript
whyJavascript = Why does Firefox Send require JavaScript?
enableJavascript = Please enable JavaScript and try again.
@@ -113,14 +41,12 @@ enableJavascript = Please enable JavaScript and try again.
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 a password is successfully set
passwordIsSet = Password set
# A short status message shown when the user enters a long password
maxPasswordLength = Maximum password length: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = This password could not be set
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,17 @@ fileCount =
[one] 1 file
*[other] { $num } files
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Total size: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copy the link to share your file:
@@ -184,15 +120,15 @@ uploadButton = Upload
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Drag and drop files
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = or click to send up to { $size }
addPassword = Protect with password
emailPlaceholder = Enter your email
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Sign in to send up to { $size }
signInButton = Sign in/up
signInOnlyButton = Sign in
accountBenefitTitle = Create a { -firefox } Account or sign in
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Share files up to { $size }
accountBenefitDownloadCount = Share files with more people
accountBenefitTimeLimit =
@@ -209,3 +145,11 @@ noStreamsWarning = This browser might not be able to decrypt a file this big.
noStreamsOptionCopy = Copy the link to open in another browser
noStreamsOptionFirefox = Try our favourite browser
noStreamsOptionDownload = Continue with this browser
downloadFirefoxPromo = { -send-short-brand } is brought to you by the all-new { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Share the link to your file:
shareLinkButton = Share link
# $name is the name of the file
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
trailheadPromo = There is a way to protect your privacy. Join Firefox.
learnMore = Learn more.

View File

@@ -73,7 +73,17 @@ fileCount = { $num ->
[one] 1 file
*[other] { $num } files
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Total size: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copy the link to share your file:
@@ -103,15 +113,15 @@ uploadButton = Upload
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Drag and drop files
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = or click to send up to { $size }
addPassword = Protect with password
emailPlaceholder = Enter your email
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Sign in to send up to { $size }
signInButton = Sign in/up
signInOnlyButton = Sign in
accountBenefitTitle = Create a { -firefox } Account or sign in
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Share files up to { $size }
accountBenefitDownloadCount = Share files with more people
accountBenefitTimeLimit = { $count ->
@@ -127,3 +137,11 @@ noStreamsWarning = This browser might not be able to decrypt a file this big.
noStreamsOptionCopy = Copy the link to open in another browser
noStreamsOptionFirefox = Try our favorite browser
noStreamsOptionDownload = Continue with this browser
downloadFirefoxPromo = { -send-short-brand } is brought to you by the all-new { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Share the link to your file:
shareLinkButton = Share link
# $name is the name of the file
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
trailheadPromo = There is a way to protect your privacy. Join Firefox.
learnMore = Learn more.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Opinión
uploadPageHeader = Compartir archivos cifrados y privados
uploadPageExplainer = Enviá archivos a través de un enlace cifrado, privado y seguro que expirará automáticamente para que tus datos no queden en línea para siempre.
uploadPageLearnMore = Conocer más
uploadPageDropMessage = Arrastrá el archivo hasta acá para empezar a subir
uploadPageSizeMessage = Para una operación más confiable, es mejor que el archivo tenga menos de 1GB
uploadPageBrowseButton = Seleccioná un archivo en tu computadora
uploadPageBrowseButton1 = Seleccioná un archivo para subir
uploadPageMultipleFilesAlert = Cargar múltiples archivos o una carpeta todavía no está soportado.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageProgress = Subiendo { $filename } ({ $size })
importingFile = Importando…
verifyingFile = Verificando…
encryptingFile = Cifrando…
decryptingFile = Descifrando…
notifyUploadDone = La carga ha terminado.
uploadingPageMessage = Una vez que se cargue el archivo podrás modificar las opciones de expiración.
uploadingPageCancel = Cancelar subida
uploadCancelNotification = La subida fue cancelada.
uploadingPageLargeFileMessage = El archivo es grande y puede tardar un rato en subir. ¡Quedate quieto!
uploadingFileNotification = Notificarme cuando la subida se complete.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt = Subir
uploadSuccessTimingHeader = El enlace al archivo expirará después de 1 descarga o en 24 horas.
expireInfo = El enlace a tu archivo expirará después de { $downloadCount } o { $timespan }.
downloadCount =
{ $num ->
[one] 1 descarga
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } horas
}
copyUrlFormLabelWithName = Copiá y compartí el enlace para enviar tu archivo: { $filename }
copyUrlFormButton = Copiar al portapapeles
copiedUrl = ¡Copiado!
deleteFileButton = Borrar archivo
sendAnotherFileLink = Enviar otro archivo
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Descargar
downloadsFileList = Descargas
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Tiempo
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Descargar { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Ingresar contraseña
unlockInputPlaceholder = Contraseña
unlockButtonLabel = Desbloquear
downloadFileTitle = Descargar archivo cifrado
# Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo con Firefox Send, un servicio que permite compartir archivos con un enlace cifrado, seguro y privado que expira automáticamente para asegurar que tus datos no quedan en línea para siempre.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
downloadNotification = La descarga se completó.
downloadFinish = Descarga completa
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Probá Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Dejá esta pestaña abierta mientras descargamos el archivo y lo desciframos.
errorAltText = Error de subida
errorPageHeader = ¡Algo falló!
errorPageMessage = Hubo un error al subir el archivo.
errorPageLink = Enviar otro archivo
fileTooBig = El archivo es demasiado grande para subir. Debería tener menos de { $size }.
linkExpiredAlt = Enlace explirado
expiredPageHeader = ¡Este enlace ha expirado o nunca existió en primer lugar!
notSupportedHeader = El navegador no está soportado.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Desafortunadamente este navegador no soporta la tecnología web que necesita Firefox Send. Deberías probar otro navegador. ¡Te recomendamos Firefox!
notSupportedLink = ¿Por qué mi navegador no está soportado?
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox no soporta la tecnología web que necesita Firefox Send. Necesitás actualizar el navegador.
updateFirefox = Actualizar Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
# expiryFileList is used as a column header
expiryFileList = Expira en
deleteFileList = Borrar
nevermindButton = No importa
legalHeader = Términos y privacidad
legalNoticeTestPilot = Firefox Send es actualmente un experimento de Test Pilot y está sujeto a los <a>términos de servicio</a> y la <a>nota de privacidad</a> de Test Pilot. Podés conocer más sobre este experimento y su recolección de datos <a>aquí</a>.
legalNoticeMozilla = El uso del sitio web de Firefox Send también está sujeto a la <a>nota de privacidad de sitios web</a> y los <a>términos de uso de sitios web</a> de Mozilla.
deletePopupText = ¿Borrar este archivo?
deletePopupYes = Si
deletePopupCancel = Cancelar
deleteButtonHover = Borrar
copyUrlHover = Copiar URL
footerLinkLegal = Legales
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Acerca de Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies
requirePasswordCheckbox = Requerir contraseña para descargar este archivo
addPasswordButton = Agregar contraseña
changePasswordButton = Cambiar
passwordTryAgain = Contraseña incorrecta. Intentá nuevamente.
reportIPInfringement = Informar violación de propiedad intelectual
javascriptRequired = Firefox Send requiere JavaScript
whyJavascript = ¿Por qué Firefox Send requiere Java Script?
enableJavascript = Por favor habilite JavaScript y pruebe de nuevo.
@@ -113,14 +41,12 @@ enableJavascript = Por favor habilite JavaScript y pruebe de nuevo.
expiresHoursMinutes = h { $hours } m { $minutes }
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = m { $minutes }
# A short status message shown when a password is successfully set
passwordIsSet = Contraseña establecida
# A short status message shown when the user enters a long password
maxPasswordLength = Longitud máxima de la contraseña: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = No se pudo establecer la contraseña
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,17 @@ fileCount =
[one] 1 file
*[other] { $num } archivos
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Tamaño total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copiar el enlace para compartir su archivo:
@@ -184,15 +120,15 @@ uploadButton = Subir
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastrar y soltar archivos
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o haga clic para enviar hasta { $size }
addPassword = Proteger con contraseña
emailPlaceholder = Ingrese su correo electrónico
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Inicie sesión para enviar hasta { $size }
signInButton = Iniciar sesión/registrarse
signInOnlyButton = Iniciar sesión
accountBenefitTitle = Cree una cuenta de { -firefox } o inicie la sesión
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartir archivos hasta { $size }
accountBenefitDownloadCount = Compartir archivos con más personas
accountBenefitTimeLimit =
@@ -209,3 +145,11 @@ noStreamsWarning = Es posible que este navegador no pueda descifrar un archivo t
noStreamsOptionCopy = Copiar el enlace para abrir en otro navegador.
noStreamsOptionFirefox = Pruebe nuestro navegador favorito
noStreamsOptionDownload = Continuar con este navegador
downloadFirefoxPromo = El nuevo { -firefox } te ofrece { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Compartir el enlace con tu dispositivo:
shareLinkButton = Compartir el enlace
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Comentarios
uploadPageHeader = Compartir archivos de forma privada y cifrada
uploadPageExplainer = Enviar archivos a través de un enlace seguro, privado y cifrado que automáticamente expira para asegurar que tus cosas no permanecerán en línea por la eternidad.
uploadPageLearnMore = Aprender más
uploadPageDropMessage = Suelta tu archivo aquí para empezar a subirlo
uploadPageSizeMessage = Para una operación más confiable, es mejor mantener el tamaño del archivo bajo 1 GB
uploadPageBrowseButton = Selecciona un archivo en tu computador
uploadPageBrowseButton1 = Selecciona un archivo a subir
uploadPageMultipleFilesAlert = Subir múltiples archivos o una carpeta actualmente no es posible.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageProgress = Subiendo { $filename } ({ $size })
importingFile = Importando…
verifyingFile = Verificando…
encryptingFile = Cifrando…
decryptingFile = Descifrando…
notifyUploadDone = Tu subida ha terminado.
uploadingPageMessage = Una vez que tu archivo sea subido podrás ajustar las opciones de expiración.
uploadingPageCancel = Cancelar subida
uploadCancelNotification = Tu subida fue cancelada.
uploadingPageLargeFileMessage = Este archivo es grande y puede tardar un rato en subir. ¡Aprovecha de hacer algo mientras!
uploadingFileNotification = Notificarme cuando la subida sea completada.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt = Subir
uploadSuccessTimingHeader = El enlace a tu archivo expirará tras 1 descarga o en 24 horas.
expireInfo = El enlace a tu archivo expirará después de { $downloadCount } o { $timespan }.
downloadCount =
{ $num ->
[one] 1 descarga
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } horas
}
copyUrlFormLabelWithName = Copia y comparte el enlace para enviar tu archivo: { $filename }
copyUrlFormButton = Copiar al portapapeles
copiedUrl = ¡Copiado!
deleteFileButton = Eliminar archivo
sendAnotherFileLink = Enviar otro archivo
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Descargar
downloadsFileList = Descargas
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Tiempo
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Descargar { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Ingresar contraseña
unlockInputPlaceholder = Contraseña
unlockButtonLabel = Desbloquear
downloadFileTitle = Bajar archivo cifrado
# Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo con Firefox Send, un servicio que te permite compartir archivos con un enlace seguro, privado y cifrado que expira automáticamente para asegurar que tus cosas no queden en línea de por vida.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
downloadNotification = Tu descarga se completó.
downloadFinish = Descarga completa
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Probar Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Por favor, deja esta pestaña abierta mientras recibimos tu archivo y lo desciframos.
errorAltText = Error de subida
errorPageHeader = ¡Algo se fue a las pailas!
errorPageMessage = Hubo un error al subir el archivo.
errorPageLink = Enviar otro archivo
fileTooBig = Ese archivo es muy grande para ser subido. Debiera tener un tamaño menor a { $size }.
linkExpiredAlt = Enlace expirado
expiredPageHeader = ¡Este enlace ha expirado o quizá jamás existió!
notSupportedHeader = Tu navegador no está soportado.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Lamentablemente este navegador no soporta la tecnología web que potencia a Firefox Send. Deberás probar en otro navegador. ¡Recomendamos Firefox!
notSupportedLink = ¿Por qué mi navegador no es soportado?
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Firefox Send. Deberás actualizar tu navegador.
updateFirefox = Actualizar Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
# expiryFileList is used as a column header
expiryFileList = Expira en
deleteFileList = Eliminar
nevermindButton = Da lo mismo
legalHeader = Términos y privacidad
legalNoticeTestPilot = Firefox Send es actualmente un experimento de Test Pilot, y está sujeto a los <a>Términos del servicio</a> y la <a>Política de privacidad</a> de Test Pilot. Puedes aprender más sobre este experimento y su recolección de datos <a>aquí</a>.
legalNoticeMozilla = El uso del sitio web de Firefox Send también está sujeto a la <a>Política de privacidad de sitios web</a> y los <a>Términos de uso de sitios web</a> de Mozilla.
deletePopupText = ¿Eliminar este archivo?
deletePopupYes = Sí
deletePopupCancel = Cancelar
deleteButtonHover = Eliminar
copyUrlHover = Copiar URL
footerLinkLegal = Legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Acerca de Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies
requirePasswordCheckbox = Requerir una contraseña para descargar este archivo
addPasswordButton = Añadir contraseña
changePasswordButton = Cambiar
passwordTryAgain = Contraseña incorrecta. Vuelve a intentarlo.
reportIPInfringement = Reportar infracción de PI
javascriptRequired = Firefox Send requiere JavaScript.
whyJavascript = ¿Por qué Firefox Send requiere JavaScript?
enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
@@ -113,9 +41,115 @@ enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
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 a password is successfully set
passwordIsSet = Contraseña establecida
# A short status message shown when the user enters a long password
maxPasswordLength = Longitud máxima de la contraseña: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Esta contraseña no pudo ser establecida
## 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 = Intercambio de archivos sencillo 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'
archiveExpiryInfo = Expira después de { $downloadCount } o { $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 = Tamaño total: { $size }
# the next line after the colon contains a file name
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.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Solo 1 archivo puede ser subido a la vez.
*[other] Solo { $count } archivos pueden ser subidos a la vez.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Solo 1 archivo está permitido.
*[other] Solo { $count } archivos están permitidos.
}
expiredTitle = Este enlace ha expirado.
notSupportedDescription = { -send-brand } no funcionará con este navegador. { -send-short-brand } funciona mejor con la última versión de { -firefox } y con la versión actual de la mayoría de los navegadores.
downloadFirefox = Bajar { -firefox }
legalTitle = Aviso de privacidad de { -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 = Selecciona los archivos a subir
uploadButton = Subir
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastra y suelta 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 = o haz clic para enviar hasta { $size }
addPassword = Protegido con contraseña
emailPlaceholder = Ingresa tu correo
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Conéctate para enviar hasta { $size }
signInOnlyButton = Conectarse
accountBenefitTitle = Crea una cuenta de { -firefox } o conéctate
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Comparte archivos de hasta { $size }
accountBenefitDownloadCount = Comparte archivos con más personas
accountBenefitTimeLimit =
{ $count ->
[one] Mantener enlaces activos durante 1 día
*[other] Mantener enlaces activos durante { $count } días
}
accountBenefitSync = Administrar los archivos compartidos desde cualquier dispositivo
accountBenefitMoz = Aprender más acerca de otros servicios de { -mozilla }
signOut = Salir
okButton = Aceptar
downloadingTitle = Bajando
noStreamsWarning = Es posible que este navegador no pueda descifrar un archivo tan grande.
noStreamsOptionCopy = Copiar el enlace para abrirlo en otro navegador
noStreamsOptionFirefox = Prueba nuestro navegador favorito
noStreamsOptionDownload = Continuar con este navegador
downloadFirefoxPromo = { -send-short-brand } es traído a ti por el renovado { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Comparte el enlace a tu dispositivo:
shareLinkButton = Compartir enlace
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Comentario
uploadPageHeader = Compartir archivos cifrados y privados
uploadPageExplainer = Envía archivos a través de un enlace cifrado, privado y seguro que caducará automáticamente para que tus datos no sean accesibles en línea de por vida.
uploadPageLearnMore = Descubre más
uploadPageDropMessage = Suelta aquí tu archivo para empezar a subirlo
uploadPageSizeMessage = Para que la operación sea más segura, el archivo debería ocupar menos de 1GB
uploadPageBrowseButton = Seleccionar un archivo en el equipo
uploadPageBrowseButton1 = Seleccionar un archivo para subir
uploadPageMultipleFilesAlert = Aún no se pueden subir varios archivos o una carpeta.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageProgress = Subiendo { $filename } ({ $size })
importingFile = Importando...
verifyingFile = Comprobando...
encryptingFile = Encriptando...
decryptingFile = Desencriptando...
notifyUploadDone = La subida ha finalizado.
uploadingPageMessage = Cuando se suba tu archivo podrás condigurar las opciones de caducidad.
uploadingPageCancel = Cancelar subida
uploadCancelNotification = Se canceló la subida.
uploadingPageLargeFileMessage = El archivo es grande y puede tardar unos minutos en subirse. ¡Tómatelo con calma!
uploadingFileNotification = Notificarme cuando se complete la subida.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt = Subir
uploadSuccessTimingHeader = El enlace al archivo caducará tras descargarlo una vez o en 24 horas.
expireInfo = El enlace al archivo expirará tras { $downloadCount } o { $timespan }.
downloadCount =
{ $num ->
[one] 1 descarga
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } horas
}
copyUrlFormLabelWithName = Copiar y compartir el enlace para enviar tu archivo: { $filename }
copyUrlFormButton = Copiar en el portapapeles
copiedUrl = ¡Copiado!
deleteFileButton = Eliminar archivo
sendAnotherFileLink = Enviar otro archivo
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Descargar
downloadsFileList = Descargas
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Fecha
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Descargar { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Introducir contraseña
unlockInputPlaceholder = Contraseña
unlockButtonLabel = Desbloquear
downloadFileTitle = Descargar archivo encriptado
# Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo a través de Firefox Send, un servicio que te permite compartir archivos con un enlace seguro, privado y cifrado que caduca automáticamente para que tus cosas no sean accesibles en línea de por vida.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
downloadNotification = Se completó la descarga.
downloadFinish = Descarga completa
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Prueba Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Deja esta pestaña abierta mientras buscamos tu archivo y lo desencriptamos.
errorAltText = Error en la subida
errorPageHeader = ¡Se produjo un error!
errorPageMessage = Se produjo un error al subir el archivo.
errorPageLink = Enviar otro archivo
fileTooBig = Ese archivo es muy grande. Debería ocupar menos de { $size }.
linkExpiredAlt = Enlace caducado
expiredPageHeader = ¡El enlace ha caducado o nunca existió!
notSupportedHeader = Tu navegador no está admitido.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Lamentablemente, este navegador no admite la tecnología web que necesita Firefox Send. Tendrás que probar otro navegador. ¡Te recomendamos Firefox!
notSupportedLink = ¿Por qué no se admite mi navegador?
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
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
# expiryFileList is used as a column header
expiryFileList = Caduca en
deleteFileList = Eliminar
nevermindButton = Da igual
legalHeader = Términos y privacidad
legalNoticeTestPilot = Firefox Send sigue siendo un experimento de Test Pilot y está sujero a las <a>Condiciones del servicio</a> y al <a>Aviso de privacidad</a> de Test Pilot. <a>Aquí</a> podrás descubrir más sobre este experimento y su recopilación de datos.
legalNoticeMozilla = El uso de la página de Firefox Send también está sujeto al <a>Aviso de privacidad sobre sitios web</a> y a los <a>Términos de uso sobre sitios web</a>.
deletePopupText = ¿Eliminar el archivo?
deletePopupYes = Sí
deletePopupCancel = Cancelar
deleteButtonHover = Eliminar
copyUrlHover = Copiar URL
footerLinkLegal = Legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Sobre Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies
requirePasswordCheckbox = Requerir una contraseña para descargar este archivo
addPasswordButton = Añadir contraseña
changePasswordButton = Cambiar
passwordTryAgain = Contraseña incorrecta. Inténtelo de nuevo.
reportIPInfringement = Denunciar vulneración de propiedad intelectual
javascriptRequired = Firefox Send requiere JavaScript
whyJavascript = ¿Por qué Firefox Send requiere JavaScript?
enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
@@ -113,20 +41,20 @@ enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
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 a password is successfully set
passwordIsSet = Contraseña establecida
# A short status message shown when the user enters a long password
maxPasswordLength = Longitud máxima de la contraseña: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = No se ha podido establecer la contraseña
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Enviar
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartir archivos de forma sencilla y privada
introDescription = { -send-brand } te permite compartir archivos con cifrado de extremo a extremo y un enlace que caduca automáticamente. Así que puedes mantener lo que compartes en privado y asegurarte de que tus cosas no permanezcan en línea para siempre.
notifyUploadEncryptDone = El 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'
archiveExpiryInfo = Caduca tras { $downloadCount } o { $timespan }
@@ -150,12 +78,24 @@ fileCount =
[one] 1 archivo
*[other] { $num } archivos
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Tamaño total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copiar el enlace para compartir el archivo:
copyLinkButton = Copiar enlace
downloadTitle = Descargar archivos
downloadDescription = Este archivo se compartió a través de { -send-brand } con cifrado de extremo a extremo y un enlace que caduca automáticamente.
trySendDescription = Prueba { -send-brand } para compartir archivos de forma sencilla y segura.
# count will always be > 10
tooManyFiles =
{ $count ->
@@ -169,6 +109,7 @@ tooManyArchives =
*[other] Solo se permiten { $count } archivos.
}
expiredTitle = Este enlace ha expirado.
notSupportedDescription = { -send-brand } no funciona con este navegador. { -send-short-brand } funciona mejor con la última versión de { -firefox }, y funciona con la última versión de la mayoría de los navegadores.
downloadFirefox = Descargar { -firefox }
legalTitle = Aviso de privacidad de { -send-short-brand }
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
@@ -179,15 +120,15 @@ uploadButton = Subir
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastrar y soltar archivos
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o hacer clic para enviar hasta { $size }
addPassword = Proteger con contraseña
emailPlaceholder = Introducir dirección de correo
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Iniciar sesión para enviar hasta { $size }
signInButton = Iniciar sesión/registrarse
signInOnlyButton = Iniciar sesión
accountBenefitTitle = Crear una cuenta { -firefox } o iniciar sesión
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartir archivos de hasta { $size }
accountBenefitDownloadCount = Compartir archivos con más gente
accountBenefitTimeLimit =
@@ -204,3 +145,11 @@ noStreamsWarning = Puede que este navegador no pueda descifrar un archivo tan gr
noStreamsOptionCopy = Copiar el enlace para abrirlo en otro navegador
noStreamsOptionFirefox = Probar nuestro navegador favorito
noStreamsOptionDownload = Continuar en este navegador
downloadFirefoxPromo = El nuevo { -firefox } te ofrece { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Compartir el enlace a tu archivo:
shareLinkButton = Compartir enlace
# $name is the name of the file
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.

View File

@@ -6,7 +6,8 @@ encryptingFile = Encriptando...
decryptingFile = Desencriptando...
downloadCount =
{ $num ->
*[one] 1 descarga
[one] 1 descarga
*[other] { $num } descargas
}
timespanHours =
{ $num ->
@@ -77,7 +78,17 @@ fileCount =
[one] 1 archivo
*[other] { $num } archivos
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Tamaño total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copiar el enlace para compartir el archivo:
@@ -109,15 +120,15 @@ uploadButton = Subir
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastrar y soltar archivos
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o hacer clic para enviar hasta { $size }
addPassword = Protegido con contraseña
emailPlaceholder = Ingresa tu correo electrónico
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Iniciar sesión para enviar hasta { $size }
signInButton = Iniciar sesión/registrarse
signInOnlyButton = Iniciar sesión
accountBenefitTitle = Crear una cuenta de { -firefox } o iniciar sesión
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartir archivos de hasta { $size }
accountBenefitDownloadCount = Compartir archivos con más personas
accountBenefitTimeLimit =
@@ -134,3 +145,11 @@ noStreamsWarning = Puede que este navegador no pueda descifrar un archivo tan gr
noStreamsOptionCopy = Copiar el enlace para abrir en otro navegador
noStreamsOptionFirefox = Prueba nuestro navegador favorito
noStreamsOptionDownload = Continuar con este navegador
downloadFirefoxPromo = { -send-short-brand } te lo ofrece el nuevo { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Comparte el enlace a tu archivo:
shareLinkButton = Enlace para compartir
# $name is the name of the file
shareMessage = Descarga «{ $name }» con { -send-brand }: es sencillo y seguro
trailheadPromo = Existe una forma de proteger tu privacidad. Únete a Firefox.
learnMore = Saber más.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = veebieksperiment
siteFeedback = Tagasiside
uploadPageHeader = Privaatne ja krüpteeritud failiedastus
uploadPageExplainer = Firefox Send võimaldab saata faile üle ohutu, privaatse ja krüpteeritud kanali. Failid kustutatakse automaatselt, et need ei jääks internetti igaveseks.
uploadPageLearnMore = Rohkem teavet
uploadPageDropMessage = Faili üleslaadimiseks lohista see siia
uploadPageSizeMessage = Parima kogemuse saamiseks tasub faili suurus hoida alla 1GB
uploadPageBrowseButton = Vali fail arvutist
uploadPageBrowseButton1 = Vali fail üleslaadimiseks
uploadPageMultipleFilesAlert = Mitme faili või kausta üleslaadimine pole praegu toetatud.
uploadPageBrowseButtonTitle = Laadi fail üles
uploadingPageProgress = Faili { $filename } ({ $size }) üleslaadimine
importingFile = Importimine...
verifyingFile = Kontrollimine…
encryptingFile = Krüptimine…
decryptingFile = Dekrüptimine...
notifyUploadDone = Üleslaadimine on lõpetatud.
uploadingPageMessage = Aegumise sätteid saab muuta siis, kui faili üles laaditakse.
uploadingPageCancel = Katkesta üleslaadimine
uploadCancelNotification = Üleslaadimine katkestati
uploadingPageLargeFileMessage = Fail on suur ja selle üleslaadimine võib aega võtta.
uploadingFileNotification = Teavita mind üleslaadimise lõppemisest.
uploadSuccessConfirmHeader = Saatmiseks valmis
uploadSvgAlt = Laadi üles
uploadSuccessTimingHeader = Link failile aegub pärast 1. allalaadimist või 24 tunni möödumisel.
expireInfo = Link failile aegub peale { $downloadCount } või { $timespan }.
downloadCount =
{ $num ->
[one] üht allalaadimist
@@ -33,79 +11,29 @@ downloadCount =
}
timespanHours =
{ $num ->
[one] üht tundi
*[other] { $num } tundi
[one] 1 tunni
*[other] { $num } tunni
}
copyUrlFormLabelWithName = Kopeeri ja jaga linki faili allalaadimiseks: { $filename }
copyUrlFormButton = Kopeeri vahemällu
copiedUrl = Kopeeritud!
deleteFileButton = Kustuta fail
sendAnotherFileLink = Saada järgmine fail
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Laadi alla
downloadsFileList = Allalaadimised
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Aega jäänud
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Laadi fail { $filename } alla
downloadFileSize = ({ $size })
unlockInputLabel = Sisesta parool
unlockInputPlaceholder = Parool
unlockButtonLabel = Ava
downloadFileTitle = Krüptitud faili allalaadimine
# Firefox Send is a brand name and should not be localized.
downloadMessage = Sulle on saadetud fail Firefox Sendiga - teenusega, mis lubab faile ohutult, privaatselt ja krüpteeritult jagada. Failid kustutatakse automaatselt, et need ei jääks internetti igaveseks.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Laadi alla
downloadNotification = Allalaadimine on lõpetatud.
downloadFinish = Allalaadimine lõpetati
# 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 = Proovi Firefox Sendi
downloadingPageProgress = Faili { $filename } ({ $size }) allalaadimine
downloadingPageMessage = Palun jäta see kaart lahti, kuni fail on alla laaditud ja dekrüptitud.
errorAltText = Viga üleslaadimisel
sendYourFilesLink = Proovi Firefox Send'i
errorPageHeader = Midagi läks valesti!
errorPageMessage = Faili üleslaadimisel esines viga.
errorPageLink = Saada järgmine fail
fileTooBig = Fail on üleslaadimiseks liiga suur. See peaks olema väiksem kui { $size }.
linkExpiredAlt = Link on aegunud
expiredPageHeader = See link on aegunud või seda pole kunagi olnudki!
notSupportedHeader = Sinu brauser pole toetatud.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Kahjuks ei toeta see brauser veebitehnoloogiaid, mis teevad Firefox Sendi toimimise võimalikuks. Sa pead proovima teise brauseriga. Me soovitame Firefoxi!
notSupportedLink = Miks mu brauser toetatud pole?
notSupportedOutdatedDetail = Kahjuks ei toeta see Firefoxi versioon veebitehnoloogiaid, mis teevad Firefox Sendi toimimise võimalikuks. Sa pead oma brauserit uuendama.
updateFirefox = Uuenda Firefox
downloadFirefoxButtonSub = Laadi alla tasuta
uploadedFile = Fail
copyFileList = Kopeeri URL
# expiryFileList is used as a column header
expiryFileList = Aegub
deleteFileList = Kustuta
nevermindButton = Ära pane tähele
legalHeader = Tingimused ja privaatsusreeglid
legalNoticeTestPilot = Firefox Send on praegu Test Piloti eksperiment ja sellele rakenduvad Test Piloti <a>teenusetingimused</a> ning <a>privaatsusreeglid</a>. Rohkem teavet selle eksperimendi ja kogutavate andmete kohta leiab <a>siit</a>.
legalNoticeMozilla = Firefox Sendi veebilehe kasutamisele rakenduvad ka Mozilla <a>veebilehtede privaatsusreeglid</a> ja <a>veebilehtede teenusetingimused</a>.
deletePopupText = Kas kustutada see fail?
deletePopupYes = Jah
deletePopupCancel = Loobu
deleteButtonHover = Kustuta
copyUrlHover = Kopeeri URL
footerLinkLegal = Õiguslik teave
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Test Pilotist
footerLinkPrivacy = Privaatsusest
footerLinkTerms = Teenusetingimused
footerLinkCookies = Küpsistest
requirePasswordCheckbox = Selle faili allalaadimiseks nõutakse parooli
addPasswordButton = Lisa parool
changePasswordButton = Muuda
passwordTryAgain = Vale parool. Palun proovi uuesti.
reportIPInfringement = Intellektuaalomandi keelatud kasutamise raporteerimine
javascriptRequired = Firefox Send'i kasutamiseks tuleb JavaScript lubada
whyJavascript = Miks Firefox Send JavaScripti vajab?
enableJavascript = Palun luba JavaScript ja proovi uuesti.
@@ -113,9 +41,113 @@ enableJavascript = Palun luba JavaScript ja proovi uuesti.
expiresHoursMinutes = { $hours }t { $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 a password is successfully set
passwordIsSet = Parool on muudetud
# A short status message shown when the user enters a long password
maxPasswordLength = Maksimaalne parooli pikkus: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Parooli muutmine ebaõnnestus
## 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 = Lihtne ja privaatne failijagamine
introDescription = { -send-brand } võimaldab sul faile jagada otspunktkrüpteerimise ning automaatselt aeguva lingiga. Nii saad jagatava privaatsena hoida ja kindlustada, et su asjad igavesti internetti vedelema ei jää.
notifyUploadEncryptDone = Sinu fail on krüptitud ja saatmiseks valmis
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Aegub peale { $downloadCount } või { $timespan } järel
timespanMinutes =
{ $num ->
[one] 1 minuti
*[other] { $num } minuti
}
timespanDays =
{ $num ->
[one] 1 päeva
*[other] { $num } päeva
}
timespanWeeks =
{ $num ->
[one] 1 nädala
*[other] { $num } nädala
}
fileCount =
{ $num ->
[one] 1 fail
*[other] { $num } faili
}
# 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 = Kogusuurus: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Faili jagamiseks kopeeri link:
copyLinkButton = Kopeeri link
downloadTitle = Failide allalaadimine
downloadDescription = See fail jagati teenuse { -send-brand } kaudu otspunktkrüpteeritult ja automaatselt aeguva lingiga.
trySendDescription = Proovi lihtsaks ja turvaliseks failijagamiseks { -send-brand } teenust.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Korraga saab üles laadida vaid 1 faili.
*[other] Korraga saab üles laadida vaid { $count } faili.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Vaid 1 arhiveerimine on lubatud.
*[other] Vaid { $count } arhiveerimist on lubatud.
}
expiredTitle = Link on aegunud.
notSupportedDescription = { -send-brand } ei tööta selle veebilehitsejaga. Kõige paremini töötab { -send-short-brand } uusima { -firefox }iga ja töötab ka enamikes teistes uuendatud brauserites.
downloadFirefox = Laadi { -firefox } alla
legalTitle = { -send-short-brand } privaatsusteade
legalDateStamp = Versioon 1.0, alates 12. märts 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 }p { $hours }t { $minutes }m
addFilesButton = Vali failid üleslaadimiseks
uploadButton = Laadi üles
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Lohista failid siia
# 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 = või klõpsa kuni { $size } suuruste failide saatmiseks
addPassword = Kaitse parooliga
emailPlaceholder = Sisesta e-posti aadress
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Logi sisse ning saad saata kuni { $size } suuruseid faile
signInOnlyButton = Logi sisse
accountBenefitTitle = Loo { -firefox }i konto või logi sisse
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Jaga kuni { $size } suuruseid faile
accountBenefitDownloadCount = Jaga faile enamate inimestega
accountBenefitTimeLimit =
{ $count ->
[one] Hoia linke aktiivsena 1 päev
*[other] Hoia linke aktiivsena kuni { $count } päeva
}
accountBenefitSync = Jagatud faile saad hallata mis tahes seadmes
accountBenefitMoz = Rohkem teavet teistest { -mozilla } teenustest
signOut = Logi välja
okButton = Olgu
downloadingTitle = Allalaadimine
noStreamsWarning = Sinu veebilehitseja ei pruugi suuta nii suurt faili dekrüptida.
noStreamsOptionCopy = Kopeeri link teises brauseris avamiseks
noStreamsOptionFirefox = Proovi meie lemmikbrauserit
noStreamsOptionDownload = Jätka selle brauseriga
downloadFirefoxPromo = { -send-short-brand } toob sinuni uhiuus { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Jaga linki failile:
shareLinkButton = Jaga linki
# $name is the name of the file
shareMessage = Laadi “{ $name }” alla teenusega { -send-brand }, mis pakub lihtsat ja turvalist failijagamist

155
public/locales/eu/send.ftl Normal file
View File

@@ -0,0 +1,155 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Iritzia
importingFile = Inportatzen…
encryptingFile = Zifratzen...
decryptingFile = Deszifratzen...
downloadCount =
{ $num ->
[one] Deskarga bat
*[other] { $num } deskarga
}
timespanHours =
{ $num ->
[one] Ordubete
*[other] { $num } ordu
}
copiedUrl = Kopiatuta!
unlockInputPlaceholder = Pasahitza
unlockButtonLabel = Desblokeatu
downloadButtonLabel = Deskargatu
downloadFinish = Deskarga burututa
fileSizeProgress = ({ $totalSize } / { $partialSize })
sendYourFilesLink = Probatu Firefox Send
errorPageHeader = Zerbait gaizki joan da!
fileTooBig = Fitxategia handiegia da kargatzeko. { $size } baino txikiagoa izan behar du.
linkExpiredAlt = Lotura iraungi da
notSupportedHeader = Zure nabigatzailea ez da onartzen.
notSupportedLink = Zergatik ez da nire nabigatzailea onartzen?
notSupportedOutdatedDetail = Zoritxarrez Firefox bertsio honek ez du Firefox Send-ek behar duen web teknologia onartzen. Zure nabigatzailea eguneratu behar duzu.
updateFirefox = Eguneratu Firefox
deletePopupCancel = Utzi
deleteButtonHover = Ezabatu
footerLinkLegal = Lege-oharra
footerLinkPrivacy = Pribatutasuna
footerLinkCookies = Cookieak
passwordTryAgain = Pasahitz okerra. Saiatu berriro.
javascriptRequired = JavaScript beharrezkoa da Firefox Send erabiltzeko.
whyJavascript = Zergatik behar du Firefox Send-ek JavasScript?
enableJavascript = Gaitu JavaScript eta saiatu berriro.
# 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 = Pasahitzaren gehienezko luzera: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Pasahitz hau ezin da ezarri
## 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 = Partekatu fitxategiak modu sinple eta pribatuan
introDescription = { -send-brand } tresna fitxategiak partekatzeko da, muturretik muturrera zifratuta eta automatikoki iraungitzen diren loturekin. Hortaz, partekatzen duzuna pribatua izango da eta ziur egon zaitezke zure fitxategiak ez direla online egongo betirako.
notifyUploadEncryptDone = Zure fitxategia zifratuta eta bidaltzeko prest dago
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = { $downloadCount } edo { $timespan } ondoren iraungiko da
timespanMinutes =
{ $num ->
[one] minutu 1
*[other] { $num } minutu
}
timespanDays =
{ $num ->
[one] egun 1
*[other] { $num } egun
}
timespanWeeks =
{ $num ->
[one] aste 1
*[other] { $num } aste
}
fileCount =
{ $num ->
[one] fitxategi 1
*[other] { $num } fitxategi
}
# 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 = Tamaina guztira: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopiatu fitxategia partekatzeko lotura:
copyLinkButton = Kopiatu lotura
downloadTitle = Deskargatu fitxategiak
downloadDescription = { -send-brand } bidez partekatu da fitxategia muturretik muturrera zifratuta eta automatikoki iraungitzen den lotura batekin.
trySendDescription = Probatu { -send-brand } fitxategiak partekatzeko modu sinple eta segururako.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Soilik fitxategi bakarra igo daiteke aldi berean.
*[other] Soilik { $count } fitxategi igo daitezke aldi berean.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Soilik artxibo bakarra onartzen da.
*[other] Soilik { $count } artxibo onartzen dira.
}
expiredTitle = Lotura hau iraungi da.
notSupportedDescription = { -send-brand } ez da nabigatzaile honetan ibiliko. { -send-short-brand } hobeto dabil { -firefox }(r)en azken bertsioarekin; halaber, nabigatzaile gehienen azken bertsioarekin ibiliko da.
downloadFirefox = Deskargatu { -firefox }
legalTitle = { -send-short-brand } pribatutasun-oharra
legalDateStamp = 1.0 bertsioa, 2019ko martxoaren 12koa.
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }e { $hours }h { $minutes }m
addFilesButton = Hautatu igotzeko fitxategiak
uploadButton = Igo
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastatu eta jaregin fitxategiak
# 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 = edo egin klik { $size } arte igotzeko
addPassword = Babestu pasahitzarekin
emailPlaceholder = Idatzi zure helbide elektronikoa
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Hasi saioa { $size } arte bidaltzeko
signInOnlyButton = Hasi saioa
accountBenefitTitle = Sortu { -firefox } kontu bat edo hasi saioa
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Partekatu { $size } arteko fitxategiak
accountBenefitDownloadCount = Partekatu fitxategiak jende gehiagorekin
accountBenefitTimeLimit =
{ $count ->
[one] Utzi loturak erabilgarri egun batez
*[other] Utzi loturak erabilgarri { $count } egunez
}
accountBenefitSync = Kudeatu partekatutako fitxategiak edozein gailutatik
accountBenefitMoz = { -mozilla }ren beste zerbitzuei buruzko argibide gehiago
signOut = Amaitu saioa
okButton = Ados
downloadingTitle = Deskargatzen
noStreamsWarning = Baliteke nabigatzailea gai ez izatea horrelako tamaina handiko fitxategiak deszifratzeko.
noStreamsOptionCopy = Kopiatu lotura beste nabigatzaile batean irekitzeko
noStreamsOptionFirefox = Probatu gure nabigatzaile gogokoena
noStreamsOptionDownload = Jarraitu nabigatzaile honekin
downloadFirefoxPromo = Erabat berritutako { -firefox }(e)k eskaintzen dizu { -send-short-brand }
# the next line after the colon contains a file name
shareLinkDescription = Partekatu zure fitxategirako lotura:
shareLinkButton = Partekatu lotura
# $name is the name of the file
shareMessage = Deskargatu "{ $name }" { -send-brand } erabiliz: fitxategi-partekatze sinple eta segurua
trailheadPromo = Badago zure pribatutasuna babesteko modua. Egizu bat Firefoxekin.
learnMore = Argibide gehiago.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = آزمایش وب
siteFeedback = بازخورد
uploadPageHeader = اشتراک‌گذاری پرونده‌ها، رمزنگاری شده و خصوصی
uploadPageExplainer = پرونده های خود را به صورت ایمن، خصوصی و رمزنگاری شده با تعیین تاریخ انقضا خودکار ارسال کنید تا اطمینان پیدا کنید چیزهای شما همیشه آنلاین باقی نماند.
uploadPageLearnMore = بیشتر بدانید
uploadPageDropMessage = برای شروع بارگذاری پرونده‌های خود را اینجا بیاندازید
uploadPageSizeMessage = برای بیشترین قابلیت اطمینان، بهتر است که پرونده‌تان کمتر از ۱ گیگابایت باشد
uploadPageBrowseButton = یک پرونده را از روی کامپیوتر خود انتخاب کنید
uploadPageBrowseButton1 = یک پرونده را برای بارگذاری انتخاب کنید
uploadPageMultipleFilesAlert = بارگذاری چندین پرونده یا یک پوشه در حال حاضر پشتیبانی نمی‌شود.
uploadPageBrowseButtonTitle = بارگذاری پرونده
uploadingPageProgress = در حال بارگذاری پرونده { $filename } ({ $size })
importingFile = در حال وارد کردن…
verifyingFile = در حال تایید…
encryptingFile = در حال رمزنگاری…
decryptingFile = در حال رمزگشایی…
notifyUploadDone = بارگذاری شما پایان یافت.
uploadingPageMessage = به محض بارگذاری پرونده شما قادر خواهید بود برای آن گزینه انقضا تعیین کنید.
uploadingPageCancel = لغو بارگذاری
uploadCancelNotification = بارگذاری شما لغو شد
uploadingPageLargeFileMessage = پرونده بزرگ است و ممکن است بارگذاری آن مدتی طول بکشد. محکم بشینید!
uploadingFileNotification = هر وقت بارگذاری تمام شد به من اطلاع بده.
uploadSuccessConfirmHeader = آماده برای ارسال
uploadSvgAlt = بارگذاری
uploadSuccessTimingHeader = پیوند به پرونده شما بعد از ۱ بار دانلود یا ۲۴ ساعت حذف خواهد شد.
expireInfo = این پیوند به فایل شما پس از { $downloadCount } یا { $timespan } منقضی خواهد شد.
downloadCount =
{ $num ->
[one] ۱ بارگیری
@@ -36,76 +14,26 @@ timespanHours =
[one] ۱ ساعت
*[other] { $num } ساعت
}
copyUrlFormLabelWithName = برای ارسال پرونده پیوند آن را رونوشت و به اشتراک بگذارید: { $filename }
copyUrlFormButton = رونوشت به کلیپ‌بورد
copiedUrl = رونوشت شد!
deleteFileButton = حذف پرونده
sendAnotherFileLink = ارسال پرونده دیگر
# Alternative text used on the download link/button (indicates an action).
downloadAltText = دریافت
downloadsFileList = دریافت‌ها
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = زمان
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = بارگیری { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = گذرواژه را وارد کنید
unlockInputPlaceholder = گذرواژه
unlockButtonLabel = باز کردن
downloadFileTitle = دریافت پروندهٔ رمزنگاری شده
# Firefox Send is a brand name and should not be localized.
downloadMessage = دوست شما درحال ارسال پرونده ای به وسیله Firefox Send است،‌ این سرویس این امکان را به شما می‌دهد تا پرونده‌های خود را به صورت ایمن،‌خصوصی و رمزنگاری شده به همراه پیوند انقضا خودکار همرسانی کنید تا اطمینان حاصل کنید چیزهای شما برای همیشه آنلاین باقی نخواهد ماند.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = بارگیری
downloadNotification = بارگیری شما کامل شد.
downloadFinish = بارگیری کامل شد
# 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 را امتحان کنید
downloadingPageProgress = دریافت { $filename } ({ $size })
downloadingPageMessage = لطفا این زبانه را باز بگذارید در حالی که ما فایل شما را دریافت می‌کنیم و کدگذاری می‌کنیم.
errorAltText = خطا در بارگذاری
errorPageHeader = چیزی دچار اشکال شده است!
errorPageMessage = خطایی در هنگام بارگذاری پرونده شما رخ داده است.
errorPageLink = پرونده دیگری ارسال کنید.
fileTooBig = این پرونده بسیار حجیم است. حجم آن می‌بایستی کم تر { $size } باشد.
linkExpiredAlt = پیوند منقضی شده است
expiredPageHeader = پیوند منقضی شده است یا در از همان ابتدا وجود نداشته است!
notSupportedHeader = مرورگر شما پشتیبانی نمی‌کند.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = متاسفانه این مرورگر این تکنولوژی وب را که به Firefox Send قدرت می‌بخشد را پشتیبانی نمی‌کند. شما بایستی مرورگری دیگری را امتحان کنید. پیشنهاد ما به شما فایرفاکس است !
notSupportedLink = چرا مرورگر من پشتیبانی نمی‌کند؟
notSupportedOutdatedDetail = متاسفانه این نسخه از فایرفاکس این تکنولوژی وب که به Firefox Send قدرت می‌بخشد را پشتیبانی نمی‌کند. شما نیاز دارید تا مرورگر خود را بروز کنید.
updateFirefox = بروزرسانی فایرفاکس
downloadFirefoxButtonSub = دریافت رایگان
uploadedFile = پرونده‌
copyFileList = رونوشت از نشانی
# expiryFileList is used as a column header
expiryFileList = زمان انقضا
deleteFileList = حذف
nevermindButton = بیخیال
legalHeader = شرایط و حریم‌خصوصی
legalNoticeTestPilot = Firefox Send در حال حاضر در نسخه آزمایشی خود به صورت می‌دهد و تحت عنوان خلبان آموزشی <a>شرایط و خدمات</a> و <a>موارد حریم خصوصی </a> کار می‌کند. شما می‌توانید اطلاعات بیشتر در مورد این آزمایش و اطلاعات که ذخیره می‌کنید را از <a> اینجا </a> کسب کنید.
legalNoticeMozilla = استفاده از Firefox Send همچنین منصوب به موزیلا است. <a>پایگاه اینترنتی نکات حریم شخصی </a> و <a> پایگاه اطلاع رسانی شرایط خدمات و استفاده </a>.
deletePopupText = حذف این پرونده؟
deletePopupYes = بله
deletePopupCancel = انصراف
deleteButtonHover = حذف
copyUrlHover = رونوشت از نشانی
footerLinkLegal = ملاحظات حقوقی
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = درباره Test Pilot
footerLinkPrivacy = حریم‌خصوصی
footerLinkTerms = شرایط
footerLinkCookies = کوکی‌ها
requirePasswordCheckbox = دریافت این پرونده نیاز به گذرواژه دارد
addPasswordButton = افزودن گذرواژه
changePasswordButton = تغییر
passwordTryAgain = کلمه عبور اشتباه است. مجدد تلاش کنید.
reportIPInfringement = گزارش تخلف IP
javascriptRequired = Firefox Send نیازمند جاوااسکریپت است
whyJavascript = چرا Firefox Send جاوااسکریپت لازم داد؟
enableJavascript = لطفا جاوااسکریپت را فعال کنید و مجددا تلاش کنید.
@@ -113,9 +41,25 @@ enableJavascript = لطفا جاوااسکریپت را فعال کنید و م
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 a password is successfully set
passwordIsSet = گذرواژه تنظیم شد
# 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 = فایرفاکس
-mozilla = موزیلا
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = حجم کل: { $size }

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = web-kokeilu
siteFeedback = Palaute
uploadPageHeader = Yksityinen, salattu tiedostojen jakaminen
uploadPageExplainer = Lähetä tiedostoja turvallisen, yksityisen ja salatun linkin kautta. Linkki vanhenee automaattisesti, joten tietosi eivät pysy verkossa ikuisesti.
uploadPageLearnMore = Lue lisää
uploadPageDropMessage = Aloita lataaminen pudottamalla tiedosto tähän
uploadPageSizeMessage = Luotettavin toiminta saadaan pitämällä tiedostokoko alle 1 Gt
uploadPageBrowseButton = Valitse tiedosto tietokoneesta
uploadPageBrowseButton1 = Valitse ladattava tiedosto
uploadPageMultipleFilesAlert = Useiden tiedostojen tai kansion lataamista ei tällä hetkellä tueta.
uploadPageBrowseButtonTitle = Lataa tiedosto
uploadingPageProgress = Ladataan { $filename } ({ $size })
importingFile = Tuodaan…
verifyingFile = Tarkistetaan...
encryptingFile = Salataan...
decryptingFile = Puretaan salausta...
notifyUploadDone = Latauksesi on päättynyt.
uploadingPageMessage = Kun tiedostojen lataaminen on valmista, voit määrittää vanhentumisvaihtoehdot.
uploadingPageCancel = Peruuta lataus
uploadCancelNotification = Latauksesi peruutettiin.
uploadingPageLargeFileMessage = Tämä tiedosto on suuri ja sen lataaminen saattaa kestää jonkin aikaa. Nyt malttia peliin!
uploadingFileNotification = Ilmoita minulle, kun lataus on valmis.
uploadSuccessConfirmHeader = Valmis lähettämään
uploadSvgAlt = Lataa
uploadSuccessTimingHeader = Linkki tiedostoon vanhenee 1 latauksen tai 24 tunnin kuluttua.
expireInfo = Linkki tiedostoon vanhenee { $downloadCount } tai { $timespan } kuluttua.
downloadCount =
{ $num ->
[one] yhden latauksen
@@ -36,86 +14,142 @@ timespanHours =
[one] 1 tunnin
*[other] { $num } tunnin
}
copyUrlFormLabelWithName = Kopioi ja jaa linkki lähettämääsi tiedostoon: { $filename }
copyUrlFormButton = Kopioi leikepöydälle
copiedUrl = Kopioitu!
deleteFileButton = Poista tiedosto
sendAnotherFileLink = Lähetä toinen tiedosto
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Lataa
downloadsFileList = Lataukset
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Aika
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } ladattu
downloadFileSize = ({ $size })
unlockInputLabel = Syötä salasana
unlockInputPlaceholder = Salasana
unlockButtonLabel = Avaa
downloadFileTitle = Lataa salattu tiedosto
# Firefox Send is a brand name and should not be localized.
downloadMessage = Ystäväsi lähettää sinulle tiedoston Firefox Send -palvelulla, jonka avulla voidaan jakaa tiedostoja turvallisen, yksityisen ja salatun linkin kautta. Linkki vanhenee automaattisesti, joten tiedot eivät säily verkossa ikuisesti.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Lataa
downloadNotification = Latauksesi on valmis.
downloadFinish = Lataus valmis
# 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 = Kokeile Firefox Sendiä
downloadingPageProgress = Ladataan { $filename } ({ $size })
downloadingPageMessage = Jätä tämä välilehti auki siksi aikaa kun haemme tiedoston ja puramme sen.
errorAltText = Latausvirhe
sendYourFilesLink = Kokeile Firefox Send -palvelua
errorPageHeader = Jokin meni pieleen!
errorPageMessage = Tiedoston lataamisessa on tapahtunut virhe.
errorPageLink = Lähetä toinen tiedosto
fileTooBig = Tämä tiedosto on liian suuri ladattavaksi. Sen pitäisi olla pienempi kuin { $size }.
linkExpiredAlt = Linkki on vanhentunut
expiredPageHeader = Tämä linkki on vanhentunut tai sitä ei ole koskaan ollut olemassa!
notSupportedHeader = Selaintasi ei tueta.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Valitettavasti tämä selain ei tue Firefox Sendiä käyttävää web-tekniikkaa. Sinun on kokeiltava toista selainta. Suosittelemme Firefoxia!
notSupportedLink = Miksi selaintani ei tueta?
notSupportedOutdatedDetail = Valitettavasti tämä Firefoxin versio ei tue Firefox Sendiä käyttävää web-tekniikkaa. Sinun on päivitettävä selaimesi.
updateFirefox = Päivitä Firefox
downloadFirefoxButtonSub = Ilmainen lataus
uploadedFile = Tiedosto
copyFileList = Kopioi osoite
# expiryFileList is used as a column header
expiryFileList = Vanhenee
deleteFileList = Poista
nevermindButton = Unohda koko juttu
legalHeader = Ehdot ja yksityisyys
legalNoticeTestPilot = Firefox Send on tällä hetkellä Test Pilot -kokeilu, ja siihen sovelletaan Test Pilot <a>käyttöehtoja</a> ja <a>tietosuojakäytäntöjä</a>. Saat lisätietoja tästä kokeilusta ja sen tiedonkeruusta <a>täällä</a>.
legalNoticeMozilla = Firefox Send -sivuston käyttöön sovelletaan Mozillan <a>verkkosivustojen yksityisyyskäytäntöjä</a> ja <a>verkkosivustojen käyttöehtoja</a>.
deletePopupText = Poista tämä tiedosto?
deletePopupYes = Kyllä
deletePopupCancel = Peruuta
deleteButtonHover = Poista
copyUrlHover = Kopioi osoite
footerLinkLegal = Juridiset asiat
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Tietoja Test Pilotista
footerLinkPrivacy = Tietosuoja
footerLinkTerms = Ehdot
footerLinkCookies = Evästeet
requirePasswordCheckbox = Vaadi salasanaa tämän tiedoston lataamiseen
addPasswordButton = Lisää salasana
changePasswordButton = Muuta
passwordTryAgain = Väärä salasana. Yritä uudelleen.
reportIPInfringement = Ilmoita IP-rikkomuksesta
javascriptRequired = Firefox-Send vaatii JavaScriptin
whyJavascript = Miksi Firefox Send vaatii JavaScriptin?
enableJavascript = Ota JavaScript käyttöön ja yritä uudelleen.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }t { $minutes }min
expiresHoursMinutes = { $hours } t { $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 a password is successfully set
passwordIsSet = Salasana asetettu
expiresMinutes = { $minutes } min
# A short status message shown when the user enters a long password
maxPasswordLength = Salasanan enimmäispituus: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Tätä salasanaa ei voitu asettaa
## 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 = Helppoa ja yksityistä tiedostonjakoa
introDescription = { -send-brand } mahdollistaa tiedostojen jakamisen automaattisesti vanhenevalla linkillä. Tiedostojen jakaminen tapahtuu päästä päähän -salattuna. Näin jakamasi tiedostot pysyvät yksityisinä ja voit olla varma, etteivät lähettämäsi tiedostot pysy verkossa ikuisesti.
notifyUploadEncryptDone = Tiedosto on salattu ja valmis lähetettäväksi
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Vanhenee { $downloadCount } tai { $timespan } jälkeen
timespanMinutes =
{ $num ->
[one] 1 minuutin
*[other] { $num } minuutin
}
timespanDays =
{ $num ->
[one] 1 päivän
*[other] { $num } päivän
}
timespanWeeks =
{ $num ->
[one] 1 viikon
*[other] { $num } viikon
}
fileCount =
{ $num ->
[one] 1 tiedosto
*[other] { $num } tiedostoa
}
# byte abbreviation
bytes = t
# kibibyte abbreviation
kb = kt
# mebibyte abbreviation
mb = Mt
# gibibyte abbreviation
gb = Gt
# 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 = Koko yhteensä: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopioi linkki jakaaksesi tiedoston:
copyLinkButton = Kopioi linkki
downloadTitle = Lataa tiedostot
downloadDescription = Tämä tiedosto jaettiin { -send-brand } -palvelun kautta päästä päähän -salattuna ja automaattisesti vanhenevalla linkillä.
trySendDescription = Kokeile { -send-brand } -palvelua jakaaksesi tiedostoja helposti ja turvallisesti.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Vain 1 tiedosto on mahdollistaa lähettää kerralla.
*[other] Vain { $count } tiedostoa on mahdollista lähettää kerralla.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Vain 1 arkisto on sallittu.
*[other] Vain { $count } arkistoa on sallittu.
}
expiredTitle = Tämä linkki on vanhentunut.
notSupportedDescription = { -send-brand } ei toimi tällä selaimella. { -send-short-brand } toimii parhaiten { -firefox }in uusimmalla versiolla, ja toimii useimpien selainten uusimmilla versioilla.
downloadFirefox = Lataa { -firefox }
legalTitle = { -send-short-brand }-yksityisyyskäytäntö
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
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
# 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 = tai napsauta lähettääksesi tiedostoja, joiden koko voi olla enintään { $size }
addPassword = Suojaa salasanalla
emailPlaceholder = Kirjoita sähköpostiosoitteesi
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Kirjautumalla voit lähettää jopa { $size } kokoisia tiedostoja
signInOnlyButton = Kirjaudu sisään
accountBenefitTitle = Luo { -firefox }-tili tai kirjaudu sisään
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Jaa jopa { $size } kokoisia tiedostoja
accountBenefitDownloadCount = Jaa tiedostoja useamman ihmisen kesken
accountBenefitTimeLimit =
{ $count ->
[one] Säilytä linkit aktiivisina 1 päivän ajan
*[other] Säilytä linkit aktiivisina { $count } päivän ajan
}
accountBenefitSync = Hallitse jaettuja tiedostoja miltä tahansa laitteelta
accountBenefitMoz = Lue lisää muista { -mozilla }-palveluista
signOut = Kirjaudu ulos
okButton = OK
downloadingTitle = Ladataan
noStreamsWarning = Tämä selain ei välttämättä osaa purkaa salausta näin suurikokoisista tiedostoista.
noStreamsOptionCopy = Kopioi linkki avataksesi sen toisessa selaimessa
noStreamsOptionFirefox = Kokeile suosikkiselaintamme
noStreamsOptionDownload = Jatka tällä selaimella
downloadFirefoxPromo = { -send-short-brand } on olemassa kiitos uuden { -firefox }in.
# the next line after the colon contains a file name
shareLinkDescription = Jaa linkki tiedostoosi:
shareLinkButton = Jaa linkki
# $name is the name of the file
shareMessage = Lataa tiedosto ”{ $name }” { -send-brand } -palvelusta: yksinkertaista ja turvallista tiedostonjakoa
trailheadPromo = On tapa suojata yksityisyyttään. Liity Firefoxiin.
learnMore = Lue lisää.

View File

@@ -78,7 +78,17 @@ fileCount =
[one] 1 fichier
*[other] { $num } fichiers
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = o
# kibibyte abbreviation
kb = Ko
# mebibyte abbreviation
mb = Mo
# gibibyte abbreviation
gb = Go
# 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 = Taille totale : { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copiez le lien pour partager votre fichier :
@@ -110,15 +120,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = ou cliquez pour envoyer jusquà { $size }
addPassword = Protéger par mot de passe
emailPlaceholder = Votre adresse électronique
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Connectez-vous pour envoyer jusquà { $size }
signInButton = Se connecter/Sinscrire
signInOnlyButton = Connexion
accountBenefitTitle = Créez un compte { -firefox } ou connectez-vous
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Partagez des fichiers jusquà { $size }
accountBenefitDownloadCount = Partagez des fichiers avec davantage de personnes
accountBenefitTimeLimit =
@@ -135,3 +145,11 @@ noStreamsWarning = Ce navigateur pourrait ne pas être en mesure de déchiffrer
noStreamsOptionCopy = Copiez le lien pour louvrir dans un autre navigateur
noStreamsOptionFirefox = Essayez notre navigateur préféré
noStreamsOptionDownload = Continuer avec ce navigateur
downloadFirefoxPromo = { -send-short-brand } vous est proposé par le tout nouveau { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Partagez le lien vers votre fichier :
shareLinkButton = Partager le lien
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webeksperiment
siteFeedback = Kommentaar
uploadPageHeader = Privee, fersifere bestânsdieling
uploadPageExplainer = Ferstjoer bestannen troch in feilich, privee en fersifere keppeling dy't automatysk ferrint, om foar te kommen dat jo guod net foar altyd online bliuwt.
uploadPageLearnMore = Mear ynfo
uploadPageDropMessage = Sleep jo bestân hjir hinne om opladen te starten
uploadPageSizeMessage = Foar de meast betroubere wurking, is it it bêste om jo bestân lytser as 1 GB te hâlden
uploadPageBrowseButton = Selektearje in bestân op jo kompjûter
uploadPageBrowseButton1 = Selektearje in bestân om op te laden
uploadPageMultipleFilesAlert = Opladen fan mear bestannen tagelyk of in map wurdt op dit stuit net stipe.
uploadPageBrowseButtonTitle = Bestân oplade
uploadingPageProgress = { $filename } ({ $size }) wurdt oplaad
importingFile = Ymportearje…
verifyingFile = Ferifiearje…
encryptingFile = Fersiferje…
decryptingFile = Untsiferje…
notifyUploadDone = Jo oplaad is foltôge.
uploadingPageMessage = Sa gau as jo bestân opladen wurdt, kinne jo de opsjes foar de ferrindatum ynstelle.
uploadingPageCancel = Opladen annulearje
uploadCancelNotification = Jo oplaad is annulearre.
uploadingPageLargeFileMessage = Dit is in grut bestân en it opladen kin efkes duorje. In amerijke!
uploadingFileNotification = Jou in melding as de oplaad foltôge is.
uploadSuccessConfirmHeader = Ree om te ferstjoeren
uploadSvgAlt = Oplaad
uploadSuccessTimingHeader = De keppeling nei jo bestân sil nei 1 download ferrinne of nei 24 oeren.
expireInfo = De keppeling nei jo bestân sil nei { $downloadCount } of { $timespan } ferrinne.
downloadCount =
{ $num ->
[one] 1 download
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 oer
*[other] { $num } oeren
}
copyUrlFormLabelWithName = Kopiearje en diel de keppeling om jo bestân te ferstjoeren: { $filename }
copyUrlFormButton = Nei klamboerd kopiearje
copiedUrl = Kopiearre!
deleteFileButton = Bestân fuortsmite
sendAnotherFileLink = Noch in bestân ferstjoere
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Downloade
downloadsFileList = Downloads
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Tiid
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } downloade
downloadFileSize = ({ $size })
unlockInputLabel = Wachtwurd ynfiere
unlockInputPlaceholder = Wachtwurd
unlockButtonLabel = Deblokkearje
downloadFileTitle = Fersifere bestân downloade
# Firefox Send is a brand name and should not be localized.
downloadMessage = Jo freon stjoert jo in best^n mei Firefox Send, in tsjinst dy't jo yn steat stelt bestannen te dielen mei in feilige, privee en fersifere keppeling dy't automatysk ferrint om wis te wêzen dat jo guod net foar altyd online bliuwt.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Downloade
downloadNotification = Jo download is foltôge.
downloadFinish = Download foltôge
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } fan { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send probearje
downloadingPageProgress = { $filename } ({ $size }) wurdt download
downloadingPageMessage = Lit dit ljepblêd iepen wylst wy jo bestân krije en ûntsiferje.
errorAltText = Oplaadflater
errorPageHeader = Der is wat misgien!
errorPageMessage = Der is in flater bard wylst it opladen fan jo bestân.
errorPageLink = Noch in bestân ferstjoere
fileTooBig = It bestân is te grut om op te laden. It moat lytser wêze as { $size }.
linkExpiredAlt = Keppeling ferrûn
expiredPageHeader = Dizze keppeling is ferrûn of hat nea bestien!
notSupportedHeader = Jo browser wurdt net stipe.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Spitigernôch stipet dizze browser de webtechnology dy't Firefox Send mooglik makket net. Jo moatte in oare browser probearje. Wy rekommandearje Firefox!
notSupportedLink = Wêrom wurdt myn browser net stipe?
notSupportedOutdatedDetail = Spitigernôch stipet dizze ferzje fan Firefox de webtechnology dy't Firefox Send mooflik makket net. Jo moatte jo browser fernije.
updateFirefox = Firefox fernije
downloadFirefoxButtonSub = Fergese download
uploadedFile = Bestân
copyFileList = URL kopiearje
# expiryFileList is used as a column header
expiryFileList = Ferrint oer
deleteFileList = Fuortsmite
nevermindButton = Lit mar
legalHeader = Betingsten en privacy
legalNoticeTestPilot = Firefox Send is op dit stuit in Test Pilot-eksperimint en falt ûnder de <a>Betingsten</a> en <a>Privacybelied</a> fan Test Pilot. Mear ynformaasje oer dit eksperimint en de gegevenssamling stiet<a>hjir</a>.
legalNoticeMozilla = Gebrûk fan de Firefox Send-website falt ek ûnder it <a>Websites Privacybelied</a> en <a>Websites Gebrûksbetingsten</a> fan Mozilla.
deletePopupText = Dit bestân fuortsmite
deletePopupYes = Ja
deletePopupCancel = Annulearje
deleteButtonHover = Fuortsmite
copyUrlHover = URL kopiearje
footerLinkLegal = Juridysk
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Oer Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Betingsten
footerLinkCookies = Cookies
requirePasswordCheckbox = Om dit bestân te downloaden is in wachtwurd fereaske
addPasswordButton = Wachtwurd tafoegje
changePasswordButton = Wizigje
passwordTryAgain = Net krekt wachtwurd. Probearje it opnij.
reportIPInfringement = IP-ynbrek melde
javascriptRequired = Firefox Send fereasket JavaScript.
whyJavascript = Werom hat Firefox Send JavaScript nedich?
enableJavascript = Skeakelje JavaScript yn en probearje nochris.
@@ -113,14 +41,12 @@ enableJavascript = Skeakelje JavaScript yn en probearje nochris.
expiresHoursMinutes = { $hours }o { $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 a password is successfully set
passwordIsSet = Wachtwurd ynsteld
# A short status message shown when the user enters a long password
maxPasswordLength = Maksimale wachtwurdlingte: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Dit wachtwurd koe net ynsteld wurde
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,17 @@ fileCount =
[one] 1 bestân
*[other] { $num } bestannen
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Totale grutte: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopiearje de keppeling, om jo bestannen te dielen:
@@ -184,15 +120,15 @@ uploadButton = Oplade
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Sleep en pleats bestannen
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = of stjoer oant { $size } troch te klikken
addPassword = Mei wachtwurd beskermje
emailPlaceholder = Fier jo e-mailadres yn
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Meld jo oan, om bestannen oant { $size } te stjoeren
signInButton = Oanmelde/Registrearje
signInOnlyButton = Oanmelde
accountBenefitTitle = Meitsje in { -firefox }-account of meld jo oan
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Diel bestannen oant { $size }
accountBenefitDownloadCount = Diel bestannen mei mear minsken
accountBenefitTimeLimit =
@@ -209,3 +145,11 @@ noStreamsWarning = Dizze browser kin in sa'n grut bestân mooglik net fersiferje
noStreamsOptionCopy = Kopiearje de koppeling om yn in oare browser te iepenjen
noStreamsOptionFirefox = Probearje ús favorite browser
noStreamsOptionDownload = Trochgean mei dizze browser
downloadFirefoxPromo = { -send-short-brand } wurdt jo oanbean troch it folslein fernijde { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Diel de keppeling nei jo bestân:
shareLinkButton = Keppeling diele
# $name is the name of the file
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.

View File

@@ -1,66 +1,158 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = ניסוי אינטרנט
siteFeedback = משוב
uploadPageHeader = שיתוף קבצים פרטי, מוצפן
uploadPageExplainer = לשלוח קבצים דרך קישור בטוח, פרטי ומוצפן שפג אוטומטית, כדי לוודא שהתכנים הפרטיים שלך לא יהיו ברשת לנצח.
uploadPageLearnMore = מידע נוסף
uploadPageDropMessage = יש לגרור קבצים לכאן כדי להתחיל בהעלאה
uploadPageSizeMessage = להשגת ביצועים מיטביים, מוטב לשמור על הקובץ מתחת לגודל של 1 ג״ב
uploadPageBrowseButton1 = נא לבחור קובץ להעלאה
uploadPageMultipleFilesAlert = העלאה של מספר קבצים או ספריה אינה נתמכת כרגע.
uploadPageBrowseButtonTitle = העלאת קובץ
uploadingPageProgress = { $filename } ({ $size }) בהעלאה
importingFile = מתבצע ייבוא...
verifyingFile = מתבצע אימות…
encryptingFile = מתבצעת הצפנה...
decryptingFile = מתבצע פענוח...
notifyUploadDone = ההעלאה שלך הסתיימה
uploadingPageMessage = אחרי שהקובץ שלך יעלה, ניתן יהיה להגדיר אפשרויות תפוגה.
uploadCancelNotification = ההעלאה שלך בוטלה.
uploadingPageLargeFileMessage = קובץ זה גדול ועלול לקחת זמן להעלות אותו. סבלנות!
uploadingFileNotification = נא להודיע לי כשתסתיים ההעלאה.
uploadSuccessConfirmHeader = מוכן לשליחה
uploadSvgAlt = העלאה
uploadSuccessTimingHeader = הקישור לקובץ שלך יפוג אחרי הורדה אחת או בעוד 24 שעות.
copyUrlFormLabelWithName = ניתן להעתיק ולשתף את הקישור כדי לשלוח את הקובץ שלך: { $filename }
downloadCount =
{ $num ->
[one] הורדה אחת
*[other] { $num } הורדות
}
timespanHours =
{ $num ->
[one] שעה אחת
[two] שעתיים
*[other] { $num } שעות
}
copiedUrl = הועתק!
deleteFileButton = מחיקת קובץ
sendAnotherFileLink = שליחת קובץ נוסף
# Alternative text used on the download link/button (indicates an action).
downloadAltText = הורדה
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = ההורדה נכשלה
downloadFileSize = ({ $size })
# Text and title used on the download link/button (indicates an action).
unlockInputPlaceholder = ססמה
unlockButtonLabel = שחרור נעילה
downloadButtonLabel = הורדה
downloadNotification = ההורדה הושלמה.
downloadFinish = ההורדה הושלמה
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } מתוך { $totalSize })
downloadingPageProgress = בהורדה: { $filename } ({ $size })
errorAltText = תקלה בהעלאה
sendYourFilesLink = נסו את Firefox Send
errorPageHeader = משהו השתבש!
errorPageLink = שליחת קובץ נוסף
fileTooBig = הקובץ הזה גדול מידי להעלאה. עליו להיות קטן מ־{ $size }.
linkExpiredAlt = הקישור פג
notSupportedHeader = הדפדפן שלך לא נתמך.
notSupportedLink = למה אין תמיכה בדפדפן שלי?
downloadFirefoxButtonSub = הורדה בחינם
uploadedFile = קובץ
copyFileList = העתקת כתובת
# expiryFileList is used as a column header
expiryFileList = יפוג בעוד
deleteFileList = מחיקה
nevermindButton = לא משנה
legalHeader = תנאי שירות ופרטיות
deletePopupText = למחוק דף זה?
deletePopupYes = כן
notSupportedOutdatedDetail = לצערנו גרסת Firefox זו לא תומכת בטכנולוגית הרשת שמפעילה את Firefox Send. יש לעדכן את הגרסה של הדפדפן שלך.
updateFirefox = עדכון Firefox
deletePopupCancel = ביטול
deleteButtonHover = מחיקה
copyUrlHover = העתקת קישור
footerLinkLegal = מידע משפטי
footerLinkPrivacy = פרטיות
footerLinkTerms = תנאי שימוש
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] דקה אחת
*[other] { $num } דקות
}
timespanDays =
{ $num ->
[one] יום אחד
[two] יומיים
*[other] { $num } ימים
}
timespanWeeks =
{ $num ->
[one] שבוע אחד
[two] שבועיים
*[other] { $num } שבועות
}
fileCount =
{ $num ->
[one] קובץ אחד
*[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] ניתן להעלות רק קובץ אחד בכל פעם.
*[other] ניתן להעלות רק { $count } קבצים בכל פעם.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] רק ארכיון אחד מורשה.
*[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] שמירה על קישורים פעילים עד ליום אחד
*[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 = מידע נוסף.

View File

@@ -84,7 +84,17 @@ fileCount =
[few] { $num } datoteke
*[other] { $num } datoteka
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Ukupna veličina: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopirajte poveznicu da biste podijelili svoju datoteku:
@@ -118,15 +128,15 @@ uploadButton = Prijenos
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Povucite i ispustite datoteke
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $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
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $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 }
signInButton = Prijavite se
signInOnlyButton = Prijavi se
accountBenefitTitle = Stvorite { -firefox } račun ili se prijavite
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $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
accountBenefitTimeLimit =
@@ -144,3 +154,11 @@ noStreamsWarning = Ovaj preglednik možda neće moći dekriptirati datoteku ove
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 }.
# the next line after the colon contains a file name
shareLinkDescription = Dijelite poveznicu na svoju 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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webeksperiment
siteFeedback = Komentar
uploadPageHeader = Priwatne, zaklučowane dźělenje datajow
uploadPageExplainer = Pósćelće dataje přez wěsty, priwatny a zaklučowany wotkaz, kotryž awtomatisce spadnje, zo njebychu waše daty na přeco online wostali.
uploadPageLearnMore = Dalše informacije
uploadPageDropMessage = Ćehńće swoju dataju sem, zo byšće ju nahrał
uploadPageSizeMessage = Wužiwajće najlěpje dataje, kotrež su mjeńše hač 1 GB za lěpšu spušćomnosć.
uploadPageBrowseButton = Wubjerće dataju na swojim ličaku
uploadPageBrowseButton1 = Wubjerće dataju za nahraće
uploadPageMultipleFilesAlert = Nahrawanje wjacorych datajow abo rjadowaka so tuchwilu njepodpěruje.
uploadPageBrowseButtonTitle = Dataju nahrać
uploadingPageProgress = { $filename } ({ $size }) so nahrawa
importingFile = Importuje so...
verifyingFile = Přepruwuje so...
encryptingFile = Zaklučuje so...
decryptingFile = Dešifruje so...
notifyUploadDone = Waše nahraće je dokónčene.
uploadingPageMessage = Hdyž so waša dataja nahrawa, móžeće nastajenja spadnjenja postajić.
uploadingPageCancel = Nahraće přetorhnyć
uploadCancelNotification = Waše nahraće je so přetorhnyło.
uploadingPageLargeFileMessage = Tuta dataja je wulka a nahrawanje móhło chwilku trać. Budźće sćerpliwy!
uploadingFileNotification = Zdźělić, hdyž nahraće je dokónčene.
uploadSuccessConfirmHeader = Hotowy za słanje
uploadSvgAlt = Nahrać
uploadSuccessTimingHeader = Wotkaz k wašej dataji po 1 sćehnjenju abo 24 hodźinach spadnje.
expireInfo = Wotkaz k wašej dataji po { $downloadCount } abo { $timespan } spadnje.
downloadCount =
{ $num ->
[one] 1 sćehnjenje
@@ -40,76 +18,26 @@ timespanHours =
[few] { $num } hodźiny
*[other] { $num } hodźin
}
copyUrlFormLabelWithName = Kopěrujće a dźělće wotkaz, zo byšće swoju dataju pósłał: { $filename }
copyUrlFormButton = Do mjezyskłada kopěrować
copiedUrl = Kopěrowany!
deleteFileButton = Dataju zhašeć
sendAnotherFileLink = Druhu dataju pósłać
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Sćahnyć
downloadsFileList = Sćehnjenja
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Čas
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } sćahnyć
downloadFileSize = ({ $size })
unlockInputLabel = Hesło zapodać
unlockInputPlaceholder = Hesło
unlockButtonLabel = Wotewrěć
downloadFileTitle = Zaklučowanu dataju sćahnyć
# Firefox Send is a brand name and should not be localized.
downloadMessage = Waš přećel wam dataju z Firefox Send sćele, słužba, kotraž wam zmóžnja, dataje přez wěsty, priwatny a zaklučowany wotkaz dźělić, kotryž awtomatisce spadnje, zo njebychu waše daty na přeco online wostawali.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Sćahnyć
downloadNotification = Waše sćehnjenje je dokónčene.
downloadFinish = Sćehnjenje dokónčene
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } z { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send wupruwować
downloadingPageProgress = { $filename } ({ $size }) so sćahuje
downloadingPageMessage = Prošu wostajće tutón rajtark wočinjeny, mjeztym zo wašu dataju sćahujemy a dešifrujemy.
errorAltText = Nahrawanski zmylk
errorPageHeader = Něšto je so nimokuliło!
errorPageMessage = Při nahrawanju dataje je zmylk wustupił.
errorPageLink = Druhu dataju pósłać
fileTooBig = Tuta dataja je přewulka za nahraće. Měła mjeńša hač { $size } być.
linkExpiredAlt = Wotkaz je spadnjeny
expiredPageHeader = Tutón wotkaz je spadnjeny abo njeje ženje eksistował!
notSupportedHeader = Waš wobhladowak so njepodpěruje.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Bohužel tutón wobhladowak webtechnologiju njepodpěruje, na kotrejž Firefox Send bazuje. Dyrbiće druhi wobhladowak wužiwać. My Firefox doporučemy!
notSupportedLink = Čehodla so mój wobhladowak njepodpěruje?
notSupportedOutdatedDetail = Bohužel tuta wersija Firefox webtechnologiju njepodpěruje, na kotrejž Firefox Send bazuje. Dyrbiće swój wobhladowak aktualizować.
updateFirefox = Firefox aktualizować
downloadFirefoxButtonSub = Darmotne sćehnjenje
uploadedFile = Dataja
copyFileList = URL kopěrować
# expiryFileList is used as a column header
expiryFileList = Spadnje za
deleteFileList = Zhašeć
nevermindButton = Wšojedne
legalHeader = Wuměnjenja a priwatnosć
legalNoticeTestPilot = Firefox je tuchwilu eksperiment Test Pilot, a podleži <a>wužiwanskim wuměnjenjam</a> a <a>pokazce priwatnosće</a> Test Pilot. Wjace wo tutym eksperimenće a daty, kotrež hromadźi, <a>tu</a> zhoniće.
legalNoticeMozilla = Tež wužiwanje websydła Firefox Send <a>pokazce priwatnosće za websydła</a> a <a>wužiwanskim wuměnjenjam za websydła</a> Mozilla podleži.
deletePopupText = Tutu dataju zhašeć?
deletePopupYes = Haj
deletePopupCancel = Přetorhnyć
deleteButtonHover = Zhašeć
copyUrlHover = URL kopěrować
footerLinkLegal = Prawniske
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Wo Test Pilot
footerLinkPrivacy = Priwatnosć
footerLinkTerms = Wuměnjenja
footerLinkCookies = Placki
requirePasswordCheckbox = Žadajće sej hesło za sćehnjenje tuteje dataje
addPasswordButton = Hesło přidać
changePasswordButton = Změnić
passwordTryAgain = Wopačne hesło. Prošu spytajće hišće raz.
reportIPInfringement = Zranjenje IP zdźělić
javascriptRequired = Firefox Send JavaScript trjeba
whyJavascript = Čehodla Firefox Send JavaScript trjeba?
enableJavascript = Prošu zmóžńće JavaScript a spytajće hišće raz.
@@ -117,14 +45,12 @@ enableJavascript = Prošu zmóžńće JavaScript a spytajće hišće raz.
expiresHoursMinutes = { $hours } hodź. { $minutes } mjeń.
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } mjeń.
# A short status message shown when a password is successfully set
passwordIsSet = Hesło je so nastajiło
# A short status message shown when the user enters a long password
maxPasswordLength = Maksimalna dołhosć hesła: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Tute hesło njeda so nastajić
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -164,7 +90,17 @@ fileCount =
[few] { $num } dataje
*[other] { $num } datajow
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Cyłkowna wulkosć: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopěrujće wotkaz, zo byšće swoju dataju dźělił:
@@ -200,15 +136,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = abo klikńće, zo byšće do { $size } pósłał
addPassword = Z hesłom škitać
emailPlaceholder = Zapodajće swoju e-mejlowu adresu
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Přizjewće so, zo byšće do { $size } pósłał
signInButton = Přizjewić/Registrować
signInOnlyButton = Přizjewić
accountBenefitTitle = Załožće konto { -firefox } abo přizjewće so
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Dataje do { $size } dźělić
accountBenefitDownloadCount = Dataje z wjace ludźimi dźělić
accountBenefitTimeLimit =
@@ -227,3 +163,11 @@ noStreamsWarning = Tutón wobhladowak njemóhł tajku wulku dataju dešifrować.
noStreamsOptionCopy = Kopěrujće wotkaz, zo byšće jón w druhim wobhladowaku wočinił
noStreamsOptionFirefox = Wupruwujće naš najlubši wobhladowak
noStreamsOptionDownload = Z tutym wobhladowakom pokročować
downloadFirefoxPromo = { -send-short-brand } so wam přez cyle nowy { -firefox } přinjese.
# the next line after the colon contains a file name
shareLinkDescription = Dźělće wotkaz k swojej dataji:
shareLinkButton = Wotkaz dźělić
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webes kísérlet
siteFeedback = Visszajelzés
uploadPageHeader = Privát, titkosított fájlmegosztás
uploadPageExplainer = Küldjön át fájlokat biztonságos, privát és titkosított hivatkozáson keresztül, amely automatikusan elévül, hogy ne maradjanak a dolgai örökké online.
uploadPageLearnMore = Tudjon meg többet
uploadPageDropMessage = Dobja ide a fájljait, és kezdjen feltölteni
uploadPageSizeMessage = A megbízható működés érdekében a legjobb, ha a fájlok 1 GB-nál kisebbek maradnak
uploadPageBrowseButton = Válasszon egy fájlt a számítógépén
uploadPageBrowseButton1 = Válassza ki a feltöltendő fájlt
uploadPageMultipleFilesAlert = Több fájl vagy mappa feltöltése pillanatnyilag nem támogatott.
uploadPageBrowseButtonTitle = Fájl feltöltése
uploadingPageProgress = { $filename } ({ $size }) feltöltése
importingFile = Importálás…
verifyingFile = Ellenőrzés…
encryptingFile = Titkosítás…
decryptingFile = Visszafejtés…
notifyUploadDone = A feltöltése befejeződött.
uploadingPageMessage = Ha a fájl feltöltésre került, akkor megadhatja a lejárati beállításokat.
uploadingPageCancel = Feltöltés megszakítása
uploadCancelNotification = A feltöltés megszakításra került.
uploadingPageLargeFileMessage = Ez a fájl nagy, és a feltöltése eltarthat egy ideig. Türelmét kérjük!
uploadingFileNotification = Értesítsen, ha a feltöltés elkészült.
uploadSuccessConfirmHeader = Küldésre kész
uploadSvgAlt = Feltöltés
uploadSuccessTimingHeader = A fájl hivatkozása lejár 1 letöltés vagy 24 óra múlva.
expireInfo = A fájlhoz tartozó hivatkozás { $downloadCount } vagy { $timespan } múlva lejár.
downloadCount =
{ $num ->
[one] 1 letöltés
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 óra
*[other] { $num } óra
}
copyUrlFormLabelWithName = Másolja és ossza meg a hivatkozást a fájl küldéséhez: { $filename }
copyUrlFormButton = Vágólapra másolás
copiedUrl = Másolva!
deleteFileButton = Fájl törlése
sendAnotherFileLink = Még egy fájl küldése
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Letöltés
downloadsFileList = Letöltések
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Idő
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } letöltése
downloadFileSize = ({ $size })
unlockInputLabel = Adja meg a jelszót
unlockInputPlaceholder = Jelszó
unlockButtonLabel = Feloldás
downloadFileTitle = Titkosított fájl letöltése
# Firefox Send is a brand name and should not be localized.
downloadMessage = Az ismerőse egy fájlt küld a Firefox Senddel, egy olyan fájlmegosztó szolgáltatással, amely biztonságos, privát és titkosított hivatkozáson keresztül működik, amely automatikusan elévül, így biztosítva hogy a dolga ne maradjon örökre online.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Letöltés
downloadNotification = A letöltés befejeződött.
downloadFinish = A letöltés befejeződött
# 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 = Próbálja ki a Firefox Sendet
downloadingPageProgress = { $filename } letöltése ({ $size })
downloadingPageMessage = Hagyja nyitva ezt a lapot, amíg lekérésre és visszafejtésre kerül a fájlja.
errorAltText = Feltöltési hiba
errorPageHeader = Hiba történt!
errorPageMessage = Hiba történt a fájl feltöltésekor.
errorPageLink = Még egy fájl küldése
fileTooBig = Ez a fájl túl nagy a feltöltéshez. Kevesebb mint { $size } kell legyen.
linkExpiredAlt = A hivatkozás lejárt
expiredPageHeader = Ez a hivatkozás lejárt, vagy sosem létezett!
notSupportedHeader = A böngésző nem támogatott.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Sajnos ez a böngésző nem támogatja a Firefox Send alapját képező webes technológiát. Egy másik böngészőben kell megpróbálnia. Mi a Firefoxot javasoljuk!
notSupportedLink = Miért nem támogatott a böngészőm?
notSupportedOutdatedDetail = Sajnos a Firefox ezen verziója nem támogatja a Firefox Send alapját képező technológiát. Frissítenie kell a böngészőjét.
updateFirefox = Firefox frissítése
downloadFirefoxButtonSub = Ingyenes letöltés
uploadedFile = Fájl
copyFileList = URL másolása
# expiryFileList is used as a column header
expiryFileList = Lejár:
deleteFileList = Törlés
nevermindButton = Mindegy
legalHeader = Feltételek és adatvédelem
legalNoticeTestPilot = A Firefox Send pillanatnyilag egy Tesztpilóta kísérlet, és a <a>Szolgáltatási feltételek</a> valamint az <a>Adatvédelmi nyilatkozat</a> vonatkozik rá. Többet tudhat meg a kísérletről, és az adatgyűjtéséről <a>itt</a>.
legalNoticeMozilla = A Firefox Send weboldal használatakor a Mozilla <a>Webhelyekre vonatkozó adatvédelmi nyilatkozata</a> és a <a>Weboldalak felhasználási feltételei</a> is vonatkoznak Önre.
deletePopupText = Törli ezt a fájlt?
deletePopupYes = Igen
deletePopupCancel = Mégse
deleteButtonHover = Törlés
copyUrlHover = URL másolása
footerLinkLegal = Jogi információk
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = A Tesztpilóta névjegye
footerLinkPrivacy = Adatvédelem
footerLinkTerms = Feltételek
footerLinkCookies = Sütik
requirePasswordCheckbox = Jelszó megkövetelése a fájl letöltéséhez
addPasswordButton = Jelszó hozzáadása
changePasswordButton = Módosítás
passwordTryAgain = Helytelen jelszó. Próbálja meg újra.
reportIPInfringement = Szellemi tulajdon megsértésének bejelentése
javascriptRequired = A Firefox Sendhez JavaScript szükséges
whyJavascript = Miért van szükség JavaScriptre a Firefox Sendhez?
enableJavascript = Kérjük engedélyezze a JavaScriptet, majd próbálkozzon újra.
@@ -113,14 +41,12 @@ enableJavascript = Kérjük engedélyezze a JavaScriptet, majd próbálkozzon ú
expiresHoursMinutes = { $hours }ó { $minutes }p
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }p
# A short status message shown when a password is successfully set
passwordIsSet = Jelszó megadva
# A short status message shown when the user enters a long password
maxPasswordLength = Maximális jelszóhossz: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Ez a jelszó nem állítható be
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,17 @@ fileCount =
[one] 1 fájl
*[other] { $num } fájl
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# 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 = Teljes méret: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Másolja a hivatkozást a fájl megosztásához:
@@ -184,15 +120,15 @@ 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
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = vagy jelentkezzen be, és küldjön legfeljebb { $size }-ot
addPassword = Jelszavas védelem
emailPlaceholder = Adja meg az e-mail címét
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Jelentkezzen be, és küldjön legfeljebb { $size }-ot
signInButton = Bejelentkezés/regisztráció
signInOnlyButton = Bejelentkezés
accountBenefitTitle = Hozzon létre egy { -firefox } fiókot vagy jelentkezzen be
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Osszon meg fájlokat { $size }-ig
accountBenefitDownloadCount = Osszon meg fájlokat több emberrel
accountBenefitTimeLimit =
@@ -209,3 +145,11 @@ noStreamsWarning = Előfordulhat, hogy a böngésző nem fog tudni visszafejteni
noStreamsOptionCopy = Másolja a hivatkozást, és nyissa meg egy másik böngészőben
noStreamsOptionFirefox = Próbálja ki a kedvenc böngészőnket
noStreamsOptionDownload = Folytatás ezzel a böngészővel
downloadFirefoxPromo = A { -send-short-brand }et a vadonatúj { -firefox } hozza el Önnek.
# the next line after the colon contains a file name
shareLinkDescription = Ossza meg a fájlja hivatkozását:
shareLinkButton = Hivatkozás megosztása
# $name is the name of the file
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.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = un experimento web
siteFeedback = Reaction
uploadPageHeader = Compartimento de files private e cryptate
uploadPageExplainer = Invia files per un ligamine secur, private e cryptate que automaticamente expira pro assecurar que tu datos non resta in linea per sempre.
uploadPageLearnMore = Saper plus
uploadPageDropMessage = Depone ci tu file pro comenciar a lo cargar
uploadPageSizeMessage = Pro evitar problemas, mantene tu file sub 1GB
uploadPageBrowseButton = Elige un file sur tu computator
uploadPageBrowseButton1 = Elige un file a cargar
uploadPageMultipleFilesAlert = Le cargamento de plure files o de un dossier non es actualmente admittite.
uploadPageBrowseButtonTitle = Cargar le file
uploadingPageProgress = Cargamento de { $filename } ({ $size })
importingFile = Importation…
verifyingFile = Verifica…
encryptingFile = Cryptation...
decryptingFile = Decryptation…
notifyUploadDone = Cargamento terminate
uploadingPageMessage = Post cargate tu file, tu potera definir le optiones de expiration.
uploadingPageCancel = Cancellar le cargamento
uploadCancelNotification = Cargamento cancellate.
uploadingPageLargeFileMessage = Iste file es grande e pote prender multe tempore pro le cargamento. Patientia!
uploadingFileNotification = Notificar me quando le cargamento es complete.
uploadSuccessConfirmHeader = Preste a inviar
uploadSvgAlt = Cargamento
uploadSuccessTimingHeader = Le ligamine a tu file expirara post un discargamento o in 24 horas.
expireInfo = Le ligamine a tu file expirara post { $downloadCount } o { $timespan }
downloadCount =
{ $num ->
[one] discargamento
@@ -36,76 +14,26 @@ timespanHours =
[one] hora
*[other] horas
}
copyUrlFormLabelWithName = Copia e comparti le ligamine pro inviar tu file: { $filename }
copyUrlFormButton = Copiar al area de transferentia
copiedUrl = Copiate!
deleteFileButton = Deler le file
sendAnotherFileLink = Inviar un altere file
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Discargar
downloadsFileList = Discargamentos
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Tempore
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Discargar { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Insere le contrasigno
unlockInputPlaceholder = Contrasigno
unlockButtonLabel = Disblocar
downloadFileTitle = Discargar le file cryptate
# Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amico te invia un file per Firefox Send, un servicio que te permitte de compartir files per un ligamine secur, private e cryptate, que expira automaticamente pro te assecurar que tu datos non resta online per sempre.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Discargar
downloadNotification = Discargamento completate.
downloadFinish = Discargamento completate
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Proba Firefox Send
downloadingPageProgress = Discargamento de { $filename } ({ $size })
downloadingPageMessage = Per favor lassa iste scheda aperte durante que nos prende tu file e lo decifra.
errorAltText = Error de cargamento.
errorPageHeader = Un error occurreva!
errorPageMessage = Un error occurreva durante le cargamento del file.
errorPageLink = Inviar un altere file
fileTooBig = Iste file es troppo grande pro lo cargar. Illo debe ser inferior a { $size }.
linkExpiredAlt = Ligamine expirate
expiredPageHeader = Iste ligamine expirava o illo non existeva jammais!
notSupportedHeader = Tu navigator non es supportate
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Infelicemente iste navigator non supporta le nove technologias web que move Firefox Send. Tu besonia de probar un altere navigator. Nos recommenda Firefox!
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.
updateFirefox = Actualisar Firefox
downloadFirefoxButtonSub = Discargamento gratuite
uploadedFile = File
copyFileList = Copiar le URL
# expiryFileList is used as a column header
expiryFileList = Expira in
deleteFileList = Deler
nevermindButton = No, gratias
legalHeader = Terminos & confidentialitate
legalNoticeTestPilot = Firefox Send es actualmente un experimento pilota, e subjecte a <a>Terminos de servicio</a> e <a>Notification de confidentialitate</a> de Experimento pilota. Tu pote saper plus re iste experimento e su recolta de datos <a>hic</a>.
legalNoticeMozilla = Le uso del sito web de Firefox Send es anque subjecte a <a>Notitia de confidentialitate de sito web</a> e <a>Terminos de servicio sito web</a>.
deletePopupText = Deler iste file?
deletePopupYes = Si
deletePopupCancel = Cancellar
deleteButtonHover = Deler
copyUrlHover = Copiar le URL
footerLinkLegal = Legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Re Test Pilot
footerLinkPrivacy = Confidentialitate
footerLinkTerms = Terminos
footerLinkCookies = Cookies
requirePasswordCheckbox = Requirer un contrasigno pro discargar iste file
addPasswordButton = Adder contrasigno
changePasswordButton = Cambiar
passwordTryAgain = Contrasigno incorrecte. Retenta.
reportIPInfringement = Reportar un violation de proprietate intellectual
javascriptRequired = Firefox Send require JavaScript
whyJavascript = Proque Firefox Send require JavaScript?
enableJavascript = Por favor activa JavaScript e tenta novemente.
@@ -113,9 +41,115 @@ enableJavascript = Por favor activa JavaScript e tenta novemente.
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 a password is successfully set
passwordIsSet = Configuration del contrasigno
# 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
## 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 = 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.
# 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 =
{ $num ->
[one] 1 minuta
*[other] { $num } minutas
}
timespanDays =
{ $num ->
[one] 1 die
*[other] { $num } dies
}
timespanWeeks =
{ $num ->
[one] 1 septimana
*[other] { $num } septimanas
}
fileCount =
{ $num ->
[one] 1 file
*[other] { $num } files
}
# 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 = Dimension total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copia le ligamine pro compartir le file:
copyLinkButton = Copiar ligamine
downloadTitle = Discargar files
downloadDescription = Iste file era compartite via { -send-brand } con cryptographia bilateral e un ligamine que expira automaticamente.
trySendDescription = Prova { -send-brand } pro le compartimento de file simple e secur.
# 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.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Solo 1 archivo es consentite.
*[other] Solo { $count } archivos es consentite.
}
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 }
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
# 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'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
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
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 }
accountBenefitDownloadCount = Comparti files con plus de personas
accountBenefitTimeLimit =
{ $count ->
[one] Retene active le ligamine pro 1 die
*[other] Retene active le ligamine pro { $count } dies
}
accountBenefitSync = Gere files compartite ab ulle apparato
accountBenefitMoz = Discoperi altere servicios de { -mozilla }
signOut = Disconnecter
okButton = OK
downloadingTitle = Discargamento
noStreamsWarning = Iste navigator pote non pote decifrar un file assi grande.
noStreamsOptionCopy = Copiar le ligamine e aperir lo in un altere navigator
noStreamsOptionFirefox = Prova nostre navigator favorite
noStreamsOptionDownload = Continuar con iste navigator
downloadFirefoxPromo = { -send-short-brand } es portate a te per le novissime { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Condivide le ligamine a tu file:
shareLinkButton = Condivide ligamine
# $name is the name of the file
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.

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