Compare commits

...

266 Commits

Author SHA1 Message Date
Danny Coates
7a9a75794e v3.0.22 2020-04-29 21:40:53 -07:00
Danny Coates
89469e3c9c updated node to 12 2020-04-29 17:38:55 -07:00
Danny Coates
01110b4ec1 Merge pull request #1467 from flodolo/locales_20200423
Add new locales to prod (azz, fa, hus, hy-AM)
2020-04-29 16:53:52 -07:00
Milo
b54cd58602 Pontoon: Update Croatian (hr) localization of Firefox Send
Co-authored-by: Milo <mail@milotype.de>
2020-04-26 11:22:26 +00:00
Quentí
6cc00be4b5 Pontoon: Update Occitan (oc) localization of Firefox Send
Co-authored-by: Quentí <quentinantonin@free.fr>
2020-04-25 09:53:06 +00:00
ali.malek.71
b40594f0ee Pontoon: Update Persian (fa) localization of Firefox Send
Co-authored-by: ali.malek.71 <ali.malek.71@gmail.com>
Co-authored-by: abtin <abtin@riseup.net>
2020-04-23 17:12:52 +00:00
Francesco Lodolo [:flod]
01f4ceca23 Add new locales to prod (azz, fa, hus, hy-AM) 2020-04-23 07:33:37 +02:00
Fjoerfoks
471c9e8559 Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Co-authored-by: Fjoerfoks <fryskefirefox@gmail.com>
2020-04-21 12:23:03 +00:00
Manuela Silva
f45960263f Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Co-authored-by: Manuela Silva <manuelarodsilva@gmail.com>
2020-04-05 21:14:41 +00:00
Danny Coates
0ee9cc69a8 Merge pull request #1455 from mozilla/update-promo-to-vpn
update promo to be for the vpn
2020-03-31 13:12:14 -07:00
johngruen
2a3db78f97 update promo to be for the vpn 2020-03-31 22:03:08 +02:00
Muhend Belkacem
e5f9265979 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2020-03-29 09:53:25 +00:00
bulut
00416b5063 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- bulut <bulut@tokmak.org>
2020-03-27 21:43:57 +00:00
Enol
deec85be14 Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2020-03-21 14:23:33 +00:00
abtin
6342203256 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- ali.malek.71 <ali.malek.71@gmail.com>
- abtin <abtin@riseup.net>
2020-03-15 20:23:35 +00:00
abtin
949fbb68c3 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- abtin <abtin@riseup.net>
2020-03-15 20:12:56 +00:00
abtin
222c21ddf9 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- abtin <abtin@riseup.net>
2020-03-15 19:33:08 +00:00
abtin
ae20e55c50 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- abtin <abtin@riseup.net>
2020-03-15 19:23:23 +00:00
Milo
765da48b0c Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 16:13:48 +00:00
Milo
3769a17300 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 16:04:11 +00:00
Milo
cad853b196 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 15:52:28 +00:00
Milo
804128b7c8 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 15:41:31 +00:00
Milo
e136b9dc63 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 15:22:01 +00:00
Milo
b4ffb8cf01 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 15:04:40 +00:00
Milo
e24c1103b3 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-03-07 14:52:59 +00:00
Bald3mar
07202e684a Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2020-03-06 22:04:23 +00:00
manuel padilla sanchez
ca774258d6 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-03-03 18:33:07 +00:00
manuel padilla sanchez
93d48c5787 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-03-03 18:23:04 +00:00
passionforlife
aa65f20afa Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2020-02-29 00:52:29 +00:00
Milo
f3caa9841c Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
- Mikeyy <mihovil@miho.im>
2020-02-28 18:41:32 +00:00
Mozilla Pontoon
4c6663948b Pontoon: Update Croatian (hr) localization of Firefox Send 2020-02-26 21:33:38 +00:00
manuel padilla sanchez
c5a4f920c4 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 16:13:10 +00:00
manuel padilla sanchez
c6cbb727da Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 16:03:40 +00:00
manuel padilla sanchez
830337b403 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 15:52:34 +00:00
manuel padilla sanchez
c11f8a059e Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 15:43:28 +00:00
manuel padilla sanchez
6fd1ed18a1 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 15:32:04 +00:00
manuel padilla sanchez
0338382fdf Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 15:22:42 +00:00
manuel padilla sanchez
aac2b8e6f4 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 09:22:11 +00:00
manuel padilla sanchez
40a111a2e9 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 09:12:13 +00:00
manuel padilla sanchez
cbb0b86712 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 09:04:37 +00:00
manuel padilla sanchez
51465a2797 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-22 08:52:05 +00:00
xcffl
fa99c75313 Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- xcffl <xcffl@outlook.com>
2020-02-22 08:23:32 +00:00
manuel padilla sanchez
0b4bd40b32 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 20:06:38 +00:00
manuel padilla sanchez
c5b2dc826b Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 19:53:35 +00:00
manuel padilla sanchez
1f7a58ea41 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 19:43:05 +00:00
manuel padilla sanchez
ca6e2963e3 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 19:33:26 +00:00
manuel padilla sanchez
9f019f100d Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 19:14:53 +00:00
manuel padilla sanchez
5e91a72cd9 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 19:05:52 +00:00
manuel padilla sanchez
01d7383ae0 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 18:53:33 +00:00
manuel padilla sanchez
74234fa03c Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-18 18:43:16 +00:00
manuel padilla sanchez
49b24294b1 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-17 19:22:28 +00:00
manuel padilla sanchez
5feb07a251 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-17 19:12:50 +00:00
manuel padilla sanchez
28b69c4f14 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-17 19:04:24 +00:00
manuel padilla sanchez
19e5fd269e Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-17 18:51:47 +00:00
manuel padilla sanchez
52d708bf3f Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 14:04:34 +00:00
manuel padilla sanchez
bb66a1bfa5 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 13:33:18 +00:00
manuel padilla sanchez
d31b1ebfcd Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 13:23:20 +00:00
manuel padilla sanchez
4385d29aa0 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 13:13:44 +00:00
manuel padilla sanchez
111e1d5ed3 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 13:05:13 +00:00
manuel padilla sanchez
27d48f2ec3 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 11:41:09 +00:00
manuel padilla sanchez
1a6ddf7e75 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 11:33:05 +00:00
manuel padilla sanchez
cd8d01db29 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 11:12:26 +00:00
manuel padilla sanchez
dc8f56bc57 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 11:05:09 +00:00
manuel padilla sanchez
efb04397f7 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 10:52:59 +00:00
manuel padilla sanchez
19b34e8d39 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 10:41:38 +00:00
manuel padilla sanchez
b7c7e0ef27 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 10:33:50 +00:00
manuel padilla sanchez
b02c5ed4a9 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 10:13:55 +00:00
manuel padilla sanchez
59fb485ba6 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 10:05:08 +00:00
manuel padilla sanchez
71b22458ba Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 09:52:38 +00:00
manuel padilla sanchez
ecb9391439 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 09:32:57 +00:00
manuel padilla sanchez
aaf341bd81 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 09:23:44 +00:00
manuel padilla sanchez
35ef24a40f Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-16 07:51:53 +00:00
manuel padilla sanchez
3973f0552c Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-15 14:14:07 +00:00
manuel padilla sanchez
767cc166b1 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Localization authors:
- manuel padilla sanchez <manuel.padilla@servicios.ccoo.es>
2020-02-15 14:04:04 +00:00
Hrant
f24ad20ffe Pontoon: Update Armenian (hy-AM) localization of Firefox Send
Localization authors:
- Hrant <hrant.mozilla@gmail.com>
2020-02-14 18:04:13 +00:00
Hrant
a1f915806a Pontoon: Update Armenian (hy-AM) localization of Firefox Send
Localization authors:
- Hrant <hrant.mozilla@gmail.com>
2020-02-14 17:51:53 +00:00
Hrant
669212a9b7 Pontoon: Update Armenian (hy-AM) localization of Firefox Send
Localization authors:
- Hrant <hrant.mozilla@gmail.com>
2020-02-14 17:42:24 +00:00
Kim YoungCheon
59f6e51636 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Kim YoungCheon <circcc@gmail.com>
2020-01-31 23:34:09 +00:00
Kim YoungCheon
2515ba274d Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Kim YoungCheon <circcc@gmail.com>
2020-01-31 23:22:01 +00:00
Kim YoungCheon
6c2fbfe6ff Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Kim YoungCheon <circcc@gmail.com>
2020-01-31 23:13:59 +00:00
Kim YoungCheon
26fdb271dd Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Kim YoungCheon <circcc@gmail.com>
2020-01-31 23:05:53 +00:00
Mikeyy
4504c5cd74 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
- Mikeyy <mihovil@miho.im>
2020-01-29 14:29:19 +00:00
Milo
2746556dfa Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Milo <mail@milotype.de>
2020-01-29 14:12:58 +00:00
Quentí
e57fc1c2d8 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2020-01-17 12:12:36 +00:00
Danny Coates
097d3c8377 make geoip lookup optional 2020-01-11 14:06:17 -08:00
Luis Flores Martínez
43c728d5d4 Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2020-01-07 17:12:42 +00:00
Luis Flores Martínez
3dffb8da15 Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2020-01-07 16:52:21 +00:00
Luis Flores Martínez
c49dbd6d6d Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2020-01-07 16:32:17 +00:00
Luis Flores Martínez
356112e8cc Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2020-01-07 16:13:19 +00:00
Luis Flores Martínez
ad0d862d92 Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2020-01-07 03:33:08 +00:00
Luis Flores Martínez
2ca007af1a Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2020-01-07 03:12:30 +00:00
Misael Hernández
0a42c887d2 Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- Misael Hernández <yumatajnga@gmail.com>
2020-01-06 03:32:50 +00:00
Joseph.maza
f54a95c965 Pontoon: Update Tagalog (tl) localization of Firefox Send
Localization authors:
- Joseph.maza <Joseph.maza@Gmail.com>
2020-01-06 02:12:15 +00:00
Danny Coates
eec8da890a Merge pull request #1431 from flodolo/locales_20200102
Add new locales (an, gn, mix)
2020-01-02 17:30:24 -08:00
Francesco Lodolo [:flod]
32a58d85a3 Add new locales (an, gn, mix) 2020-01-02 08:29:52 +01:00
Björn I
1252aaed30 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-12-27 17:33:13 +00:00
Jirka Soukeník
060ff1cae4 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Jirka Soukeník <soucet@centrum.cz>
- Michal Stanke <mstanke@mozilla.cz>
2019-12-25 08:51:41 +00:00
Juan Pablo
1c2955ed9e Pontoon: Update Aragonese (an) localization of Firefox Send
Localization authors:
- Juan Pablo <juanpabl@gmail.com>
2019-12-18 00:37:51 +00:00
Juan Pablo
5e5bce8745 Pontoon: Update Aragonese (an) localization of Firefox Send
Localization authors:
- Juan Pablo <juanpabl@gmail.com>
2019-12-18 00:12:36 +00:00
Juan Pablo
e43ba60792 Pontoon: Update Aragonese (an) localization of Firefox Send
Localization authors:
- Juan Pablo <juanpabl@gmail.com>
2019-12-17 23:51:47 +00:00
Juan Pablo
e94fe58965 Pontoon: Update Aragonese (an) localization of Firefox Send
Localization authors:
- Juan Pablo <juanpabl@gmail.com>
2019-12-17 23:32:52 +00:00
Frederick Villaluna
a21412844a Pontoon: Update Tagalog (tl) localization of Firefox Send
Localization authors:
- Frederick Villaluna <fv_comscie@yahoo.com>
2019-12-16 07:13:30 +00:00
Luis Flores Martínez
666ca8e87b Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2019-12-13 17:13:50 +00:00
Luis Flores Martínez
71ceffd9b4 Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Luis Flores Martínez <lufom90@gmail.com>
2019-12-13 16:52:01 +00:00
Bald3mar
cdbd669af2 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-12-12 22:33:46 +00:00
Bald3mar
027043edb7 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-12-12 22:14:07 +00:00
Bald3mar
e4a1f8e86b Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-12-12 21:51:52 +00:00
Hmxhmx
dfd5eb9b1e Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Hmxhmx <hmxhmx.at.wiki@gmail.com>
2019-12-11 08:33:24 +00:00
Bald3mar
e3ee840b64 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-12-10 23:53:16 +00:00
Danny Coates
b8bd13c704 Merge pull request #1424 from checkr/cjford/optional-git-build-dependency
Allow successful npm build without .git
2019-12-10 09:38:24 -08:00
صفا الفليج
6238299a0a Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-12-09 20:32:11 +00:00
Connor Ford
d40ddc3d3b Fix npm build with missing .git 2019-12-09 10:51:51 -07:00
Sav22999
d2746db969 Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Sav22999 <saverio.morelli@outlook.it>
2019-12-08 14:53:17 +00:00
Martijn Dekker
95057ef503 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-12-06 05:54:39 +00:00
Martijn Dekker
aec2ec30d5 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-12-06 00:32:14 +00:00
Martijn Dekker
4d36b3d6e9 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-12-03 23:35:21 +00:00
Julio Gomez
6b89197cfd Pontoon: Update Yucatec Maya (yua) localization of Firefox Send
Localization authors:
- Julio Gomez <jegs87@gmail.com>
2019-12-03 16:52:39 +00:00
Julio Gomez
dd2ebdd2de Pontoon: Update Huastec (hus) localization of Firefox Send
Localization authors:
- Julio Gomez <jegs87@gmail.com>
2019-12-03 16:52:37 +00:00
Bald3mar
c479d326ed Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-11-29 21:31:58 +00:00
Bald3mar
8434d91891 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-11-29 20:33:50 +00:00
Martijn Dekker
f9c761ea99 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-11-25 03:54:20 +00:00
Martijn Dekker
b14f5f16d0 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-11-24 22:54:28 +00:00
Selyan Slimane Amiri
4fbc8e0c89 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Selyan Slimane Amiri <selyan.kab@gmail.com>
2019-11-22 21:32:21 +00:00
Bald3mar
ad2a1715b5 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-11-18 23:51:36 +00:00
Bald3mar
ac8f826612 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-11-18 23:31:36 +00:00
Martijn Dekker
c1aaa9d6e5 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-11-14 15:34:18 +00:00
Enol
eac95ffff7 Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-11-13 23:13:07 +00:00
Enol
8121761cc8 Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-11-13 22:52:12 +00:00
Danny Coates
7c720cd7cc Merge pull request #1418 from janschloss/routes-link
Fixes link to routes file
2019-11-13 09:25:55 -08:00
Abelardo Ayala Rodríguez
4c2f809502 Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-13 11:36:00 +00:00
Abelardo Ayala Rodríguez
d42523651c Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-13 10:51:36 +00:00
Martijn Dekker
b9775e0471 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-11-13 09:13:05 +00:00
jnunezf96
d2f37204e0 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-11-12 19:33:02 +00:00
jnunezf96
846dad6662 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-11-12 19:12:47 +00:00
jnunezf96
c966010ed3 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-11-12 18:13:42 +00:00
Jan Schloß
e77fea09bc Fixes link to routes file 2019-11-12 19:09:07 +01:00
jnunezf96
b63291c7d3 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-11-12 17:53:52 +00:00
Danny Coates
2ccc044a27 v3.0.21 2019-11-11 08:48:26 -08:00
Danny Coates
4144850f9d updated deps 2019-11-11 08:44:25 -08:00
Danny Coates
18630aadf9 Merge pull request #1417 from flodolo/prodlocales_20191111
Add new complete locales to production
2019-11-11 08:34:48 -08:00
Francesco Lodolo [:flod]
605fff519e Add new complete locales to production 2019-11-11 09:40:52 +01:00
Frederick Villaluna
0b7ff9551d Pontoon: Update Tagalog (tl) localization of Firefox Send
Localization authors:
- Frederick Villaluna <fv_comscie@yahoo.com>
- Ricky Villar <rvillar313@gmail.com>
2019-11-09 07:12:36 +00:00
Abelardo Ayala Rodríguez
2c9716e01e Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-08 14:33:28 +00:00
Abelardo Ayala Rodríguez
cdde3fe654 Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-08 14:14:11 +00:00
shamanchic2011
3537667187 Pontoon: Update Belarusian (be) localization of Firefox Send
Localization authors:
- shamanchic2011 <shamanchic2011@ya.ru>
- Mikalai Udodau <crom-a@tut.by>
2019-11-07 17:12:28 +00:00
Zhenya Tikhonov
66086c460d Pontoon: Update Belarusian (be) localization of Firefox Send
Localization authors:
- shamanchic2011 <shamanchic2011@ya.ru>
- Mikalai Udodau <crom-a@tut.by>
- Zhenya Tikhonov <masontikhonov@gmail.com>
2019-11-07 16:51:21 +00:00
Zhenya Tikhonov
a203a8de67 Pontoon: Update Belarusian (be) localization of Firefox Send
Localization authors:
- Mikalai Udodau <crom-a@tut.by>
- Zhenya Tikhonov <masontikhonov@gmail.com>
2019-11-07 16:32:04 +00:00
Francesco Lodolo
2bba9c53ed Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Francesco Lodolo <flod+pontoon@mozilla.com>
2019-11-07 15:12:48 +00:00
Abelardo Ayala Rodríguez
37af4d33fc Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-07 13:31:54 +00:00
Abelardo Ayala Rodríguez
107f40c8c9 Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-07 13:12:10 +00:00
Zhenya Tikhonov
cb325022dc Pontoon: Update Belarusian (be) localization of Firefox Send
Localization authors:
- Mikalai Udodau <crom-a@tut.by>
- Zhenya Tikhonov <masontikhonov@gmail.com>
2019-11-06 19:53:20 +00:00
Danny Coates
b62b439218 fixed circleci oops 2019-11-05 21:06:19 -08:00
Danny Coates
47972fe2a1 fixed mysterious npm build problem by updating npm 🤷‍♂️ 2019-11-05 21:01:29 -08:00
Danny Coates
7ad937266f trimmed circleci config 2019-11-05 20:53:59 -08:00
Danny Coates
2f34dffab4 fixed sw initialization error 2019-11-05 20:37:44 -08:00
Danny Coates
4a956c0247 updated deps 2019-11-05 20:19:07 -08:00
Alexander Parada
23ce7a1f84 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Alexander Parada <alessaux@outlook.es>
2019-11-05 15:33:35 +00:00
Alexander Parada
66a8ad2e4f Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Alexander Parada <alessaux@outlook.es>
2019-11-05 13:57:38 +00:00
Abelardo Ayala Rodríguez
e8e2e31b59 Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-05 13:57:35 +00:00
Abelardo Ayala Rodríguez
7259c46d1c Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-05 13:31:45 +00:00
Abelardo Ayala Rodríguez
9d3c3d1924 Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-11-05 13:14:02 +00:00
jnunezf96
a0d6317747 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
- Garysqo <garyspleen@gmail.com>
2019-11-05 04:12:46 +00:00
Julio Gomez
3810e09509 Pontoon: Update Yucatec Maya (yua) localization of Firefox Send
Localization authors:
- Julio Gomez <jegs87@gmail.com>
2019-11-05 02:31:57 +00:00
José Manuel
bb7678e7e4 Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- José Manuel <triki2014jm@gmail.com>
2019-11-05 01:33:00 +00:00
Alexander Parada
3dcf01dd1f Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Alexander Parada <alessaux@outlook.es>
2019-11-05 01:32:57 +00:00
José Manuel
3b8f19b4c9 Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- José Manuel <triki2014jm@gmail.com>
2019-11-05 00:52:28 +00:00
Alexander Parada
ab957c26a0 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Alexander Parada <alessaux@outlook.es>
2019-11-05 00:52:25 +00:00
Alexander Parada
e835c82c27 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Alexander Parada <alessaux@outlook.es>
2019-11-05 00:31:58 +00:00
Alexander Parada
d69a9e8537 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Garysqo <garyspleen@gmail.com>
- Alexander Parada <alessaux@outlook.es>
2019-11-05 00:11:44 +00:00
Netza López
1b286d664b Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-11-04 18:32:25 +00:00
Netza López
f8c8a6c2cd Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-11-04 18:19:43 +00:00
Netza López
b71234fc83 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-11-04 18:01:40 +00:00
Netza López
2eb35733da Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-11-04 03:32:20 +00:00
Netza López
df276d5942 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-11-04 03:11:15 +00:00
Netza López
e1a6fb9569 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-11-04 02:51:56 +00:00
marsf
99b2d636a1 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- marsf <chimantaea_mirabilis@yahoo.co.jp>
2019-11-03 14:11:21 +00:00
jnunezf96
78be59adac Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-31 20:12:42 +00:00
jnunezf96
720ab6ae3a Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-31 19:52:57 +00:00
elenatambriz
5e0dcc948c Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-31 17:51:49 +00:00
elenatambriz
90400d72b1 Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-31 17:31:40 +00:00
elenatambriz
8f1fd6cbf5 Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-31 17:14:47 +00:00
elenatambriz
fef8788d55 Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-31 16:53:52 +00:00
José Manuel
d2f8156bde Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- José Manuel <triki2014jm@gmail.com>
2019-10-31 15:32:30 +00:00
Garysqo
d4fbd48f1c Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Garysqo <garyspleen@gmail.com>
2019-10-31 14:11:32 +00:00
jnunezf96
a6d3948fbc Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-31 06:31:28 +00:00
jnunezf96
005bbb1792 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-31 06:12:10 +00:00
jnunezf96
186230d211 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-31 05:12:32 +00:00
jnunezf96
ee1e8bc204 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-31 04:12:29 +00:00
jnunezf96
d1366fb764 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-30 23:51:28 +00:00
jnunezf96
d81dba6407 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-30 23:31:57 +00:00
Garysqo
f35ddd8e9a Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Garysqo <garyspleen@gmail.com>
2019-10-30 19:12:24 +00:00
Garysqo
ff798463e8 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
- Garysqo <garyspleen@gmail.com>
2019-10-30 18:52:42 +00:00
Bald3mar
6308c386a3 Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-30 18:11:55 +00:00
jnunezf96
5a6c338ab9 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
- Garysqo <garyspleen@gmail.com>
2019-10-30 16:32:20 +00:00
jnunezf96
bc6401e7dd Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-30 16:11:28 +00:00
jnunezf96
0667f22ddd Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-29 23:12:26 +00:00
jnunezf96
594cd339b5 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- jnunezf96 <jnunezf96@gmail.com>
2019-10-29 22:42:38 +00:00
José Manuel
762497b867 Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- José Manuel <triki2014jm@gmail.com>
2019-10-29 22:13:19 +00:00
Garysqo
9199a985d8 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Garysqo <garyspleen@gmail.com>
- Alexander Parada <alessaux@outlook.es>
2019-10-29 22:13:17 +00:00
Bald3mar
624e1234d9 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 22:13:14 +00:00
Netza López
a3d153db66 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 22:13:11 +00:00
elenatambriz
dc25bc5727 Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-29 22:13:08 +00:00
Julio Gomez
6a1670b550 Pontoon: Update Kaqchikel (cak) localization of Firefox Send
Localization authors:
- Julio Gomez <jegs87@gmail.com>
2019-10-29 22:13:05 +00:00
Miguel
8cd3a720fe Pontoon: Update Ixil (ixl) localization of Firefox Send
Localization authors:
- Gerardo <gerardoterraza2013@gmail.com>
- Miguel <mickyforever.dc@gmail.com>
2019-10-29 22:13:02 +00:00
Abelardo Ayala Rodríguez
9aa7da68be Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-10-29 22:12:59 +00:00
José Manuel
063042cd76 Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- José Manuel <triki2014jm@gmail.com>
2019-10-29 21:42:00 +00:00
Alexander Parada
8ce3a5d236 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Garysqo <garyspleen@gmail.com>
- Alexander Parada <alessaux@outlook.es>
2019-10-29 21:41:58 +00:00
Netza López
0c58c84625 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 21:41:55 +00:00
elenatambriz
68ddcf3b56 Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-29 21:41:52 +00:00
Miguel
a0648d7d91 Pontoon: Update Ixil (ixl) localization of Firefox Send
Localization authors:
- Miguel <mickyforever.dc@gmail.com>
2019-10-29 21:41:49 +00:00
Abelardo Ayala Rodríguez
5e674973db Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-10-29 21:41:46 +00:00
Garysqo
4f2b634825 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Localization authors:
- Garysqo <garyspleen@gmail.com>
- Alexander Parada <alessaux@outlook.es>
2019-10-29 21:33:43 +00:00
Bald3mar
48bbf07392 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 21:33:40 +00:00
Netza López
357f6da3b0 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 21:33:37 +00:00
Miguel
def21041d8 Pontoon: Update Ixil (ixl) localization of Firefox Send
Localization authors:
- Miguel <mickyforever.dc@gmail.com>
2019-10-29 21:33:35 +00:00
Abelardo Ayala Rodríguez
c44728865a Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-10-29 21:33:32 +00:00
Bald3mar
f271140c5f Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 21:13:57 +00:00
Netza López
3593aaf61f Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 21:13:54 +00:00
Abelardo Ayala Rodríguez
8b433a008d Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-10-29 21:13:51 +00:00
Bald3mar
1ab1bf1b00 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 20:43:02 +00:00
Abelardo Ayala Rodríguez
c04d15f806 Pontoon: Update Guarani (gn) localization of Firefox Send
Localization authors:
- Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2019-10-29 20:42:59 +00:00
Bald3mar
977e8bdc21 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 20:32:12 +00:00
Bald3mar
454d1d03f5 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 19:15:17 +00:00
Netza López
f73ff7fa26 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 19:15:14 +00:00
elenatambriz
98317c94aa Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-29 19:15:12 +00:00
Netza López
aa91d762af Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 18:44:30 +00:00
elenatambriz
5cddd0842b Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-29 18:44:27 +00:00
elenatambriz
4dee3d2283 Pontoon: Update K&#39;iche&#39; (quc) localization of Firefox Send
Localization authors:
- elenatambriz <elenatambriz@hotmail.com>
2019-10-29 18:33:37 +00:00
Netza López
2d20cb3819 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 18:14:20 +00:00
Bald3mar
c28beb3bc1 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-29 16:32:21 +00:00
Netza López
216a7a6ff8 Pontoon: Update Mixteco Yucuhiti (meh) localization of Firefox Send
Localization authors:
- Netza López <l.lopeznetza@gmail.com>
2019-10-29 16:32:19 +00:00
José Manuel
a48d2bad4f Pontoon: Update Triqui (trs) localization of Firefox Send
Localization authors:
- José Manuel <triki2014jm@gmail.com>
2019-10-28 23:12:15 +00:00
Bald3mar
04c60414e1 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-28 22:32:40 +00:00
Bald3mar
92c3f67020 Pontoon: Update Mixtepec Mixtec (mix) localization of Firefox Send
Localization authors:
- Bald3mar <baldemarls@gmail.com>
2019-10-28 22:13:07 +00:00
Martijn Dekker
49e6c064ac Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-10-27 22:32:42 +00:00
Martijn Dekker
8551139a8a Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-10-27 20:13:25 +00:00
Emin Mastizada
96461692ee Pontoon: Update Azerbaijani (az) localization of Firefox Send
Localization authors:
- Emin Mastizada <emin@mastizada.com>
2019-10-23 23:35:20 +00:00
Martijn Dekker
a217ad4be5 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-10-22 15:12:17 +00:00
Danny Coates
18216ce430 v3.0.20 2019-10-21 11:33:54 -07:00
Danny Coates
1711a2d1d7 added "te" to production languages 2019-10-21 10:36:34 -07:00
Danny Coates
8b2080a2f0 updated deps 2019-10-21 10:24:07 -07:00
Danny Coates
006ee1d2e6 Merge pull request #1408 from drakkein/master
Strip tracking URL params
2019-10-21 10:13:56 -07:00
Danny Coates
0a7c473965 Merge pull request #1405 from mozilla/dark-mode
Dark theme
2019-10-21 10:07:42 -07:00
Hampus
4e124d174c Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Hampus <hampus.bengtsson@gmail.com>
2019-10-19 00:33:34 +00:00
Artem Polivanchuk
524b2a5668 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-10-17 08:52:12 +00:00
Marcelo Ghelman
844f036a27 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-10-16 14:33:03 +00:00
Marcelo Ghelman
7d6c781ea5 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-10-16 14:12:33 +00:00
Wiktor Furman
ad9577daaf Update package-lock 2019-10-15 15:50:09 +02:00
Wiktor Furman
114068c531 Strip tracking url parameters 2019-10-15 15:29:48 +02:00
Niksend Mizuhara
0daa03e04c Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- Niksend Mizuhara <i@rhinecho.com>
2019-10-07 01:53:05 +00:00
Danny Coates
63348fd36a updated deps 2019-10-03 23:32:49 -07:00
Danny Coates
c71c246959 Dark theme 2019-10-03 23:10:11 -07:00
Sander Lepik
2b7504e969 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Sander Lepik <sander.lepik@eesti.ee>
2019-10-01 05:14:31 +00:00
Selyan Sliman Amiri
b942554c80 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Selyan Sliman Amiri <selyan.kab@gmail.com>
2019-09-30 09:32:51 +00:00
Juan Sián
1ae227fddd Pontoon: Update Kaqchikel (cak) localization of Firefox Send
Localization authors:
- Juan Sián <ajtzibsyan@yahoo.com>
2019-09-26 23:32:48 +00:00
Jordi Serratosa
a63fe18d15 Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-09-25 09:56:59 +00:00
Danny Coates
ea1ea2aa68 v3.0.19 2019-09-23 09:24:10 -07:00
Danny Coates
90d06d71d3 updated deps 2019-09-23 09:22:22 -07:00
Kim Younggeon
11f2deb7a6 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Kim Younggeon <mail@kyg.kr>
2019-09-23 03:52:14 +00:00
Danny Coates
0f5edf023a Merge pull request #1400 from mozilla/task/update-engines
task: update engines in package.json and README to clarify that node 10x is expected.
2019-09-19 11:02:42 -07:00
Rachel Tublitz
3be0621647 task: update engines in package.json and README to clarify that node 10.x is expected 2019-09-19 13:37:05 -04:00
Marcelo Ghelman
fc07bfdb85 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-09-15 05:17:20 +00:00
صفا الفليج
581a989304 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-09-11 18:34:38 +00:00
ItielMaN
047d6a85ab Pontoon: Update Hebrew (he) localization of Firefox Send
Localization authors:
- ItielMaN <itiel_yn8@walla.com>
2019-09-08 21:12:53 +00:00
Luiz Felipe F M Costa
90f6a07d4a refactored Dockerfile 2019-09-06 20:04:45 -07:00
Arash Mousavi
8f4a53db64 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- Arash Mousavi <mousavi.arash@gmail.com>
2019-09-06 21:53:28 +00:00
98 changed files with 7703 additions and 6497 deletions

View File

@@ -1,77 +1,48 @@
version: 2.0 version: 2.0
jobs: jobs:
build:
docker:
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: send-build-{{ checksum "package-lock.json" }}
- run: npm install
- save_cache:
key: send-build-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm run build
- persist_to_workspace:
root: .
paths:
- ./dist
test: test:
docker: docker:
- image: circleci/node:10-browsers - image: circleci/node:12-browsers
steps: steps:
- checkout - checkout
- restore_cache: - run: npm ci
key: send-test-{{ checksum "package-lock.json" }}
- run: npm install
- save_cache:
key: send-test-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm run lint - run: npm run lint
- run: npm run test - run: npm test
- store_artifacts: - store_artifacts:
path: coverage path: coverage
integration_tests: integration_tests:
docker: docker:
- image: circleci/node:10-browsers - image: circleci/node:12-browsers
steps: steps:
- checkout - checkout
- restore_cache: - run: npm ci
key: send-int-{{ checksum "package-lock.json" }} - run:
- run: npm install
- save_cache:
key: send-int-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run:
name: Run integration test name: Run integration test
command: ./scripts/bin/run-integration-test-circleci.sh command: ./scripts/bin/run-integration-test-circleci.sh
deploy_dev: deploy_dev:
machine: true docker:
- image: circleci/node:12
steps: steps:
- checkout - checkout
- attach_workspace: - setup_remote_docker
at: .
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS - run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:latest . - run: docker build -t mozilla/send:latest .
- run: docker push mozilla/send:latest - run: docker push mozilla/send:latest
deploy_vnext: deploy_vnext:
machine: true docker:
- image: circleci/node:12
steps: steps:
- checkout - checkout
- attach_workspace: - setup_remote_docker
at: .
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS - run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:vnext . - run: docker build -t mozilla/send:vnext .
- run: docker push mozilla/send:vnext - run: docker push mozilla/send:vnext
deploy_stage: deploy_stage:
machine: true docker:
- image: circleci/node:12
steps: steps:
- checkout - checkout
- attach_workspace: - setup_remote_docker
at: .
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS - run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:$CIRCLE_TAG . - run: docker build -t mozilla/send:$CIRCLE_TAG .
- run: docker push mozilla/send:$CIRCLE_TAG - run: docker push mozilla/send:$CIRCLE_TAG
@@ -79,12 +50,6 @@ workflows:
version: 2 version: 2
test_pr: test_pr:
jobs: jobs:
- build:
filters:
branches:
ignore:
- master
- vnext
- test: - test:
filters: filters:
branches: branches:
@@ -97,25 +62,13 @@ workflows:
ignore: master ignore: master
build_and_deploy_dev: build_and_deploy_dev:
jobs: jobs:
- build:
filters:
branches:
only:
- master
- vnext
tags:
ignore: /^v.*/
- deploy_dev: - deploy_dev:
requires:
- build
filters: filters:
branches: branches:
only: master only: master
tags: tags:
ignore: /^v.*/ ignore: /^v.*/
- deploy_vnext: - deploy_vnext:
requires:
- build
filters: filters:
branches: branches:
only: vnext only: vnext
@@ -123,12 +76,6 @@ workflows:
ignore: /^v.*/ ignore: /^v.*/
build_and_deploy_stage: build_and_deploy_stage:
jobs: jobs:
- build:
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/
- test: - test:
filters: filters:
branches: branches:
@@ -143,7 +90,6 @@ workflows:
only: /^v.*/ only: /^v.*/
- deploy_stage: - deploy_stage:
requires: requires:
- build
- test - test
- integration_tests - integration_tests
filters: filters:

View File

@@ -1,10 +1,8 @@
node_modules .circleci
.git
.tox
.DS_Store
firefox
assets
docs
test
coverage
.nyc_output .nyc_output
.vscode
.DS_Store
coverage
docs
firefox
node_modules

View File

@@ -19,6 +19,7 @@ rules:
node/no-unsupported-features/es-syntax: off node/no-unsupported-features/es-syntax: off
node/no-unsupported-features/node-builtins: off node/no-unsupported-features/node-builtins: off
node/no-unpublished-require: off node/no-unpublished-require: off
node/no-unpublished-import: off
security/detect-non-literal-fs-filename: off security/detect-non-literal-fs-filename: off
security/detect-object-injection: off security/detect-object-injection: off

View File

@@ -1,6 +1,7 @@
Abdalrahman Hwoij Abdalrahman Hwoij
Abhinav Adduri Abhinav Adduri
Adnan Kičin Adnan Kičin
Adolfo Jayme Barrientos
Alberto Castro Alberto Castro
Alexander Slovesnik Alexander Slovesnik
Alfredos-Panagiotis Damkalis Alfredos-Panagiotis Damkalis
@@ -63,6 +64,7 @@ George Raptis
Georgianizator Georgianizator
Gonçalo Matos Gonçalo Matos
Gwenn Gwenn
Hampus
Hugo Hugo
Hugo Abreu Hugo Abreu
Hyeonseok Shin Hyeonseok Shin
@@ -93,6 +95,7 @@ Juraj Cigáň
Kerim Kalamujić Kerim Kalamujić
Khaled Hosny Khaled Hosny
Kim Ludvigsen Kim Ludvigsen
Kim Younggeon
Kohei Yoshino Kohei Yoshino
Lan Glad Lan Glad
Lasse Liehu Lasse Liehu
@@ -101,6 +104,7 @@ Lobodzets
LuFlo LuFlo
Luis A. Sánchez Luis A. Sánchez
Luiz Carlos de Morais Luiz Carlos de Morais
Luiz Felipe F M Costa
Luna Jernberg Luna Jernberg
Mahay Alam Khan Mahay Alam Khan
Marcelo Ghelman Marcelo Ghelman
@@ -110,6 +114,7 @@ Mark Heijl
Mark Liang Mark Liang
Mark Liang (You-Wen) Mark Liang (You-Wen)
Marko Andrejić Marko Andrejić
Martijn Dekker
Marwan Mohamad Marwan Mohamad
Matjaž Horvat Matjaž Horvat
Maykon Chagas Maykon Chagas
@@ -131,6 +136,7 @@ Myungjae Won
Nicholas Skinsacos Nicholas Skinsacos
Nihad Nihad
Nihad Suljić Nihad Suljić
Niksend Mizuhara
Oscar Oscar
Paulius Paulius
Pedro Burlamaqui Bendahan Pedro Burlamaqui Bendahan
@@ -138,7 +144,9 @@ Peter deHaan
Pierre Neter Pierre Neter
Pin-guang Chen Pin-guang Chen
Piotr Drąg Piotr Drąg
Quentí
Quế Tùng Quế Tùng
Rachel Tublitz
Radu Popescu Radu Popescu
Rhoslyn Prys Rhoslyn Prys
RickieES RickieES
@@ -161,6 +169,7 @@ Sara Todaro
Sav22999 Sav22999
Schieck :) Schieck :)
Selim Şumlu Selim Şumlu
Selyan Sliman Amiri
Sidak Singh Aulakh Sidak Singh Aulakh
Slimane Amiri Slimane Amiri
Slimane Selyan AMIRI Slimane Selyan AMIRI
@@ -183,6 +192,7 @@ Victor Bychek
Vimal Raghubir Vimal Raghubir
Vitaliy Krutko Vitaliy Krutko
Weihang Lo Weihang Lo
Wiktor Furman
Wil Clouser Wil Clouser
YFdyh000 YFdyh000
Yassine Aït-El-Mouden Yassine Aït-El-Mouden
@@ -213,9 +223,11 @@ jesferman1993
jlG jlG
josotrix josotrix
jspam jspam
julen
julenx julenx
kenrick95 kenrick95
kumincir kumincir
leo.toneff
m4hdi.pdroid m4hdi.pdroid
mail mail
manxmensch manxmensch

View File

@@ -1,19 +1,60 @@
FROM node:10 AS builder ##
RUN addgroup --gid 10001 app && adduser --disabled-password --gecos '' --gid 10001 --home /app --uid 10001 app # Firefox Send - Mozilla
COPY package*.json /app/ #
WORKDIR /app # License https://github.com/mozilla/send/blob/master/LICENSE
RUN npm install --production ##
FROM node:10-slim
RUN addgroup --gid 10001 app && adduser --disabled-password --gecos '' --gid 10001 --home /app --uid 10001 app # Build project
FROM node:12 AS builder
RUN set -x \
# Add user
&& addgroup --gid 10001 app \
&& adduser --disabled-password \
--gecos '' \
--gid 10001 \
--home /app \
--uid 10001 \
app
RUN npm i -g npm
COPY --chown=app:app . /app
USER app USER app
WORKDIR /app WORKDIR /app
COPY --chown=app:app --from=builder /app . RUN set -x \
COPY --chown=app:app . . # Build
&& npm ci \
&& npm run build
# Main image
FROM node:12-slim
RUN set -x \
# Add user
&& addgroup --gid 10001 app \
&& adduser --disabled-password \
--gecos '' \
--gid 10001 \
--home /app \
--uid 10001 \
app
RUN apt-get update && apt-get -y install \
git-core \
&& rm -rf /var/lib/apt/lists/*
USER app
WORKDIR /app
COPY --chown=app:app package*.json ./
COPY --chown=app:app app app
COPY --chown=app:app common common
COPY --chown=app:app public/locales public/locales
COPY --chown=app:app server server
COPY --chown=app:app --from=builder /app/dist dist
RUN npm ci --production && npm cache clean --force
RUN mkdir -p /app/.config/configstore RUN mkdir -p /app/.config/configstore
RUN ln -s dist/version.json version.json RUN ln -s dist/version.json version.json
ENV PORT=1443 ENV PORT=1443
EXPOSE $PORT
EXPOSE ${PORT}
CMD ["node", "server/bin/prod.js"] CMD ["node", "server/bin/prod.js"]

View File

@@ -1,4 +1,4 @@
# [![Firefox Send](./assets/logo.svg)](https://send.firefox.com/) # [![Firefox Send](./assets/icon.svg)](https://send.firefox.com/) Firefox Send
[![CircleCI](https://img.shields.io/circleci/project/github/mozilla/send.svg)](https://circleci.com/gh/mozilla/send) [![CircleCI](https://img.shields.io/circleci/project/github/mozilla/send.svg)](https://circleci.com/gh/mozilla/send)
@@ -30,7 +30,7 @@ A file sharing experiment which allows you to send encrypted files to other user
## Requirements ## Requirements
- [Node.js 10.0+](https://nodejs.org/) - [Node.js 10.x](https://nodejs.org/)
- [Redis server](https://redis.io/) (optional for development) - [Redis server](https://redis.io/) (optional for development)
- [AWS S3](https://aws.amazon.com/s3/) or compatible service. (optional) - [AWS S3](https://aws.amazon.com/s3/) or compatible service. (optional)

View File

@@ -60,9 +60,7 @@ function body(main) {
</a>`; </a>`;
*/ */
return html` return html`
<body <body class="flex flex-col items-center font-sans bg-grey-10 h-screen">
class="flex flex-col items-center font-sans bg-grey-lightest h-screen"
>
${state.cache(Header, 'header').render()} ${main(state, emit)} ${state.cache(Header, 'header').render()} ${main(state, emit)}
</body> </body>
`; `;

View File

@@ -25,7 +25,7 @@ module.exports = function(state, emit) {
let content = ''; let content = '';
let button = html` let button = html`
<div <div
class="bg-blue rounded-full m-4 flex items-center justify-center shadow-lg" class="bg-blue-50 rounded-full m-4 flex items-center justify-center shadow-lg"
style="width: 56px; height: 56px" style="width: 56px; height: 56px"
onclick="${onclick}" onclick="${onclick}"
> >

View File

@@ -39,7 +39,7 @@ body {
} }
.btn { .btn {
@apply bg-blue-dark; @apply bg-blue-60;
@apply text-white; @apply text-white;
@apply cursor-pointer; @apply cursor-pointer;
@apply py-4; @apply py-4;
@@ -48,11 +48,11 @@ body {
} }
.btn:hover { .btn:hover {
@apply bg-blue-darker; @apply bg-blue-70;
} }
.btn:focus { .btn:focus {
@apply bg-blue-darker; @apply bg-blue-70;
} }
.checkbox { .checkbox {
@@ -70,7 +70,7 @@ body {
} }
.checkbox > label::before { .checkbox > label::before {
/* @apply bg-grey-lightest; */ /* @apply bg-grey-10; */
@apply border; @apply border;
@apply rounded-sm; @apply rounded-sm;
@@ -82,16 +82,16 @@ body {
} }
.checkbox > label:hover::before { .checkbox > label:hover::before {
@apply border-blue-dark; @apply border-blue-50;
} }
.checkbox > input:focus + label::before { .checkbox > input:focus + label::before {
@apply border-blue-dark; @apply border-blue-50;
} }
.checkbox > input:checked + label::before { .checkbox > input:checked + label::before {
@apply bg-blue-dark; @apply bg-blue-50;
@apply border-blue-dark; @apply border-blue-50;
background-image: url('../assets/lock.svg'); background-image: url('../assets/lock.svg');
background-position: center; background-position: center;
@@ -104,8 +104,8 @@ body {
} }
.checkbox > input:disabled + label::before { .checkbox > input:disabled + label::before {
@apply bg-blue-dark; @apply bg-blue-50;
@apply border-blue-dark; @apply border-blue-50;
background-image: url('../assets/lock.svg'); background-image: url('../assets/lock.svg');
background-position: center; background-position: center;
@@ -153,9 +153,21 @@ footer li:hover {
white-space: nowrap; white-space: nowrap;
} }
.link-blue {
@apply text-blue-60;
}
.link-blue:hover {
@apply text-blue-70;
}
.link-blue:focus {
@apply text-blue-70;
}
.main-header img { .main-header img {
height: 32px; height: 32px;
width: 170px; width: auto;
} }
.intro { .intro {
@@ -193,14 +205,14 @@ footer li:hover {
} }
progress { progress {
@apply bg-grey-light; @apply bg-grey-30;
@apply rounded-sm; @apply rounded-sm;
@apply w-full; @apply w-full;
@apply h-1; @apply h-1;
} }
progress::-webkit-progress-bar { progress::-webkit-progress-bar {
@apply bg-grey-light; @apply bg-grey-30;
@apply rounded-sm; @apply rounded-sm;
@apply w-full; @apply w-full;
@apply h-1; @apply h-1;
@@ -290,6 +302,55 @@ select {
} }
} }
@screen dark {
body {
@apply text-grey-10;
background-image: unset;
}
.btn {
@apply bg-blue-40;
@apply text-white;
}
.btn:hover {
@apply bg-blue-50;
}
.btn:focus {
@apply bg-blue-50;
}
.link-blue {
@apply text-blue-40;
}
.link-blue:hover {
@apply text-blue-50;
}
.link-blue:focus {
@apply text-blue-50;
}
.main > section {
@apply bg-grey-90;
}
.mozilla-logo {
background-color: white;
border: 1px solid white;
}
@screen md {
.main > section {
@apply border;
@apply border-grey-80;
}
}
}
@tailwind utilities; @tailwind utilities;
@responsive { @responsive {
@@ -325,8 +386,6 @@ select {
.signin:hover, .signin:hover,
.signin:focus { .signin:focus {
@apply shadow-btn;
transform: scale(1.0625); transform: scale(1.0625);
} }
@@ -337,19 +396,19 @@ select {
/* begin signin button color experiment */ /* begin signin button color experiment */
.white-blue { .white-blue {
@apply border-blue-dark; @apply border-blue-60;
@apply border-2; @apply border-2;
@apply text-blue-dark; @apply text-blue-60;
} }
.white-blue:hover, .white-blue:hover,
.white-blue:focus { .white-blue:focus {
@apply bg-blue-dark; @apply bg-blue-60;
@apply text-white; @apply text-white;
} }
.blue { .blue {
@apply bg-blue-dark; @apply bg-blue-60;
@apply text-white; @apply text-white;
} }

View File

@@ -59,7 +59,8 @@ if (process.env.NODE_ENV === 'production') {
sentry: Sentry, sentry: Sentry,
user: new User(storage, LIMITS, window.AUTH_CONFIG), user: new User(storage, LIMITS, window.AUTH_CONFIG),
transfer: null, transfer: null,
fileInfo: null fileInfo: null,
locale: locale()
}; };
const app = routes(choo({ hash: true })); const app = routes(choo({ hash: true }));

View File

@@ -2,7 +2,7 @@
`app/` contains the browser code that gets bundled into `app.[hash].js`. It's got all the logic, crypto, and UI. All of it gets used in the browser, and some of it by the server for server side rendering. `app/` contains the browser code that gets bundled into `app.[hash].js`. It's got all the logic, crypto, and UI. All of it gets used in the browser, and some of it by the server for server side rendering.
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes/index.js](./routes/index.js) gets imported by [/server/routes/pages.js](../server/routes/pages.js) The main entrypoint for the browser is [main.js](./main.js) and on the server [routes.js](./routes.js) is imported by [/server/routes/pages.js](../server/routes/pages.js)
- `pages` contains display logic an markup for pages - `pages` contains display logic an markup for pages
- `routes` contains route definitions and logic - `routes` contains route definitions and logic

View File

@@ -64,8 +64,7 @@ class Account extends Component {
return html` return html`
<send-account> <send-account>
<button <button
class="px-4 py-2 md:px-8 md:py-4 focus:outline signin ${this class="px-4 py-2 md:px-8 md:py-4 focus:outline signin border-2 link-blue border-blue-60 hover:border-blue-70 dark:border-blue-40 dark:hover:border-blue-50"
.buttonClass}"
onclick="${e => this.login(e)}" onclick="${e => this.login(e)}"
title="${translate('signInOnlyButton')}" title="${translate('signInOnlyButton')}"
> >
@@ -79,19 +78,19 @@ class Account extends Component {
<input <input
type="image" type="image"
alt="${user.email}" alt="${user.email}"
class="w-8 h-8 rounded-full border text-blue md:text-white focus:outline" class="w-8 h-8 rounded-full border text-blue-50 md:text-white focus:outline"
src="${user.avatar}" src="${user.avatar}"
onclick="${e => this.avatarClick(e)}" onclick="${e => this.avatarClick(e)}"
/> />
<ul <ul
id="accountMenu" id="accountMenu"
class="invisible absolute top-0 right-0 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 dark:bg-grey-80"
onblur="${e => this.hideMenu(e)}" onblur="${e => this.hideMenu(e)}"
> >
<li class="p-2 text-grey-dark">${user.email}</li> <li class="p-2 text-grey-60 dark:text-grey-50">${user.email}</li>
<li> <li>
<button <button
class="block w-full text-left px-4 py-2 text-grey-darkest hover:bg-blue hover:text-white cursor-pointer focus:outline" class="block w-full text-left px-4 py-2 text-grey-80 dark:text-grey-30 hover:bg-blue-50 hover:text-white cursor-pointer focus:outline"
onclick="${e => this.logout(e)}" onclick="${e => this.logout(e)}"
title="${translate('signOut')}" title="${translate('signOut')}"
> >

View File

@@ -46,7 +46,7 @@ function password(state) {
id="password-input" id="password-input"
class="${state.archive.password class="${state.archive.password
? '' ? ''
: 'invisible'} border rounded focus:border-blue-dark leading-normal my-1 py-1 px-2 h-8" : 'invisible'} border rounded focus:border-blue-60 leading-normal my-1 py-1 px-2 h-8 dark:bg-grey-80"
autocomplete="off" autocomplete="off"
maxlength="${MAX_LENGTH}" maxlength="${MAX_LENGTH}"
type="password" type="password"
@@ -58,7 +58,7 @@ function password(state) {
<label <label
id="password-msg" id="password-msg"
for="password-input" for="password-input"
class="block text-xs text-grey-darker" class="block text-xs text-grey-70"
></label> ></label>
</div> </div>
`; `;
@@ -106,7 +106,9 @@ function password(state) {
function fileInfo(file, action) { function fileInfo(file, action) {
return html` return html`
<send-file class="flex flex-row items-center p-3 w-full"> <send-file class="flex flex-row items-center p-3 w-full">
<img class="h-8" src="${assets.get('blue_file.svg')}"/> <svg class="h-8 w-8 text-white dark:text-grey-90">
<use xlink:href="${assets.get('blue_file.svg')}#icon"/>
</svg>
<p class="ml-4 w-full"> <p class="ml-4 w-full">
<h1 class="text-base font-medium word-break-all">${file.name}</h1> <h1 class="text-base font-medium word-break-all">${file.name}</h1>
<div class="text-sm font-normal opacity-75 pt-1">${bytes( <div class="text-sm font-normal opacity-75 pt-1">${bytes(
@@ -120,7 +122,9 @@ function fileInfo(file, action) {
function archiveInfo(archive, action) { function archiveInfo(archive, action) {
return html` return html`
<p class="w-full flex items-center"> <p class="w-full flex items-center">
<img class="mr-3 flex-shrink-0" src="${assets.get('blue_file.svg')}"/> <svg class="h-8 w-6 mr-3 flex-shrink-0 text-white dark:text-grey-90">
<use xlink:href="${assets.get('blue_file.svg')}#icon"/>
</svg>
<p class="flex-grow"> <p class="flex-grow">
<h1 class="text-base font-medium word-break-all">${archive.name}</h1> <h1 class="text-base font-medium word-break-all">${archive.name}</h1>
<div class="text-sm font-normal opacity-75 pt-1">${bytes( <div class="text-sm font-normal opacity-75 pt-1">${bytes(
@@ -140,7 +144,7 @@ function archiveDetails(translate, archive) {
ontoggle="${toggled}" ontoggle="${toggled}"
> >
<summary <summary
class="flex items-center text-blue-dark text-sm cursor-pointer outline-none" class="flex items-center link-blue text-sm cursor-pointer outline-none"
> >
<svg <svg
class="fill-current w-4 h-4 mr-1" class="fill-current w-4 h-4 mr-1"
@@ -170,20 +174,25 @@ module.exports = function(state, emit, archive) {
state.capabilities.share || platform() === 'android' state.capabilities.share || platform() === 'android'
? html` ? html`
<button <button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker self-end flex items-end" class="link-blue self-end flex items-start"
onclick=${share} onclick=${share}
title="Share link" title="Share link"
> >
<img src="${assets.get('share-24.svg')}" class="mr-2" />Share link <svg class="h-4 w-4 mr-2">
<use xlink:href="${assets.get('share-24.svg')}#icon" />
</svg>
Share link
</button> </button>
` `
: html` : html`
<button <button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker focus:outline self-end flex items-center" class="link-blue focus:outline self-end flex items-center"
onclick=${copy} onclick=${copy}
title="${state.translate('copyLinkButton')}" title="${state.translate('copyLinkButton')}"
> >
<img src="${assets.get('copy-16.svg')}" class="mr-2" /> <svg class="h-4 w-4 mr-2">
<use xlink:href="${assets.get('copy-16.svg')}#icon" />
</svg>
${state.translate('copyLinkButton')} ${state.translate('copyLinkButton')}
</button> </button>
`; `;
@@ -191,12 +200,14 @@ module.exports = function(state, emit, archive) {
platform() === 'web' platform() === 'web'
? html` ? html`
<a <a
class="flex items-baseline text-blue-dark hover:text-blue-darker focus:text-blue-darker" class="flex items-baseline link-blue"
href="${archive.url}" href="${archive.url}"
title="${state.translate('downloadButtonLabel')}" title="${state.translate('downloadButtonLabel')}"
tabindex="0" tabindex="0"
> >
<img src="${assets.get('dl.svg')}" class="mr-2" /> <svg class="h-4 w-3 mr-2">
<use xlink:href="${assets.get('dl.svg')}#icon" />
</svg>
${state.translate('downloadButtonLabel')} ${state.translate('downloadButtonLabel')}
</a> </a>
` `
@@ -206,7 +217,7 @@ module.exports = function(state, emit, archive) {
return html` return html`
<send-archive <send-archive
id="archive-${archive.id}" id="archive-${archive.id}"
class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full" class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full dark:bg-grey-90 dark:border dark:border-grey-70"
> >
${archiveInfo( ${archiveInfo(
archive, archive,
@@ -225,7 +236,7 @@ module.exports = function(state, emit, archive) {
${expiryInfo(state.translate, archive)} ${expiryInfo(state.translate, archive)}
</div> </div>
${archiveDetails(state.translate, archive)} ${archiveDetails(state.translate, archive)}
<hr class="w-full border-t my-4" /> <hr class="w-full border-t my-4 dark:border-grey-70" />
<div class="flex justify-between w-full"> <div class="flex justify-between w-full">
${dl} ${copyOrShare} ${dl} ${copyOrShare}
</div> </div>
@@ -269,18 +280,21 @@ module.exports = function(state, emit, archive) {
module.exports.wip = function(state, emit) { module.exports.wip = function(state, emit) {
return html` return html`
<send-upload-area class="flex flex-col bg-white h-full w-full" id="wip"> <send-upload-area
class="flex flex-col bg-white h-full w-full dark:bg-grey-90"
id="wip"
>
${list( ${list(
Array.from(state.archive.files) Array.from(state.archive.files)
.reverse() .reverse()
.map(f => .map(f =>
fileInfo(f, remove(f, state.translate('deleteButtonHover'))) fileInfo(f, remove(f, state.translate('deleteButtonHover')))
), ),
'flex-shrink bg-grey-lightest rounded-t overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen', 'flex-shrink bg-grey-10 rounded-t overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen dark:bg-black',
'bg-white px-2 my-2 shadow-light rounded' 'bg-white px-2 my-2 shadow-light rounded dark:bg-grey-90 dark:border dark:border-grey-80'
)} )}
<div <div
class="flex-shrink-0 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-10 rounded-b mb-1 font-medium dark:bg-grey-90"
> >
<input <input
id="file-upload" id="file-upload"
@@ -300,10 +314,12 @@ module.exports.wip = function(state, emit) {
class="flex items-center cursor-pointer" class="flex items-center cursor-pointer"
title="${state.translate('addFilesButton')}" title="${state.translate('addFilesButton')}"
> >
<img src="${assets.get('addfiles.svg')}" class="w-6 h-6 mr-2" /> <svg class="w-6 h-6 mr-2 link-blue">
<use xlink:href="${assets.get('addfiles.svg')}#plus" />
</svg>
${state.translate('addFilesButton')} ${state.translate('addFilesButton')}
</label> </label>
<div class="font-normal text-sm text-grey-darker"> <div class="font-normal text-sm text-grey-70 dark:text-grey-40">
${state.translate('totalSize', { ${state.translate('totalSize', {
size: bytes(state.archive.size) size: bytes(state.archive.size)
})} })}
@@ -378,22 +394,22 @@ module.exports.uploading = function(state, emit) {
return html` return html`
<send-upload-area <send-upload-area
id="${archive.id}" id="${archive.id}"
class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full" class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full dark:bg-grey-90"
> >
${archiveInfo(archive)} ${archiveInfo(archive)}
<div class="text-xs text-grey-dark w-full mt-2 mb-2"> <div class="text-xs opacity-75 w-full mt-2 mb-2">
${expiryInfo(state.translate, { ${expiryInfo(state.translate, {
dlimit: state.archive.dlimit, dlimit: state.archive.dlimit,
dtotal: 0, dtotal: 0,
expiresAt: Date.now() + 500 + state.archive.timeLimit * 1000 expiresAt: Date.now() + 500 + state.archive.timeLimit * 1000
})} })}
</div> </div>
<div class="text-blue-dark text-sm font-medium mt-2"> <div class="link-blue text-sm font-medium mt-2">
${progressPercent} ${progressPercent}
</div> </div>
<progress class="my-3" value="${progress}">${progressPercent}</progress> <progress class="my-3" value="${progress}">${progressPercent}</progress>
<button <button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker self-end font-medium" class="link-blue self-end font-medium"
onclick=${cancel} onclick=${cancel}
title="${state.translate('deletePopupCancel')}" title="${state.translate('deletePopupCancel')}"
> >
@@ -415,7 +431,7 @@ module.exports.empty = function(state, emit) {
? '' ? ''
: html` : html`
<button <button
class="center font-medium text-sm text-blue-dark hover:text-blue-darker focus:text-blue-darker mt-4 mb-2" class="center font-medium text-sm link-blue mt-4 mb-2"
onclick="${event => { onclick="${event => {
event.stopPropagation(); event.stopPropagation();
emit('signup-cta', 'drop'); emit('signup-cta', 'drop');
@@ -428,14 +444,16 @@ module.exports.empty = function(state, emit) {
`; `;
return html` return html`
<send-upload-area <send-upload-area
class="flex flex-col items-center justify-center border-2 border-dashed border-grey-transparent 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 dark:border-grey-60"
onclick="${e => { onclick="${e => {
if (e.target.tagName !== 'LABEL') { if (e.target.tagName !== 'LABEL') {
document.getElementById('file-upload').click(); document.getElementById('file-upload').click();
} }
}}" }}"
> >
<img src="${assets.get('addfiles.svg')}" width="48" height="48" /> <svg class="w-10 h-10 link-blue">
<use xlink:href="/${assets.get('addfiles.svg')}#plus" />
</svg>
<div class="pt-6 pb-2 text-center text-lg font-bold tracking-wide"> <div class="pt-6 pb-2 text-center text-lg font-bold tracking-wide">
${state.translate('dragAndDropFiles')} ${state.translate('dragAndDropFiles')}
</div> </div>
@@ -469,14 +487,11 @@ module.exports.empty = function(state, emit) {
`; `;
function focus(event) { function focus(event) {
event.target.nextElementSibling.classList.add('bg-blue-darker', 'outline'); event.target.nextElementSibling.classList.add('bg-blue-70', 'outline');
} }
function blur(event) { function blur(event) {
event.target.nextElementSibling.classList.remove( event.target.nextElementSibling.classList.remove('bg-blue-70', 'outline');
'bg-blue-darker',
'outline'
);
} }
function add(event) { function add(event) {
@@ -501,8 +516,10 @@ module.exports.preview = function(state, emit) {
</div> </div>
`; `;
return html` return html`
<send-archive class="flex flex-col max-h-full bg-white p-4 w-full md:w-128"> <send-archive
<div class="border rounded py-3 px-6"> class="flex flex-col max-h-full bg-white p-4 w-full md:w-128 dark:bg-grey-90"
>
<div class="border rounded py-3 px-6 dark:border-grey-70">
${archiveInfo(archive)} ${details} ${archiveInfo(archive)} ${details}
</div> </div>
<button <button
@@ -529,10 +546,10 @@ module.exports.downloading = function(state) {
const progressPercent = percent(progress); const progressPercent = percent(progress);
return html` return html`
<send-archive <send-archive
class="flex flex-col bg-white rounded shadow-light p-4 w-full max-w-sm md:w-128" class="flex flex-col bg-white rounded shadow-light p-4 w-full max-w-sm md:w-128 dark:bg-grey-90"
> >
${archiveInfo(archive)} ${archiveInfo(archive)}
<div class="text-blue-dark text-sm font-medium mt-2"> <div class="link-blue text-sm font-medium mt-2">
${progressPercent} ${progressPercent}
</div> </div>
<progress class="my-3" value="${progress}">${progressPercent}</progress> <progress class="my-3" value="${progress}">${progressPercent}</progress>

View File

@@ -8,7 +8,9 @@ function banner(state) {
return; // server side return; // server side
} }
const show = const show =
!state.capabilities.standalone && !state.route.startsWith('/unsupported/'); !state.capabilities.standalone &&
!state.route.startsWith('/unsupported/') &&
state.locale === 'en-US';
if (show) { if (show) {
return state.cache(Promo, 'promo').render(); return state.cache(Promo, 'promo').render();
} }
@@ -18,7 +20,7 @@ module.exports = function body(main) {
return function(state, emit) { return function(state, emit) {
const b = html` const b = html`
<body <body
class="flex flex-col items-center font-sans md:h-screen md:bg-grey-lightest" class="flex flex-col items-center font-sans md:h-screen md:bg-grey-10 dark:bg-black"
> >
${banner(state, emit)} ${state.cache(Header, 'header').render()} ${banner(state, emit)} ${state.cache(Header, 'header').render()}
${main(state, emit)} ${state.cache(Footer, 'footer').render()} ${main(state, emit)} ${state.cache(Footer, 'footer').render()}

View File

@@ -10,14 +10,16 @@ module.exports = function(name, url) {
<h1 class="text-3xl font-bold my-4"> <h1 class="text-3xl font-bold my-4">
${state.translate('notifyUploadEncryptDone')} ${state.translate('notifyUploadEncryptDone')}
</h1> </h1>
<p class="font-normal leading-normal text-grey-darkest word-break-all"> <p
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
>
${state.translate('copyLinkDescription')} <br /> ${state.translate('copyLinkDescription')} <br />
${name} ${name}
</p> </p>
<input <input
type="text" type="text"
id="share-url" id="share-url"
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1" class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1 dark:bg-grey-80"
value="${url}" value="${url}"
readonly="true" readonly="true"
/> />
@@ -29,7 +31,7 @@ module.exports = function(name, url) {
${state.translate('copyLinkButton')} ${state.translate('copyLinkButton')}
</button> </button>
<button <button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker my-4 font-medium cursor-pointer focus:outline" class="link-blue my-4 font-medium cursor-pointer focus:outline"
onclick="${close}" onclick="${close}"
title="${state.translate('okButton')}" title="${state.translate('okButton')}"
> >

View File

@@ -41,7 +41,9 @@ function preview(state, emit) {
<h1 class="text-3xl font-bold mb-4"> <h1 class="text-3xl font-bold mb-4">
${state.translate('downloadTitle')} ${state.translate('downloadTitle')}
</h1> </h1>
<p class="w-full text-grey-darkest text-center leading-normal"> <p
class="w-full text-grey-80 text-center leading-normal dark:text-grey-40"
>
${state.translate('downloadDescription')} ${state.translate('downloadDescription')}
</p> </p>
${archiveTile.preview(state, emit)} ${archiveTile.preview(state, emit)}

View File

@@ -5,13 +5,13 @@ module.exports = function(state) {
return html` return html`
<div <div
id="download-complete" id="download-complete"
class="flex flex-col items-center justify-center h-full w-full bg-white p-2" class="flex flex-col items-center justify-center h-full w-full bg-white p-2 dark:bg-grey-90"
> >
<h1 class="text-center text-3xl font-bold my-2"> <h1 class="text-center text-3xl font-bold my-2">
${state.translate('downloadFinish')} ${state.translate('downloadFinish')}
</h1> </h1>
<img src="${assets.get('completed.svg')}" class="my-12 h-48" /> <img src="${assets.get('completed.svg')}" class="my-12 h-48" />
<p class="text-grey-darkest leading-normal"> <p class="text-grey-80 leading-normal dark:text-grey-40">
${state.translate('trySendDescription')} ${state.translate('trySendDescription')}
</p> </p>
<p class="my-5"> <p class="my-5">

View File

@@ -6,12 +6,14 @@ module.exports = function(state, emit) {
const div = html` const div = html`
<div <div
class="h-full w-full flex flex-col items-center justify-center bg-white py-8 max-w-md mx-auto" class="h-full w-full flex flex-col items-center justify-center bg-white py-8 max-w-md mx-auto dark:bg-grey-90"
> >
<h1 class="text-3xl font-bold mb-4"> <h1 class="text-3xl font-bold mb-4">
${state.translate('downloadTitle')} ${state.translate('downloadTitle')}
</h1> </h1>
<p class="w-full mb-4 text-center text-grey-darkest leading-normal"> <p
class="w-full mb-4 text-center text-grey-80 dark:text-grey-40 leading-normal"
>
${state.translate('downloadDescription')} ${state.translate('downloadDescription')}
</p> </p>
<form <form
@@ -22,8 +24,8 @@ module.exports = function(state, emit) {
<input <input
id="password-input" id="password-input"
class="w-full border-l border-t border-b rounded-l-lg rounded-r-none ${invalid class="w-full border-l border-t border-b rounded-l-lg rounded-r-none ${invalid
? 'border-red' ? 'border-red dark:border-red-40'
: 'border-grey'} leading-loose px-2 py-1" : 'border-grey'} leading-loose px-2 py-1 dark:bg-grey-80"
maxlength="32" maxlength="32"
autocomplete="off" autocomplete="off"
placeholder="${state.translate('unlockInputPlaceholder')}" placeholder="${state.translate('unlockInputPlaceholder')}"
@@ -34,7 +36,7 @@ module.exports = function(state, emit) {
type="submit" type="submit"
id="password-btn" id="password-btn"
class="btn rounded-r-lg rounded-l-none ${invalid class="btn rounded-r-lg rounded-l-none ${invalid
? 'bg-red hover:bg-red focus:bg-red' ? 'bg-red hover:bg-red focus:bg-red dark:bg-red-40'
: ''}" : ''}"
value="${state.translate('unlockButtonLabel')}" value="${state.translate('unlockButtonLabel')}"
title="${state.translate('unlockButtonLabel')}" title="${state.translate('unlockButtonLabel')}"
@@ -42,7 +44,7 @@ module.exports = function(state, emit) {
</form> </form>
<label <label
id="password-error" id="password-error"
class="${invalid ? '' : 'invisible'} text-red my-4" class="${invalid ? '' : 'invisible'} text-red dark:text-red-40 my-4"
for="password-input" for="password-input"
> >
${state.translate('passwordTryAgain')} ${state.translate('passwordTryAgain')}
@@ -72,7 +74,9 @@ module.exports = function(state, emit) {
const password = el.value; const password = el.value;
if (password.length > 0) { if (password.length > 0) {
document.getElementById('password-btn').disabled = true; document.getElementById('password-btn').disabled = true;
state.fileInfo.url = window.location.href; // Strip any url parameters between fileId and secretKey
const fileInfoUrl = window.location.href.replace(/\?.+#/, '#');
state.fileInfo.url = fileInfoUrl;
state.fileInfo.password = password; state.fileInfo.password = password;
emit('getMetadata'); emit('getMetadata');
} }

View File

@@ -13,7 +13,7 @@ module.exports = function(state, emit) {
${state.translate('errorPageHeader')} ${state.translate('errorPageHeader')}
</h1> </h1>
<img class="my-12 h-48" src="${assets.get('error.svg')}" /> <img class="my-12 h-48" src="${assets.get('error.svg')}" />
<p class="max-w-md text-center text-grey-darkest leading-normal"> <p class="max-w-md text-center text-grey-80 leading-normal">
${state.translate('trySendDescription')} ${state.translate('trySendDescription')}
</p> </p>
<p class="my-5"> <p class="my-5">

View File

@@ -19,12 +19,9 @@ class Footer extends Component {
const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`; const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`;
return html` return html`
<footer <footer
class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-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-60 dark:text-grey-40 md:items-center justify-between"
> >
<a <a class="mozilla-logo m-2" href="https://www.mozilla.org/">
class="mozilla-logo pb-10 md:pb-0 m-2"
href="https://www.mozilla.org/"
>
Mozilla Mozilla
</a> </a>
<ul <ul

View File

@@ -16,15 +16,27 @@ class Header extends Component {
this.account.render(); this.account.render();
return false; return false;
} }
createElement() { createElement() {
const title = const title =
platform() === 'android' platform() === 'android'
? html` ? html`
<a class=""><img src="${assets.get('logo.svg')}"/></a> <a class="flex flex-row items-center">
<img src="${assets.get('icon.svg')}" />
<svg class="w-48">
<use xlink:href="${assets.get('wordmark.svg')}#logo" />
</svg>
</a>
` `
: html` : html`
<a class="" href="/"><img src="${assets.get('logo.svg')}"/></a> <a class="flex flex-row items-center" href="/">
<img
alt="${this.state.translate('title')}"
src="${assets.get('icon.svg')}"
/>
<svg class="w-48 md:w-64">
<use xlink:href="${assets.get('wordmark.svg')}#logo" />
</svg>
</a>
`; `;
return html` return html`
<header <header

View File

@@ -4,7 +4,7 @@ const assets = require('../../common/assets');
module.exports = function intro(state) { module.exports = function intro(state) {
return html` return html`
<send-intro <send-intro
class="flex flex-col items-center justify-center bg-white px-6 md:py-0 py-6 mb-0 h-full w-full" class="flex flex-col items-center justify-center bg-white px-6 md:py-0 py-6 mb-0 h-full w-full dark:bg-grey-90"
> >
<div class="mt-12 flex flex-col h-full"> <div class="mt-12 flex flex-col h-full">
<h1 class="text-3xl font-bold md:pb-2"> <h1 class="text-3xl font-bold md:pb-2">

View File

@@ -6,7 +6,7 @@ module.exports = function(state, emit) {
<main class="main"> <main class="main">
${state.modal && modal(state, emit)} ${state.modal && modal(state, emit)}
<div <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" class="flex flex-col items-center bg-white m-4 px-6 py-8 border border-grey-30 md:border-none md:px-12 md:py-16 shadow w-full md:h-full dark:bg-grey-90"
> >
<h1 class="text-center text-3xl font-bold"> <h1 class="text-center text-3xl font-bold">
${state.translate('legalTitle')} ${state.translate('legalTitle')}
@@ -19,7 +19,7 @@ module.exports = function(state, emit) {
href="https://www.mozilla.org/privacy/" href="https://www.mozilla.org/privacy/"
target="__blank" target="__blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="text-blue-dark hover:underline" class="link-blue hover:underline"
>Mozilla Privacy Policy</a >Mozilla Privacy Policy</a
> >
<span <span
@@ -31,7 +31,7 @@ module.exports = function(state, emit) {
href="https://github.com/mozilla/send/blob/master/docs/metrics.md" href="https://github.com/mozilla/send/blob/master/docs/metrics.md"
target="__blank" target="__blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="text-blue-dark hover:underline" class="link-blue hover:underline"
>here</a >here</a
>. >.
</p> </p>

View File

@@ -3,13 +3,12 @@ const html = require('choo/html');
module.exports = function(state, emit) { module.exports = function(state, emit) {
return html` return html`
<send-modal <send-modal
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8" class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8 dark:bg-grey-90"
onclick="${close}"
> >
<div <div
class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center" class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center"
> >
<div class="w-full" onclick="${e => e.stopPropagation()}"> <div class="w-full">
${state.modal(state, emit, close)} ${state.modal(state, emit, close)}
</div> </div>
</div> </div>

View File

@@ -12,7 +12,7 @@ module.exports = function(state, emit) {
'downloadTitle' 'downloadTitle'
)}</h1> )}</h1>
<p <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" class="w-full p-2 border border-yellow-50 rounded md:w-4/5 text-orange-60 bg-yellow-40 text-center leading-normal"
> >
⚠️ ${state.translate('noStreamsWarning')} ⚠️ ⚠️ ${state.translate('noStreamsWarning')} ⚠️
</p> </p>

View File

@@ -13,7 +13,7 @@ module.exports = function(state, emit) {
${state.translate('expiredTitle')} ${state.translate('expiredTitle')}
</h1> </h1>
<img src="${assets.get('notFound.svg')}" class="my-12" /> <img src="${assets.get('notFound.svg')}" class="my-12" />
<p class="max-w-md text-center text-grey-darkest leading-normal"> <p class="max-w-md text-center text-grey-80 leading-normal">
${state.translate('trySendDescription')} ${state.translate('trySendDescription')}
</p> </p>
<p class="my-5"> <p class="my-5">

View File

@@ -15,7 +15,7 @@ class Promo extends Component {
createElement() { createElement() {
return html` return html`
<send-promo <send-promo
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" class="w-full flex-row items-center content-center justify-center bg-white text-grey-80 px-4 py-3 flex border-b border-grey-banner leading-normal dark:bg-grey-90 dark:text-grey-20 dark:border-grey-80"
> >
<div class="flex items-center mx-auto"> <div class="flex items-center mx-auto">
<img <img
@@ -24,11 +24,11 @@ class Promo extends Component {
alt="Firefox" alt="Firefox"
/> />
<span class="ml-2 sm:ml-4 text-xs sm:text-base"> <span class="ml-2 sm:ml-4 text-xs sm:text-base">
${this.state.translate('trailheadPromo')}${' '} ${`Like Firefox Send? You'll love our new full-device VPN. `}
<a <a
class="underline text-blue-dark" class="underline link-blue"
href="http://www.mozilla.org/firefox/accounts/?utm_source=send.firefox.com&utm_medium=banner&utm_campaign=trailhead&utm_content=protect-your-privacy" href="https://fpn.firefox.com/?utm_source=send.firefox.com&utm_medium=referral&utm_content=Try+Firefox+Private+Network&utm_campaign=top-bar"
>${this.state.translate('learnMore')}</a >${`Get it today`}</a
> >
</span> </span>
</div> </div>

View File

@@ -6,7 +6,7 @@ module.exports = function(selected, options, translate, changed, htmlId) {
return html` return html`
<select <select
id="${htmlId}" id="${htmlId}"
class="appearance-none cursor-pointer border rounded bg-grey-lightest hover:border-blue-dark focus:border-blue-dark pl-1 pr-8 py-1 my-1 h-8" class="appearance-none cursor-pointer border rounded bg-grey-10 hover:border-blue-50 focus:border-blue-50 pl-1 pr-8 py-1 my-1 h-8 dark:bg-grey-80"
onchange="${choose}" onchange="${choose}"
> >
${options.map( ${options.map(

View File

@@ -9,14 +9,16 @@ module.exports = function(name, url) {
<h1 class="text-3xl font-bold my-4"> <h1 class="text-3xl font-bold my-4">
${state.translate('notifyUploadEncryptDone')} ${state.translate('notifyUploadEncryptDone')}
</h1> </h1>
<p class="font-normal leading-normal text-grey-darkest word-break-all"> <p
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
>
${state.translate('shareLinkDescription')}<br /> ${state.translate('shareLinkDescription')}<br />
${name} ${name}
</p> </p>
<input <input
type="text" type="text"
id="share-url" id="share-url"
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1" class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1 dark:bg-grey-80"
value="${url}" value="${url}"
readonly="true" readonly="true"
/> />
@@ -28,7 +30,7 @@ module.exports = function(name, url) {
${state.translate('shareLinkButton')} ${state.translate('shareLinkButton')}
</button> </button>
<button <button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker my-4 font-medium cursor-pointer focus:outline" class="link-blue my-4 font-medium cursor-pointer focus:outline"
onclick="${close}" onclick="${close}"
title="${state.translate('okButton')}" title="${state.translate('okButton')}"
> >

View File

@@ -20,7 +20,7 @@ module.exports = function(trigger) {
${state.translate('accountBenefitTitle')} ${state.translate('accountBenefitTitle')}
</h1> </h1>
<ul <ul
class="leading-normal text-grey-darkest my-2 mt-4 pl-4 md:self-center" class="leading-normal list-disc text-grey-80 my-2 mt-4 pl-4 md:self-center dark:text-grey-40"
> >
<li> <li>
${state.translate('accountBenefitLargeFiles', { ${state.translate('accountBenefitLargeFiles', {
@@ -42,7 +42,7 @@ module.exports = function(trigger) {
<input <input
id="email-input" id="email-input"
type="email" type="email"
class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-darker leading-loose" class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-70 leading-loose dark:bg-grey-80 dark:text-white"
placeholder=${state.translate('emailPlaceholder')} placeholder=${state.translate('emailPlaceholder')}
/> />
<input <input
@@ -54,7 +54,7 @@ module.exports = function(trigger) {
/> />
</form> </form>
<button <button
class="my-3 text-blue-dark hover:text-blue-darker focus:text-blue-darker font-medium" class="my-3 link-blue font-medium"
title="${state.translate('deletePopupCancel')}" title="${state.translate('deletePopupCancel')}"
onclick=${cancel} onclick=${cancel}
> >

View File

@@ -16,7 +16,7 @@ module.exports = function() {
<h1 class="text-3xl font-bold my-4"> <h1 class="text-3xl font-bold my-4">
Tell us what you think. Tell us what you think.
</h1> </h1>
<p class="font-normal leading-normal text-grey-darkest px-4"> <p class="font-normal leading-normal text-grey-80 px-4">
Love Firefox Send? Take a quick survey to let us know how we can make Love Firefox Send? Take a quick survey to let us know how we can make
it better. it better.
</p> </p>
@@ -30,7 +30,7 @@ module.exports = function() {
Give feedback Give feedback
</a> </a>
<button <button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker font-medium cursor-pointer focus:outline" class="link-blue font-medium cursor-pointer focus:outline"
onclick="${close}" onclick="${close}"
title="Skip" title="Skip"
> >

View File

@@ -27,7 +27,7 @@ module.exports = function(state, emit) {
<main class="main"> <main class="main">
${state.modal && modal(state, emit)} ${state.modal && modal(state, emit)}
<section <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" class="flex flex-col items-center justify-center text-center bg-white m-6 px-6 py-8 border border-grey-30 md:border-none md:px-12 md:py-16 shadow w-full md:h-full dark:bg-grey-90"
> >
<h1 class="text-3xl font-bold">${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> <p class="mt-4 mb-8 max-w-md leading-normal">${strings.description}</p>

View File

@@ -1,5 +1,10 @@
/* global Android */ /* global Android */
const html = require('choo/html'); let html;
try {
html = require('choo/html');
} catch (e) {
// running in the service worker
}
const b64 = require('base64-js'); const b64 = require('base64-js');
function arrayToB64(array) { function arrayToB64(array) {

View File

@@ -1,9 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs> <symbol id="plus" viewBox="0 0 24 24">
<polygon id="addfiles-a" points="11.143 6 11.143 11.143 6 11.143 6 12.857 11.143 12.857 11.143 18 12.857 18 12.857 12.857 18 12.857 18 11.143 12.857 11.143 12.857 6"/>
</defs>
<g fill="none" fill-rule="evenodd"> <g fill="none" fill-rule="evenodd">
<path fill="#0060df" fill-rule="nonzero" d="M12,22.6666667 C17.8910373,22.6666667 22.6666667,17.8910373 22.6666667,12 C22.6666667,6.10896267 17.8910373,1.33333333 12,1.33333333 C6.10896267,1.33333333 1.33333333,6.10896267 1.33333333,12 C1.33333333,17.8910373 6.10896267,22.6666667 12,22.6666667 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z"/> <path fill="currentColor" fill-rule="nonzero" d="M12,22.6666667 C17.8910373,22.6666667 22.6666667,17.8910373 22.6666667,12 C22.6666667,6.10896267 17.8910373,1.33333333 12,1.33333333 C6.10896267,1.33333333 1.33333333,6.10896267 1.33333333,12 C1.33333333,17.8910373 6.10896267,22.6666667 12,22.6666667 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z"/>
<use fill="#0060df" xlink:href="#addfiles-a"/> <polygon fill="currentColor" points="11.143 6 11.143 11.143 6 11.143 6 12.857 11.143 12.857 11.143 18 12.857 18 12.857 12.857 18 12.857 18 11.143 12.857 11.143 12.857 6"/>
</g> </g>
</symbol>
<use xlink:href="#plus"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 856 B

After

Width:  |  Height:  |  Size: 831 B

View File

@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="32px" viewBox="0 0 26 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com --> <symbol id="icon" viewBox="0 0 26 32">
<title>6AF7DAB4-6456-44F2-AABE-F001D910B641</title>
<desc>Created with sketchtool.</desc>
<defs> <defs>
<path d="M21.848475,31.6653183 L2.89005487,31.6653183 C1.32717435,31.6653183 0.104050469,30.3742431 0.104050469,28.8793139 L0.104050469,2.7860044 C0.104050469,1.22312388 1.39512568,0 2.89005487,0 L14.7135857,0 C15.4610503,0 16.2085149,0.271805307 16.6841742,0.815415921 L23.8190635,7.95030523 C24.3626741,8.49391584 24.6344794,9.17342911 24.6344794,9.9208937 L24.6344794,28.8793139 C24.6344794,30.3742431 23.4113555,31.6653183 21.848475,31.6653183 Z" id="path-1"></path> <path d="M21.848475,31.6653183 L2.89005487,31.6653183 C1.32717435,31.6653183 0.104050469,30.3742431 0.104050469,28.8793139 L0.104050469,2.7860044 C0.104050469,1.22312388 1.39512568,0 2.89005487,0 L14.7135857,0 C15.4610503,0 16.2085149,0.271805307 16.6841742,0.815415921 L23.8190635,7.95030523 C24.3626741,8.49391584 24.6344794,9.17342911 24.6344794,9.9208937 L24.6344794,28.8793139 C24.6344794,30.3742431 23.4113555,31.6653183 21.848475,31.6653183 Z" id="path-1"></path>
</defs> </defs>
@@ -14,14 +12,15 @@
<mask id="mask-2" fill="white"> <mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use> <use xlink:href="#path-1"></use>
</mask> </mask>
<use id="Mask" fill="#45A1FF" opacity="0.6" xlink:href="#path-1"></use> <use id="Mask" fill="#45a1ff" xlink:href="#path-1"></use>
<path d="M24.3031318,10.6474633 L16.7826187,10.6474633 C15.2742552,10.6474633 14.051485,9.42469306 14.051485,7.91632957 L14.051485,0.395816478" id="Path" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path> <path d="M24.3031318,10.6474633 L16.7826187,10.6474633 C15.2742552,10.6474633 14.051485,9.42469306 14.051485,7.91632957 L14.051485,0.395816478" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
<path d="M7.2830232,8.93885547 L8.91906464,8.93885547" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path> <path d="M7.2830232,8.93885547 L8.91906464,8.93885547" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
<path d="M7.2830232,15.7798836 L17.5412669,15.7798836" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path> <path d="M7.2830232,15.7798836 L17.5412669,15.7798836" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
<path d="M7.2830232,22.6209117 L17.5412669,22.6209117" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path> <path d="M7.2830232,22.6209117 L17.5412669,22.6209117" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
</g> </g>
</g> </g>
</g> </g>
</g> </g>
</g> </g>
</symbol>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 16 16"><path fill="#4A4A4A" d="M9.414 8l5.293-5.293a1 1 0 0 0-1.414-1.414L8 6.586 2.707 1.293a1 1 0 0 0-1.414 1.414L6.586 8l-5.293 5.293a1 1 0 1 0 1.414 1.414L8 9.414l5.293 5.293a1 1 0 0 0 1.414-1.414z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 16 16"><path fill="#737373" d="M9.414 8l5.293-5.293a1 1 0 0 0-1.414-1.414L8 6.586 2.707 1.293a1 1 0 0 0-1.414 1.414L6.586 8l-5.293 5.293a1 1 0 1 0 1.414 1.414L8 9.414l5.293 5.293a1 1 0 0 0 1.414-1.414z"/></svg>

Before

Width:  |  Height:  |  Size: 287 B

After

Width:  |  Height:  |  Size: 287 B

View File

@@ -1 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="#0060df" d="M14.707 8.293l-3-3A1 1 0 0 0 11 5h-1V4a1 1 0 0 0-.293-.707l-3-3A1 1 0 0 0 6 0H3a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h3v3a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V9a1 1 0 0 0-.293-.707zM12.586 9H11V7.414zm-5-5H6V2.414zM6 7v2H3V2h2v2.5a.5.5 0 0 0 .5.5H8a2 2 0 0 0-2 2zm2 7V7h2v2.5a.5.5 0 0 0 .5.5H13v4z"/></svg> <svg xmlns="http://www.w3.org/2000/svg">
<symbol id="icon" viewBox="0 0 16 16">
<path fill="currentColor" d="M14.707 8.293l-3-3A1 1 0 0 0 11 5h-1V4a1 1 0 0 0-.293-.707l-3-3A1 1 0 0 0 6 0H3a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h3v3a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V9a1 1 0 0 0-.293-.707zM12.586 9H11V7.414zm-5-5H6V2.414zM6 7v2H3V2h2v2.5a.5.5 0 0 0 .5.5H8a2 2 0 0 0-2 2zm2 7V7h2v2.5a.5.5 0 0 0 .5.5H13v4z"/>
</symbol>
</svg>

Before

Width:  |  Height:  |  Size: 398 B

After

Width:  |  Height:  |  Size: 411 B

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg width="12px" height="16px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com --> <symbol id="icon" viewBox="0 0 12 16">
<title>728D143F-562C-4AE5-80DA-9DBBD9D647D8</title> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<desc>Created with sketchtool.</desc> <g transform="translate(-770.000000, -481.000000)" fill="currentColor">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(744.000000, 350.000000)">
<g id="Send_Sending" transform="translate(-770.000000, -481.000000)" fill="#0060DF"> <g transform="translate(26.000000, 131.000000)">
<g id="List-Item-3" transform="translate(744.000000, 350.000000)"> <path d="M5.293,12.707 C5.6835,13.097382 6.316501,13.097383 6.707001,12.707 L11.707,7.707 C12.08597,7.31462 12.08054,6.69092 11.69481,6.305189 C11.30908,5.91946 10.68538,5.91403 10.293,6.293 L7,9.586 L7,1 C7,0.44772 6.552285,0 6,0 C5.447715,0 5,0.44772 5,1 L5,9.586 L1.707,6.293 C1.314621,5.91403 0.690915,5.91945 0.305181,6.305182 C-0.080553,6.690915 -0.085973,7.314622 0.293,7.707001 L5.293,12.707 Z M11,14 L1,14 C0.447715,14 0,14.447715 0,15 C0,15.5522852 0.447715,16 1,16 L11,16 C11.55228,16 12,15.5522852 12,15 C12,14.447715 11.55229,14 11,14 Z"></path>
<g id="Download-Icon" transform="translate(26.000000, 131.000000)">
<path d="M5.293,12.707 C5.6835,13.097382 6.316501,13.097383 6.707001,12.707 L11.707,7.707 C12.08597,7.31462 12.08054,6.69092 11.69481,6.305189 C11.30908,5.91946 10.68538,5.91403 10.293,6.293 L7,9.586 L7,1 C7,0.44772 6.552285,0 6,0 C5.447715,0 5,0.44772 5,1 L5,9.586 L1.707,6.293 C1.314621,5.91403 0.690915,5.91945 0.305181,6.305182 C-0.080553,6.690915 -0.085973,7.314622 0.293,7.707001 L5.293,12.707 Z M11,14 L1,14 C0.447715,14 0,14.447715 0,15 C0,15.5522852 0.447715,16 1,16 L11,16 C11.55228,16 12,15.5522852 12,15 C12,14.447715 11.55229,14 11,14 Z" id="Fill-1"></path>
</g> </g>
</g> </g>
</g> </g>
</g> </g>
</symbol>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

41
assets/icon.svg Normal file
View File

@@ -0,0 +1,41 @@
<svg viewBox="0 0 65 64" height="64" width="65" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="linear-gradient" x1="46.37" y1="59.71" x2="15.42" y2="6.11" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff980e"/>
<stop offset="0.21" stop-color="#ff7139"/>
<stop offset="0.36" stop-color="#ff5854"/>
<stop offset="0.46" stop-color="#ff4f5e"/>
<stop offset="0.69" stop-color="#ff3750"/>
<stop offset="0.86" stop-color="#f92261"/>
<stop offset="1" stop-color="#f5156c"/>
</linearGradient>
<linearGradient id="linear-gradient-2" x1="46.37" y1="59.71" x2="15.42" y2="6.11" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#fff44f" stop-opacity="0.8"/>
<stop offset="0.09" stop-color="#fff44f" stop-opacity="0.7"/>
<stop offset="0.75" stop-color="#fff44f" stop-opacity="0"/>
</linearGradient>
<linearGradient id="linear-gradient-3" x1="40.19" y1="26.08" x2="54.32" y2="50.55" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#3a8ee6"/>
<stop offset="0.24" stop-color="#5c79f0"/>
<stop offset="0.63" stop-color="#9059ff"/>
<stop offset="1" stop-color="#c139e6"/>
</linearGradient>
<linearGradient id="linear-gradient-4" x1="54.32" y1="50.58" x2="48.39" y2="40.31" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#6e008b" stop-opacity="0.5"/>
<stop offset="0.5" stop-color="#c846cb" stop-opacity="0"/>
</linearGradient>
<linearGradient id="linear-gradient-5" x1="56.96" y1="22.5" x2="41.98" y2="37.46" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
<stop offset="0.14" stop-color="#6a2bea" stop-opacity="0"/>
<stop offset="0.34" stop-color="#642de4" stop-opacity="0.03"/>
<stop offset="0.55" stop-color="#5131d3" stop-opacity="0.12"/>
<stop offset="0.76" stop-color="#3139b7" stop-opacity="0.27"/>
<stop offset="0.98" stop-color="#054490" stop-opacity="0.48"/>
<stop offset="1" stop-color="#00458b" stop-opacity="0.5"/>
</linearGradient>
</defs>
<path d="M32.56,0C14.61,0,0,14.33,0,31.94a3.42,3.42,0,0,0,3.42,3.42H29.14V52.3l-8-8a3.42,3.42,0,1,0-4.84,4.84L30.14,63a2.73,2.73,0,0,0,.25.23l.23.17h.05l.24.14.27.13.28.1.29.07L32,64h1.27l.29-.07.29-.1.27-.13.24-.14.24-.17L35,63,48.8,49.18A3.43,3.43,0,0,0,44,44.34l-8,8v-17H61.7a3.42,3.42,0,0,0,3.42-3.42h0C65.12,14.33,50.51,0,32.56,0ZM7.09,28.51A25.54,25.54,0,0,1,32.56,6.85,25.55,25.55,0,0,1,58,28.51Z" fill="url(#linear-gradient)"/>
<path d="M32.56,0C14.61,0,0,14.33,0,31.94a3.42,3.42,0,0,0,3.42,3.42H29.14V52.3l-8-8a3.42,3.42,0,1,0-4.84,4.84L30.14,63a2.73,2.73,0,0,0,.25.23l.23.17h.05l.24.14.27.13.28.1.29.07L32,64h1.27l.29-.07.29-.1.27-.13.24-.14.24-.17L35,63,48.8,49.18A3.43,3.43,0,0,0,44,44.34l-8,8v-17H61.7a3.42,3.42,0,0,0,3.42-3.42h0C65.12,14.33,50.51,0,32.56,0ZM7.09,28.51A25.54,25.54,0,0,1,32.56,6.85,25.55,25.55,0,0,1,58,28.51Z" fill="url(#linear-gradient-2)"/>
<path d="M36,7.08A25.45,25.45,0,0,1,58,28.51H42.85A6.85,6.85,0,0,0,36,35.36H61.7a3.43,3.43,0,0,0,3.42-3.43c0-12.2-8.63-18.13-16-21.59A35.75,35.75,0,0,0,36,7.08Z" fill="url(#linear-gradient-3)"/>
<path d="M57.89,27.76c2.31,1.86,4.63,3.71,6.9,5.61a3.27,3.27,0,0,0,.33-1.44c0-12.2-8.63-18.13-16-21.59A35.75,35.75,0,0,0,36,7.08,25.47,25.47,0,0,1,57.89,27.76Z" fill="url(#linear-gradient-4)"/>
<path d="M57.5,28.51H42.85A6.85,6.85,0,0,0,36,35.36H61.7a3.36,3.36,0,0,0,2.64-1.28C62.09,32.19,59.79,30.36,57.5,28.51Z" opacity=".9" fill="url(#linear-gradient-5)"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg width="8px" height="6px" viewBox="0 0 8 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg width="8px" height="6px" viewBox="0 0 8 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
<title>37845F0A-2932-4C2D-98E1-89BE1B168092</title>
<desc>Created with sketchtool.</desc>
<defs> <defs>
<path d="M6,8.48771202 C5.73480519,8.48765538 5.48049273,8.3822614 5.293,8.19471202 L2.293,5.19471202 C1.91402779,4.80233313 1.91944763,4.17862724 2.30518142,3.79289345 C2.69091522,3.40715965 3.31462111,3.40173981 3.707,3.78071202 L6,6.07371202 L8.293,3.78071202 C8.68537889,3.40173981 9.30908478,3.40715965 9.69481858,3.79289345 C10.0805524,4.17862724 10.0859722,4.80233313 9.707,5.19471202 L6.707,8.19471202 C6.51950727,8.3822614 6.26519481,8.48765538 6,8.48771202 Z" id="path-1"></path> <path d="M6,8.48771202 C5.73480519,8.48765538 5.48049273,8.3822614 5.293,8.19471202 L2.293,5.19471202 C1.91402779,4.80233313 1.91944763,4.17862724 2.30518142,3.79289345 C2.69091522,3.40715965 3.31462111,3.40173981 3.707,3.78071202 L6,6.07371202 L8.293,3.78071202 C8.68537889,3.40173981 9.30908478,3.40715965 9.69481858,3.79289345 C10.0805524,4.17862724 10.0859722,4.80233313 9.707,5.19471202 L6.707,8.19471202 C6.51950727,8.3822614 6.26519481,8.48765538 6,8.48771202 Z" id="path-1"></path>
</defs> </defs>
@@ -14,7 +11,7 @@
<mask id="mask-2" fill="white"> <mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use> <use xlink:href="#path-1"></use>
</mask> </mask>
<use id="Shape" fill="#0C0C0D" fill-rule="nonzero" opacity="0.599283854" xlink:href="#path-1"></use> <use id="Shape" fill="#b1b1b3" fill-rule="nonzero" opacity="0.599283854" xlink:href="#path-1"></use>
</g> </g>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,4 +1,5 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public <!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 9a3 3 0 1 0-2.977-2.63l-6.94 3.47a3 3 0 1 0 0 4.319l6.94 3.47a3 3 0 1 0 .895-1.789l-6.94-3.47a3.03 3.03 0 0 0 0-.74l6.94-3.47C16.456 8.68 17.19 9 18 9z" fill="#0060df" fill-opacity=".8"></path></svg> <svg xmlns="http://www.w3.org/2000/svg">
<symbol id="icon" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 9a3 3 0 1 0-2.977-2.63l-6.94 3.47a3 3 0 1 0 0 4.319l6.94 3.47a3 3 0 1 0 .895-1.789l-6.94-3.47a3.03 3.03 0 0 0 0-.74l6.94-3.47C16.456 8.68 17.19 9 18 9z" fill="currentColor"></path></symbol></svg>

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 539 B

6
assets/wordmark.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="logo" viewBox="66 0 340 64">
<path d="M84,48h5.83V35.87H103.3V30.45H89.83V23.51H103.3V18H84Zm23.57,0h5.79V25.81h-5.79Zm2.88-32.12a3.46,3.46,0,0,0-2.59,1,3.62,3.62,0,0,0-1,2.65,3.57,3.57,0,0,0,1,2.59,3.52,3.52,0,0,0,2.61,1,3.46,3.46,0,0,0,3.65-3.26c0-.12,0-.23,0-.35a3.71,3.71,0,0,0-1-2.65,3.5,3.5,0,0,0-2.67-1Zm19.14,9.53a7.22,7.22,0,0,0-3.72.93,5.82,5.82,0,0,0-2.4,2.89V25.81h-5.59V48h5.63V36.29a5.27,5.27,0,0,1,1.31-4,4.94,4.94,0,0,1,3.49-1.21,6.33,6.33,0,0,1,1.73.23,4,4,0,0,1,1.23.55l2-5.59a7.51,7.51,0,0,0-1.66-.61,8.11,8.11,0,0,0-2-.26Zm23.94,3.19a11.15,11.15,0,0,0-3.61-2.37,12.08,12.08,0,0,0-4.6-.86,11.62,11.62,0,0,0-8.3,3.37,11.17,11.17,0,0,0-2.44,3.67,11.59,11.59,0,0,0-.89,4.54,12.24,12.24,0,0,0,.83,4.52,10.52,10.52,0,0,0,2.36,3.66,10.93,10.93,0,0,0,3.71,2.44,12.75,12.75,0,0,0,4.85.88,12.15,12.15,0,0,0,6.12-1.39,13.25,13.25,0,0,0,4.11-3.74L151,40.6a6.23,6.23,0,0,1-2.18,2.15,6.36,6.36,0,0,1-3.33.8,6.7,6.7,0,0,1-4.13-1.25,6,6,0,0,1-2.23-3.43h17.62V36.74a11.71,11.71,0,0,0-.87-4.56,10.5,10.5,0,0,0-2.35-3.59Zm-14.21,5.85a6.38,6.38,0,0,1,2.26-3.12,6.11,6.11,0,0,1,3.74-1.15,6.26,6.26,0,0,1,3.73,1.08,5.56,5.56,0,0,1,2.1,3.19ZM167,16.08a6.05,6.05,0,0,0-2.91,1.54,6.15,6.15,0,0,0-1.56,2.89,18.1,18.1,0,0,0-.48,4.52v.78H158.4v5.1h3.65V48h5.63V30.91H173v-5.1h-5.3V24.75a13.34,13.34,0,0,1,.12-2,2,2,0,0,1,.6-1.19,2.45,2.45,0,0,1,1.33-.57,15.25,15.25,0,0,1,2.34-.15H173V15.63h-1.48A19.06,19.06,0,0,0,167,16.08Zm27.4,12.65a12,12,0,0,0-16.72,0,10.87,10.87,0,0,0-2.46,3.67,11.61,11.61,0,0,0-.89,4.5,11.46,11.46,0,0,0,7.07,10.64,11.73,11.73,0,0,0,4.64.9,12,12,0,0,0,4.66-.9,11.26,11.26,0,0,0,3.72-2.49,11.83,11.83,0,0,0,2.46-3.67,11.31,11.31,0,0,0,.9-4.48A11.43,11.43,0,0,0,194.4,28.73ZM191.7,39.3a5.88,5.88,0,0,1-1.29,2,6.53,6.53,0,0,1-1.93,1.31,6,6,0,0,1-4.76,0,6.34,6.34,0,0,1-1.93-1.31,6.06,6.06,0,0,1-1.3-2,6.48,6.48,0,0,1,0-4.86,5.76,5.76,0,0,1,1.3-2,6.08,6.08,0,0,1,1.93-1.32,6,6,0,0,1,4.76,0,6.37,6.37,0,0,1,1.93,1.32,5.73,5.73,0,0,1,1.29,2A6.39,6.39,0,0,1,191.7,39.3Zm29.47-13.49h-6.65l-4.68,6.57-4.64-6.57h-6.74l7.84,10.8L198,48h6.82l5-6.94L214.89,48h6.86l-8.46-11.34Zm34,7.46a12.88,12.88,0,0,0-3.37-1.44c-1.25-.34-2.46-.63-3.63-.88l-3.08-.7a10.64,10.64,0,0,1-2.51-.86A4.54,4.54,0,0,1,240.87,28a3.61,3.61,0,0,1-.62-2.19,4.8,4.8,0,0,1,1.58-3.7c1.06-1,2.73-1.44,5-1.44a9.84,9.84,0,0,1,5.07,1.17,10.47,10.47,0,0,1,3.39,3.23l2.79-2.18A15.22,15.22,0,0,0,253.45,19a13.8,13.8,0,0,0-6.59-1.44,12.13,12.13,0,0,0-4.14.66A10.33,10.33,0,0,0,239.53,20a7.53,7.53,0,0,0-2.05,2.63,7.41,7.41,0,0,0-.72,3.24,6.7,6.7,0,0,0,.84,3.53,7.06,7.06,0,0,0,2.2,2.22A11.11,11.11,0,0,0,242.86,33c1.13.32,2.29.6,3.47.84l3.26.74a12.63,12.63,0,0,1,2.8,1,5.86,5.86,0,0,1,2,1.56,3.88,3.88,0,0,1,.74,2.42,5.2,5.2,0,0,1-1.81,4.09A7.83,7.83,0,0,1,248,45.2a11,11,0,0,1-9.89-5.38l-3,2.34a15.86,15.86,0,0,0,5.23,4.54,16.06,16.06,0,0,0,7.7,1.7,12.58,12.58,0,0,0,4.38-.72,10.14,10.14,0,0,0,3.3-2,8.79,8.79,0,0,0,2.1-2.85,8.09,8.09,0,0,0,.74-3.39,6.94,6.94,0,0,0-1-3.8,7.71,7.71,0,0,0-2.42-2.37Zm27.51-4.72a10.53,10.53,0,0,0-3.58-2.34,11.89,11.89,0,0,0-4.49-.84,11.6,11.6,0,0,0-4.62.9,11.35,11.35,0,0,0-3.66,2.46A11.84,11.84,0,0,0,263,37a12.21,12.21,0,0,0,.82,4.51,10.53,10.53,0,0,0,2.36,3.64,11.24,11.24,0,0,0,3.7,2.42,12.41,12.41,0,0,0,4.82.88A11.68,11.68,0,0,0,280.82,47,12.84,12.84,0,0,0,285,42.82l-2.88-1.69a7.85,7.85,0,0,1-7.43,4.27,9,9,0,0,1-3.22-.53,8.21,8.21,0,0,1-2.55-1.5,8,8,0,0,1-1.78-2.28,7.79,7.79,0,0,1-.87-2.91h19.59V36.66a11.75,11.75,0,0,0-.86-4.54,10.92,10.92,0,0,0-2.35-3.57ZM266.4,35.22a8.88,8.88,0,0,1,1-2.73,8.55,8.55,0,0,1,1.79-2.18,8,8,0,0,1,2.44-1.43,8.31,8.31,0,0,1,3-.52,7.45,7.45,0,0,1,7.84,6.86ZM308.82,28a8.11,8.11,0,0,0-3-2,10.89,10.89,0,0,0-3.92-.67,9.06,9.06,0,0,0-4.58,1.14,8.76,8.76,0,0,0-3.14,3V25.82h-3.29V48h3.37V35.67a7.92,7.92,0,0,1,.53-2.93,7,7,0,0,1,1.48-2.3,6.46,6.46,0,0,1,2.22-1.5,7,7,0,0,1,2.75-.54,6.33,6.33,0,0,1,5,1.93A7.46,7.46,0,0,1,308,35.51V48h3.41V35.34a12.46,12.46,0,0,0-.66-4.19A8.68,8.68,0,0,0,308.82,28Zm27-12.42v14.1a8.14,8.14,0,0,0-1.58-1.83,10.08,10.08,0,0,0-2-1.36,10.39,10.39,0,0,0-2.3-.84,10.22,10.22,0,0,0-2.4-.28,11.63,11.63,0,0,0-4.4.84,11.09,11.09,0,0,0-3.59,2.38,11.3,11.3,0,0,0-2.42,3.65,12.81,12.81,0,0,0,0,9.32,11.56,11.56,0,0,0,2.4,3.66,10.58,10.58,0,0,0,3.59,2.38,11.77,11.77,0,0,0,4.42.84,9.69,9.69,0,0,0,2.4-.31,11,11,0,0,0,2.3-.86,9.72,9.72,0,0,0,2-1.37,8.75,8.75,0,0,0,1.58-1.85v4h3.33V15.59Zm-.37,24.58a8.3,8.3,0,0,1-10.85,4.47h0a7.68,7.68,0,0,1-2.6-1.76,7.88,7.88,0,0,1-1.73-2.67,8.93,8.93,0,0,1-.62-3.35,8.67,8.67,0,0,1,.62-3.3A8,8,0,0,1,322,30.89a8.17,8.17,0,0,1,2.6-1.79,8.27,8.27,0,0,1,6.51,0,8.64,8.64,0,0,1,2.63,1.81,7.85,7.85,0,0,1,1.72,2.67,8.67,8.67,0,0,1,.62,3.26,8.86,8.86,0,0,1-.65,3.33Z" fill="currentColor"/>
</symbol>
<use xlink:href="#logo"/>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,8 +1,8 @@
# Custom Loaders # Custom Loaders
## Generate Asset Map ## Android Index Plugin
This loader enumerates all the files in `assets/` so that `common/assets.js` can provide mappings from the source filename to the hashed filename used on the site. Generates the `index.html` page for the native android client
## Version Plugin ## Version Plugin

View File

@@ -1,6 +1,14 @@
const commit = require('git-rev-sync').short(); const gitRevSync = require('git-rev-sync');
const pkg = require('../package.json'); const pkg = require('../package.json');
let commit = 'unknown';
try {
commit = gitRevSync.short();
} catch (e) {
console.warn('Error fetching current git commit: ' + e);
}
const version = JSON.stringify({ const version = JSON.stringify({
commit, commit,
source: pkg.homepage, source: pkg.homepage,

View File

@@ -1,4 +1,4 @@
const genmap = require('../build/generate_asset_map'); const genmap = require('./generate_asset_map');
const isServer = typeof genmap === 'function'; const isServer = typeof genmap === 'function';
let prefix = ''; let prefix = '';
let manifest = {}; let manifest = {};

View File

@@ -1,3 +1,7 @@
# Common Code # Common Code
This directory contains code loaded by both the frontend `app` and backend `server`. The code here can be challenging to understand at first because the contexts for the two (three counting the dev server) environments that include them are quite different, but the purpose of these modules are quite simple, to provide mappings from the source assets (`copy-16.png`) to the concrete production assets (`copy-16.db66e0bf.svg`). This directory contains code loaded by both the frontend `app` and backend `server`. The code here can be challenging to understand at first because the contexts for the two (three counting the dev server) environments that include them are quite different, but the purpose of these modules are quite simple, to provide mappings from the source assets (`copy-16.png`) to the concrete production assets (`copy-16.db66e0bf.svg`).
## Generate Asset Map
This loader enumerates all the files in `assets/` so that `common/assets.js` can provide mappings from the source filename to the hashed filename used on the site.

View File

@@ -1,13 +1,6 @@
## Setup ## Setup
Before building the Docker image, you must build the production assets: Run `docker build -t send:latest .` to create an image or `docker-compose up` to run a full testable stack. *We don't recommend using docker-compose for production.*
```sh
npm run build
```
Then you can run either `docker build` or `docker-compose up`.
## Environment variables: ## Environment variables:

10926
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{ {
"name": "firefox-send", "name": "firefox-send",
"description": "File Sharing Experiment", "description": "File Sharing Experiment",
"version": "3.0.18", "version": "3.0.22",
"author": "Mozilla (https://mozilla.org)", "author": "Mozilla (https://mozilla.org)",
"repository": "mozilla/send", "repository": "mozilla/send",
"homepage": "https://github.com/mozilla/send/", "homepage": "https://github.com/mozilla/send/",
@@ -26,7 +26,7 @@
"test:frontend": "cross-env NODE_ENV=development node test/frontend/runner.js", "test:frontend": "cross-env NODE_ENV=development node test/frontend/runner.js",
"test:report": "nyc report --reporter=html", "test:report": "nyc report --reporter=html",
"test-integration": "cross-env NODE_ENV=development wdio test/wdio.docker.conf.js", "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", "circleci-test-integration": "echo 'webdriverio tests need to be updated to node 12'",
"start": "npm run clean && cross-env NODE_ENV=development L10N_DEV=true FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost: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", "android": "cross-env ANDROID=1 npm start",
"prod": "node server/bin/prod.js" "prod": "node server/bin/prod.js"
@@ -58,33 +58,33 @@
"cache": true "cache": true
}, },
"engines": { "engines": {
"node": ">=10.0.0" "node": "^12.16.3"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.6.0", "@babel/core": "^7.7.2",
"@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.7.0",
"@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "^7.6.0", "@babel/preset-env": "^7.7.1",
"@dannycoates/webcrypto-liner": "^0.1.37", "@dannycoates/webcrypto-liner": "^0.1.37",
"@fullhuman/postcss-purgecss": "^1.2.0", "@fullhuman/postcss-purgecss": "^1.3.0",
"@mattiasbuelens/web-streams-polyfill": "0.2.1", "@mattiasbuelens/web-streams-polyfill": "0.2.1",
"@sentry/browser": "^5.6.3", "@sentry/browser": "^5.8.0",
"asmcrypto.js": "^0.22.0", "asmcrypto.js": "^0.22.0",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
"babel-plugin-istanbul": "^5.2.0", "babel-plugin-istanbul": "^5.2.0",
"base64-js": "^1.3.1", "base64-js": "^1.3.1",
"content-disposition": "^0.5.3", "content-disposition": "^0.5.3",
"copy-webpack-plugin": "^5.0.4", "copy-webpack-plugin": "^5.0.5",
"core-js": "^3.2.1", "core-js": "^3.4.0",
"crc": "^3.8.0", "crc": "^3.8.0",
"cross-env": "^5.2.1", "cross-env": "^6.0.3",
"css-loader": "^3.2.0", "css-loader": "^3.2.0",
"css-mqpacker": "^7.0.0", "css-mqpacker": "^7.0.0",
"cssnano": "^4.1.10", "cssnano": "^4.1.10",
"eslint": "^6.3.0", "eslint": "^6.6.0",
"eslint-config-prettier": "^6.2.0", "eslint-config-prettier": "^6.5.0",
"eslint-plugin-mocha": "^6.1.0", "eslint-plugin-mocha": "^6.2.1",
"eslint-plugin-node": "^9.2.0", "eslint-plugin-node": "^10.0.0",
"eslint-plugin-security": "^1.4.0", "eslint-plugin-security": "^1.4.0",
"expose-loader": "^0.7.5", "expose-loader": "^0.7.5",
"extract-loader": "^3.1.0", "extract-loader": "^3.1.0",
@@ -94,64 +94,56 @@
"git-rev-sync": "^1.12.0", "git-rev-sync": "^1.12.0",
"html-loader": "^0.5.5", "html-loader": "^0.5.5",
"http_ece": "^1.1.0", "http_ece": "^1.1.0",
"husky": "^3.0.5", "husky": "^3.0.9",
"intl-pluralrules": "^1.0.3", "intl-pluralrules": "^1.1.1",
"lint-staged": "^9.2.5", "lint-staged": "^9.4.2",
"mocha": "^6.2.0", "mocha": "^6.2.2",
"morgan": "^1.9.1", "morgan": "^1.9.1",
"nanobus": "^4.4.0", "nanobus": "^4.4.0",
"nanohtml": "^1.8.1", "nanohtml": "^1.9.0",
"nanotiming": "^7.3.1", "nanotiming": "^7.3.1",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"nyc": "^14.1.1", "nyc": "^14.1.1",
"postcss-loader": "^3.0.0", "postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0", "postcss-preset-env": "^6.7.0",
"prettier": "^1.18.2", "prettier": "^1.19.1",
"proxyquire": "^2.1.3", "proxyquire": "^2.1.3",
"puppeteer": "^1.19.0", "puppeteer": "^2.0.0",
"raw-loader": "^3.1.0", "raw-loader": "^3.1.0",
"redis-mock": "^0.46.0", "redis-mock": "^0.47.0",
"rimraf": "^3.0.0", "rimraf": "^3.0.0",
"script-loader": "^0.7.2", "script-loader": "^0.7.2",
"sinon": "^7.4.2", "sinon": "^7.5.0",
"string-hash": "^1.1.3", "string-hash": "^1.1.3",
"stylelint": "^10.1.0", "stylelint": "^11.1.1",
"stylelint-config-standard": "^18.3.0", "stylelint-config-standard": "^19.0.0",
"stylelint-no-unsupported-browser-features": "^3.0.2", "stylelint-no-unsupported-browser-features": "^3.0.2",
"svgo": "^1.3.0", "svgo": "^1.3.2",
"svgo-loader": "^2.2.1", "svgo-loader": "^2.2.1",
"tailwindcss": "^1.1.2", "tailwindcss": "^1.1.3",
"val-loader": "^1.1.1", "val-loader": "^1.1.1",
"wdio-docker-service": "^1.4.2",
"wdio-dot-reporter": "0.0.10",
"wdio-firefox-profile-service": "^0.1.3",
"wdio-mocha-framework": "^0.6.3",
"wdio-sauce-service": "^0.4.14",
"wdio-selenium-standalone-service": "0.0.12",
"wdio-spec-reporter": "^0.1.5",
"webdriverio": "^4.14.4",
"webpack": "4.38.0", "webpack": "4.38.0",
"webpack-cli": "^3.3.8", "webpack-cli": "^3.3.10",
"webpack-dev-middleware": "^3.7.1", "webpack-dev-middleware": "^3.7.2",
"webpack-dev-server": "^3.8.0", "webpack-dev-server": "^3.9.0",
"webpack-manifest-plugin": "^2.0.4", "webpack-manifest-plugin": "^2.2.0",
"webpack-unassert-loader": "^1.2.0" "webpack-unassert-loader": "^1.2.0"
}, },
"dependencies": { "dependencies": {
"@dannycoates/express-ws": "^5.0.3", "@dannycoates/express-ws": "^5.0.3",
"@fluent/bundle": "^0.13.0", "@fluent/bundle": "^0.13.0",
"@fluent/langneg": "^0.3.0", "@fluent/langneg": "^0.3.0",
"@google-cloud/storage": "^3.2.1", "@google-cloud/storage": "^4.1.1",
"@sentry/node": "^5.6.2", "@sentry/node": "^5.8.0",
"aws-sdk": "^2.524.0", "aws-sdk": "^2.568.0",
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"choo": "^7.0.0", "choo": "^7.0.0",
"cldr-core": "^35.1.0", "cldr-core": "^35.1.0",
"configstore": "github:dannycoates/configstore#master", "configstore": "github:dannycoates/configstore#master",
"convict": "^5.1.0", "convict": "^5.2.0",
"express": "^4.17.1", "express": "^4.17.1",
"fxa-geodb": "^1.0.4", "fxa-geodb": "^1.0.4",
"helmet": "^3.21.0", "helmet": "^3.21.2",
"mkdirp": "^0.5.1", "mkdirp": "^0.5.1",
"mozlog": "^2.2.0", "mozlog": "^2.2.0",
"node-fetch": "^2.6.0", "node-fetch": "^2.6.0",
@@ -161,8 +153,11 @@
}, },
"availableLanguages": [ "availableLanguages": [
"en-US", "en-US",
"an",
"ar", "ar",
"ast", "ast",
"azz",
"be",
"bn", "bn",
"br", "br",
"ca", "ca",
@@ -181,13 +176,17 @@
"es-MX", "es-MX",
"et", "et",
"eu", "eu",
"fa",
"fi", "fi",
"fr", "fr",
"fy-NL", "fy-NL",
"gn",
"he", "he",
"hr", "hr",
"hsb", "hsb",
"hu", "hu",
"hus",
"hy-AM",
"ia", "ia",
"id", "id",
"it", "it",
@@ -196,6 +195,8 @@
"kab", "kab",
"ko", "ko",
"lt", "lt",
"meh",
"mix",
"ml", "ml",
"nb-NO", "nb-NO",
"nl", "nl",
@@ -203,8 +204,10 @@
"oc", "oc",
"pa-IN", "pa-IN",
"pl", "pl",
"ppl",
"pt-BR", "pt-BR",
"pt-PT", "pt-PT",
"quc",
"ro", "ro",
"ru", "ru",
"sk", "sk",
@@ -213,6 +216,7 @@
"sr", "sr",
"su", "su",
"sv-SE", "sv-SE",
"te",
"th", "th",
"tr", "tr",
"uk", "uk",

155
public/locales/an/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 = Comentarios
importingFile = Se ye importando…
encryptingFile = Se ye cifrando…
decryptingFile = Se ye descifrando…
downloadCount =
{ $num ->
[one] 1 descarga
*[other] { $num } descargas
}
timespanHours =
{ $num ->
[one] hora
*[other] horas
}
copiedUrl = Copiau!
unlockInputPlaceholder = Clau
unlockButtonLabel = Desblocar
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Preba Firefox Send
errorPageHeader = I ha habiu bell problema!
fileTooBig = Ixe fichero ye masiau gran pa cargar-lo. Ha de tener menos de { $size }
linkExpiredAlt = Lo vinclo ye caducau
notSupportedHeader = Lo suyo navegador no ye compatible
notSupportedLink = Per qué no ye compatible lo mío navegador?
notSupportedOutdatedDetail = Esta versión de Firefox no admite la tecnolochía web con que funciona lo Firefox Send. Habrás d'esviellar lo navegador.
updateFirefox = Esviellar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Borrar
footerLinkLegal = Aviso legal
footerLinkPrivacy = Privacidat
footerLinkCookies = Cookies
passwordTryAgain = La contrasenya ye incorrecta. Torne-lo a intentar.
javascriptRequired = Firefox Send necesita JavaScript
whyJavascript = Per qué Firefox Send necesita JavaScript?
enableJavascript = Activa JavaScript y torna-lo a intentar.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } min
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } min
# A short status message shown when the user enters a long password
maxPasswordLength = Maxima lonchitut d'a clau: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = No s'ha puesto definir la clau
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartición de fichers simpla y privada
introDescription = { -send-brand } te permite de compartir fichers cifraus de cabo a cabo, y tamién un vinclo que expira automaticament. Asinas, puetz mantener en privau lo que compartes y asegurar-te de que los tuyos contenius no se quedan pa cutio en linia.
notifyUploadEncryptDone = Lo fichero s'ha cifrau y ye presto pa ninviar-se
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Caduca dimpués de { $downloadCount } u { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minuto
*[other] { $num } minutos
}
timespanDays =
{ $num ->
[one] 1 día
*[other] { $num } días
}
timespanWeeks =
{ $num ->
[one] 1 semana
*[other] { $num } semanas
}
fileCount =
{ $num ->
[one] 1 fichero
*[other] { $num } fichers
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Mida total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copiar lo vinclo que quiers compartir
copyLinkButton = Copiar lo vinclo
downloadTitle = Descargar los fichers
downloadDescription = Este fichero s'ha compartiu per medio de { -send-brand } con cifrau de cabo a cabo y un vinclo que caduca automaticament.
trySendDescription = Preba { -send-brand } pa una compartición de fichers simpla y segura.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Nomás se puet puyar 1 fitxer de vez.
*[other] Nomás se pueden puyar { $count } fichers de vez.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Nomás se permite 1 ficher.
*[other] Nomás se permiten { $count } fichers.
}
expiredTitle = Este vinclo ye caducau.
notSupportedDescription = { -send-brand } no funcionará con este navegador. { -send-short-brand } funciona millor con a zaguera versión de { -firefox } y funcionará con a versión mas recient d'a mayor parte de navegadors.
downloadFirefox = Descargar { -firefox }
legalTitle = Aviso de privacidat de { -send-short-brand }
legalDateStamp = Versió 1.0, con data d'o 12 de marzo de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } d { $hours } h { $minutes } min
addFilesButton = Triar los fichers a cargar
uploadButton = Cargar
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrociega y suelta los fichers
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = u fes clic aquí pa ninviar dica { $size }
addPassword = Protecher con una clau
emailPlaceholder = Escribe la tuya adreza de correu
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Inicia una sesión pa ninviar dica { $size }
signInOnlyButton = Iniciar la sesión
accountBenefitTitle = Crea una cuenta de { -firefox } u dentra-ie
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartir fichers dica { $size }
accountBenefitDownloadCount = Compartir fichers con mas chent
accountBenefitTimeLimit =
{ $count ->
[one] Mantiene los vinclos activos dica 1 dia
*[other] Mantiene los vinclos activos dica { $count } días
}
accountBenefitSync = Chestiona los fichers compartius dende qualsequier dispositivo
accountBenefitMoz = Descubre mas cosas sobre los atros servicios de { -mozilla }
signOut = Zarrar la sesión
okButton = Vale
downloadingTitle = Se ye descargando
noStreamsWarning = Este navegador talment no pueda descifrar un fichero tant gran.
noStreamsOptionCopy = Copia lo vinclo pa ubrir-lo en belatro navegador
noStreamsOptionFirefox = Preba lo nuestro navegador favorito
noStreamsOptionDownload = Continar con este navegador
downloadFirefoxPromo = Lo nuevo { -firefox } t'ofreix { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Comparte lo vinclo enta lo tuyo fichero:
shareLinkButton = Compartir lo vinclo
# $name is the name of the file
shareMessage = Baixa-te «{ $name }» con { -send-brand }: compartición de fiches simpla y segura
trailheadPromo = I hai una manera de protecher la tuya privacidat. Une-te a Firefox.
learnMore = Mas información

View File

@@ -56,6 +56,11 @@ passwordSetError = يجب ألا تُضبط كلمة السر هذه
## Send version 2 strings ## 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 = شارِك ملفاتك بلا عناء وبخصوصية تامة introTitle = شارِك ملفاتك بلا عناء وبخصوصية تامة
introDescription = يتيح لك { -send-brand } مشاركة الملفات عبر تعميتها من الطرفين وإتاحتها في رابط ينقضي أجله تلقائيا. هكذا يمكنك إبقاء ما شاركته خاصًا فتضمن بأن ملفاتك لن تبقى في الوِب أبد الدهر. introDescription = يتيح لك { -send-brand } مشاركة الملفات عبر تعميتها من الطرفين وإتاحتها في رابط ينقضي أجله تلقائيا. هكذا يمكنك إبقاء ما شاركته خاصًا فتضمن بأن ملفاتك لن تبقى في الوِب أبد الدهر.
notifyUploadEncryptDone = اكتملت تعمية الملف وأصبح جاهزًا لإرساله notifyUploadEncryptDone = اكتملت تعمية الملف وأصبح جاهزًا لإرساله
@@ -182,4 +187,5 @@ shareLinkDescription = شارِك الرابط الذي يصل إلى الملف
shareLinkButton = شارِك الرابط shareLinkButton = شارِك الرابط
# $name is the name of the file # $name is the name of the file
shareMessage = نزِّل ”{ $name }“ عبر { -send-brand }: خدمة لمشاركة الملفات بلا عناء وبخصوصية تامة shareMessage = نزِّل ”{ $name }“ عبر { -send-brand }: خدمة لمشاركة الملفات بلا عناء وبخصوصية تامة
trailheadPromo = يمكنك حماية خصوصيتك، طبعا. انضم إلى فَيَرفُكس.
learnMore = اطّلع على المزيد. learnMore = اطّلع على المزيد.

View File

@@ -21,12 +21,12 @@ downloadButtonLabel = Baxar
downloadFinish = Completóse la descarga downloadFinish = Completóse la descarga
fileSizeProgress = ({ $partialSize } de { $totalSize }) fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Probar Firefox Send sendYourFilesLink = Probar Firefox Send
errorPageHeader = ¡Daqué foi mal! errorPageHeader = ¡Asocedió daqué malo!
fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }. fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }.
linkExpiredAlt = Caducó l'enllaz linkExpiredAlt = Caducó l'enllaz
notSupportedHeader = El to restolador nun ta sofitáu. notSupportedHeader = El to restolador nun ta sofitáu.
notSupportedLink = ¿Por qué'l mio restolador nun ta sofitáu? notSupportedLink = ¿Por qué'l mio restolador nun ta sofitáu?
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar Firefox. notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar el restolador.
updateFirefox = Anovar Firefox updateFirefox = Anovar Firefox
deletePopupCancel = Encaboxar deletePopupCancel = Encaboxar
deleteButtonHover = Desaniciar deleteButtonHover = Desaniciar
@@ -54,9 +54,10 @@ passwordSetError = Nun pudo afitase esta contraseña
-firefox = Firefox -firefox = Firefox
-mozilla = Mozilla -mozilla = Mozilla
introTitle = Compartición de ficheros privada y cenciella introTitle = Compartición de ficheros privada y cenciella
introDescription = { -send-brand } déxate compartir ficheros con cifráu puntu a puntu y un enllaz que caduca automáticamente. D'esti mou, asegúreste de que lo que compartes ye privao y nun va tar siempres en llinia.
notifyUploadEncryptDone = El ficheru ta cifráu y preparáu pa unviase 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' # downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Caduca tres { $downloadCount } ó { $timespan } archiveExpiryInfo = Caduca dempués de { $downloadCount } ó { $timespan }
timespanMinutes = timespanMinutes =
{ $num -> { $num ->
[one] 1 minutu [one] 1 minutu
@@ -109,7 +110,9 @@ tooManyArchives =
} }
expiredTitle = Esti enllaz caducó. 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. 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 } downloadFirefox = Baxar { -firefox }
legalTitle = Avisu de privacidá de { -send-short-brand }
legalDateStamp = Versión 1.0, con data del 12 de marzu de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m" # 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 expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Esbillar los ficheros a unviar addFilesButton = Esbillar los ficheros a unviar
@@ -123,8 +126,8 @@ addPassword = Protexer con una contraseña
emailPlaceholder = Introduz el to corréu emailPlaceholder = Introduz el to corréu
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $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 } signInSizeBump = Anicia sesión pa unviar hasta { $size }
signInButton = Rexistrase/aniciar sesión signInOnlyButton = Aniciar sesión
accountBenefitTitle = Creación d'una cuenta { -firefox } o aniciu de sesión nella accountBenefitTitle = Creación d'una cuenta de { -firefox } o aniciu de sesión nella
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Comparti ficheros d'hasta { $size } accountBenefitLargeFiles = Comparti ficheros d'hasta { $size }
accountBenefitDownloadCount = Comparti ficheros con más xente accountBenefitDownloadCount = Comparti ficheros con más xente
@@ -139,3 +142,5 @@ signOut = Zarrar sesión
okButton = Aceutar okButton = Aceutar
downloadingTitle = Baxando downloadingTitle = Baxando
noStreamsWarning = Esti restolador quiciabes nun seya a descifrar un ficheru d'esti tamañu. noStreamsWarning = Esti restolador quiciabes nun seya a descifrar un ficheru d'esti tamañu.
trailheadPromo = Hai un mou de protexer la to privacidá. Xúnite a Firefox.
learnMore = Deprender más.

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized. # Firefox Send is a brand name and should not be localized.
title = Firefox Send title = Firefox Send
siteSubtitle = web eksperiment
siteFeedback = Geri dönüş siteFeedback = Geri dönüş
uploadPageHeader = Məxfi, Şifrələnmiş Fayl Paylaşma
uploadPageExplainer = Fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silinən keçidlə göndərin.
uploadPageLearnMore = Ətraflı öyrən
uploadPageDropMessage = Yükləmək üçün faylınızı buraya daşıyın
uploadPageSizeMessage = Xidmətin daha yaxşı işləməsi üçün faylınız 1 GB-dan az olmalıdır
uploadPageBrowseButton = Kompüterinizdən fayl seçin
uploadPageBrowseButton1 = Yüklənəcək faylı seçin
uploadPageMultipleFilesAlert = Birdən çox fayl və ya qovluq yükləmə hələlik dəstəklənmir.
uploadPageBrowseButtonTitle = Fayl yüklə
uploadingPageProgress = { $filename } ({ $size }) yüklənir
importingFile = İdxal edilir… importingFile = İdxal edilir…
verifyingFile = Təsdiqlənir…
encryptingFile = Şifrələnir... encryptingFile = Şifrələnir...
decryptingFile = Şifrə açılır... decryptingFile = Şifrə açılır...
notifyUploadDone = Yükləməniz hazırdır.
uploadingPageMessage = Faylınız yükləndikdən sonra vaxtı çıxma seçimlərini qura biləcəksiz.
uploadingPageCancel = Yükləməni ləğv et
uploadCancelNotification = Yükləməniz ləğv edildi.
uploadingPageLargeFileMessage = Fayl böyükdür və yükləmək çox vaxt ala bilər. Səbirli olun!
uploadingFileNotification = Yükləmə bitdiyində xəbər ver.
uploadSuccessConfirmHeader = Göndərməyə hazır
uploadSvgAlt = Yüklə
uploadSuccessTimingHeader = Faylınızın keçidinin 1 endirmədən və ya 24 saatdan sonra vaxtı çıxacaq.
expireInfo = Faylınız üçün keçidin vaxtı { $downloadCount } sonra və ya { $timespan } tarixində keçəcək.
downloadCount = downloadCount =
{ $num -> { $num ->
[one] 1 endirmə [one] 1 endirmə
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 saat [one] 1 saat
*[other] { $num } saat *[other] { $num } saat
} }
copyUrlFormLabelWithName = Faylınızı göndərmək üçün keçidi köçürün: { $filename }
copyUrlFormButton = Buferə köçür
copiedUrl = Köçürüldü! copiedUrl = Köçürüldü!
deleteFileButton = Faylı sil
sendAnotherFileLink = Başqa fayl göndər
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Endir
downloadsFileList = Endirmələr
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Vaxt
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } faylını endir
downloadFileSize = ({ $size })
unlockInputLabel = Parol daxil edin
unlockInputPlaceholder = Parol unlockInputPlaceholder = Parol
unlockButtonLabel = Aç unlockButtonLabel = Aç
downloadFileTitle = Şifrələnmiş Faylı Endir
# Firefox Send is a brand name and should not be localized.
downloadMessage = Yoldaşınız Firefox Send ilə sizə fayl göndərir, fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silən fayl göndərmə xidməti.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Endir downloadButtonLabel = Endir
downloadNotification = Endirməniz tamamlandı.
downloadFinish = Endirmə Tamamlandı downloadFinish = Endirmə Tamamlandı
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } / { $totalSize }) fileSizeProgress = ({ $partialSize } / { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send Yoxla sendYourFilesLink = Firefox Send Yoxla
downloadingPageProgress = { $filename } faylı ({ $size }) endirilir
downloadingPageMessage = Lütfən faylı endirib şifrəsini açarkən vərəqi açıq buraxın.
errorAltText = Yükləmə xətası
errorPageHeader = Nəsə səhv getdi! errorPageHeader = Nəsə səhv getdi!
errorPageMessage = Faylı yüklərkən xəta baş verdi.
errorPageLink = Başqa fayl göndər
fileTooBig = Fayl yükləmək üçün çox böyükdür. Fayl { $size }-dan az olmalıdır. fileTooBig = Fayl yükləmək üçün çox böyükdür. Fayl { $size }-dan az olmalıdır.
linkExpiredAlt = Keçidin vaxtı çıxıb linkExpiredAlt = Keçidin vaxtı çıxıb
expiredPageHeader = Keçidin vaxtı çıxıb və ya heç vaxt olmayıb!
notSupportedHeader = Səyyahınız dəstəklənmir. notSupportedHeader = Səyyahınız dəstəklənmir.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Heyf ki, bu səyyah Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Fərqli bir səyyah yoxlamalısınız. Biz Firefox məsləhət görürük!
notSupportedLink = Səyyahım niyə dəstəklənmir? notSupportedLink = Səyyahım niyə dəstəklənmir?
notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz. notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz.
updateFirefox = Firefox-u Yenilə updateFirefox = Firefox-u Yenilə
downloadFirefoxButtonSub = Pulsuz Endir
uploadedFile = Fayl
copyFileList = Keçidi Köçürt
# expiryFileList is used as a column header
expiryFileList = Vaxtı çıxma tarixi
deleteFileList = Sil
nevermindButton = Vacib deyil
legalHeader = Şərtlər və Məxfilik
legalNoticeTestPilot = Firefox Send Test Pilot eksperimentidir, Test Pilot <a>Xidmət Şərtləri</a> və <a>Məxfilik Bildirişi</a>-nə tabedir. Bu eksperiment və məlumat yığma haqqında <a>buradan</a> öyrənə bilərsiz.
legalNoticeMozilla = Firefox Send saytının istifadəsi həmçinin Mozilla-nın <a>Saytlar üçün Məxfilik Bildirişi</a> və <a>Sayt İstifadə Şərtləri</a>-nə tabedir.
deletePopupText = Fayl silinsin?
deletePopupYes = Bəli
deletePopupCancel = Ləğv et deletePopupCancel = Ləğv et
deleteButtonHover = Sil deleteButtonHover = Sil
copyUrlHover = Keçidi Köçürt
footerLinkLegal = Hüquqi footerLinkLegal = Hüquqi
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Test Pilot Haqqında
footerLinkPrivacy = Məxfilik footerLinkPrivacy = Məxfilik
footerLinkTerms = Şərtlər
footerLinkCookies = Çərəzlər footerLinkCookies = Çərəzlər
requirePasswordCheckbox = Bu faylı endirmək üçün parol tələb et
addPasswordButton = Parol əlavə et
changePasswordButton = Dəyişdir
passwordTryAgain = Səhv parol. Təkrar yoxlayın. passwordTryAgain = Səhv parol. Təkrar yoxlayın.
reportIPInfringement = Əqli-mülkiyyət pozuntusu bildir
javascriptRequired = Firefox Send üçün JavaScript lazımdır javascriptRequired = Firefox Send üçün JavaScript lazımdır
whyJavascript = Firefox Send niyə JavaScript tələb edir? whyJavascript = Firefox Send niyə JavaScript tələb edir?
enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın. enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
@@ -113,9 +41,32 @@ enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
expiresHoursMinutes = { $hours } saat { $minutes } dəq expiresHoursMinutes = { $hours } saat { $minutes } dəq
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m" # A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } dəq expiresMinutes = { $minutes } dəq
# A short status message shown when a password is successfully set
passwordIsSet = Parol quruldu
# A short status message shown when the user enters a long password # A short status message shown when the user enters a long password
maxPasswordLength = Maksimum parol uzunluğu: { $length } maxPasswordLength = Maksimum parol uzunluğu: { $length }
# A short status message shown when there was an error setting the password # A short status message shown when there was an error setting the password
passwordSetError = Parol qurula bilmədi passwordSetError = Parol qurula bilmədi
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
copyLinkButton = Keçidi köçür
uploadButton = Yüklə
signInOnlyButton = Daxil ol
signOut = Çıx
okButton = Tamam
downloadingTitle = Endirilir
shareLinkButton = Keçidi paylaş

146
public/locales/azz/send.ftl Normal file
View File

@@ -0,0 +1,146 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Nikan uelis tikijkuilos tein tiknemilijtos
importingFile = Mokalakijtok…
encryptingFile = Motatijtok…
decryptingFile = Kichiujtok se uelis kiixtajtoltis ya…
downloadCount =
{ $num ->
*[undefined] 1 kitemouijtok / { $num } kintemouijtok
}
timespanHours =
{ $num ->
*[undefined] 1 hora / { $num } hora
}
copiedUrl = ¡Moixkopinak!
unlockInputPlaceholder = Ichtakatajtol
unlockButtonLabel = Xikajchiua tein amo kikaua maj tekiti
downloadButtonLabel = Xiktemoui
downloadFinish = Nochi motemouij ya
fileSizeProgress = ({ $partialSize } itech { $totalSize })
sendYourFilesLink = Xikejeko Firefox Send
errorPageHeader = ¡Tensa amo kuali kisak!
fileTooBig = Nejin tajkuilol semi ueyi. Moneki amo panos { $size }
linkExpiredAlt = Nejin tein tikpatskilij amo tekititok ya
notSupportedHeader = Monavegador amo kualtia.
notSupportedLink = ¿Keyej nonavegador amo kualtia?
notSupportedOutdatedDetail = Tetayokoltij, Firefox tein tikuitok amo kiselia tepostekitilis tecnología web tein ika tekiti Firefox Send. Moneki tikyankuilis monavegador.
updateFirefox = Maj Firefox moyankuili
deletePopupCancel = Maj motsakuili uan amo tami tein kichiujtok
deleteButtonHover = Maj majchiua
footerLinkLegal = Keniuj motekitiltis
footerLinkPrivacy = Keniuj tikyekpiaj tein tikseliaj
footerLinkCookies = Cookies
passwordTryAgain = Amo yektik ichtakatajtol. Oksepa xikijkuilo.
javascriptRequired = Firefox Send kineki maj moajsi JavaScript
whyJavascript = ¿Keyej Firefox Send kineki maj moajsi JavaScript?
enableJavascript = Se kualtakayot, xikaua maj peua tekiti JavaScript uan oksepa xikejeko.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password
maxPasswordLength = Keniuj ueyak ichtakatajtol, maj amo pano: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Nejin ichtakatajtol amo uel kiixtaliani
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Xiktitani
-firefox = Firefox
-mozilla = Mozilla
introTitle = Amo ouij uan ichtaka xikinpanoltili oksekin motajkuiloluan archivos
introDescription = { -send-brand } mitspaleuia uan ijkon tikinpanoltilis oksekin motajkuiloluan archivos ika tapoualmej tein amo aksa uelis kiajsikamatis, uan no kitemaka kampa se kipatskilis tein niman ixpoliui. Ijkuin uelis tikichtakaeuas tein tikintitanilis oksekin uan tikyekmatis tein moaxka amo nochipaya mokauas itech Internet.
notifyUploadEncryptDone = Moarchivo moijkuiloj ya kemej amo akin uelis kiixtajtoltis uan se uelis kititanis ya
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Poliui ijkuak tiajsis { $downloadCount } oso { $timespan }
timespanMinutes =
{ $num ->
*[undefined] 1 minuto / { $num } minuto
}
timespanDays =
{ $num ->
*[undefined] 1 tonal / { $num } tonalmej
}
timespanWeeks =
{ $num ->
*[undefined] 1 semana / { $num } semana
}
fileCount =
{ $num ->
*[undefined] 1 archivo / { $num } archivos
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Nochi tamachiua: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Xikixkopina tein se kipatskilis uan xikinpanoltili oksekin moarchivo:
copyLinkButton = Xikixkopina tein se kipatskilis
downloadTitle = Xiktemoui tajkuilolmej archivos
downloadDescription = Nejin archivo mopanoltij itechkopa { -send-brand } ika tapoualmej tein amo aksa uelis kiajsikamatis, uan no tein ika se kipatskilis tein niman ixpoliui.
trySendDescription = Xikejeko { -send-brand } ijkon amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos.
# count will always be > 10
tooManyFiles =
{ $count ->
*[undefined] Sayoj { 1 } tajkuilol archivo uelis tiktejkoltis saj. / Sayoj { $count } tajkuilolmej archivos uelis tikolochtejkoltis saj.
}
# count will always be > 10
tooManyArchives =
{ $count ->
*[undefined] Sayoj { 1 } tajkuilol archivo uelis moajsis saj. / Sayoj { $count } tajkuilolmej archivos uelis moajsiskej saj.
}
expiredTitle = Nejin tein tikpatskilij amo tekititos ok.
notSupportedDescription = { -send-brand } amo tekiti ika nejin navegador. { -send-short-brand } okachi kuali tekiti tein ika okachi yankuik { -firefox }, uan no tekitis tein ika okachi yankuikej tel miak navegadores.
downloadFirefox = Xiktemoui { -firefox }
legalTitle = { -send-short-brand } tanauatia ika yekpialis tein moaxka itech tepos
legalDateStamp = Versión 1.0 tein kikixtijkej 12 tonal metsti marzo 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }t { $hours }h { $minutes }m
addFilesButton = Xikinixpejpena tajkuilolmej archivos tein tikintejkoltis
uploadButton = Xiktejkolti
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Xikintilana uan xikinkajkaua tajkuilolmej archivos
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = oso xikpatskili uan tiktitanis, sayoj tein amo panoua { $size }
addPassword = Xikyekpia ika se ichtakatajtol
emailPlaceholder = Xikijkuilo mocorreo itech tepos
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Xikalakteua uan uelis tiktitanis tein amo panos { $size }
signInOnlyButton = Kampa se kalakteua
accountBenefitTitle = Ximochiuili se cuenta itech { -firefox } oso xikalakteua
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Xikintitani tajkuilolmej archivos tein amo panouaj { $size }
accountBenefitDownloadCount = Xikintitanili tajkuilolmej archivos oksekin
accountBenefitTimeLimit =
{ $count ->
*[undefined] Kampa se kipatskilis maj kisentokakan kualtiakan se tonal ok / { $count } tonalmej ok
}
accountBenefitSync = Itech tein yeski tepos xikixyekana motajkuiloluan archivos tein tikinpanoltilij oksekin
accountBenefitMoz = Okachi tikmatis okseki tapaleuilmej tein kitemaka { -mozilla }
signOut = Kampa se kisa
okButton = Kuali yetok
downloadingTitle = Kitemouijtok
noStreamsWarning = Xa navegador amo uelis kitalij nejin tajkuilol archivo tein tel ueyi kemej se uelis kiyekixtajtoltis ya.
noStreamsOptionCopy = Xikixkopina tein se kipatskilis uan ijkon se uelis kitatapos itech okse navegador
noStreamsOptionFirefox = Xikejeko navegador tein semi techuelita
noStreamsOptionDownload = Maj niksentoka niktatekiujti nejin navegador
downloadFirefoxPromo = Yankuik { -firefox } mitsixpantilia { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Xikinpanoltili oksekin tein se kipatskilis uan teuika motajkuilol archivo:
shareLinkButton = Kampa se kipatskilis tein uelis tikinpanoltilis oksekin
# $name is the name of the file
shareMessage = Xiktemoui “{ $name }” ika { -send-brand }: amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos
trailheadPromo = Kemaj, uelis tikyekpias tein moaxka itech tepos. Xipoui Firefox.
learnMore = Xiktemoui tajkuilolmej archivos.

164
public/locales/be/send.ftl Normal file
View File

@@ -0,0 +1,164 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Водгук
importingFile = Імпартаванне...
encryptingFile = Зашыфроўка...
decryptingFile = Расшыфроўка...
downloadCount =
{ $num ->
[one] { $num } сцягванне
[few] { $num } сцягванні
*[many] { $num } сцягванняў
}
timespanHours =
{ $num ->
[one] { $num } гадзіна
[few] { $num } гадзіны
*[many] { $num } гадзін
}
copiedUrl = Скапіявана!
unlockInputPlaceholder = Пароль
unlockButtonLabel = Разблакаваць
downloadButtonLabel = Сцягнуць
downloadFinish = Сцягванне скончана
fileSizeProgress = ({ $partialSize } з { $totalSize })
sendYourFilesLink = Паспрабуйце Firefox Send
errorPageHeader = Нешта пайшло не так!
fileTooBig = Гэты файл надта вялікі. Ён мусіць быць меншым за { $size }
linkExpiredAlt = Тэрмін дзеяння спасылкі сышоў
notSupportedHeader = Ваш браўзер не падтрымліваецца.
notSupportedLink = Чаму мой браўзер не падтрымліваецца?
notSupportedOutdatedDetail = На жаль, гэтая версія Firefox не падтрымлівае вэб-тэхналогію, што забяспечвае працу Firefox Send. Вам трэба абнавіць свой браўзер.
updateFirefox = Абнавіць Firefox
deletePopupCancel = Скасаваць
deleteButtonHover = Выдаліць
footerLinkLegal = Прававыя звесткі
footerLinkPrivacy = Прыватнасць
footerLinkCookies = Кукі
passwordTryAgain = Некарэктны пароль. Паспрабуйце зноў.
javascriptRequired = Для Firefox Send неабходны JavaScript
whyJavascript = Чаму для Firefox Send неабходны JavaScript?
enableJavascript = Калі ласка, уключыце JavaScript і паспрабуйце зноў.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } г. { $minutes } хв.
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } хв.
# A short status message shown when the user enters a long password
maxPasswordLength = Максімальная даўжыня пароля: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Гэты пароль немагчыма паставіць
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Просты і прыватны абмен файламі
introDescription = { -send-brand } дазваляе вам абменьвацца файламі са скразным шыфраваннем і спасылкамі з абмежаваным тэрмінам дзеяння. Такім чынам, вы можаце дзяліцца файламі прыватна і быць упэўненым, што яны не застануцца ў сеціве назаўжды.
notifyUploadEncryptDone = Ваш файл зашыфраваны і гатовы да адпраўкі
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Тэрмін дзеяння сыдзе праз { $downloadCount } або { $timespan }
timespanMinutes =
{ $num ->
[one] { $num } хвіліна
[few] { $num } хвіліны
*[many] { $num } хвілін
}
timespanDays =
{ $num ->
[one] { $num } дзень
[few] { $num } дні
*[many] { $num } дзён
}
timespanWeeks =
{ $num ->
[one] { $num } тыдзень
[few] { $num } тыдні
*[many] { $num } тыдняў
}
fileCount =
{ $num ->
[one] { $num } файл
[few] { $num } файлы
*[many] { $num } файлаў
}
# byte abbreviation
bytes = Б
# kibibyte abbreviation
kb = КБ
# mebibyte abbreviation
mb = МБ
# gibibyte abbreviation
gb = ГБ
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num } { $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Агульны памер: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Скапіруйце спасылку, каб падзяліцца сваім файлам:
copyLinkButton = Скапіраваць спасылку
downloadTitle = Сцягнуць файлы
downloadDescription = Гэтым файлам падзяліліся праз { -send-brand } са скразным шыфраваннем і спасылкай з абмежаваным тэрмінам дзеяння.
trySendDescription = Паспрабуйце { -send-brand } для простага і бяспечнага абмену файламі.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Толькі { $count } файл можна загрузіць за раз.
[few] Толькі { $count } файлы можна загрузіць за раз.
*[many] Толькі { $count } файлаў можна загрузіць за раз.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Толькі { $count } архіў дазволены.
[few] Толькі { $count } архівы дазволены.
*[many] Толькі { $count } архіваў дазволена.
}
expiredTitle = Тэрмін дзеяння гэтай спасылкі сышоў.
notSupportedDescription = { -send-brand } не будзе працаваць у гэтым браўзеры. Лепей за ўсё { -send-short-brand } працуе з апошняй версіяй { -firefox } і будзе працаваць з бягучай версіяй большасці браўзераў.
downloadFirefox = Сцягнуць { -firefox }
legalTitle = Палітыка прыватнасці { -send-short-brand }
legalDateStamp = Версія 1.0 ад 12 сакавіка 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } д. { $hours } г. { $minutes } хв.
addFilesButton = Выберыце файлы для загрузкі
uploadButton = Загрузіць
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Перацягніце файлы сюды
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = або клікніце, каб адправіць да { $size }:
addPassword = Абараніць паролем
emailPlaceholder = Увядзіце сваю электронную пошту
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Увайдзіце, каб адпраўляць да { $size }
signInOnlyButton = Увайсці
accountBenefitTitle = Стварыце ўліковы запіс { -firefox } або ўвайдзіце
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Дзяліцеся файламі да { $size }
accountBenefitDownloadCount = Дзяліцеся файламі з большай колькасцю людзей
accountBenefitTimeLimit =
{ $count ->
[one] Трымайце спасылкі актыўнымі да { $count } дня
[few] Трымайце спасылкі актыўнымі да { $count } дзён
*[many] Трымайце спасылкі актыўнымі да { $count } дзён
}
accountBenefitSync = Кіруйце адпраўленымі файламі з любой прылады
accountBenefitMoz = Даведайцеся пра іншыя сэрвісы { -mozilla }
signOut = Выйсці
okButton = ОК
downloadingTitle = Сцягваецца
noStreamsWarning = Гэты браўзер не мае магчымасці расшыфраваць такі вялікі файл.
noStreamsOptionCopy = Скапіруйце спасылку, каб адкрыць у іншым браўзеры
noStreamsOptionFirefox = Паспрабуйце наш любімы браўзер
noStreamsOptionDownload = Працягнуць з гэтым браўзерам
downloadFirefoxPromo = { -send-short-brand } прыйшоў да вас з цалкам новага { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Падзяліцеся спасылкай на свой файл:
shareLinkButton = Падзяліцца спасылкай
# $name is the name of the file
shareMessage = Сцягніце «{ $name }» з { -send-brand }: простага і бяспечнага файлаабменніка
trailheadPromo = Ёсць спосаб абараніць вашу прыватнасць. Далучайцеся да Firefox.
learnMore = Падрабязней.

View File

@@ -151,3 +151,5 @@ shareLinkDescription = Compartiu l'enllaç al vostre fitxer:
shareLinkButton = Comparteix l'enllaç shareLinkButton = Comparteix l'enllaç
# $name is the name of the file # $name is the name of the file
shareMessage = Baixeu «{ $name }» amb el { -send-brand }: compartició de fitxers senzilla i segura shareMessage = Baixeu «{ $name }» amb el { -send-brand }: compartició de fitxers senzilla i segura
trailheadPromo = Hi ha una manera de protegir la vostra privadesa. Uniu-vos al Firefox.
learnMore = Més informació.

View File

@@ -2,7 +2,7 @@
title = Firefox Send title = Firefox Send
siteFeedback = Rutzijol siteFeedback = Rutzijol
importingFile = Tajin nijik… importingFile = Tajin nijik…
encryptingFile = Tajin newäx rusik'ixik... encryptingFile = Tajin newäx rusik'ixik
decryptingFile = Tajin netamäx rusik'ixik... decryptingFile = Tajin netamäx rusik'ixik...
downloadCount = downloadCount =
{ $num -> { $num ->
@@ -151,3 +151,5 @@ shareLinkDescription = Nakomonij ri ximonel rik'in ri awokisab'al:
shareLinkButton = Tikomonïx ximonel shareLinkButton = Tikomonïx ximonel
# $name is the name of the file # $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 shareMessage = Tiqasäx "{ $name }" rik'in { -send-brand }: man k'ayew ta chuqa' ütz kikomonik ri yakb'äl
trailheadPromo = K'o jun rub'anikil richin nachajij ri awichinanem. Tatunu' awi' rik'in ri Firefox.
learnMore = Tetamäx ch'aqa' chik.

View File

@@ -22,7 +22,7 @@ unlockButtonLabel = Odemknout
downloadButtonLabel = Stáhnout downloadButtonLabel = Stáhnout
downloadFinish = Stahování dokončeno downloadFinish = Stahování dokončeno
fileSizeProgress = ({ $partialSize } z { $totalSize }) fileSizeProgress = ({ $partialSize } z { $totalSize })
sendYourFilesLink = Vyzkoušejte Firefox Send sendYourFilesLink = Vyzkoušet Firefox Send
errorPageHeader = Nastala chyba! errorPageHeader = Nastala chyba!
fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }. fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }.
linkExpiredAlt = Platnost odkazu vypršela linkExpiredAlt = Platnost odkazu vypršela
@@ -137,7 +137,7 @@ copyLinkDescription = Soubor můžete sdílet tímto odkazem:
copyLinkButton = Zkopírovat odkaz copyLinkButton = Zkopírovat odkaz
downloadTitle = Stáhnout soubory downloadTitle = Stáhnout soubory
downloadDescription = Tento soubor byl sdílen přes { -send-brand(case: "acc") } s end-to-end šifrováním a odkazem s omezenou platností. downloadDescription = Tento soubor byl sdílen přes { -send-brand(case: "acc") } s end-to-end šifrováním a odkazem s omezenou platností.
trySendDescription = Zkuste { -send-brand(case: "acc") } pro jednoduché a bezpečné sdílení souborů trySendDescription = Vyzkoušejte jednoduché a bezpečné sdílení souborů s { -send-brand(case: "ins") }
# count will always be > 10 # count will always be > 10
tooManyFiles = tooManyFiles =
{ $count -> { $count ->

View File

@@ -2,8 +2,8 @@
title = Firefox Send title = Firefox Send
siteFeedback = Comentario siteFeedback = Comentario
importingFile = Importando... importingFile = Importando...
encryptingFile = Encriptando... encryptingFile = Encriptando
decryptingFile = Desencriptando... decryptingFile = Desencriptando
downloadCount = downloadCount =
{ $num -> { $num ->
[one] 1 descarga [one] 1 descarga

View File

@@ -151,3 +151,5 @@ shareLinkDescription = Jaga linki failile:
shareLinkButton = Jaga linki shareLinkButton = Jaga linki
# $name is the name of the file # $name is the name of the file
shareMessage = Laadi “{ $name }” alla teenusega { -send-brand }, mis pakub lihtsat ja turvalist failijagamist shareMessage = Laadi “{ $name }” alla teenusega { -send-brand }, mis pakub lihtsat ja turvalist failijagamist
trailheadPromo = Oma privaatsust on võimalik kaitsta. Liitu Firefoxiga.
learnMore = Rohkem teavet.

View File

@@ -53,6 +53,31 @@ passwordSetError = امکان ثبت این گذواژه نیست
-send-short-brand = ارسال -send-short-brand = ارسال
-firefox = فایرفاکس -firefox = فایرفاکس
-mozilla = موزیلا -mozilla = موزیلا
introTitle = اشتراک‌گذاری ساده و خصوصیِ پرونده‌ها
introDescription = { -send-brand } به شما امکان اشتراک‌گذاری فایل‌ها با رمزگذاری سرتاسری و لینکی که به طور خودکار منقضی می شود را می‌دهد. در نتیجه می‌توانید اشتراک گذاری‌های خود را خصوصی نگه دارید و اطمینان حاصل کنید که فایل‌های شما تا همیشه آنلاین دردسترس نخواهند ماند.
notifyUploadEncryptDone = پرونده شما رمزگذاری شده و آماده ارسال است
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = پس از { $downloadCount } یا { $timespan } منقضی می‌شود
timespanMinutes =
{ $num ->
[one] 1 دقیقه
*[other] { $num } دقیقه
}
timespanDays =
{ $num ->
[one] 1 روز
*[other] { $num } روز
}
timespanWeeks =
{ $num ->
[one] 1 هفته
*[other] { $num } هفته
}
fileCount =
{ $num ->
[one] 1 پرونده
*[other] { $num } پرونده
}
# byte abbreviation # byte abbreviation
bytes = B bytes = B
# kibibyte abbreviation # kibibyte abbreviation
@@ -61,5 +86,70 @@ kb = KB
mb = MB mb = MB
# gibibyte abbreviation # gibibyte abbreviation
gb = GB gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = حجم کل: { $size } totalSize = حجم کل: { $size }
# the next line after the colon contains a file name
copyLinkDescription = برای به اشتراک گذاشتن فایل خود، لینک را کپی کنید:
copyLinkButton = رونوشت از پیوند
downloadTitle = دریافت پرونده‌ها
downloadDescription = این پرونده از طریق { -send-brand } با رمزگذاری سرتاسری و پیوندی که به طور خودکار منقضی می شود، به اشتراک گذاشته شد.
trySendDescription = { -send-brand } را برای اشتراک گذاری ساده و ایمن پرونده امتحان کنید.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] تنها 1 پرونده می‌تواند در لحظه بارگزاری شود.
*[other] تنها { $count } پرونده می‌تواند در لحظه بارگزاری شود.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] تنها 1 بایگانی مجاز است.
*[other] تنها { $count } بایگانی مجاز است.
}
expiredTitle = این پیوند منقضی شده است.
notSupportedDescription = { -send-brand } با این مرورگر کار نخواهد کرد. { -send-short-brand } بهترین عملکرد را با آخرین نسخه { -firefox } خواهد داشت، و با آخرین نسخه اکثر مرورگر‌های کنونی کار می‌کند.
downloadFirefox = دریافت { -firefox }
legalTitle = { -send-short-brand } نکات حفظ حریم خصوصی
legalDateStamp = نسخه ۱.۰، مورخ ۱۲، ۲۰۱۹
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } روز { $hours } ساعت { $minutes } دقیقه
addFilesButton = پرونده‌ها را برای بارگذاری انتخاب کنید
uploadButton = بارگذاری
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = فایل‌ها را بکشید و اینجا رها کنید
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = یا برای ارسال تا { $size } کلیک کنید
addPassword = با گذرواژه محافظت کنید
emailPlaceholder = ایمیل خود را وارد کنید
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = برای ارسال تا { $size } وارد شوید
signInOnlyButton = ورود
accountBenefitTitle = یک حساب { -firefox } ایجاد کنید یا وارد شوید
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = پرونده‌هایی تا { $size } را اشتراک‌گذاری کنید
accountBenefitDownloadCount = پرونده‌ها را با افراد بیشتری به اشتراک بگذارید
accountBenefitTimeLimit =
{ $count ->
[one] پیوند‌ها را تا 1 روز فعال نگه دارید
*[other] پیوند‌ها را تا { $count } روز فعال نگه دارید
}
accountBenefitSync = فایل‌های اشتراکی را از هر دستگاه مدیریت کنید
accountBenefitMoz = در مورد سایر خدمات { -mozilla } اطلاعات کسب کنید
signOut = خروج
okButton = تأیید
downloadingTitle = در حال بارگیری
noStreamsWarning = ممکن است این مرورگر نتواند یک پرونده به این بزرگی را رمزگشایی کند.
noStreamsOptionCopy = لینک را کپی کنید تا در مرورگر دیگری باز شود
noStreamsOptionFirefox = مرورگر مورد علاقه ما را امتحان کنید
noStreamsOptionDownload = با این مرورگر ادامه دهید
downloadFirefoxPromo = { -send-short-brand } با جدیدترین { -firefox } برای شما آماده شده است.
# the next line after the colon contains a file name
shareLinkDescription = پیوند مربوط به پرونده خود را به اشتراک بگذارید:
shareLinkButton = اشتراک‌گذاری پیوند
# $name is the name of the file
shareMessage = “{ $name }” را با { -send-brand } دانلود کنید: اشتراک‌گذاری ساده و امن فایل
trailheadPromo = راهی برای محافظت از حریم خصوصی شما وجود دارد. به Firefox بپیوندید.
learnMore = بیشتر بدانید.

View File

@@ -12,7 +12,7 @@ downloadCount =
timespanHours = timespanHours =
{ $num -> { $num ->
[one] 1 oer [one] 1 oer
*[other] { $num } oeren *[other] { $num } oer
} }
copiedUrl = Kopiearre! copiedUrl = Kopiearre!
unlockInputPlaceholder = Wachtwurd unlockInputPlaceholder = Wachtwurd

155
public/locales/gn/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 = Je'ejey
importingFile = Ojegueruhína…
encryptingFile = Mo'ãmby…
decryptingFile = Ñemo'ã'o…
downloadCount =
{ $num ->
[one] 1 mboguejy
*[other] { $num } mboguejy
}
timespanHours =
{ $num ->
[one] 1 aravo
*[other] { $num } aravo
}
copiedUrl = Monguatiapyre!
unlockInputPlaceholder = Ñe'ẽñemi
unlockButtonLabel = Mbojera
downloadButtonLabel = Mboguejy
downloadFinish = Oguejypáma
fileSizeProgress = ({ $partialSize } rehe { $totalSize })
sendYourFilesLink = Eipuru Firefox Send
errorPageHeader = ¡Oiko jejavy!
fileTooBig = Marandurenda tuichaiterei ehupi hag̃ua. Michĩvevaerã { $size } gui.
linkExpiredAlt = Juajuha ndoikóiva
notSupportedHeader = Ne kundaha ndorekói pytyvõ.
notSupportedLink = ¿Mbaére che kundahára ndorekói ñepytyvõ?
notSupportedOutdatedDetail = Ko Firefox rembiapo ndaipuakái ñanduti rembipurupyahu oikotevẽva Firefox Send. Embohekopyahúke ne kundahára.
updateFirefox = Firefox mbohekopyahu
deletePopupCancel = Heja
deleteButtonHover = Mboguete
footerLinkLegal = Añetegua
footerLinkPrivacy = Ñemigua
footerLinkCookies = Kookie
passwordTryAgain = Ñe'ẽñemi ndoikóiva. Eha'ãjey.
javascriptRequired = Firefox Send oikotevẽ JavaScript
whyJavascript = ¿Mbaére Firefox Send oikotevẽ JavaScript?
enableJavascript = Ikatúpa embojuruja JavaScript ha ehaãjey uperire.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } m
# A short status message shown when the user enters a long password
maxPasswordLength = Ñeẽñemi pukukue: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Ndaikatúi oikóvo ko ñe'ẽñemi
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Marandurenda ñemoambue hasy'ỹ ha ñemiguáva
introDescription = { -send-brand } omoherakuãkuaa marandurenda papapýpe ñepyrũ guive opa peve ha juajuha opareíva ijehegui. Ikatu oreko ñemihápe emoherakuãva ha ehecháta mbaéicha ne mbaekuéra noĩri ñandutípe opa ára.
notifyUploadEncryptDone = Ne marandurenda oñemo'ã ha ikatúma emondo
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Opáta { $downloadCount } rire térã { $timespan }
timespanMinutes =
{ $num ->
[one] 1 aravo'i
*[other] { $num } aravo'i
}
timespanDays =
{ $num ->
[one] 1 ára
*[other] { $num } ára
}
timespanWeeks =
{ $num ->
[one] 1 arapokõindy
*[other] { $num } arapokõindy
}
fileCount =
{ $num ->
[one] 1 marandurenda
*[other] { $num } marandurenda
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Tuichakue: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Emonguatia juajuha ha emoherakuã ne marandurenda:
copyLinkButton = Emonguatia juajuha
downloadTitle = Emboguejy marandurenda
downloadDescription = Ko marandurenda omoherakuã { -send-brand } rupive papapýpe ñepyrũ guive opa peve ha juajuha opáva ijehegui reheve.
trySendDescription = Eipuru { -send-brand } emoherakuã hag̃ua marandurenda tasyỹ ha tekorosãme.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Ikatu ehupi 1 marandurenda oñondive
*[other] Ikatu ehupi { $count } marandurenda oñondive
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Oñemoneĩ 1 marandurenda añoite
*[other] Oñemoneĩ { $count } marandurenda añoite
}
expiredTitle = Ko juajuha ndoikovéima.
notSupportedDescription = { -send-brand } ndoikomoãi ko kundahára ndive. { -send-short-brand } oikoporãvéta { -firefox } rembiapokue ipyahuvéva ndive, ha oikóta opavavete kundahára ndive.
downloadFirefox = Emboguejy { -firefox }
legalTitle = { -send-short-brand } Marandu ñemigua
legalDateStamp = Mbaepyahu 1.0, 12 jasyapy 2019 peguare
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Eiporavo marandurenda ehupi hag̃ua
uploadButton = Hupi
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Embosyryry ha epoi marandurenda
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = térã eikutu emondo hag̃ua { $size } peve
addPassword = Ñeẽñemíme moãmbyre
emailPlaceholder = Emoinge ne ñanduti veve
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Eñepyrũ tembiapo emondo hag̃ua { $size } peve
signInOnlyButton = Eñepyrũ tembiapo
accountBenefitTitle = Emoheñói { -firefox } mbaete térã eñepyrũ tembiapo
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Emoherakuã marandurenda { $size } peve
accountBenefitDownloadCount = Emoherakuã marandurenda hetave tapicha ndive
accountBenefitTimeLimit =
{ $count ->
[one] Eguereko juajuha hendyhápe 1 ára
*[other] Eguereko juajuha hendyhápe { $count } ára
}
accountBenefitSync = Eñangareko marandurenda moherakuãmbyrére oimeraẽ mbaeoka guive.
accountBenefitMoz = Eikuaa ambue { -mozilla } mba'epytyvõrã
signOut = Emboty tembiapo
okButton = OK
downloadingTitle = Oñemboguejyhína
noStreamsWarning = Ikatu ko kundahára ndoikuaái marandurenda tuichaitereíva.
noStreamsOptionCopy = Embokuatia juajuha embojuruja hag̃ua ambue kundahárape.
noStreamsOptionFirefox = Eipuru ore kundahára rohayhuvéva
noStreamsOptionDownload = Ekuejey ko kundahára ndive
downloadFirefoxPromo = Ipyahúva { -firefox } omeẽse ndéve { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Emoherakuã juajuha ne mbaeoka ndive:
shareLinkButton = Emoherakuã juajuha
# $name is the name of the file
shareMessage = Emboguejy “{ $name }” { -send-brand } ndive: emoherakuã marandurenda tasy'ỹ ha tekorosãme
trailheadPromo = Mbaéichapa emoãta ne ñemigua. Eipuru Firefox.
learnMore = Kuaave.

View File

@@ -1,7 +1,7 @@
# Firefox Send is a brand name and should not be localized. # Firefox Send is a brand name and should not be localized.
title = Firefox Send title = Firefox Send
siteFeedback = משוב siteFeedback = משוב
importingFile = מתבצע ייבוא... importingFile = מתבצע ייבוא
encryptingFile = מתבצעת הצפנה... encryptingFile = מתבצעת הצפנה...
decryptingFile = מתבצע פענוח... decryptingFile = מתבצע פענוח...
downloadCount = downloadCount =

View File

@@ -2,8 +2,8 @@
title = Firefox Send title = Firefox Send
siteFeedback = Povratne informacije siteFeedback = Povratne informacije
importingFile = Uvoz… importingFile = Uvoz…
encryptingFile = Kriptiranje… encryptingFile = Šifriranje
decryptingFile = Dekriptiranje… decryptingFile = Dešifriranje
downloadCount = downloadCount =
{ $num -> { $num ->
[one] { $num } preuzimanje [one] { $num } preuzimanje
@@ -22,29 +22,29 @@ unlockButtonLabel = Otključaj
downloadButtonLabel = Preuzmi downloadButtonLabel = Preuzmi
downloadFinish = Preuzimanje je završeno. downloadFinish = Preuzimanje je završeno.
fileSizeProgress = ({ $partialSize } od { $totalSize }) fileSizeProgress = ({ $partialSize } od { $totalSize })
sendYourFilesLink = Isprobajte Firefox Send sendYourFilesLink = Isprobaj Firefox Send
errorPageHeader = Nešto je pošlo naopako! errorPageHeader = Dogodila se neka greška!
fileTooBig = Datoteka je prevelika za prijenos. Treba biti manja od { $size }. fileTooBig = Datoteka je prevelika za prijenos. Mora biti manja od { $size }.
linkExpiredAlt = Poveznica je istekla linkExpiredAlt = Poveznica je istekla
notSupportedHeader = Vaš preglednik nije podržan. notSupportedHeader = Tvoj preglednik nije podržan.
notSupportedLink = Zašto moj preglednik nije podržan? notSupportedLink = Zašto moj preglednik nije podržan?
notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morat ćete ažurirati vaš preglednik. notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morat ćeš ažurirati preglednik.
updateFirefox = Ažuriraj Firefox updateFirefox = Ažuriraj Firefox
deletePopupCancel = Otkaži deletePopupCancel = Odustani
deleteButtonHover = Obriši deleteButtonHover = Obriši
footerLinkLegal = Pravni podaci footerLinkLegal = Pravni podaci
footerLinkPrivacy = Privatnost footerLinkPrivacy = Privatnost
footerLinkCookies = Kolačići footerLinkCookies = Kolačići
passwordTryAgain = Netočna lozinka. Pokušaj ponovo. passwordTryAgain = Netočna lozinka. Pokušaj ponovo.
javascriptRequired = Za Firefox Send je potreban JavaScript javascriptRequired = Za Firefox Send potreban je JavaScript
whyJavascript = Zašto je za Firefox Send potreban JavaScript? whyJavascript = Zašto je za Firefox Send potreban JavaScript?
enableJavascript = Omogućite JavaScript i pokušajte ponovo. enableJavascript = Aktiviraj JavaScript i pokušaj ponovo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m" # A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }s { $minutes }m expiresHoursMinutes = { $hours }s { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m" # A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m expiresMinutes = { $minutes }min
# A short status message shown when the user enters a long password # A short status message shown when the user enters a long password
maxPasswordLength = Najveća dužina lozinke: { $length } maxPasswordLength = Maksimalna duljina lozinke: { $length }
# A short status message shown when there was an error setting the password # A short status message shown when there was an error setting the password
passwordSetError = Lozinku nije moguće postaviti passwordSetError = Lozinku nije moguće postaviti
@@ -56,10 +56,10 @@ passwordSetError = Lozinku nije moguće postaviti
-firefox = Firefox -firefox = Firefox
-mozilla = Mozilla -mozilla = Mozilla
introTitle = Jednostavno i privatno dijeljenje datoteka introTitle = Jednostavno i privatno dijeljenje datoteka
introDescription = { -send-brand } vam omogućava dijeljenje datoteka s kriptiranjem i poveznicu koja automatski ističe. Ovim putem stvari koje dijelite ostaju privatne i osiguravate se da ne ostaju zauvijek dostupne na Internetu. introDescription = { -send-brand } omogućava dijeljenje datoteka sa šifriranjem i poveznicom koja će automatski isteći. Ovim putem, stvari koje dijeliš ostaju privatne i osiguravaš se da ne ostaju zauvijek dostupne na internetu.
notifyUploadEncryptDone = Vaša datoteka je kriptirana i spremna za slanje. notifyUploadEncryptDone = Tvoja je datoteka šifrirana i spremna za slanje.
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes' # downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Istječe nakon { $downloadCount } ili { $timespan } archiveExpiryInfo = Isteći će nakon { $downloadCount } ili { $timespan }
timespanMinutes = timespanMinutes =
{ $num -> { $num ->
[one] { $num } minuta [one] { $num } minuta
@@ -97,11 +97,11 @@ fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Ukupna veličina: { $size } totalSize = Ukupna veličina: { $size }
# the next line after the colon contains a file name # the next line after the colon contains a file name
copyLinkDescription = Kopirajte poveznicu da biste podijelili svoju datoteku: copyLinkDescription = Kopiraj poveznicu za dijeljenje svoje datoteke:
copyLinkButton = Kopiraj poveznicu copyLinkButton = Kopiraj poveznicu
downloadTitle = Preuzmite datoteke downloadTitle = Preuzmi datoteke
downloadDescription = Ova datoteka je podjeljena putem { -send-brand } s kriptiranjem i poveznicom koja automatski istječe. downloadDescription = Ova se datoteka dijelila putem usluge { -send-brand } sa šifriranjem i poveznicom koja će automatski isteći.
trySendDescription = Probajte { -send-brand } za jednostavno i sigurno dijeljenje datoteka. trySendDescription = Probaj { -send-brand } za jednostavno i sigurno dijeljenje datoteka.
# count will always be > 10 # count will always be > 10
tooManyFiles = tooManyFiles =
{ $count -> { $count ->
@@ -117,48 +117,48 @@ tooManyArchives =
*[other] Dozvoljeno je samo { $count } arhiva. *[other] Dozvoljeno je samo { $count } arhiva.
} }
expiredTitle = Poveznica je istekla. expiredTitle = Poveznica je istekla.
notSupportedDescription = { -send-brand } neće raditi s ovim preglednikom. { -send-short-brand } radi najbolje s zadnjom { -firefox } inačicom i radit će s trenutnom inačicom većine preglednika. notSupportedDescription = { -send-brand } neće raditi s ovim preglednikom. { -send-short-brand } najbolje radi sa zadnjom { -firefox } verzijom i radit će s aktualnim verzijama većine preglednika.
downloadFirefox = Preuzmite { -firefox } downloadFirefox = Preuzmi { -firefox }
legalTitle = { -send-short-brand } politika privatnosti legalTitle = { -send-short-brand } politika privatnosti
legalDateStamp = Inačica 1.0, od 12. ožujka 2019. godine legalDateStamp = Verzija 1.0, od 12. ožujka 2019. godine
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m" # A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }s { $minutes }m expiresDaysHoursMinutes = { $days }d { $hours }s { $minutes }m
addFilesButton = Odaberite datoteke za prijenos addFilesButton = Odaberi datoteke za prijenos
uploadButton = Prijenos uploadButton = Prijenos
# the first part of the string 'Drag and drop files or click to send up to 1GB' # the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Povucite i ispustite datoteke dragAndDropFiles = Povuci i ispusti datoteke
# the second part of the string 'Drag and drop files or click to send up to 1GB' # 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") # $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 } orClickWithSize = ili pritisni gumb, za slanje do { $size }
addPassword = Zaštitite lozinkom addPassword = Zaštiti s lozinkom
emailPlaceholder = Unesite svoju adresu e-pošte emailPlaceholder = Upiši svoju e-adresu
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Prijavite se za slanje do { $size } signInSizeBump = Prijavi se, za slanje do { $size }
signInOnlyButton = Prijavi se signInOnlyButton = Prijavi se
accountBenefitTitle = Stvorite { -firefox } račun ili se prijavite accountBenefitTitle = Otvori { -firefox } račun ili se prijavi
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Dijelite datoteke do { $size } accountBenefitLargeFiles = Dijeli datoteke do { $size }
accountBenefitDownloadCount = Dijelite datoteke s više osoba accountBenefitDownloadCount = Dijeli datoteke s više osoba
accountBenefitTimeLimit = accountBenefitTimeLimit =
{ $count -> { $count ->
[one] Neka poveznice budu aktivne { $count } dan [one] Ostavi poveznice aktivnima { $count } dan
[few] Neka poveznice budu aktivne { $count } dana [few] Ostavi poveznice aktivnima { $count } dana
*[other] Neka poveznice budu aktivne { $count } dana *[other] Ostavi poveznice aktivnima { $count } dana
} }
accountBenefitSync = Upravljanje dijeljenim datotekama s bilo kojeg uređaja accountBenefitSync = Upravljaj dijeljenim datotekama s bilo kojeg uređaja
accountBenefitMoz = Saznajte više o drugim { -mozilla } uslugama accountBenefitMoz = Saznaj više o drugim { -mozilla } uslugama
signOut = Odjavi se signOut = Odjavi se
okButton = U redu okButton = U redu
downloadingTitle = Preuzimanje downloadingTitle = Preuzimanje
noStreamsWarning = Ovaj preglednik možda neće moći dekriptirati datoteku ove veličine. noStreamsWarning = Ovaj preglednik možda neće moći dešifrirati datoteku ove veličine.
noStreamsOptionCopy = Kopirajte poveznicu kako biste je otvorili u drugom pregledniku noStreamsOptionCopy = Za otvaranje u drugom pregledniku, kopiraj poveznicu
noStreamsOptionFirefox = Isprobajte naš omiljeni preglednik noStreamsOptionFirefox = Isprobaj naš omiljeni preglednik
noStreamsOptionDownload = Nastavite s ovim preglednikom noStreamsOptionDownload = Nastavi s ovim preglednikom
downloadFirefoxPromo = Potpuno novi { -firefox } vam donosi { -send-short-brand }. downloadFirefoxPromo = Potpuno novi { -firefox } donosi { -send-short-brand }.
# the next line after the colon contains a file name # the next line after the colon contains a file name
shareLinkDescription = Dijelite poveznicu na svoju datoteku: shareLinkDescription = Dijeli poveznicu na tvoju datoteku:
shareLinkButton = Dijeli poveznicu shareLinkButton = Dijeli poveznicu
# $name is the name of the file # $name is the name of the file
shareMessage = Preuzmite “{ $name }” sa { -send-brand }: jednostavno i sigurno dijeljenje datoteka shareMessage = Preuzmi{ $name }” pomoću { -send-brand }: jednostavno i sigurno dijeljenje datoteka
trailheadPromo = Postoji način da zaštitite svoju privatnost. Pridružite se Firefoxu. trailheadPromo = Postoji način, kako zaštititi vlastitu privatnost. Pridruži se Firefoxu.
learnMore = Saznajte više. learnMore = Saznaj više.

152
public/locales/hus/send.ftl Normal file
View File

@@ -0,0 +1,152 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Ka olna' max jant'oj yab u t'ojnal alwa'
importingFile = k'wajat i chiyál...
encryptingFile = K'wajat i tsinat dheyál...
decryptingFile = K'wajat i exal ki wila'...
downloadCount =
{ $num ->
*[other] 1 pa'badh { $num } pa'badh
}
timespanHours =
{ $num ->
*[other] 1 hora { $num } hora
}
copiedUrl = Letsbadh...
unlockInputPlaceholder = Tsinat japixtal
unlockButtonLabel = Ka japiy
downloadButtonLabel = Ka pa'ba'
downloadFinish = Tala' pa'iyits
fileSizeProgress = { $partialSize } xi ti { $totalSize }
sendYourFilesLink = Ka eyendha' Firefox Send
errorPageHeader = ¡Yab kalej alwa'!
fileTooBig = Tekedh pulik axi a le' ka kadh'ba', kwa'al kin alemna' { $size }
linkExpiredAlt = Yabats u awil ki ela'
notSupportedHeader = Yab u awil ka japiyat k'al axi NAVEGADOR
notSupportedLink = ¿Jale' ti u NAVEGADOR yab in japiyal?
notSupportedOutdatedDetail = Yab u awil ka eyendha' Firefox Send kom an NAVEGADOR Firefox biyalits. Ka Pa'ba' axi it.
updateFirefox = Ka itmedha' Firefox
deletePopupCancel = Ka kuba'
deleteButtonHover = Ka pakuw
footerLinkLegal = Axi walkadh ka t'ajan
footerLinkPrivacy = Tsinataláb
footerLinkCookies = Cookies
passwordTryAgain = Yab ja' an tsinat japixtaláb. Ka exa' junil.
javascriptRequired = Firefox Send in yejenchal JavaScript
whyJavascript = ¿Jale' Firefox Send in yejenchal JavaScript?
enableJavascript = Ka lek'wtsiy JavaScript ani ka exa' junil.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password
maxPasswordLength = In puwél an tsinat japixtaláb pel: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Axi tsinat japixtaláb yab u awil ka eyendha'
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Yab k'ibat, a tsinat t'ojlabil u awil ka buk'uw
introDescription = { -send-brand } in t'ajál abal ka buk'uw a t'ojlabil po axé' tsinat abal an atikláb axi tat yab a le' kin tsu'uw yab kin ejtow, aniyej an enlace abal ka pa'ba' an t'ojláb u talél kwetém. Antsan patal axi ka abna' u awil ka buk'uw tsinat ani antsan jayej axi ka buk'uw yab u jilk'onal ets'ey ti ébtsolom (internet).
notifyUploadEncryptDone = A t'ojlabil xo' tsinadhits ani u awilits ka abna'
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Ne'ets ka taliy ti { $downloadCount } o ti { $timespan }
timespanMinutes =
{ $num ->
*[other] 1 minuto { $num }
}
timespanDays =
{ $num ->
*[other] 1 k'icháj { $num } k'ichajchik
}
timespanWeeks =
{ $num ->
*[other] 1 semana { $num } i semanachik
}
fileCount =
{ $num ->
*[other] 1 t'ojláb { $num } t'ojlabchik
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = In puwél an t'ojláb: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Ka k'ot'biy an enlace abal ka ejtow ka buk'uw a t'ojlabil:
copyLinkButton = ka k'ot'biy an enlace
downloadTitle = Ka pa'ba' an t'ojláb
downloadDescription = Axi t'ojláb aban k'al in tolmixtal an { -send-brand } ani tsinat, aniyej in tsap an enlace u talél kwetém.
trySendDescription = Ka eyendha' { -send-brand } abal ka abna' a t'ojlabil, yab k'ibat ani k'anidh.
# count will always be > 10
tooManyFiles =
{ $count ->
*[other]
Expidh u awil ka k'adhba' 1 i t'ojláb
Expidh u awil ka k'adhba' { $count } i t'ojláb.
}
# count will always be > 10
tooManyArchives =
{ $count ->
*[other]
Expidh u awil 1 i t'ojláb.
Expidh u awil { $count } i t'ojláb.
}
expiredTitle = An enlace talíts in tsap.
notSupportedDescription = { -send-brand } yab u t'ojnal al axi navegador. { -send-short-brand } u t'ojnal alwa' k'al an { -firefox } axi it, ani ne'ets ka t'ojon alwa' k'al an it navegadorchik.
downloadFirefox = Ka pa'ba' { -firefox }
legalTitle = Tin kwentaj an "Tsinaxtaláb a k'al" { -send-short-brand }
legalDateStamp = Versión 1.0 ani t'ajadh ti Marzo 12 ti tamub 2019.
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } k'icháj { $hours } hora { $minutes } minuto
addFilesButton = Ka takuy an t'ojláb axi ne'ets ka k'adhba'
uploadButton = Ka k'adhba'
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Ka kina' a t'ojlabil ani ka walka' te'
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o ka t'aja' an clic abal ka abna' ma { $size }
addPassword = Ka k'aniy k'al jún i tsinat japixtaláb
emailPlaceholder = Ka punuw a abnax dhuchlab Correo Electrónico.
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Kit otsits abal ka ejtow ka abna' ma { $size }
signInOnlyButton = Kit otsits
accountBenefitTitle = Ka ts'ejka' jún a it k'al (cuenta) { -firefox } o kit otsits max a kwa'alits jún.
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Ka buk'uw a t'ojlabil, ma { $size }
accountBenefitDownloadCount = Ka buk'uw a t'ojlabil k'al pil i atiklabchik
accountBenefitTimeLimit =
{ $count ->
*[other]
Ka ko'oy an enlace ma 1 a k'icháj
Ka ko'oy an enlacechik ma { $count } a k'icháhchik
}
accountBenefitSync = Ka ejtow tit t'ojnal k'al t'ojlabil al jawakitsk'ij tum eyendhabnél
accountBenefitMoz = Ka exla' jant'oj ti pidhál { -mozilla }
signOut = Kit kalej
okButton = Ka bats'uw
downloadingTitle = K'wajat ti pa'íl
noStreamsWarning = Walám axi navegador yab ne'ets kin ejtow kin japiy jún i t'ojláb tekedh pulik.
noStreamsOptionCopy = Ka k'ot'biy an enlace abal ka japiy al pil i navegador
noStreamsOptionFirefox = Ka eyendha' i navegador
noStreamsOptionDownload = yab kit kalej al axi navegador
downloadFirefoxPromo = An it { -firefox } ti pidhál { -send-short-brand }
# the next line after the colon contains a file name
shareLinkDescription = Ka abna' an enlace al an eyendhanél:
shareLinkButton = Ka abna' an enlace
# $name is the name of the file
shareMessage = Ka pa'ba' “{ $name }” k'al { -send-brand }: ka abna' a t'ojlabil, yab k'ibat ani k'anidh
trailheadPromo = U awil ka k'aniy axi tat a k'al. Kit tamkun k'al Firefox.
learnMore = Ka ajiy más.

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 = ({ $partialSize }-ը { $totalSize })-ից
sendYourFilesLink = Փորձել Firefox Send-ը
errorPageHeader = Ինչ-որ բան այն չէ
fileTooBig = Այդ ֆայլը չափազանց մեծ է վերբեռնելու համար: Այն պետք է լինի ավելի քիչ, քան { $size }-ը
linkExpiredAlt = Հղումն ավարտված է
notSupportedHeader = Ձեր զննարկիչը չի աջակցվում:
notSupportedLink = Ինչու իմ զննարկիչը չի աջակցվում:
notSupportedOutdatedDetail = Դժբախտաբար, Firefox- ի այս տարբերակը չի աջակցում այն վեբ տեխնոլոգիան, որը պետք է Firefox Send-ի համար: Դուք պետք է թարմացնեք ձեր զննարկիչը:
updateFirefox = Թարմացնել Firefox-ը
deletePopupCancel = Չեղարկել
deleteButtonHover = Ջնջել
footerLinkLegal = Իրավական
footerLinkPrivacy = Գաղտնիություն
footerLinkCookies = Cookie-ներ
passwordTryAgain = Սխալ գաղտնաբառ. Կրկին փորձեք:
javascriptRequired = Firefox Send-ը պահանջում է JavaScript
whyJavascript = Ինչո՞ւ է Firefox Send-ը պահանջում JavaScript.
enableJavascript = Խնդրում ենք միացնել JavaScript-ը և կրկին փորձել:
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ժ { $minutes }ր
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }ր
# A short status message shown when the user enters a long password
maxPasswordLength = Գանղտնաբառի առավելագույն չափ. { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Այս գաղտնաբառը հնարավոր չէ սահմանել
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Ուղարկել
-firefox = Firefox
-mozilla = Mozilla
introTitle = Պարզ, մասնավոր ֆայլերի փոխանակում
introDescription = { -send-brand }-ը թույլ է տալիս փոխանակել ֆայլեր ծայրից ծայր գաղտնագրման միջոցով և այնպիսի հղում, որն ինքնաբերաբար ավարտվում է: Այսպիսով, դուք կարող եք վերահսկել այն, ինչով կիսվում եք և համոզված լինեք, որ ձեր նյութերը հավերժ չեն մնա առցանց:
notifyUploadEncryptDone = Ձեր ֆայլը գաղտնագրված է և պատրաստ է ուղարկել
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Ավարտվելու է { $downloadCount }-ից կամ { $timespan }-ից
timespanMinutes =
{ $num ->
[one] 1 րոպե
*[other] { $num } րոպե
}
timespanDays =
{ $num ->
[one] 1 օր
*[other] { $num } օր
}
timespanWeeks =
{ $num ->
[one] 1 շաբաթ
*[other] { $num } շաբաթ
}
fileCount =
{ $num ->
[one] 1 ֆայլ
*[other] { $num } ֆայլեր
}
# byte abbreviation
bytes = Բ
# kibibyte abbreviation
kb = ԿԲ
# mebibyte abbreviation
mb = ՄԲ
# gibibyte abbreviation
gb = ԳԲ
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Ընդհանուր չափ՝ { $size }
# the next line after the colon contains a file name
copyLinkDescription = Պատճենեք հղումը՝ ֆայլը համօգտագործելու համար.
copyLinkButton = Պատճենել հղումը
downloadTitle = Ներբեռնել ֆայլերը
downloadDescription = Հայլը համօգտագործվել է { -send-brand }-ի միջոցով ՝ ծայրից ծայր գաղտնագրմամբ և ինքնաբերաբար ավարտվող հղմամբ:
trySendDescription = Փորձեք { -send-brand }-ը՝ ֆայլերի պարզ և անվտանգ փոխանակման համար:
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Միաժամանակ միայն 1 ֆայլ կարող է վերբեռնվել:
*[other] Միաժամանակ միայն { $count } ֆայլեր կարող են վերբեռնվել:
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Միայն 1 արխիվ է թույլատրված:
*[other] Միայն { $count } արխիվներ են թույլատրված:
}
expiredTitle = Այս հղումն ավարտված է:
notSupportedDescription = { -send-brand }-ը չի աշխատի այս զննարկչի հետ: { -send-short-brand }-ը լավագույն կերպով աշխատում է { -firefox }-ի վերջին տարբերակի հետ և կաշխատի զննարկիչների մեծամասնության վերջին տարբերակների հետ:
downloadFirefox = Ներբեռնել { -firefox }-ը
legalTitle = { -send-short-brand }-ի Գաղտնիության ծանուցում
legalDateStamp = Տարբերակ 1.0, թվագրված՝ 2019 թ. մարտի 12-ով
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }օր { $hours }ժ { $minutes }ր
addFilesButton = Ընտրեք ֆայլեր՝ վերբեռնելու համար
uploadButton = Վերբեռնել
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Քաշեք և գցեք ֆայլերը
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = կամ կտտացրեք`ուղարկելու համար մինչև { $size }
addPassword = Պաշտպանեք գաղտնաբառով
emailPlaceholder = Մուտքագրեք ձեր էլ. փոստը
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Մուտք գործեք՝ { $size } ուղարկելու համար
signInOnlyButton = Մուտք գործել
accountBenefitTitle = Ստեղծեք { -firefox } հաշիվ կամ մուտք գործեք
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Կիսվեք մինչև { $size } ֆայլերով
accountBenefitDownloadCount = Կիսվեք ֆայլերով ավելի շատ մարդկանց հետ
accountBenefitTimeLimit =
{ $count ->
[one] Հղումներն ակտիվ պահել մինչև 1 օր
*[other] Հղումներն ակտիվ պահել մինչև { $count } օր
}
accountBenefitSync = Կառավարեք համօգտագործվող ֆայլերը ցանկացած սարքից
accountBenefitMoz = Իմացեք { -mozilla }-ի այլ ծառայությունների մասին
signOut = Դուրս գրվել
okButton = Լավ
downloadingTitle = Ներբեռնվում է
noStreamsWarning = Այս զննարկիչը չի կարողանա վերծանել այսպիսի մեծ ֆայլը
noStreamsOptionCopy = Պատճենեք հղումը`այլ զննարկիչում բացելու համար
noStreamsOptionFirefox = Փորձեք մեր սիրած զննարկիչը
noStreamsOptionDownload = Շարունակեք այս զննարկիչով
downloadFirefoxPromo = { -send-short-brand }-ը ձեզ է առաջարկում ամբողջովին նոր { -firefox }:
# the next line after the colon contains a file name
shareLinkDescription = Կիսվեք ձեր ֆայլի հղումով.
shareLinkButton = Համօգտագործել հղումը
# $name is the name of the file
shareMessage = Ներբեռնեք “{ $name }”-ը { -send-brand }-ով ՝ պարզ և ապահով՝ ֆայլերի համօգտագործում
trailheadPromo = Ձեր գաղտնիությունը պաշտպանելու միջոց կա: Միացեք Firefox- ին:
learnMore = Իմանալ ավելին

View File

@@ -22,11 +22,11 @@ downloadFinish = Discargamento completate
fileSizeProgress = ({ $partialSize } de { $totalSize }) fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Proba Firefox Send sendYourFilesLink = Proba Firefox Send
errorPageHeader = Un error occurreva! errorPageHeader = Un error occurreva!
fileTooBig = Iste file es troppo grande pro lo cargar. Illo debe ser inferior a { $size }. fileTooBig = Iste file es troppo grande pro incargar. Illo debe esser inferior a { $size }.
linkExpiredAlt = Ligamine expirate linkExpiredAlt = Ligamine expirate
notSupportedHeader = Tu navigator non es supportate notSupportedHeader = Tu navigator non es supportate
notSupportedLink = Perque iste navigator non es supportate? notSupportedLink = Proque non es mi navigator supportate?
notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologias web que move Firefox Send. Tu besonia de actualisar tu navigator. notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologia web que actiona Firefox Send. Tu debe actualisar tu navigator.
updateFirefox = Actualisar Firefox updateFirefox = Actualisar Firefox
deletePopupCancel = Cancellar deletePopupCancel = Cancellar
deleteButtonHover = Deler deleteButtonHover = Deler
@@ -44,7 +44,7 @@ expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password # A short status message shown when the user enters a long password
maxPasswordLength = Maxime longor del contrasigno: { $length } maxPasswordLength = Maxime longor del contrasigno: { $length }
# A short status message shown when there was an error setting the password # A short status message shown when there was an error setting the password
passwordSetError = Iste contrasigno non pote ser definite passwordSetError = Iste contrasigno non ha potite esser establite
## Send version 2 strings ## Send version 2 strings
@@ -55,7 +55,7 @@ passwordSetError = Iste contrasigno non pote ser definite
-mozilla = Mozilla -mozilla = Mozilla
introTitle = Comparti file in maniera confidential 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. introDescription = { -send-brand } te pone in grado de compartir files con cryptographia bilateral e un ligamine que automaticamente expira. Assi que tu pote mantener private lo que tu comparti e liberar te del anxietate que tu problema resta online per sempre.
notifyUploadEncryptDone = Tu file es cryptate e preste pro ser inviate. notifyUploadEncryptDone = Tu file es cryptate e preste pro esser inviate
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes' # 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 } archiveExpiryInfo = Expira post { $downloadCount } o { $timespan }
timespanMinutes = timespanMinutes =
@@ -99,24 +99,24 @@ trySendDescription = Prova { -send-brand } pro le compartimento de file simple e
# count will always be > 10 # count will always be > 10
tooManyFiles = tooManyFiles =
{ $count -> { $count ->
[one] Solo 1 file al vice pote ser cargate. [one] Solmente 1 file pote ser incargate al vice.
*[other] Solo { $count } files al vice pote ser cargate. *[other] Solmente { $count } files pote esser incargate al vice.
} }
# count will always be > 10 # count will always be > 10
tooManyArchives = tooManyArchives =
{ $count -> { $count ->
[one] Solo 1 archivo es consentite. [one] Solo 1 archivo es permittite.
*[other] Solo { $count } archivos es consentite. *[other] Solo { $count } archivos es permitter.
} }
expiredTitle = Iste ligamine ha expirate. 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. 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 } downloadFirefox = Discargar { -firefox }
legalTitle = Politica de confidentialitate de { -send-short-brand } legalTitle = Aviso de confidentialitate de { -send-short-brand }
legalDateStamp = Version 1.0 del 12 martio 2019 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" # 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 expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Selige le files a cargar addFilesButton = Selige le files a incargar
uploadButton = Cargar uploadButton = Incargar
# the first part of the string 'Drag and drop files or click to send up to 1GB' # the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Traher e deponer files dragAndDropFiles = Traher e deponer files
# the second part of the string 'Drag and drop files or click to send up to 1GB' # the second part of the string 'Drag and drop files or click to send up to 1GB'
@@ -125,8 +125,8 @@ orClickWithSize = o cliccar pro inviar usque { $size }
addPassword = Proteger per contrasigno addPassword = Proteger per contrasigno
emailPlaceholder = Insere tu adresse de e-mail 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") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Accede pro inviar usque { $size } signInSizeBump = Aperi session pro inviar usque a { $size }
signInOnlyButton = Authentica te signInOnlyButton = Aperir session
accountBenefitTitle = Crea un conto { -firefox } o registra 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") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Comparti files usque { $size } accountBenefitLargeFiles = Comparti files usque { $size }
@@ -136,12 +136,12 @@ accountBenefitTimeLimit =
[one] Retene active le ligamine pro 1 die [one] Retene active le ligamine pro 1 die
*[other] Retene active le ligamine pro { $count } dies *[other] Retene active le ligamine pro { $count } dies
} }
accountBenefitSync = Gere files compartite ab ulle apparato accountBenefitSync = Gere files compartite ab non importa qual apparato
accountBenefitMoz = Discoperi altere servicios de { -mozilla } accountBenefitMoz = Discoperi altere servicios de { -mozilla }
signOut = Disconnecter signOut = Clauder session
okButton = OK okButton = OK
downloadingTitle = Discargamento downloadingTitle = Discargamento
noStreamsWarning = Iste navigator pote non pote decifrar un file assi grande. noStreamsWarning = Es possibile que iste navigator non pote decryptar un file de iste proportiones.
noStreamsOptionCopy = Copiar le ligamine e aperir lo in un altere navigator noStreamsOptionCopy = Copiar le ligamine e aperir lo in un altere navigator
noStreamsOptionFirefox = Prova nostre navigator favorite noStreamsOptionFirefox = Prova nostre navigator favorite
noStreamsOptionDownload = Continuar con iste navigator noStreamsOptionDownload = Continuar con iste navigator

View File

@@ -57,7 +57,7 @@ introTitle = Condividi file in modo semplice e riservato
introDescription = { -send-brand } permette di condividere file con crittografia end-to-end attraverso un link che scade automaticamente. In questo modo hai la garanzia che i tuoi contenuti vengano condivisi in modo riservato e non rimangano online per sempre. introDescription = { -send-brand } permette di condividere file con crittografia end-to-end attraverso un link che scade automaticamente. In questo modo hai la garanzia che i tuoi contenuti vengano condivisi in modo riservato e non rimangano online per sempre.
notifyUploadEncryptDone = Il file è crittato e pronto per linvio notifyUploadEncryptDone = Il file è crittato e pronto per linvio
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes' # downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Scade dopo { $downloadCount } o dopo { $timespan } archiveExpiryInfo = Scade dopo { $downloadCount } o tra { $timespan }
timespanMinutes = timespanMinutes =
{ $num -> { $num ->
[one] 1 minuto [one] 1 minuto

View File

@@ -0,0 +1,26 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Aq'a yol sti'
importingFile = Eq'otzan
encryptingFile = La muj isik'lele
decryptingFile = Ni jaj ve't isik'lele'
downloadCount =
{ $num ->
[one] Eq'omal ku'tzan
*[other] { $num } Eq'omalaj ku'tzan
}
timespanHours =
{ $num ->
[one] 1 Ch'ich'
*[other] { $num } Nimalaj ch'ich'
}
copiedUrl = Eesamal ivatz!
unlockInputPlaceholder = Kach'ub'al
unlockButtonLabel = Eesa ikach'ub'al
downloadButtonLabel = Eq'o ku'tzan
downloadFinish = Eq'o ku'tzan kaajayil
fileSizeProgress = ({ $partialSize }tetz{ $totalSize })
sendYourFilesLink = B'anb'e ve't u Firefox Send
## Send version 2 strings

View File

@@ -135,6 +135,7 @@ downloadingTitle = ダウンロード中
noStreamsWarning = このブラウザーは、この大きさのファイルを復号化できません。 noStreamsWarning = このブラウザーは、この大きさのファイルを復号化できません。
noStreamsOptionCopy = リンクをコピーして他のブラウザーで開いてください noStreamsOptionCopy = リンクをコピーして他のブラウザーで開いてください
noStreamsOptionDownload = このブラウザーで続ける noStreamsOptionDownload = このブラウザーで続ける
downloadFirefoxPromo = { -send-short-brand } はすべてが新しくなった { -firefox } により提供されています。
# the next line after the colon contains a file name # the next line after the colon contains a file name
shareLinkDescription = ファイルへのリンクを共有しましょう: shareLinkDescription = ファイルへのリンクを共有しましょう:
shareLinkButton = リンクを共有 shareLinkButton = リンクを共有

View File

@@ -22,7 +22,7 @@ downloadFinish = Asider yemmed
fileSizeProgress = ({ $partialSize } seg { $totalSize }) fileSizeProgress = ({ $partialSize } seg { $totalSize })
sendYourFilesLink = Ɛreḍ Firefox Send sendYourFilesLink = Ɛreḍ Firefox Send
errorPageHeader = Yella wayen yeḍran! errorPageHeader = Yella wayen yeḍran!
fileTooBig = Afaylu-agi meqqe aṭas. Yessefk ad yili daw n { $size }. fileTooBig = Afaylu-agi meqqer aṭas. Yessefk ad yili daw n { $size }.
linkExpiredAlt = Aseɣwen yemmut linkExpiredAlt = Aseɣwen yemmut
notSupportedHeader = Iminig-ik ur ittusefrak ara notSupportedHeader = Iminig-ik ur ittusefrak ara
notSupportedLink = Ayγer iminig inu ur yettwasefrek ara? notSupportedLink = Ayγer iminig inu ur yettwasefrek ara?
@@ -54,7 +54,7 @@ passwordSetError = Awal-agi uffir ur izmir ara ad ittwabaded
-firefox = Firefox -firefox = Firefox
-mozilla = Mozilla -mozilla = Mozilla
introTitle = Afessas, beṭṭu n ifuyla s wudem uslig introTitle = Afessas, beṭṭu n ifuyla s wudem uslig
introDescription = { -send-brand } ad k(yeǧǧ ad tebḍuḍ ifuyla iwgelhanensi ṭṭerf ɣer ṭṭerf akked useɣwen ara yemmten s wudem awurman. Daɣen, ad tizmireḍ ad tḥrzeḍ ayen i tbeṭṭuḍ s wudem uslig daɣen ad temneḍ imi agbur-ik ur yettɣimi ara srid i lebda. introDescription = { -send-brand } ad k(kem)-yeǧǧ ad tebḍuḍ ifuyla iwgelhanen si ṭṭerf ɣer ṭṭerf akked useɣwen ara yemmten s wudem awurman. Daɣen, ad tizmireḍ ad tḥerzeḍ ayen i tbeṭṭuḍ s wudem uslig daɣen ad tamneḍ imi agbur-ik ur yettɣimi ara i lebda.
notifyUploadEncryptDone = Afaylu-ik yewgelhen daɣen ihegga i tuzna notifyUploadEncryptDone = Afaylu-ik yewgelhen daɣen ihegga i tuzna
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes' # downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Ad yemmet deffir { $downloadCount } neɣ { $timespan } archiveExpiryInfo = Ad yemmet deffir { $downloadCount } neɣ { $timespan }

View File

@@ -5,7 +5,7 @@ importingFile = 가져오는 중…
encryptingFile = 암호화 중… encryptingFile = 암호화 중…
decryptingFile = 복호화 중… decryptingFile = 복호화 중…
downloadCount = 다운로드 { $num }회 downloadCount = 다운로드 { $num }회
timespanHours = 1 시간 timespanHours = { $num }시간
copiedUrl = 복사 완료! copiedUrl = 복사 완료!
unlockInputPlaceholder = 비밀번호 unlockInputPlaceholder = 비밀번호
unlockButtonLabel = 잠금 해제 unlockButtonLabel = 잠금 해제
@@ -26,9 +26,9 @@ footerLinkLegal = 법적 정보
footerLinkPrivacy = 개인정보 보호 footerLinkPrivacy = 개인정보 보호
footerLinkCookies = 쿠키 footerLinkCookies = 쿠키
passwordTryAgain = 비밀번호가 맞지 않습니다. 다시 시도해 주세요. passwordTryAgain = 비밀번호가 맞지 않습니다. 다시 시도해 주세요.
javascriptRequired = Firefox Send는 자바스크립트를 필요로 합니다 javascriptRequired = Firefox Send는 JavaScript를 필요로 합니다
whyJavascript = 왜 Firefox Send에 자바스크립트가 필요하죠? whyJavascript = 왜 Firefox Send에 JavaScript가 필요하죠?
enableJavascript = 자바스크립트를 활성화하고 다시 시도해 주세요. enableJavascript = JavaScript를 활성화하고 다시 시도해 주세요.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m" # A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }시간 { $minutes }분 expiresHoursMinutes = { $hours }시간 { $minutes }분
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m" # A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
@@ -96,15 +96,15 @@ tooManyArchives =
} }
expiredTitle = 이 링크는 만료되었습니다. expiredTitle = 이 링크는 만료되었습니다.
notSupportedDescription = { -send-brand }는 이 브라우저와 작동하지 않습니다. { -send-short-brand }는 최신 { -firefox }와 가장 잘 작동하며, 대부분의 최신 웹 브라우저와도 잘 작동합니다. notSupportedDescription = { -send-brand }는 이 브라우저와 작동하지 않습니다. { -send-short-brand }는 최신 { -firefox }와 가장 잘 작동하며, 대부분의 최신 웹 브라우저와도 잘 작동합니다.
downloadFirefox = 다운로드 { -firefox } downloadFirefox = { -firefox } 다운로드
legalTitle = { -send-short-brand } 개인정보 보호 공지 legalTitle = { -send-short-brand } 개인정보 보호 공지
legalDateStamp = 버전 1.0, 2019년 3월 12일 출시됨 legalDateStamp = 버전 1.0, 2019년 3월 12일
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m" # 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 }분 expiresDaysHoursMinutes = { $days }일 { $hours }시간 { $minutes }분
addFilesButton = 업로드할 파일을 선택하세요 addFilesButton = 업로드할 파일을 선택하세요
uploadButton = 업로드 uploadButton = 업로드
# the first part of the string 'Drag and drop files or click to send up to 1GB' # the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = 파일을 이곳에 드래그 엔 드롭하세요. dragAndDropFiles = 파일여기에 끌어서 놓으세요
# the second part of the string 'Drag and drop files or click to send up to 1GB' # 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") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = 또는 여기를 클릭하여 { $size }까지의 파일을 공유하세요. orClickWithSize = 또는 여기를 클릭하여 { $size }까지의 파일을 공유하세요.
@@ -113,7 +113,7 @@ emailPlaceholder = 이메일 입력
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = { $size }까지 파일을 보낼 수 있게 로그인 signInSizeBump = { $size }까지 파일을 보낼 수 있게 로그인
signInOnlyButton = 로그인 signInOnlyButton = 로그인
accountBenefitTitle = { -firefox } 계정을 하나 만들거나, 로그인 accountBenefitTitle = { -firefox } 계정 생성 또는 로그인
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = { $size }까지의 파일 공유 accountBenefitLargeFiles = { $size }까지의 파일 공유
accountBenefitDownloadCount = 더 많은 사람들과 함께 파일 공유 accountBenefitDownloadCount = 더 많은 사람들과 함께 파일 공유
@@ -122,11 +122,11 @@ accountBenefitTimeLimit =
*[other] 최대 { $count }일까지 링크 유지 *[other] 최대 { $count }일까지 링크 유지
} }
accountBenefitSync = 어떤 기기에서든지 공유된 링크 관리 accountBenefitSync = 어떤 기기에서든지 공유된 링크 관리
accountBenefitMoz = 더 많은 { -mozilla } 서비스에 대해 알아보기 accountBenefitMoz = 다른 { -mozilla } 서비스에 대해 알아보기
signOut = 로그아웃 signOut = 로그아웃
okButton = 확인 okButton = 확인
downloadingTitle = 다운로드 중 downloadingTitle = 다운로드 중
noStreamsWarning = 이 브라우저는 이렇게 큰 용량의 파일 암호화를 풀 수 없을 수도 있습니다. noStreamsWarning = 이 브라우저는 이렇게 큰 파일 암호화 해제를 못할 수도 있습니다.
noStreamsOptionCopy = 다른 브라우저에서 열 수 있도록 링크를 복사 noStreamsOptionCopy = 다른 브라우저에서 열 수 있도록 링크를 복사
noStreamsOptionFirefox = 우리가 애용하는 브라우저를 사용해 보세요 noStreamsOptionFirefox = 우리가 애용하는 브라우저를 사용해 보세요
noStreamsOptionDownload = 이 브라우저로 계속하기 noStreamsOptionDownload = 이 브라우저로 계속하기
@@ -136,5 +136,5 @@ shareLinkDescription = 파일 링크 공유:
shareLinkButton = 링크 공유 shareLinkButton = 링크 공유
# $name is the name of the file # $name is the name of the file
shareMessage = { -send-brand }으로 “{ $name }” 파일을 내려받으세요: 쉽고 안전한 파일 공유입니다. shareMessage = { -send-brand }으로 “{ $name }” 파일을 내려받으세요: 쉽고 안전한 파일 공유입니다.
trailheadPromo = 개인 정보를 보호하는 방법이 있습니다. 파이어폭스와 함께 하세요. trailheadPromo = 개인 정보를 보호하는 방법이 있습니다. Firefox에 가입하세요.
learnMore = 자세히 알아보기 learnMore = 알아보기.

154
public/locales/meh/send.ftl Normal file
View File

@@ -0,0 +1,154 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Tu'un jianininu
importingFile = Nasia´a…
encryptingFile = Encriptando...
decryptingFile = Desencriptando…
downloadCount =
{ $num ->
*[other] { $num } nxinuun
}
timespanHours =
{ $num ->
[one] 1 hora
*[other] { $num } horas
}
copiedUrl = Ntɨɨn
unlockInputPlaceholder = Contraseña
unlockButtonLabel = Nkasɨ
downloadButtonLabel = Xinuu
downloadFinish = Nnɨ´ɨ xinuu
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Ni´i Firefox Send
errorPageHeader = ¡Iyo iin ntu nkene va´a!
fileTooBig = Archivo ya´a ka´nu. Nejia chunku´va { $size }
linkExpiredAlt = Nnɨ´ɨ enlace
notSupportedHeader = Ntu íyo tiñu nuu ka̱a̱ nánuku ya´a.
notSupportedLink = ¿Navi ntu satiñu nuu ka̱a̱ nánuku ya´a?
notSupportedOutdatedDetail = Tuni Firefox ya´a ntu satiñu vii jii Firefox Send. Nejika xinunu a jíía ka̱a̱ nánuku.
updateFirefox = Naxi´ñá Firefox
deletePopupCancel = Nkuvi-ka
deleteButtonHover = Xita
footerLinkLegal = Tu´un nichi
footerLinkPrivacy = Tu´un xitu a kumiji noo´o
footerLinkCookies = Cookies
passwordTryAgain = Contraseña ntu vatu. Nachu´un tuku.
javascriptRequired = Firefox Send ni´i JavaScript
whyJavascript = ¿Navi Firefox Send ni´i JavaScript?
enableJavascript = Kua´a jia´a JavaScript jee nachu´un tuku.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password
maxPasswordLength = Naja ka´nu koo contraseña: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Ntu nkuvi sá´á contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Kua´a daa archivo ñama jee yu´u
introDescription = { -send-brand } taji jia´anu archivos jii cifrado uvi nuu jee iin enlace nɨ´ɨ. Sukuan kuvi kumi yu´unu daa archivo jia´anu jee kuninu nkino daa ya´a kue´e kuiya íchi nuu.
notifyUploadEncryptDone = Archivo noo´o íyo cifrado jee kuvi chu´un íchi
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Nɨ'ɨ dee nña´a { $downloadCount } a xiin { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minuto
*[other] { $num } minutos
}
timespanDays =
{ $num ->
[one] 1 día
*[other] { $num } días
}
timespanWeeks =
{ $num ->
[one] 1 semana
*[other] { $num } semanas
}
fileCount =
{ $num ->
[one] 1 archivo
*[other] { $num } archivos
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Ka´nu: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Tɨɨn enlace jee kua´a archivo:
copyLinkButton = Tɨɨn enlacae
downloadTitle = Xinuu archivo
downloadDescription = Archivo ya´a nsajia { -send-brand } jíí cifrado punto a punto jee iin enlace naa.
trySendDescription = Nasá´á jii { -send-brand } kua´a ñama jee vatu.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Ntuxini 1 archivo kuvi ska.
*[other] Ntuxini { $count } archivos kuvi ska.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Ntu xini 1 archivo íyo
*[other] Ntu xini { $count } archivos íyo
}
expiredTitle = Nnɨ'ɨ link ya´a.
notSupportedDescription = { -send-brand } nsatiñu jii ka̱a̱ nánuku ya´a. { -send-short-brand } satiñu va´a jii tuni íchi yata { -firefox }, jee satiñu va´a jii tuni íyo ntañu´u kuaiyo daa ka̱a̱ nánuku.
downloadFirefox = Xinuun { -firefox }
legalTitle = Tu´un xitu a kumiji noo´o { -send-short-brand }
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Kaji archivos ska
uploadButton = Ska
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Staka jee sía daa archivo
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = a xiin kuaxin saa chu´un íchi nee { $size }
addPassword = Iyo yu´u jii contraseña
emailPlaceholder = Chu´un email noo´o
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Kajie´e sesión saa chu´un íchi nee { $size }
signInOnlyButton = Kajie´e sesión
accountBenefitTitle = Sá´á iin cuenta { -firefox } a xiin kajie´e sesión
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Kua´a archivo ka´nu { $size }
accountBenefitDownloadCount = Kua´a archivos jii inka ñivɨ
accountBenefitTimeLimit =
{ $count ->
[one] Kuteku enlaces 1 kivɨ
*[other] Kuteku daa enlaces { $count } kivɨ
}
accountBenefitSync = Tetiñu archivos jia´anu ntaka ka̱a̱
accountBenefitMoz = Ka´vi kue´eka jiee inka tiñu { -mozilla }
signOut = Kasɨ sesión
okButton = Kuvi
downloadingTitle = Xinuu
noStreamsWarning = Kuvi ka̱a̱ nánaku ya´a nxituvi a vaji nuu iin archivo ka´nu.
noStreamsOptionCopy = Tɨɨn enlace jee síne nuu inka ka̱a̱ nánuku
noStreamsOptionFirefox = Ni´i ka̱a̱ nánuku va´a
noStreamsOptionDownload = Kaka jii ka̱a̱ nánuku ya´a
downloadFirefoxPromo = { -send-short-brand } taji jíía { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Kua´a enlace archivo noo´o
shareLinkButton = Kua´a link
# $name is the name of the file
shareMessage = Xinuu “{ $name }” jii { -send-brand }: ntu viji
trailheadPromo = Iyo iin kuvi kumi privacidad noo´o. Nayonika Firefox.
learnMore = Ka´vi kue´eka

155
public/locales/mix/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 = Tu'un meu
importingFile = Ndakiin…
encryptingFile = Ndasami tu'un…
decryptingFile = Nchiko tu'un…
downloadCount =
{ $num ->
[one] 1 snuú
*[other] { $num } snuú
}
timespanHours =
{ $num ->
[one] 1 hora
*[other] { $num } horas
}
copiedUrl = ¡Tsa ndatavi ña!
unlockInputPlaceholder = Tu'un seè
unlockButtonLabel = Kuna
downloadButtonLabel = Snuù
downloadFinish = Ntsinu snui
fileSizeProgress = ({ $partialSize } ña { $totalSize })
sendYourFilesLink = Kuachu'un Firefox Send
errorPageHeader = ¡Yee ña va'a!
fileTooBig = Kanu tutu yo. Tsini ñu'u koi tana { $size }.
linkExpiredAlt = Ntoo enlace
notSupportedHeader = Kue ku kuni página.
notSupportedLink = ¿Chanu kue ku kuncheuña?
notSupportedOutdatedDetail = Firefox kue ku kuni página web takua kuachu'un Firefox Send. tsiniñu'u ndu tsa'a navegador.
updateFirefox = Ndu tsa'a Firefox
deletePopupCancel = Kunchatu
deleteButtonHover = Stoò
footerLinkLegal = Aviso legal
footerLinkPrivacy = Ña meu
footerLinkCookies = Cookies
passwordTryAgain = Kue vaa ni chau sivi siki. Chai tuku.
javascriptRequired = Firefox Send tsiniñui JavaScript
whyJavascript = ¿Chanu Firefox Send tsiniñui JavaScript?
enableJavascript = Saá ña mani katsi JavaScript chá kitsa tuku.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password
maxPasswordLength = Kua tu'un see: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Ma ku ntanii tu'un see
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Stucha kue tutu ku
introDescription = { -send-brand } ku stuchaku tutu seé tsi inkana tsi iin enlace ña ntóo mituin. Sa'an ku kunka va'a ña stuchaku cha ma ku kunchee na kue tutu ku.
notifyUploadEncryptDone = Tsa inka va'a tutu ku tsa ku stuchaku ña
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Ku kunkai mancha { $downloadCount } a { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minuto
*[other] { $num } minutos
}
timespanDays =
{ $num ->
[one] 1 kii
*[other] { $num } kii
}
timespanWeeks =
{ $num ->
[one] 1 semana
*[other] { $num } semanas
}
fileCount =
{ $num ->
[one] 1 tutu
*[other] { $num } tutu
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Kua: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Ndatava enlace takua stuchaku tutú.
copyLinkButton = Ndatava enlace
downloadTitle = Snuú tutu
downloadDescription = Tutu yo stuchaku ña tsi { -send-brand } inka si'i chá ku nto'o mituin.
trySendDescription = Kuachu'un { -send-brand } takua stuchaku nchi tutu niku
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Ku skau 1 tutu ni.
*[other] Mitu'un { $count }tutu ku skau.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] 1 tutu ni ku.
*[other] Mitu'un { $count } tutu ni ku.
}
expiredTitle = Koo enlace inka
notSupportedDescription = { -send-brand } ma ku Kuachu'un navegador yo. { -send-short-brand } Sachu'in va'a la versión da ntii { -firefox }, sachu'un tsi versión tsa'a su inka kue navegador.
downloadFirefox = Snuú { -firefox }
legalTitle = Tu'un privacidad { -send-short-brand }
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Katsi tutu ku skau
uploadButton = Skaa
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Xita cha sia kue tutu
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = katavi takua stuchaku ña mancha { $size }
addPassword = Inka vai tsi tu'un seé
emailPlaceholder = Chaa korreo ku
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = kitsa takua kuachu'una mancha { $size }
signInOnlyButton = Kitsaa
accountBenefitTitle = Saa iin kuenta ña { -firefox } a kitsa
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Stucha tutu mancha { $size }
accountBenefitDownloadCount = Stucha tutu tsi kuaka nivi
accountBenefitTimeLimit =
{ $count ->
[one] Ku kunka tutu ku mancha 1 kii
*[other] Ku kunka tutu ku mancha { $count } kii
}
accountBenefitSync = Stucha tutu tsí nchi kaa ndusu niku
accountBenefitMoz = Kavi tutú tsa { -mozilla }
signOut = Kee
okButton = Vaá
downloadingTitle = Snuì
noStreamsWarning = Ku ña navegador yo ma ku mini iin tutú kanu.
noStreamsOptionCopy = Ndatava enlace takua kunu tsí inka navegador
noStreamsOptionFirefox = Kuachu'un navegador ña va'a nu ntia
noStreamsOptionDownload = Kunka tsi navegador yo
downloadFirefoxPromo = { -send-short-brand } snai ña tsaa { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Stucha enlace tutu ku:
shareLinkButton = Stucha Enlace
# $name is the name of the file
shareMessage = Snuu «{ $name }» tsi { -send-brand }: kue nchichi
trailheadPromo = Ku china vau ña chau. Kita'an tsi Firefox.
learnMore = Skua'a kuakaa.

View File

@@ -94,7 +94,7 @@ totalSize = Total storleik: { $size }
copyLinkDescription = Kopier lenka for å dele fila di: copyLinkDescription = Kopier lenka for å dele fila di:
copyLinkButton = Kopier lenke copyLinkButton = Kopier lenke
downloadTitle = Last ned filer downloadTitle = Last ned filer
downloadDescription = Denne fila vart delt via { -send-brand } med ende-til-ende-kryptering og ei lenke som automatisk går ut. downloadDescription = Denne fila vart delt via { -send-brand }, med ende-til-ende-kryptering, og ei lenke som automatisk går ut.
trySendDescription = Prøv { -send-brand } for enkel og sikker fildeling. trySendDescription = Prøv { -send-brand } for enkel og sikker fildeling.
# count will always be > 10 # count will always be > 10
tooManyFiles = tooManyFiles =

View File

@@ -6,15 +6,15 @@ encryptingFile = Chiframent…
decryptingFile = Deschiframent… decryptingFile = Deschiframent…
downloadCount = downloadCount =
{ $num -> { $num ->
[one] 1 telecargament [one] 1telecargament
*[other] { $num } telecargaments *[other] { $num }telecargaments
} }
timespanHours = timespanHours =
{ $num -> { $num ->
[one] 1 ora [one] 1ora
*[other] { $num } oras *[other] { $num }oras
} }
copiedUrl = Copiat ! copiedUrl = Copiat!
unlockInputPlaceholder = Senhal unlockInputPlaceholder = Senhal
unlockButtonLabel = Desverrolhar unlockButtonLabel = Desverrolhar
downloadButtonLabel = Telecargar downloadButtonLabel = Telecargar
@@ -60,23 +60,23 @@ notifyUploadEncryptDone = Vòstre fichièr es chifrat e prèst per mandadís
archiveExpiryInfo = Expira aprèp { $downloadCount } o { $timespan } archiveExpiryInfo = Expira aprèp { $downloadCount } o { $timespan }
timespanMinutes = timespanMinutes =
{ $num -> { $num ->
[one] 1 minuta [one] 1minuta
*[other] { $num } minutas *[other] { $num }minutas
} }
timespanDays = timespanDays =
{ $num -> { $num ->
[one] 1 jorn [one] 1jorn
*[other] { $num } jorns *[other] { $num }jorns
} }
timespanWeeks = timespanWeeks =
{ $num -> { $num ->
[one] 1 setmana [one] 1setmana
*[other] { $num } setmanas *[other] { $num }setmanas
} }
fileCount = fileCount =
{ $num -> { $num ->
[one] 1 fichièr [one] 1fichièr
*[other] { $num } fichièrs *[other] { $num }fichièrs
} }
# byte abbreviation # byte abbreviation
bytes = o bytes = o
@@ -118,7 +118,7 @@ expiresDaysHoursMinutes = { $days } j { $hours } h { $minutes } min
addFilesButton = Seleccionatz los fichièrs de mandar addFilesButton = Seleccionatz los fichièrs de mandar
uploadButton = Enviar uploadButton = Enviar
# the first part of the string 'Drag and drop files or click to send up to 1GB' # the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Lissatz-depausatz de fichièrs dragAndDropFiles = Lisatz-depausatz de fichièrs
# the second part of the string 'Drag and drop files or click to send up to 1GB' # 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") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o clicatz per enviar fins a { $size } orClickWithSize = o clicatz per enviar fins a { $size }

155
public/locales/ppl/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 = Tay tina ipanpa?
importingFile = Mukalaktia nemi…
encryptingFile = Tiksenihnayat tiknemit…
decryptingFile = Kiajsimati nemi…
downloadCount =
{ $num ->
[one] temultijtuk
*[other] { $num } temultijtuk
}
timespanHours =
{ $num ->
[one] oraj
*[other] { $num } oraj
}
copiedUrl = Muishkupintuk!
unlockInputPlaceholder = Taketzalis ichtaka
unlockButtonLabel = Shikchululti
downloadButtonLabel = Shiktemulti
downloadFinish = Shiktemulti muchi
fileSizeProgress = ({ $partialSize } ipal { $totalSize })
sendYourFilesLink = Shikwi Firefox Send
errorPageHeader = Se teyek panuk!
fileTooBig = Ne tajkwilul sea wey pal tiktejkultia. Shiktemulti { $size } ush chupiuk chikitik.
linkExpiredAlt = Ilpika teuk yek
notSupportedHeader = Te tikishmatit ne taiwan titajtachia.
notSupportedLink = Taika te ankishmatit ne taiwan nitajtachia?
notSupportedOutdatedDetail = Ini versión ipal Firefox tesu kipalewia ne tecnologíaj web kiyulitia Firefox Send. Nemi pal tikyankwilia ne taiwan titajtachia.
updateFirefox = Shikyankwili Firefox
deletePopupCancel = Shilwi tesu
deleteButtonHover = Shikpulu
footerLinkLegal = Ipanpa ne tajtuli
footerLinkPrivacy = Tay ichtaka nemi
footerLinkCookies = Cookies
passwordTryAgain = Ne taketzalis ichtaka tesu yek. Shikejeku uksenpa.
javascriptRequired = Firefox Send kineki JavaScript
whyJavascript = Taika Firefox kineki JavaScript?
enableJavascript = Shichiwa ma JavaScript tekiti wan shikejeku uksenpa.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password
maxPasswordLength = Keski weyak ne taketzalis-ichtaka: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Te welit tiktaliat ini taketzalis ichtaka.
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Shiktitani
-firefox = Firefox
-mozilla = Mozilla
introTitle = Te uij wan ichtaka tikmajmaka se tajkwilul.
introDescription = { -send-brand } metzpalewia tiktakulia se tajkwilul iwan ichtakatajkwilulis wan se ilpika ka puliwi nemanha. Ijkiuni nemi ichtaka tay tikmajmaka wan tesu naka senpa tik matapan tay mupal.
notifyUploadEncryptDone = Ne mutajkwilul nemi ichtakatajkwilujtuk wan weli tiktitania
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Puliwi kwak tikajsi { $downloadCount } ush { $timespan }
timespanMinutes =
{ $num ->
[one] minutoj
*[other] minutoj
}
timespanDays =
{ $num ->
[one] tunal
*[other] tunal
}
timespanWeeks =
{ $num ->
[one] semanaj
*[other] semanaj
}
fileCount =
{ $num ->
[one] tajkwilul
*[other] tajkwilul
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Keski itamachiwka: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Shikupina ne ilpika pal tiktakulia mutajkwilul:
copyLinkButton = Shikupina ne ilpika
downloadTitle = Shiktemulti tajtajkwilul
downloadDescription = Ini tajkwilul kitakulijket iwan { -send-brand } iwan ichtakatajkwilulis wan se ilpika ka puliwi nemanha.
trySendDescription = Shikejeku { -send-brand } wan shiktakuli ichtaka wan te uij.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Semaya se tajkwilul tiweli tiktejkultia sansepa.
*[other] Semaya { $count } tajkwilul tiweli tiktejkultia sansepa.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Semaya se amapial weli nemi.
*[other] Semaya { $count } ajamapial welit nemit.
}
expiredTitle = Ne ilpika pulijtuk.
notSupportedDescription = { -send-brand } tesu yawi tekiti iwan ne tay titajtachia. { -send-short-brand } tekiti sujsul yek iwan ne tipan versión ipal { -firefox }, wan nusan yawi tekiti iwan ne tipan versión ipal achka muchi ne taiwan titajtachia.
downloadFirefox = Shiktemulti { -firefox }
legalTitle = { -send-short-brand } Tanawatilis ipal mupal ichtaka
legalDateStamp = Versión 1.0, tik marzoj 12, 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } t { $hours } h { $minutes } m
addFilesButton = Shikpejpena ne tajkwilul pal tiktejkultia
uploadButton = Shiktejkulti
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Shiktilana wan shikmaka ne tajkwilul
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = u shikpachu pal tiktitania { $size }
addPassword = Shiktajpia iwan se taketzalis ichtaka
emailPlaceholder = Shiktali mutepusamaw
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Shiktali mutukay pal tiktitania { $size }
signInOnlyButton = Shiktali mutukay
accountBenefitTitle = Shikchiwa se mutapujka tik { -firefox } ush shiktali mutukay
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Shiktakuli tajtajkwilul ka { $size }
accountBenefitDownloadCount = Shiktakuli ne tajkwilul iwan seki
accountBenefitTimeLimit =
{ $count ->
[one] Shikpia ne ilpika tatatuk 1 tunal
*[other] Shikpia ne ilpika tatatuk { $count } tunal
}
accountBenefitSync = Shiktajpia ne tajtajkwilul ka tiktakulijtuk
accountBenefitMoz = Shikmati ipanpa seuk itakil { -mozilla }
signOut = Shikisa
okButton = Yek
downloadingTitle = Kitemultia nemi
noStreamsWarning = Ne taiwan titachia te weli kineshtia ini wey tajkwilul
noStreamsOptionCopy = Shikishkupina ne ilpika pal tiktapua tik ukse taiwan titajtachia
noStreamsOptionFirefox = Shikejeku ne taiwan tachia tikishwelitat
noStreamsOptionDownload = Ma ninemi senpa iwan ini taiwan nitachia
downloadFirefoxPromo = Ne yankwik { -firefox } metzwikilia { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Shiktakuli ne ilpika ipal ne mutajkwilul:
shareLinkButton = Shiktakuli ne ilpika
# $name is the name of the file
shareMessage = Shiktemulti “{ $name }” iwan { -send-brand }: ichtaka wan te uij
trailheadPromo = Nemi ken tiktajpia ne tay mupal. Shimusentali iwan Firefox.
learnMore = Shimumachti ukchupi.

View File

@@ -36,11 +36,11 @@ footerLinkCookies = Cookies
passwordTryAgain = Senha incorreta. Tente novamente. passwordTryAgain = Senha incorreta. Tente novamente.
javascriptRequired = O Firefox Send requer JavaScript javascriptRequired = O Firefox Send requer JavaScript
whyJavascript = Por que o Firefox Send precisa do JavaScript? whyJavascript = Por que o Firefox Send precisa do JavaScript?
enableJavascript = Habilite o JavaScript e tente novamente. enableJavascript = Ative o JavaScript e tente novamente.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m" # 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 expiresHoursMinutes = { $hours }h { $minutes }min
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m" # A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m expiresMinutes = { $minutes }min
# A short status message shown when the user enters a long password # A short status message shown when the user enters a long password
maxPasswordLength = Tamanho máximo da senha: { $length } maxPasswordLength = Tamanho máximo da senha: { $length }
# A short status message shown when there was an error setting the password # A short status message shown when there was an error setting the password
@@ -95,7 +95,7 @@ copyLinkDescription = Copie o link para compartilhar seu arquivo:
copyLinkButton = Copiar link copyLinkButton = Copiar link
downloadTitle = Baixar arquivos downloadTitle = Baixar arquivos
downloadDescription = Este arquivo foi compartilhado via { -send-brand } com criptografia de ponta a ponta e um link que expira automaticamente. downloadDescription = Este arquivo foi compartilhado via { -send-brand } com criptografia de ponta a ponta e um link que expira automaticamente.
trySendDescription = Experimente o { -send-brand } para compartilhamento de arquivos simples e seguro. trySendDescription = Experimente o { -send-brand } para compartilhar arquivos com simplicidade e segurança.
# count will always be > 10 # count will always be > 10
tooManyFiles = tooManyFiles =
{ $count -> { $count ->
@@ -127,17 +127,17 @@ emailPlaceholder = Informe seu e-mail
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Entre na sua conta para enviar até { $size } signInSizeBump = Entre na sua conta para enviar até { $size }
signInOnlyButton = Entrar signInOnlyButton = Entrar
accountBenefitTitle = Crie uma Conta { -firefox } ou entre na sua conta accountBenefitTitle = Crie uma Conta { -firefox } ou entre se já tiver
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartilhe arquivos até { $size } accountBenefitLargeFiles = Compartilhe arquivos até { $size }.
accountBenefitDownloadCount = Compartilhe arquivos com mais pessoas accountBenefitDownloadCount = Compartilhe arquivos com mais pessoas.
accountBenefitTimeLimit = accountBenefitTimeLimit =
{ $count -> { $count ->
[one] Mantenha links ativos por até 1 dia [one] Mantenha links ativos por até 1 dia.
*[other] Mantenha links ativos por até { $count } dias *[other] Mantenha links ativos por até { $count } dias.
} }
accountBenefitSync = Gerencie arquivos compartilhados a partir de qualquer dispositivo accountBenefitSync = Gerencie arquivos compartilhados a partir de qualquer dispositivo.
accountBenefitMoz = Conheça outros serviços da { -mozilla } accountBenefitMoz = Conheça outros serviços da { -mozilla }.
signOut = Sair signOut = Sair
okButton = OK okButton = OK
downloadingTitle = Baixando downloadingTitle = Baixando

View File

@@ -147,5 +147,5 @@ shareLinkDescription = Partilhe a ligação para o seu ficheiro:
shareLinkButton = Partilhar ligação shareLinkButton = Partilhar ligação
# $name is the name of the file # $name is the name of the file
shareMessage = Transferir “{ $name }“ com o { -send-brand }: partilha de ficheiros simples e segura shareMessage = Transferir “{ $name }“ com o { -send-brand }: partilha de ficheiros simples e segura
trailheadPromo = Existe uma maneira de proteger a sua privacidade. Junte-se ao Firefox. trailheadPromo = Existe um modo para proteger a sua privacidade. Adira ao Firefox.
learnMore = Saiba mais. learnMore = Saiba mais.

155
public/locales/quc/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 = Utzijoxik
importingFile = Ujek'ik…
encryptingFile = Uwiqik…
decryptingFile = Usolik…
downloadCount =
{ $num ->
[one] 1 uqasaxik
*[other] { $num } taq uqasaxik
}
timespanHours =
{ $num ->
[one] 1 ramaj
*[other] { $num } taq ramaj
}
copiedUrl = Copied!
unlockInputPlaceholder = Retokib'al
unlockButtonLabel = Utzoqopixik
downloadButtonLabel = Uqasaxik
downloadFinish = Tz'aqat uqasaxik
fileSizeProgress = ({ $partialSize } rech { $totalSize })
sendYourFilesLink = Chak'amb'ejaj Firefox Send
errorPageHeader = K'o man utz ta xub'ano
fileTooBig = Le kemk'olib'al sib'alaj nim chech upaqab'isaxik. Rajawaxik nitz' chi uwach{ $size }
linkExpiredAlt = Xq'ax uq'ijol kemwiqb'al
notSupportedHeader = Man toq'am ta le anik'onel
notSupportedLink = ¿Jasche man toq'am ta le nunik'onel?
notSupportedOutdatedDetail = Chakuyu' we okib'al rech Firefox man kutoq'aj ta le k'ak'eta'm rech web' le kuya' uchuq'ab' Firefox Send. Rajawaxik kak'ak'arisaj le anik'onel.
updateFirefox = Chak'ak'arisaj Firefox
deletePopupCancel = Uq'atexik
deleteButtonHover = Uchupik
footerLinkLegal = Nim wuj
footerLinkPrivacy = Echeb'alil
footerLinkCookies = Cookies
passwordTryAgain = Man utz ta le retokib'al. Chab'ana' chi jumul.
javascriptRequired = Le Firefox Send kajawataj JavaScript chech
whyJavascript = ¿jasche kajawataj JavaScript chech Firefox Send?
enableJavascript = Chatzija' JavaScript k'ate k'u ri' chab'ana' chi jumul.
# 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 = Nimalaj unimal retokib'al: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Man kkowimb'ex ta ujeqeb'axik le retokib'al
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Utaqik
-firefox = Firefox
-mozilla = Mozilla
introTitle = Man k'ax taj, ukomonexik taq kemk'olib'al pa echeb'alil
introDescription = { -send-brand } kuya' bé chi awech kakomonej taq kemk'olib'al ruk' wiqitajem chi'l jun kemwiqb'al le kq'ax uq'ijol pa utukelam. Are chi man katzaq ta le kakomone'j pa echeb'alil chi'l chasuk'ub'a' rilik chi le taq ajastaq man kk'oji' ta pa nimk'atz pa junelik.
notifyUploadEncryptDone = Le akemk'olib'al wiqitalik chi'l utz chi kataqo
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Kq'ax uq'ijol chi rij { $downloadCount } on { $timespan }
timespanMinutes =
{ $num ->
[one] 1 kajb'al
*[other] { $num } taq kajb'al
}
timespanDays =
{ $num ->
[one] 1 q'ij
*[other] { $num } taq q'ij
}
timespanWeeks =
{ $num ->
[one] 1 wuqq'ij
*[other] { $num } taq wuqq'ij
}
fileCount =
{ $num ->
[one] 1 kemk'olib'al
*[other] { $num } taq kemk'olib'al
}
# 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 unimal: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Chawinaqirisaj uwach le kemwiqb'al chech ukomone'xik le akemk'olib'al:
copyLinkButton = Relesaxik uwach kemwiqb'al
downloadTitle = Uqasaxik taq kemwiqb'al
downloadDescription = We kemk'olib'al xkomone'x pa { -send-brand } ruk' wiqitajem pa xkut chi xkut chi'l jun kemwiqb'al le kq'ax uq'ijol pa utukelam.
trySendDescription = Chak'amb'ejaj { -send-brand } chech man k'ax taj, ukomonexik kemk'olib'al pa chajib'al.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Xa 1 kemk'olib'al kkowinb'ex upaqab'isaxik pa jun uq'ijol.
*[other] Xew { $count } taq kemk'olib'al kkowinb'ex upaqab'isaxik pa jun uq'ijol.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Xew 1 kemk'olib'al ya'om b'e chech.
*[other] Xew { $count } taq kemk'olib'al ya'om b'e chech
}
expiredTitle = Xq'ax uq'ijol we kemwiqb'al
notSupportedDescription = { -send-brand } man kchakun ta ruk' we nik'onel. { -send-short-brand } are qas utz uchakunem ruk' le maja naj okib'al rech { -firefox }, xuquje' kchakun ruk' le okib'al rech chanim rech nima ronojel taq nik'onelab'.
downloadFirefox = Uqasaxik { -firefox }
legalTitle = { -send-short-brand } ub'ixikil rech echeb'alil
legalDateStamp = Okib'al 1.0, uq'ijol rech urox ik' 12, 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Ucha'ik taq kemk'olib'al chech upaqab'isaxik
uploadButton = Upaqab'isaxik
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Uchararexik chi'l utzoqopixik taq kemk'olib'al
# 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 = on chapitz'a' chech utaqik chech { $size }
addPassword = Chajital rumal retokib'al
emailPlaceholder = Chach'apa' le ataqoqxa'nib'al
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Chamajij kemchak chech utaqik chech { $size }
signInOnlyButton = Chamajij kemchak
accountBenefitTitle = Chawinaqirisaj jun { -firefox } kemb'i'aj on chamajij kemchak
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Chakomone'j taq kemk'olib'al kq'ax pa uwi' { $size }
accountBenefitDownloadCount = Chakomone'j taq kemk'olib'al kuk' nik'aj chi winaq
accountBenefitTimeLimit =
{ $count ->
[one] Chatzija' taq kemwiqb'al are chi kq'ax pa uwi' 1 q'ij
*[other] Chatzija' taq kemwiqb'al are chi kq'ax pa uwi' { $count } taq q'ij
}
accountBenefitSync = Chawilawachij komone'tal taq kemk'olib'al pa apachike wiqkemchakub'al
accountBenefitMoz = Chaweta'maj chi rij jun chi { -mozilla } taq patanib'al
signOut = Chatz'apij kemchak
okButton = Ja'e
downloadingTitle = Ktajin uqasaxik
noStreamsWarning = We nik'onel wene man kkowin taj kusol jun jewa' unimal kemk'olib'al
noStreamsOptionCopy = Chawelesaj uwach le kemwiqb'al chech ujaqik jun chi nik'onel
noStreamsOptionFirefox = Chak'amb'ejaj le ajawatal nik'onel
noStreamsOptionDownload = Chab'ana' na ruk' we nik'onel
downloadFirefoxPromo = { -send-short-brand } k'amom la chi awech rumal le k'ak' { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Chakomone'j le kemwiqb'al chech le akemk'olib'al:
shareLinkButton = Chakomone'j kemwiqb'al
# $name is the name of the file
shareMessage = Chaqasaj “{ $name }” ruk' { -send-brand }: man k'ax ta ub'anik, ukomone'xik kemk'olib'al pa chajib'al
trailheadPromo = K'o jun ub'e'al chech uchajixik le a'echeb'alil. Chat'iqa' awib' pa. Firefox.
learnMore = Chaweta'maj nik'aj chik

View File

@@ -141,7 +141,7 @@ accountBenefitMoz = Läs om andra { -mozilla }-tjänster
signOut = Logga ut signOut = Logga ut
okButton = OK okButton = OK
downloadingTitle = Laddar ner downloadingTitle = Laddar ner
noStreamsWarning = Den här webbläsaren kanske inte kan dekryptera en fil så stor. noStreamsWarning = Den här webbläsaren kanske inte kan dekryptera en så stor fil.
noStreamsOptionCopy = Kopiera länken för att öppna i en annan webbläsare noStreamsOptionCopy = Kopiera länken för att öppna i en annan webbläsare
noStreamsOptionFirefox = Prova vår favoritwebbläsare noStreamsOptionFirefox = Prova vår favoritwebbläsare
noStreamsOptionDownload = Fortsätt med den här webbläsaren noStreamsOptionDownload = Fortsätt med den här webbläsaren

View File

@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized. # Firefox Send is a brand name and should not be localized.
title = Firefox Ipadala title = Firefox Send
siteSubtitle = eksperimento sa web
siteFeedback = Feedback siteFeedback = Feedback
uploadPageHeader = Pribadong, Naka-encrypt na Pagbabahagi ng File
uploadPageExplainer = Magpadala ng mga file sa pamamagitan ng isang ligtas, pribado, at naka-encrypt na link na awtomatikong mawawalan ng bisa upang matiyak na ang iyong mga bagay-bagay ay hindi mananatiling online magpakailanman.
uploadPageLearnMore = Matuto ng higit pa
uploadPageDropMessage = I-drop ang iyong file dito upang simulan ang pag-upload
uploadPageSizeMessage = Para sa pinaka maaasahang operasyon, pinakamahusay na panatilihin ang iyong file sa ilalim ng 1GB
uploadPageBrowseButton = Pumili ng isang file sa iyong computer
uploadPageBrowseButton1 = Pumili ng isang file na mai-upload
uploadPageMultipleFilesAlert = Kasalukuyang hindi sinusuportahan ang pag-upload ng maramihang mga file o isang folder.
uploadPageBrowseButtonTitle = I-upload ang file
uploadingPageProgress = Uploading { $filename } ({ $size })
importingFile = Importing… importingFile = Importing…
verifyingFile = Pinatutunayan...
encryptingFile = Encrypting… encryptingFile = Encrypting…
decryptingFile = Decrypting… decryptingFile = Decrypting…
notifyUploadDone = Natapos na ang iyong pag-upload.
uploadingPageMessage = Sa sandaling mag-upload ang iyong file, makakapagtakda ka ng mga expire na pagpipilian.
uploadingPageCancel = Kanselahin ang pag-upload
uploadCancelNotification = Kinansela ang iyong pag-upload.
uploadingPageLargeFileMessage = Ang file na ito ay malaki at maaaring tumagal ng ilang sandali upang mag-upload. Umupo nang masikip!
uploadingFileNotification = Abisuhan ako kapag nakumpleto na ang pag-upload.
uploadSuccessConfirmHeader = Handa nang Ipadala
uploadSvgAlt = I-upload
uploadSuccessTimingHeader = Mag-e-expire ang link sa iyong file pagkatapos ng 1 pag-download o sa loob ng 24 na oras.
expireInfo = Mag-e-expire ang link sa iyong file pagkatapos ng { $downloadCount } o { $timespan }.
downloadCount = downloadCount =
{ $num -> { $num ->
[one] 1 pag-download [one] 1 pag-download
@@ -35,86 +13,102 @@ timespanHours =
{ $num -> { $num ->
*[one] 1 oras *[one] 1 oras
} }
copyUrlFormLabelWithName = Kopyahin at ibahagi ang link upang ipadala ang iyong file: { $filename }
copyUrlFormButton = Kopyahin sa clipboard
copiedUrl = Naikopya! copiedUrl = Naikopya!
deleteFileButton = Burahin ang file
sendAnotherFileLink = Magpadala ng isang file
# Alternative text used on the download link/button (indicates an action).
downloadAltText = I-download
downloadsFileList = Mga Pag-download
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Oras
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = I-download { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Ilagay ang Password
unlockInputPlaceholder = Password unlockInputPlaceholder = Password
unlockButtonLabel = I-unlock unlockButtonLabel = I-unlock
downloadFileTitle = I-download ang Na-encrypt na File
# Firefox Send is a brand name and should not be localized.
downloadMessage = Ang iyong kaibigan ay nagpapadala sa iyo ng isang file na may Firefox Send, isang serbisyo na nagbibigay-daan sa iyo upang magbahagi ng mga file sa isang ligtas, pribado, at naka-encrypt na link na awtomatikong mawawalan ng bisa upang matiyak na ang iyong mga bagay-bagay ay hindi mananatiling online magpakailanman.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = I-download downloadButtonLabel = I-download
downloadNotification = Nakumpleto na ang iyong pag-download.
downloadFinish = Kumpleto ang Download downloadFinish = Kumpleto ang Download
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } ng { $totalSize }) fileSizeProgress = ({ $partialSize } ng { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Subukan ang Firefox Ipadala sendYourFilesLink = Subukan ang Firefox Ipadala
downloadingPageProgress = Downloading { $filename } ({ $size })
downloadingPageMessage = Paki-iwan ang tab na ito habang binuksan namin ang iyong file at i-decrypt ito.
errorAltText = Mag-upload ng error
errorPageHeader = May nagkamali! errorPageHeader = May nagkamali!
errorPageMessage = Nagkaroon ng error sa pag-upload ng file.
errorPageLink = Magpadala ng isang file
fileTooBig = Ang file na iyon ay masyadong malaki upang mag-upload. Dapat itong mas mababa sa { $size }. fileTooBig = Ang file na iyon ay masyadong malaki upang mag-upload. Dapat itong mas mababa sa { $size }.
linkExpiredAlt = Nag-expire na ang link linkExpiredAlt = Nag-expire na ang link
expiredPageHeader = Nag-expire na ang link na ito o hindi kailanman umiiral sa unang lugar!
notSupportedHeader = Ang iyong browser ay hindi suportado. notSupportedHeader = Ang iyong browser ay hindi suportado.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Sa kasamaang palad hindi sinusuportahan ng browser na ito ang teknolohiya sa web na nagpapagana ng Firefox Send. Kailangan mong subukan ang ibang browser. Inirerekomenda namin ang Firefox!
notSupportedLink = Bakit hindi suportado ang aking browser? notSupportedLink = Bakit hindi suportado ang aking browser?
notSupportedOutdatedDetail = Sa kasamaang palad ang bersyon na ito ng Firefox ay hindi sumusuporta sa teknolohiya ng web na nagpapagana ng Firefox Send. Kailangan mong i-update ang iyong browser. notSupportedOutdatedDetail = Sa kasamaang palad ang bersyon na ito ng Firefox ay hindi sumusuporta sa teknolohiya ng web na nagpapagana ng Firefox Send. Kailangan mong i-update ang iyong browser.
updateFirefox = I-update ang Firefox updateFirefox = I-update ang Firefox
downloadFirefoxButtonSub = Libreng Download
uploadedFile = File
copyFileList = Kopyahin ang URL
# expiryFileList is used as a column header
expiryFileList = Magtatapos Sa
deleteFileList = I-delete
nevermindButton = Hindi bale
legalHeader = Mga Tuntunin at Pagkapribado
legalNoticeTestPilot = Ang Firefox Ipadala ay kasalukuyang eksperimentong Test Pilot, at napapailalim sa <a>Mga Tuntunin ng Serbisyo</a> at <a> Paunawa sa Privacy</a>. Maaari kang matuto nang higit pa tungkol sa eksperimentong ito at ang koleksyon ng data nito <a>dito</a>.
legalNoticeMozilla = Ang paggamit ng website ng Ipadala ang Firefox ay napapailalim din sa <a>Mga Patakaran sa Privacy ng Website</a> ng Mozilla at <a>Mga Tuntunin ng Paggamit ng Website</a>.
deletePopupText = Tanggalin ang file na ito?
deletePopupYes = Oo
deletePopupCancel = Kanselahin deletePopupCancel = Kanselahin
deleteButtonHover = I-delete deleteButtonHover = I-delete
copyUrlHover = Kopyahin ang URL
footerLinkLegal = Legal footerLinkLegal = Legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Tungkol sa Test Pilot
footerLinkPrivacy = Privacy footerLinkPrivacy = Privacy
footerLinkTerms = Mga term
footerLinkCookies = Mga cookie footerLinkCookies = Mga cookie
requirePasswordCheckbox = Mangailangan ng isang password upang i-download ang file na ito
addPasswordButton = Magdagdag ng password
changePasswordButton = Palitan
passwordTryAgain = Maling password. Subukan muli. passwordTryAgain = Maling password. Subukan muli.
reportIPInfringement = Report IP Infringement javascriptRequired = Nangangailangan ang Firefox Send ng JavaScript
javascriptRequired = Nangangailangan ang JavaScript sa JavaScript whyJavascript = Bakit ang Firefox Send ay nangangailangan ng JavaScript?
whyJavascript = Bakit ang JavaScript ay nangangailangan ng JavaScript?
enableJavascript = Mangyaring paganahin ang JavaScript at subukan muli. enableJavascript = Mangyaring paganahin ang JavaScript at subukan muli.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m" # 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 expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m" # A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m expiresMinutes = { $minutes }m
# A short status message shown when a password is successfully set
passwordIsSet = I-set ang password
# A short status message shown when the user enters a long password # A short status message shown when the user enters a long password
maxPasswordLength = Pinakamataas na haba ng password: { $length } maxPasswordLength = Pinakamataas na haba ng password: { $length }
# A short status message shown when there was an error setting the password # A short status message shown when there was an error setting the password
passwordSetError = Hindi maitakda ang password na ito passwordSetError = Hindi maitakda ang password na ito
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox send
-send-short-brand = I-send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Simple, pribadong pagbabahagi ng file
notifyUploadEncryptDone = Ang iyong file ay naka-encrypt at handa na i-send
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = mag-e-expire pagkatapos { $downloadCount } o { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minuto
*[other] { $num } mga minuto
}
timespanDays =
{ $num ->
[one] 1 araw
*[other] { $num } mga araw
}
timespanWeeks =
{ $num ->
[one] 1 linggo
*[other] { $num } mga linggo
}
fileCount =
{ $num ->
[one] 1 file
*[other] { $num } mga file
}
# 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 = Kabuuang sukat: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopyahin ang link upang ibahagi ang iyong file:
copyLinkButton = Kopyahin ang link
downloadTitle = I-download ang mga file
expiredTitle = Ang link na ito ay nag-expire.
downloadFirefox = I-download { -firefox }
legalTitle = { -send-short-brand } Abiso sa Privacy
legalDateStamp = Bersyon 1.0, petsa ng Marso 12, 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Piliin ang mga file na mai-upload
uploadButton = I-upload
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = I-drag at i-drop ang mga file
addPassword = Protektahan gamit ang password
emailPlaceholder = Ipasok ang iyong email
signInOnlyButton = Mag sign-in
accountBenefitDownloadCount = Ibahagi ang mga file sa ibang tao
accountBenefitMoz = Alamin ang tungkol sa iba pang mga serbisyo ng { -mozilla }
signOut = Mag sign-out
okButton = OK
downloadingTitle = Pag-download
noStreamsWarning = Maaaring hindi mai-decrypt ng browser na ito ang isang file na malaki.
noStreamsOptionCopy = Kopyahin ang link upang buksan sa isa pang browser

View File

@@ -105,7 +105,7 @@ tooManyArchives =
*[other] En fazla { $count } arşive izin veriliyor. *[other] En fazla { $count } arşive izin veriliyor.
} }
expiredTitle = Bu bağlantının süresi doldu. expiredTitle = Bu bağlantının süresi doldu.
notSupportedDescription = { -send-brand } bu tarayıcıyı desteklemiyor. { -send-short-brand } en iyi şekilde { -firefox }un son sürümüyle ve çoğu tarayıcının güncel sürümüyla çalışır. notSupportedDescription = { -send-brand } bu tarayıcıyı desteklemiyor. { -send-short-brand } en iyi şekilde { -firefox }un son sürümüyle ve çoğu tarayıcının güncel sürümüyle çalışır.
downloadFirefox = { -firefox }u indir downloadFirefox = { -firefox }u indir
legalTitle = { -send-short-brand } Gizlilik Bildirimi legalTitle = { -send-short-brand } Gizlilik Bildirimi
legalDateStamp = Sürüm 1.0, 12 Mart 2019 legalDateStamp = Sürüm 1.0, 12 Mart 2019

101
public/locales/trs/send.ftl Normal file
View File

@@ -0,0 +1,101 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Nuguan' tàj doj
importingFile = Hìaj a'nïn huan'ānj…
encryptingFile = Nagi'iaj hùij…
decryptingFile = Hìaj nâ'nïn…
downloadCount =
{ $num ->
[one] 1 sa nadunin
*[other] { $num } nej sa nadunin
}
timespanHours =
{ $num ->
[one] 1 ôra
*[other] { $num } nej ôra
}
copiedUrl = Ngà gisîj guxunj!
unlockInputPlaceholder = Da'nga' huìi
unlockButtonLabel = Na'nïn riñanj
downloadButtonLabel = Nadunïnj
downloadFinish = Ngà nahui nanïnj
fileSizeProgress = ({ $partialSize } guendâ { $totalSize })
sendYourFilesLink = Garahuè dàj 'iaj sun Firefox Send
errorPageHeader = Huā sa gahui a'nan'!
fileTooBig = Ûta yachìj hua archibô dan. Da'ui gā li doj ga da' { $size }
linkExpiredAlt = Nitāj si ni'ñānj lînk gà'
notSupportedHeader = Nitāj si huā hue'ê riña sa nana'uî't.
notSupportedLink = Nù huin saj nitāj si huā hue'ê riña sa nana'uí?
notSupportedOutdatedDetail = Nu unùkuaj Firefox nan gi'iaj sunj ngà sa 'iaj sun ngà Firefox Send. Da'uît nāgi'iaj nakàt riña sa nana'uî't han.
updateFirefox = Nagi'iaj nakà Firefox
deletePopupCancel = Duyichin'
deleteButtonHover = Dure'
footerLinkLegal = Nuguan' a'nï'ïn
footerLinkPrivacy = Sa hùii
footerLinkCookies = Nej kôki
passwordTryAgain = Sê da'nga' huì dan huin. Ginù huin ñû.
javascriptRequired = Ni'ñānj Firefox Send JavaScript
whyJavascript = Nù huin saj ni'ñānj Firefox Send JavaScript rà'aj?
enableJavascript = Gi'iaj sunūj u ga'nïn gi'iaj sun JavaScript nī yakāj da'nga' ñû.
# 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 = Dānaj gā yachìj da'nga huìi: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Na'ue gārayinaj da'nga huìi
## 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 = Hìo nī huì gaue duyingât archîbo
introDescription = { -send-brand } anïn duyingât archîbo ngà ngō dangarán hia nī ngà ngō lînk nare manan. Dànanj nī ngō rïnt niin sa duyingât nī si lînk si ginu yitïn riña lînia.
notifyUploadEncryptDone = Ngà huā ran si archibôt nī ngà huā yugui da ganïnjt ganan
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Narè man ne rukù { $downloadCount } asi { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minûtu
*[other] { $num } minûtu
}
timespanDays =
{ $num ->
[one] 1 gui
*[other] { $num } gui
}
timespanWeeks =
{ $num ->
[one] 1 semâna
*[other] { $num } semâna
}
fileCount =
{ $num ->
[one] 1 archîbo
*[other] { $num } archîbo
}
# 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 = Dàj nìko yàchi: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Guxūn lînk da' ga'ue duyingâ't archibô:
copyLinkButton = Guxûn lînk
downloadTitle = Nadunïnj nej archîbo
downloadFirefox = Nadunïnj { -firefox }
legalTitle = Nuguan huì nikāj { -send-short-brand }
signOut = Narun' sesiôn
okButton = Ga'ue
shareLinkButton = Duguachîn enlâse

View File

@@ -141,9 +141,9 @@ accountBenefitLargeFiles = Обмінюйтесь файлами розміро
accountBenefitDownloadCount = Обмінюйтесь файлами з більшою кількістю людей accountBenefitDownloadCount = Обмінюйтесь файлами з більшою кількістю людей
accountBenefitTimeLimit = accountBenefitTimeLimit =
{ $count -> { $count ->
[one] Зберігати посилання активними протягом 1 дня [one] Термін дії посилання 1 день
[few] Зберігати посилання активними протягом { $count } днів [few] Термін дії посилання { $count } дні
*[other] Зберігати посилання активними протягом { $count } днів *[many] Термін дії посилання { $count } днів
} }
accountBenefitSync = Керуйте спільними файлами з буль-якого пристрою accountBenefitSync = Керуйте спільними файлами з буль-якого пристрою
accountBenefitMoz = Дізнайтеся про інші сервіси { -mozilla } accountBenefitMoz = Дізнайтеся про інші сервіси { -mozilla }

View File

@@ -0,0 +1,20 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
## Send version 2 strings
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }

View File

@@ -53,7 +53,7 @@ passwordSetError = 未能设置此密码
-mozilla = Mozilla -mozilla = Mozilla
introTitle = 简单、私密的文件分享服务 introTitle = 简单、私密的文件分享服务
introDescription = 使用 { -send-brand } 端到端加密分享文件,链接到期即焚。分享更私密,文件到期真正无痕迹。 introDescription = 使用 { -send-brand } 端到端加密分享文件,链接到期即焚。分享更私密,文件到期真正无痕迹。
notifyUploadEncryptDone = 您的文件已加密可以发送 notifyUploadEncryptDone = 您的文件已加密,现在可以发送
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes' # downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = { $downloadCount }或 { $timespan }后过期 archiveExpiryInfo = { $downloadCount }或 { $timespan }后过期
timespanMinutes = timespanMinutes =
@@ -103,13 +103,13 @@ tooManyFiles =
# count will always be > 10 # count will always be > 10
tooManyArchives = tooManyArchives =
{ $count -> { $count ->
*[other] 只可上传 { $count } 个档案 *[other] 只可上传 { $count } 个压缩文件
} }
expiredTitle = 此链接已过期。 expiredTitle = 此链接已过期。
notSupportedDescription = { -send-brand } 无法在此浏览器上正常工作。{ -send-short-brand } 与最新版本 { -firefox } 配合使用体验最佳,也适用于目前的大多数浏览器。 notSupportedDescription = { -send-brand } 无法在此浏览器上正常工作。{ -send-short-brand } 与最新版本 { -firefox } 配合使用体验最佳,也适用于目前的大多数浏览器。
downloadFirefox = 下载 { -firefox } downloadFirefox = 下载 { -firefox }
legalTitle = { -send-short-brand } 隐私声明 legalTitle = { -send-short-brand } 隐私声明
legalDateStamp = 版本 1.0日期 2019年3月12日 legalDateStamp = 版本 1.0 2019年3月12日
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m" # 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 } 分钟 expiresDaysHoursMinutes = { $days } 天 { $hours } 小时 { $minutes } 分钟
addFilesButton = 选择要上传的文件 addFilesButton = 选择要上传的文件
@@ -127,7 +127,7 @@ signInOnlyButton = 登录
accountBenefitTitle = 创建一个 { -firefox } 账户或登录 accountBenefitTitle = 创建一个 { -firefox } 账户或登录
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB") # $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = 分享最大 { $size } 文件 accountBenefitLargeFiles = 分享最大 { $size } 文件
accountBenefitDownloadCount = 与更多人分享文件 accountBenefitDownloadCount = 可以与更多人分享
accountBenefitTimeLimit = accountBenefitTimeLimit =
{ $count -> { $count ->
[one] 链接有效期延至 1 天 [one] 链接有效期延至 1 天
@@ -140,7 +140,7 @@ okButton = 确定
downloadingTitle = 正在下载 downloadingTitle = 正在下载
noStreamsWarning = 此浏览器可能无法解密这么大的文件。 noStreamsWarning = 此浏览器可能无法解密这么大的文件。
noStreamsOptionCopy = 复制链接以在其他浏览器中打开 noStreamsOptionCopy = 复制链接以在其他浏览器中打开
noStreamsOptionFirefox = 试试大家最爱的浏览器 noStreamsOptionFirefox = 试试大家最爱的浏览器
noStreamsOptionDownload = 使用此浏览器继续 noStreamsOptionDownload = 使用此浏览器继续
downloadFirefoxPromo = { -send-short-brand } 由焕然一新的 { -firefox } 为您奉上。 downloadFirefoxPromo = { -send-short-brand } 由焕然一新的 { -firefox } 为您奉上。
# the next line after the colon contains a file name # the next line after the colon contains a file name
@@ -148,5 +148,5 @@ shareLinkDescription = 您的文件链接:
shareLinkButton = 分享链接 shareLinkButton = 分享链接
# $name is the name of the file # $name is the name of the file
shareMessage = 使用 { -send-brand } 下载“{ $name }”:简单、安全的文件分享服务 shareMessage = 使用 { -send-brand } 下载“{ $name }”:简单、安全的文件分享服务
trailheadPromo = 有种方法可以保护您的隐私,加入 Firefox。 trailheadPromo = 捍卫隐私不是幻想。加入 Firefox 一同抗争
learnMore = 详细了解。 learnMore = 详细了解。

View File

@@ -1,9 +1,12 @@
const crypto = require('crypto'); const crypto = require('crypto');
const geoip = require('fxa-geodb')();
const fetch = require('node-fetch'); const fetch = require('node-fetch');
const config = require('./config'); const config = require('./config');
const pkg = require('../package.json'); const pkg = require('../package.json');
const geoip = config.ip_db
? require('fxa-geodb')({ dbPath: config.ip_db })
: () => ({});
const HOUR = 1000 * 60 * 60; const HOUR = 1000 * 60 * 60;
function truncateToHour(timestamp) { function truncateToHour(timestamp) {

View File

@@ -149,6 +149,11 @@ const conf = convict({
format: String, format: String,
default: '', default: '',
env: 'SURVEY_URL' env: 'SURVEY_URL'
},
ip_db: {
format: String,
default: '',
env: 'IP_DB'
} }
}); });

View File

@@ -10,7 +10,7 @@ module.exports = async function(req, res) {
const fileStream = await storage.get(id); const fileStream = await storage.get(id);
let cancelled = false; let cancelled = false;
req.on('close', () => { req.on('aborted', () => {
cancelled = true; cancelled = true;
fileStream.destroy(); fileStream.destroy();
}); });

View File

@@ -1,89 +1,103 @@
const colors = { const colors = {
transparent: 'transparent', transparent: 'transparent',
black: '#22292f', black: '#000000',
'grey-darkest': '#4a4a4f', 'grey-90': '#0c0c0d',
'grey-darker': '#606f7b', 'grey-80': '#2a2a2e',
'grey-dark': '#8795a1', 'grey-70': '#38383d',
grey: '#B1B1B3', 'grey-60': '#4a4a4f',
'grey-light': '#dae1e7', 'grey-50': '#737373',
grey: '#b1b1b3',
'grey-40': '#b1b1b3',
'grey-30': '#d7d7db',
'grey-banner': '#f0f0f4', 'grey-banner': '#f0f0f4',
'grey-transparent': 'hsla(250, 13%, 9%, .2)', 'grey-transparent': 'hsla(250, 13%, 9%, .2)',
'grey-lighter': '#f1f5f8', 'grey-20': '#ededf0',
'grey-lightest': '#F9F9FA', 'grey-10': '#f9f9fa',
white: '#ffffff', white: '#ffffff',
'red-darkest': '#3b0d0c', 'red-90': '#3e0200',
'red-darker': '#621b18', 'red-80': '#5a0002',
'red-dark': '#cc1f1a', 'red-70': '#a4000f',
red: '#e3342f', 'red-60': '#d70022',
'red-light': '#ef5753', red: '#d70022',
'red-lighter': '#f9acaa', 'red-50': '#ff0039',
'red-lightest': '#fcebea', // unspec
'red-40': '#ff3363',
'red-30': '#ff99aa',
'orange-darkest': '#462a16', 'orange-90': '#3e1300',
'orange-darker': '#613b1f', 'orange-80': '#712b00',
'orange-dark': '#de751f', 'orange-70': '#a44900',
orange: '#f6993f', 'orange-60': '#d76e00',
'orange-light': '#faad63', 'orange-50': '#ff9400',
'orange-lighter': '#fcd9b6', // unspec
'orange-lightest': '#fff5eb', 'orange-40': '#ffb24c',
'orange-30': '#ffd399',
'yellow-darkest': '#453411', 'yellow-90': '#3e2800',
'yellow-darker': '#684f1d', 'yellow-80': '#715100',
'yellow-dark': '#f2d024', 'yellow-70': '#a47f00',
yellow: '#ffed4a', 'yellow-60': '#d7b600',
'yellow-light': '#fff382', yellow: '#d7b600',
'yellow-lighter': '#fff9c2', 'yellow-50': '#ffe900',
'yellow-lightest': '#fcfbeb', 'yellow-40': '#ffed4c',
'yellow-30': '#fff599',
'green-darkest': '#003706', // 'green-darkest': '#003706',
'green-darker': '#006504', // 'green-darker': '#006504',
'green-dark': '#058b00', // 'green-dark': '#058b00',
green: '#12bc00', // green: '#12bc00',
'green-light': '#51d88a', // 'green-light': '#51d88a',
'green-lighter': '#a2f5bf', // 'green-lighter': '#a2f5bf',
'green-lightest': '#e3fcec', // 'green-lightest': '#e3fcec',
'teal-darkest': '#0d3331', // 'teal-darkest': '#0d3331',
'teal-darker': '#20504f', // 'teal-darker': '#20504f',
'teal-dark': '#38a89d', // 'teal-dark': '#38a89d',
teal: '#4dc0b5', // teal: '#4dc0b5',
'teal-light': '#64d5ca', // 'teal-light': '#64d5ca',
'teal-lighter': '#a0f0ed', // 'teal-lighter': '#a0f0ed',
'teal-lightest': '#e8fffe', // 'teal-lightest': '#e8fffe',
'blue-darkest': '#002275', 'blue-90': '#000f40',
'blue-darker': '#003eaa', 'blue-80': '#002275',
'blue-dark': '#0060df', 'blue-70': '#003eaa',
'blue-60': '#0060df',
'blue-50': '#0a84ff',
blue: '#0a84ff', blue: '#0a84ff',
'blue-light': '#6cb2eb', 'blue-40': '#45a1ff',
'blue-lighter': '#bcdefa', 'blue-30': '#99ccff',
'blue-lightest': '#eff8ff', 'blue-20': '#cce6ff',
'indigo-darkest': '#191e38', 'ink-90': '#0f1126',
'indigo-darker': '#2f365f', 'ink-80': '#202340',
'indigo-dark': '#5661b3', 'ink-70': '#363959',
indigo: '#6574cd',
'indigo-light': '#7886d7',
'indigo-lighter': '#b2b7ff',
'indigo-lightest': '#e6e8ff',
'purple-darkest': '#21183c', // 'indigo-darkest': '#191e38',
'purple-darker': '#382b5f', // 'indigo-darker': '#2f365f',
'purple-dark': '#794acf', // 'indigo-dark': '#5661b3',
purple: '#9561e2', // indigo: '#6574cd',
'purple-light': '#a779e9', // 'indigo-light': '#7886d7',
'purple-lighter': '#d6bbfc', // 'indigo-lighter': '#b2b7ff',
'purple-lightest': '#f3ebff', // 'indigo-lightest': '#e6e8ff',
'pink-darkest': '#451225', 'purple-90': '#25003e',
'pink-darker': '#6f213f', 'purple-80': '#440071',
'pink-dark': '#eb5286', 'purple-70': '#6200a4',
pink: '#f66d9b', 'purple-60': '#8000d7',
'pink-light': '#fa7ea8', 'purple-50': '#9400ff',
'pink-lighter': '#ffbbca', 'purple-40': '#ad3bff',
'pink-lightest': '#ffebef', 'purple-30': '#c069ff',
'purple-20': '#d7a3ff',
// 'pink-darkest': '#451225',
// 'pink-darker': '#6f213f',
// 'pink-dark': '#eb5286',
// pink: '#f66d9b',
// 'pink-light': '#fa7ea8',
// 'pink-lighter': '#ffbbca',
// 'pink-lightest': '#ffebef',
cloud: 'rgba(255, 255, 255, 0.8)', cloud: 'rgba(255, 255, 255, 0.8)',
violet: 'hsl(258, 57%, 35%)' violet: 'hsl(258, 57%, 35%)'
}; };
@@ -95,7 +109,8 @@ module.exports = {
sm: '576px', sm: '576px',
md: '768px', md: '768px',
lg: '992px', lg: '992px',
xl: '1200px' xl: '1200px',
dark: { raw: '(prefers-color-scheme: dark)' }
}, },
fontFamily: { fontFamily: {
sans: [ sans: [
@@ -181,10 +196,7 @@ module.exports = {
'4': '4px', '4': '4px',
'8': '8px' '8': '8px'
}, },
borderColor: global.Object.assign( borderColor: global.Object.assign({ default: colors['grey-30'] }, colors),
{ default: colors['grey-light'] },
colors
),
borderRadius: { borderRadius: {
none: '0', none: '0',
sm: '.125rem', sm: '.125rem',

View File

@@ -82,4 +82,29 @@ describe('Firefox Send', function() {
// check if upload and download file sizes are equal // check if upload and download file sizes are equal
assert.equal(uploadSize, downloadSize); assert.equal(uploadSize, downloadSize);
}); });
it(`should upload and download file with added tracking parameter`, function() {
const trackingUrl =
'?fbclid=IaMFak3Tr4ck1ng1d_SDlP0shBk8SM2EN3cCLFKpHVl-k-Pvv0sf9Zy0tnTu9srqVY';
const password = 'strongpassword';
browser.chooseFile(
homePage.uploadInput,
`${testFilesPath}/${testFiles[0]}`
);
browser.waitForExist(homePage.addPassword);
browser.click(homePage.addPassword);
browser.waitForExist(homePage.passwordInput);
browser.setValue(homePage.passwordInput, password);
browser.click(homePage.uploadButton);
browser.waitForExist(homePage.shareUrl);
const shareUrl = browser.getValue(homePage.shareUrl);
const downloadPage = new DownloadPage(
shareUrl.replace('#', `${trackingUrl}#`)
);
downloadPage.open();
downloadPage.downloadUsingPassword(password);
browser.waitForExist(downloadPage.downloadComplete);
assert.ok(fs.existsSync(path.join(downloadDir, testFiles[0])));
});
}); });

View File

@@ -4,23 +4,22 @@ const Page = require('./page');
class DownloadPage extends Page { class DownloadPage extends Page {
constructor(path) { constructor(path) {
super(path); super(path);
this.fileId = /download\/(\w+)\/#/.exec(path)[1]; this.fileId = /download\/(\w+)\/\??.*#/.exec(path)[1];
this.downloadButton = '#download-btn'; this.downloadButton = '#download-btn';
this.downloadComplete = '#download-complete'; this.downloadComplete = '#download-complete';
this.passwordInput = '#password-input';
this.passwordButton = '#password-btn';
} }
/** downloadUsingPassword(password) {
* @function waitForPageToLoad browser.waitForExist(this.passwordInput);
* @returns {Object} An object representing the page. browser.setValue(this.passwordInput, password);
* @throws ElementNotFound browser.click(this.passwordButton);
*/ return browser.click(this.downloadButton);
waitForPageToLoad() {
super.waitForPageToLoad();
browser.waitForExist(this.downloadButton);
return this;
} }
download() { download() {
browser.waitForExist(this.downloadButton);
return browser.click(this.downloadButton); return browser.click(this.downloadButton);
} }
} }

View File

@@ -10,6 +10,9 @@ class HomePage extends Page {
this.progress = 'progress'; this.progress = 'progress';
this.shareUrl = '#share-url'; this.shareUrl = '#share-url';
this.downloadCountSelect = '#expire-after-dl-count-select'; this.downloadCountSelect = '#expire-after-dl-count-select';
this.addPassword = '#add-password';
this.passwordInput = '#password-input';
this.passwordButton = '#password-btn';
} }
waitForPageToLoad() { waitForPageToLoad() {

View File

@@ -67,7 +67,7 @@ const serviceWorker = {
}, },
{ {
// loads all assets from assets/ for use by common/assets.js // loads all assets from assets/ for use by common/assets.js
test: require.resolve('./build/generate_asset_map.js'), test: require.resolve('./common/generate_asset_map.js'),
use: ['babel-loader', 'val-loader'] use: ['babel-loader', 'val-loader']
} }
] ]
@@ -142,6 +142,7 @@ const web = {
loader: 'svgo-loader', loader: 'svgo-loader',
options: { options: {
plugins: [ plugins: [
{ cleanupIDs: false },
{ removeViewBox: false }, // true causes stretched images { removeViewBox: false }, // true causes stretched images
{ convertStyleToAttrs: true }, // for CSP, no unsafe-eval { convertStyleToAttrs: true }, // for CSP, no unsafe-eval
{ removeTitle: true } // for smallness { removeTitle: true } // for smallness
@@ -176,7 +177,7 @@ const web = {
}, },
{ {
// loads all assets from assets/ for use by common/assets.js // loads all assets from assets/ for use by common/assets.js
test: require.resolve('./build/generate_asset_map.js'), test: require.resolve('./common/generate_asset_map.js'),
use: ['babel-loader', 'val-loader'] use: ['babel-loader', 'val-loader']
} }
] ]