Compare commits

...

866 Commits

Author SHA1 Message Date
Abelardo Ayala Rodríguez 3e9be67641 Pontoon: Update Guarani (gn) localization of Firefox Send
Co-authored-by: Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2020-07-16 18:41:42 +00:00
వీవెన్ 402c8351bd Pontoon: Update Telugu (te) localization of Firefox Send
Co-authored-by: వీవెన్ <veeven@gmail.com>
2020-07-15 18:54:42 +00:00
Danny Coates ccbcb69666 Merge pull request #1434 from MichaelPeter-Shockoe/master
modify connect-src of Content Security Policy to include dynamic wss URL based on configured base URL
2020-07-09 19:37:02 -07:00
Danny Coates e6ff9e486b Merge pull request #1063 from hbakhtiyor/patch-1
Convert ContentLength of storage to number
2020-07-09 19:34:33 -07:00
Danny Coates 17afd6ad58 Merge pull request #1416 from factorysh/s3_endpoint
Choose your endpoint.
2020-07-09 19:33:21 -07:00
Danny Coates 7dd1fcca9b Merge pull request #1480 from jackyzy823/fxa-csp
Handle Content-Security-Policy for self hosting FxA
2020-07-09 19:31:06 -07:00
Danny Coates d5319f4fcf Merge pull request #1471 from edibopp/patch-1
Mention updated Node version 12.x in README
2020-07-09 19:20:04 -07:00
Danny Coates a3d880fc4f Merge pull request #1475 from 2br-2b/patch-1
Fixed a few minor formatting issues
2020-07-09 19:19:22 -07:00
Danny Coates 8a9a823842 Merge pull request #1486 from rlr/fix-vpn-url
Update URL for the VPN
2020-07-09 19:17:52 -07:00
Danny Coates 3195ee7d16 Merge pull request #1465 from minvs1/redis-retry-configs
Allow to set custom retry parameters
2020-07-09 19:17:28 -07:00
Francesco Lodolo f565954a54 Pontoon: Update Interlingua (ia) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:57:32 +00:00
Francesco Lodolo 4abfd7dd6e Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:57:28 +00:00
Francesco Lodolo e930275042 Pontoon: Update Highland Puebla Nahuatl (azz) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:57:25 +00:00
Francesco Lodolo 960e29f800 Pontoon: Update Asturian (ast) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:57:21 +00:00
Francesco Lodolo 7e637ae453 Pontoon: Update Aragonese (an) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:57:18 +00:00
Pontoon cca6b470b0 Pontoon: Update Tagalog (tl) localization of Firefox Send 2020-07-09 13:52:21 +00:00
Francesco Lodolo 829d10f77f Pontoon: Update Serbian (sr) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:52:17 +00:00
Francesco Lodolo b7d7bb885d Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:52:13 +00:00
Francesco Lodolo 31e2e00b24 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:52:10 +00:00
Francesco Lodolo 0ab2ec6a5c Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:52:06 +00:00
Francesco Lodolo 369b0b2614 Pontoon: Update Tagalog (tl) localization of Firefox Send
Co-authored-by: Francesco Lodolo <flod+pontoon@mozilla.com>
2020-07-09 13:45:29 +00:00
Abelardo Ayala Rodríguez b064152955 Pontoon: Update Guarani (gn) localization of Firefox Send
Co-authored-by: Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2020-07-08 17:50:17 +00:00
Abelardo Ayala Rodríguez 438b36dd28 Pontoon: Update Guarani (gn) localization of Firefox Send
Co-authored-by: Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2020-07-08 16:13:57 +00:00
Abelardo Ayala Rodríguez a429b89322 Pontoon: Update Guarani (gn) localization of Firefox Send
Co-authored-by: Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
2020-06-30 16:34:13 +00:00
Marcelo Ghelman bd0117628f Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Co-authored-by: Marcelo Ghelman <marcelo.ghelman@gmail.com>
2020-06-27 23:07:05 +00:00
Marcelo Ghelman c4299d05a1 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Co-authored-by: Marcelo Ghelman <marcelo.ghelman@gmail.com>
2020-06-27 22:53:15 +00:00
ali.malek.71 e3027d2c59 Pontoon: Update Persian (fa) localization of Firefox Send
Co-authored-by: ali.malek.71 <ali.malek.71@gmail.com>
2020-06-25 14:23:20 +00:00
Ricky Rosario be055ff7ba Update URL for the VPN 2020-06-24 19:29:30 -04:00
jnunezf96 5a53eb85fb Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-21 05:29:25 +00:00
jnunezf96 c249f26b4a Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-21 05:14:44 +00:00
jnunezf96 b229547057 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-21 05:06:59 +00:00
jnunezf96 334f225f3d Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-21 04:53:56 +00:00
Selyan Slimane Amiri e8f3379ddb Pontoon: Update Kabyle (kab) localization of Firefox Send
Co-authored-by: Selyan Slimane Amiri <selyan.kab@gmail.com>
2020-06-20 17:13:32 +00:00
zankomhamad 3dd3fa9808 Pontoon: Update Central Kurdish (ckb) localization of Firefox Send
Co-authored-by: Jwtiyar <jwtiyar@gmail.com>
Co-authored-by: zankomhamad <zankomhamad@outlook.com>
2020-06-19 09:14:38 +00:00
Frederick Villaluna 9459e4bca8 Pontoon: Update Tagalog (tl) localization of Firefox Send
Co-authored-by: Frederick Villaluna <fv_comscie@yahoo.com>
2020-06-16 11:53:07 +00:00
jnunezf96 888e99841e Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-16 07:25:18 +00:00
biobell2000 949dcce5d7 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-15 11:25:17 +00:00
biobell2000 0c47991de6 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: Abdulrasheed Idris <Abdulrash6211@gmail.com>
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-15 11:10:30 +00:00
biobell2000 63b96310d3 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-15 10:57:41 +00:00
biobell2000 da37b9d96f Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-15 10:41:46 +00:00
biobell2000 931cfd108d Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-15 10:32:08 +00:00
Garysqo cc7ea99ca9 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
Co-authored-by: Garysqo <garyspleen@gmail.com>
2020-06-15 06:12:51 +00:00
jnunezf96 996a7e4184 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 06:05:33 +00:00
jnunezf96 e5627698c4 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 05:42:41 +00:00
jnunezf96 1fdccd4dde Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 05:33:38 +00:00
jnunezf96 b8c26aee06 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 04:23:55 +00:00
jnunezf96 b7d65517b3 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 04:05:57 +00:00
jnunezf96 4f5b804b5d Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 03:35:11 +00:00
jnunezf96 a74491af40 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 03:15:25 +00:00
jnunezf96 09955a0231 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 03:07:08 +00:00
jnunezf96 301f6e87f6 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 02:52:39 +00:00
jnunezf96 8c0f1fbe3b Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 02:06:49 +00:00
jnunezf96 b81535c820 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 01:54:38 +00:00
jnunezf96 f5f0a430eb Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 01:44:55 +00:00
jnunezf96 ca55dedad4 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 01:35:53 +00:00
jnunezf96 76a3d6fc03 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 00:54:04 +00:00
jnunezf96 f9b5cadf17 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 00:43:32 +00:00
jnunezf96 458ef649f3 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 00:35:40 +00:00
jnunezf96 de063f75e5 Pontoon: Update Náhuat Pipil (ppl) localization of Firefox Send
Co-authored-by: jnunezf96 <jnunezf96@gmail.com>
2020-06-15 00:23:14 +00:00
jackyzy823 e2876b119d add configs to handle content-security-policy correctly for custom fxa urls 2020-06-11 21:57:48 +08:00
CLASSIFIED 25d41073b7 Fixed a few minor formatting issues
Added a few commas, deleted an extra period
2020-06-08 21:47:39 -05:00
ada_okeke60 5fb9e395d5 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
2020-06-09 00:15:04 +00:00
ada_okeke60 c73ddcd464 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
2020-06-09 00:06:19 +00:00
biobell2000 3a98c295e0 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-08 10:44:46 +00:00
biobell2000 899f921da3 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-08 10:33:55 +00:00
biobell2000 97b9d24134 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-08 10:25:09 +00:00
biobell2000 ab9dbecbd6 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-08 10:16:31 +00:00
biobell2000 0cf77d94cb Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-08 10:07:24 +00:00
biobell2000 bfe3a4067d Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-07 17:06:23 +00:00
ada_okeke60 0226483c30 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
2020-06-07 10:15:04 +00:00
Sara Todaro a6dbb9a58f Pontoon: Update Italian (it) localization of Firefox Send
Co-authored-by: Sara Todaro <sara.todaro@mozillaitalia.org>
2020-06-06 09:33:44 +00:00
Mozilla Pontoon c9e691bdc2 Pontoon: Update Italian (it) localization of Firefox Send 2020-06-06 07:57:15 +00:00
biobell2000 e88bfb597c Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: biobell2000 <biobell2000@gmail.com>
2020-06-06 06:05:57 +00:00
ada_okeke60 190ded1ba7 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
2020-06-05 17:44:48 +00:00
Ayobamiadebayo375 7b7f1f3223 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: babalolaoreoluwa4 <babalolaoreoluwa4@gmail.com>
Co-authored-by: Ayobamiadebayo375 <Ayobamiadebayo375@gmail.com>
2020-06-05 16:23:29 +00:00
ada_okeke60 1f4473c278 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
Co-authored-by: Ebukaabazie <Ebukaabazie@gmail.com>
Co-authored-by: sugabelly <sugabelly@gmail.com>
2020-06-05 10:35:15 +00:00
ada_okeke60 27e86640be Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
Co-authored-by: sugabelly <sugabelly@gmail.com>
2020-06-05 10:22:46 +00:00
Gisela Solis 74d151d12c Pontoon: Update Pai pai (pai) localization of Firefox Send
Co-authored-by: Gisela Solis <gisela.solis.roman@gmail.com>
2020-06-04 02:23:35 +00:00
Abdulrash6211 a370f01908 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: Abdulrash6211 <Abdulrash6211@gmail.com>
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
2020-06-03 23:53:50 +00:00
Umegbewe 3078e1f90c Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
2020-06-03 23:44:27 +00:00
John Zonunmawi Vankal d90830b285 Pontoon: Update Mizo (lus) localization of Firefox Send
Co-authored-by: John Zonunmawi Vankal <zonunmawia@gmail.com>
2020-06-03 18:43:33 +00:00
Umegbewe 74288cdba6 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
2020-06-03 12:14:46 +00:00
Ayobamiadebayo375 a37e59cdb3 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: Ayobamiadebayo375 <Ayobamiadebayo375@gmail.com>
2020-06-03 11:11:24 +00:00
ada_okeke60 ee5f63e11c Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
2020-06-03 10:45:14 +00:00
ada_okeke60 b02f2768d3 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: ada_okeke60 <ada_okeke60@ymail.com>
2020-06-03 10:23:56 +00:00
Jwtiyar da3a7c1e98 Pontoon: Update Central Kurdish (ckb) localization of Firefox Send
Co-authored-by: Jwtiyar <jwtiyar@gmail.com>
2020-06-02 19:35:42 +00:00
Jwtiyar 8180406467 Pontoon: Update Central Kurdish (ckb) localization of Firefox Send
Co-authored-by: Jwtiyar <jwtiyar@gmail.com>
2020-06-02 19:25:53 +00:00
Jwtiyar be595de148 Pontoon: Update Central Kurdish (ckb) localization of Firefox Send
Co-authored-by: Jwtiyar <jwtiyar@gmail.com>
2020-06-02 19:14:50 +00:00
sugabelly 395b6518ee Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: sugabelly <sugabelly@gmail.com>
2020-06-02 18:37:06 +00:00
sugabelly 49243506cb Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: sugabelly <sugabelly@gmail.com>
2020-06-02 18:23:38 +00:00
sugabelly 69948f4a4a Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: sugabelly <sugabelly@gmail.com>
2020-06-02 18:16:25 +00:00
sugabelly 85aaeb9892 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: sugabelly <sugabelly@gmail.com>
2020-06-02 17:53:02 +00:00
Umegbewe 95098d5828 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
2020-06-02 17:45:03 +00:00
Victor Davila eb4aa04f7e Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Co-authored-by: Victor Davila <victorhdd@gmail.com>
2020-06-01 19:34:06 +00:00
Victor Davila 5afb940718 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Co-authored-by: Victor Davila <victorhdd@gmail.com>
2020-06-01 18:53:34 +00:00
Gisela Solis b6e956e086 Pontoon: Update Ixil (ixl) localization of Firefox Send
Co-authored-by: Gisela Solis <gisela.solis.roman@gmail.com>
2020-06-01 00:53:57 +00:00
dskmori 681ca8197c Pontoon: Update Japanese (ja) localization of Firefox Send
Co-authored-by: dskmori <ghoti.fish.dsk@gmail.com>
2020-05-30 12:21:43 +00:00
ali.malek.71 21e312dac3 Pontoon: Update Persian (fa) localization of Firefox Send
Co-authored-by: ali.malek.71 <ali.malek.71@gmail.com>
2020-05-27 04:13:04 +00:00
Eduard Bopp 5a02e32aec Mention updated Node version 12.x in README
Just passing by I noticed that it seems like it was overlooked to update the README in https://github.com/mozilla/send/commit/89469e3c9cae3d1f28a8bcac54870ce55af3c34c
2020-05-15 15:53:56 +02:00
fcortess dfe3631bcd Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Co-authored-by: fcortess <fcortess@pm.me>
2020-05-12 00:05:24 +00:00
Marcelo Ghelman b7c53bf8e2 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Co-authored-by: Marcelo Ghelman <marcelo.ghelman@gmail.com>
2020-05-11 16:04:31 +00:00
Marcelo Ghelman 9bdf9c4416 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Co-authored-by: Marcelo Ghelman <marcelo.ghelman@gmail.com>
2020-05-11 15:51:20 +00:00
Gisela Solis 7116c1c06e Pontoon: Update Ixil (ixl) localization of Firefox Send
Co-authored-by: Gisela Solis <gisela.solis.roman@gmail.com>
2020-05-04 15:13:21 +00:00
Gisela Solis f210394d84 Pontoon: Update Ixil (ixl) localization of Firefox Send
Co-authored-by: Gisela Solis <gisela.solis.roman@gmail.com>
2020-04-30 15:41:56 +00:00
Gisela Solis 0679a29cdc Pontoon: Update Ixil (ixl) localization of Firefox Send
Co-authored-by: Gisela Solis <gisela.solis.roman@gmail.com>
2020-04-30 15:32:10 +00:00
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
minvs1 7aead375d8 Allow to set custom retry parameters 2020-04-21 23:30:39 +03: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
Mathieu Lecarme 5a70362b79 Fix: AWS.config is a stub. 2020-03-23 15:48:07 +01:00
Mathieu Lecarme 97deb78de6 Use the config object. 2020-03-23 15:48:07 +01:00
Mathieu Lecarme 2d22573588 Choose your endpoint.
See https://github.com/mozilla/send/issues/1239
2020-03-23 15:48:07 +01: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
Michael Peter 5ff6266a5e modify connect-src of Content Security Policy to include dynamic wss URL based on configured base URL 2020-01-17 17:47:09 -05: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
Danny Coates c2dd51c638 v3.0.18 2019-09-06 10:40:36 -07:00
Danny Coates cdd98af86a updated deps 2019-09-06 10:39:42 -07:00
Danny Coates 883f2bc0f9 wait until serviceWorker activate to precache 2019-09-05 19:04:03 -07:00
Danny Coates 94f1eabbc7 v3.0.17 2019-09-05 15:59:42 -07:00
Danny Coates 902bc6628e cache fonts 2019-09-05 15:57:07 -07:00
Danny Coates 460b741f17 clean service worker cache after activate instead of on install 2019-09-05 15:24:26 -07:00
Danny Coates d5c488196d no-cache harder 2019-09-05 13:33:12 -07:00
Danny Coates 9ad9c9feb2 fixed git hooks 2019-09-05 13:16:32 -07:00
Danny Coates 6576e4a74c added sync-npm-dependencies script and hooks 2019-09-05 08:14:14 -07:00
Danny Coates 950872109e updated deps 2019-09-05 08:11:20 -07:00
Martijn Dekker 87051d27ed Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Martijn Dekker <martijn@inlv.org>
2019-09-03 22:52:26 +00:00
Marcelo Ghelman 3451803b37 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-08-29 10:32:02 +00:00
dskmori ac15153e8f Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-08-28 13:12:29 +00:00
Danny Coates 924f5dc682 disable streaming download on mobile firefox 2019-08-26 10:49:19 -07:00
Danny Coates ff9be6a213 updated deps 2019-08-26 08:58:34 -07:00
Roberto Alvarado 883728570e Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
- Adolfo Jayme Barrientos <fitoschido@gmail.com>
2019-08-25 05:52:41 +00:00
Adolfo Jayme Barrientos 0435f17f9a Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
- Adolfo Jayme Barrientos <fitoschido@gmail.com>
2019-08-20 16:34:33 +00:00
Danny Coates 1e1268fff0 fixed hebrew fluent variable name 2019-08-19 10:59:35 -07:00
Quế Tùng 252d7817e3 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-08-17 15:53:31 +00:00
Danny Coates ce28c38ebe v3.0.16 2019-08-12 10:10:07 -07:00
Danny Coates f0407f9beb use custom configstore that doesn't use the fs 2019-08-12 10:00:57 -07:00
Sahithi c6f222eb57 Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi@swecha.net>
2019-08-11 08:54:01 +00:00
leo.toneff 6dd6135185 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Firefox Send
Localization authors:
- leo.toneff <leo.toneff@gmail.com>
- Håvar Henriksen <havar@firefox.no>
2019-08-10 16:33:36 +00:00
Danny Coates 8df339b66d v3.0.15 2019-08-09 12:26:09 -07:00
Danny Coates 8702fda651 handle websocket construction exceptions 2019-08-09 11:47:44 -07:00
Danny Coates 807ecff471 updated sentry libs from raven to @sentry 2019-08-09 11:06:21 -07:00
Danny Coates 927c981cd7 added size/time info to up/download error reporting 2019-08-09 10:09:34 -07:00
Danny Coates 7073cc8ce6 added download hang detection and error reporting 2019-08-08 13:54:02 -07:00
Danny Coates c925fae696 updated deps 2019-08-08 13:01:57 -07:00
Danny Coates 966d7a5e35 create configstore dir in docker container 2019-08-08 10:42:57 -07:00
Danny Coates 96c750c098 added size and duration to connection error reporting 2019-08-08 09:52:22 -07:00
Danny Coates 0729064753 Merge pull request #1378 from mozilla/new-ws
Use resumable uploads to GCS
2019-08-08 08:54:00 -07:00
Joergen 259a5a5f24 Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Joergen <joergenr@stofanet.dk>
2019-08-08 14:02:32 +00:00
Danny Coates 27be72e0cd refactored client side upload loop 2019-08-07 13:51:23 -07:00
Danny Coates e4231bbc0f updated deps 2019-08-07 13:47:26 -07:00
Danny Coates 1d184f06bf revert webpack for broken css extraction 2019-08-07 12:14:27 -07:00
Quentí f7b46a99ac Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 18:12:20 +00:00
Quentí 3fadb489c7 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 17:13:10 +00:00
Danny Coates 6378676c2d use resumable uploads to GCS 2019-08-07 10:10:42 -07:00
Quentí 014d84e4c7 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 16:54:33 +00:00
Quentí a08d8435a9 Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 07:12:56 +00:00
Quentí 40a05c9ecf Pontoon: Update Occitan (oc) localization of Firefox Send
Localization authors:
- Quentí <quentinantonin@free.fr>
2019-08-07 06:52:27 +00:00
Danny Coates 527040afef updated ws dependency and slightly improved client side error handling, hung uploads will error instead of hang forever 2019-08-06 14:47:21 -07:00
Michal Stanke a48a447808 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-08-06 12:14:20 +00:00
julen f3569d7f98 Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- julen <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-08-05 08:52:40 +00:00
صفا الفليج 6ca7d11efb Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-08-05 08:52:37 +00:00
julen b71ae4a0ff Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
- julen <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-08-05 08:34:11 +00:00
Aman Alam 7ba25664b5 Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-08-05 00:52:41 +00:00
Danny Coates 80fb42ad3d v3.0.14 2019-08-02 12:13:39 -07:00
Danny Coates f036df5f47 updated eslint config 2019-08-02 12:03:53 -07:00
Danny Coates 20c063db7c fixed logged error in integration tests 2019-08-02 11:26:52 -07:00
Danny Coates a6b43c9eef v3.0.13 2019-07-29 16:24:48 -07:00
Danny Coates c80f9ada65 updated deps 2019-07-29 15:26:11 -07:00
aefgh39622 e0ae5cb3c6 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-28 12:12:35 +00:00
Марко Костић (Marko Kostić) c0fb3d17be Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-07-24 21:52:22 +00:00
Ратко Вујановић 116f090b7e Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
- Ратко Вујановић <arheopterics@gmail.com>
- Isidora Barad Dur <barad.dur@yahoo.com>
2019-07-23 19:52:46 +00:00
Danny Coates 7cbd9716e2 updated deps 2019-07-23 10:30:43 -07:00
Danny Coates 58191975b9 stubbed /login page for redirect base login flow 2019-07-23 09:27:34 -07:00
Anesu Chiodza 76695aee5d Pontoon: Update Shona (sn) localization of Firefox Send
Localization authors:
- Anesu Chiodza <anesuchiodza@gmail.com>
2019-07-16 17:31:47 +00:00
Anesu Chiodza b356b4cad3 Pontoon: Update Shona (sn) localization of Firefox Send
Localization authors:
- Anesu Chiodza <anesuchiodza@gmail.com>
2019-07-16 17:11:53 +00:00
m4hdi.pdroid 63ddbeefc4 Pontoon: Update Persian (fa) localization of Firefox Send
Localization authors:
- m4hdi.pdroid <m4hdi.pdroid@gmail.com>
- Amin Mahmudian <amin.mahmudian@gmail.com>
2019-07-14 18:31:39 +00:00
Belayet Hossain 7b423b24b6 Pontoon: Update Bengali (bn) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-07-13 18:31:39 +00:00
Belayet Hossain b67050b742 Pontoon: Update Bengali (bn) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-07-13 18:11:35 +00:00
rgpublic 06242dfd38 Add deployment instructions (#1366) 2019-07-12 10:07:24 -04:00
Danny Coates 3b8dbfd81c npm run format 2019-07-11 10:47:42 -07:00
Danny Coates 9c2fe39764 updated deps 2019-07-11 10:46:07 -07:00
Danny Coates 8b21d43bfa Merge pull request #1363 from flodolo/bengali
Rename bn-BD as bn
2019-07-10 09:54:32 -07:00
Francesco Lodolo [:flod] e7e39f4d4a Rename bn-BD as bn 2019-07-10 06:52:22 +02:00
Top e4c801d9a1 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
- Top <teerapatxtop@yahoo.com>
2019-07-08 16:12:27 +00:00
Cristian Silaghi 324f275dd4 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-07-08 15:31:49 +00:00
Pin-guang Chen 594e0bd28e Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-07-08 14:12:25 +00:00
aefgh39622 6a7fdfe780 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-08 13:51:49 +00:00
aefgh39622 0c82741b98 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-08 13:33:33 +00:00
aefgh39622 fe57734792 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-08 13:12:28 +00:00
Top 4754bed9b8 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- Top <teerapatxtop@yahoo.com>
2019-07-07 18:52:25 +00:00
aefgh39622 a60da467b9 Pontoon: Update Thai (th) localization of Firefox Send
Localization authors:
- aefgh39622 <aefgh39622@gmail.com>
2019-07-07 15:53:12 +00:00
Tomer Cohen 362da2bbfc Pontoon: Update Hebrew (he) localization of Firefox Send
Localization authors:
- Tomer Cohen <tomer.mozilla@tomercohen.com>
2019-07-05 18:54:16 +00:00
ItielMaN 1a9ef4a246 Pontoon: Update Hebrew (he) localization of Firefox Send
Localization authors:
- ItielMaN <itiel_yn8@walla.com>
- Yaron Shahrabani <sh.yaron@gmail.com>
- Tomer Cohen <tomer.mozilla@tomercohen.com>
2019-07-05 16:52:35 +00:00
Marcelo Ghelman f51dbbb8f5 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-07-04 21:32:59 +00:00
Cristian Silaghi e497107e59 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-07-02 09:32:42 +00:00
sergio 10ad6fc1ae Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- sergio <sergio+it@outerface.net>
2019-07-01 12:32:41 +00:00
Christian Elbrianno c982db4c75 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Christian Elbrianno <christian.elbrianno41@gmail.com>
- Ringgo <armen.ringgo@yahoo.de>
2019-06-30 04:52:51 +00:00
Cristian Silaghi cd8130563d Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-27 12:58:48 +00:00
Cristian Silaghi 730a569d43 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-26 13:33:36 +00:00
kumincir 769dae1bdc Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- kumincir <ia.adnan@gmail.com>
2019-06-26 02:33:06 +00:00
Cristian Silaghi 54a8c504ce Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-24 15:33:56 +00:00
robbp 92dc9a0f71 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-06-23 05:17:32 +00:00
Besnik Bleta 80a7c92056 Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
2019-06-21 11:52:47 +00:00
p.sanroman.bengoetxea c6ebea0100 Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
2019-06-18 12:35:09 +00:00
mail 039b5daaed Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- mail <mail@kyg.kr>
2019-06-18 06:31:42 +00:00
Marcelo Ghelman 4bf4e61c2c Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-06-17 18:13:25 +00:00
Cristian Silaghi 3c21e2a00f Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-17 13:13:34 +00:00
Cristian Silaghi 38a379d1de Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-16 20:11:54 +00:00
Sahithi adeb19d974 Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi.thinker@gmail.com>
2019-06-16 10:53:05 +00:00
Sahithi 744c410704 Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi.thinker@gmail.com>
2019-06-16 10:32:18 +00:00
Sahithi 99ab3882eb Pontoon: Update Telugu (te) localization of Firefox Send
Localization authors:
- Sahithi <sahithi.thinker@gmail.com>
2019-06-16 10:13:18 +00:00
Danny Coates 7cdf566bcd updated deps 2019-06-14 11:58:39 -07:00
Danny Coates b6e4877d93 Merge pull request #1352 from mozilla/tailwind-1
updated tailwindcss to 1.0
2019-06-14 11:45:10 -07:00
Danny Coates b9c87fd779 updated tailwindcss to 1.0 2019-06-14 11:37:30 -07:00
Joe ST 6ef5b5133c Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Send
Localization authors:
- Joe ST <joe@fbstj.net>
2019-06-14 16:39:06 +00:00
Yassine Aït-El-Mouden b7d2420765 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
- Brahim Essaidi <Essaidib2@gmail.com>
2019-06-14 12:33:45 +00:00
Artem Polivanchuk c139531c91 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-06-14 09:14:39 +00:00
Muhend Belkacem 88fe3902bc Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2019-06-14 08:52:19 +00:00
Muhend Belkacem 645fd062ac Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2019-06-13 23:51:58 +00:00
Uccen Marzuq ccb0b71df5 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Uccen Marzuq <merzouk.ouchene@laposte.net>
2019-06-13 21:52:28 +00:00
Muhend Belkacem b8ec90a398 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Muhend Belkacem <taqbaylitassa@gmail.com>
2019-06-13 20:51:59 +00:00
marsf 7ed5f37c66 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- marsf <chimantaea_mirabilis@yahoo.co.jp>
2019-06-13 10:32:28 +00:00
Victor Bychek c899129f9a Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- Victor Bychek <a@bychek.ru>
2019-06-12 12:34:13 +00:00
Hyeonseok Shin 1bb91690c5 Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- Jonathan Joseph Chiarella <jonathan.chiarella@gmail.com>
2019-06-12 03:12:53 +00:00
Mikeyy 073f6f67d3 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Mikeyy <mihovil@miho.im>
2019-06-10 19:54:19 +00:00
Danny Coates 533bfdb496 updated deps 2019-06-06 18:01:57 -07:00
Paulius 34de65d7d2 Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Paulius <paulius@mozilla.lt>
2019-06-06 13:13:09 +00:00
Danny Coates 209fdf34f8 Merge pull request #1348 from georapbox/issue-1332
Fixes blurry Sign in button when hovered
2019-06-05 09:33:53 -07:00
Brahim Essaidi ba5c2a049d Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Brahim Essaidi <Essaidib2@gmail.com>
2019-06-05 11:33:42 +00:00
George Raptis 1528aa3f1b Fixes blurry Sign in button when hovered 2019-06-05 11:58:11 +03:00
Danny Coates b1f1b9bd19 v3.0.12 2019-06-03 13:20:37 -07:00
Fjoerfoks 2963b2fc05 Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-06-03 12:16:57 +00:00
Gwenn e4f9cfa023 Pontoon: Update Breton (br) localization of Firefox Send
Localization authors:
- Gwenn <tornoz@laposte.net>
2019-06-03 12:16:54 +00:00
Mark Heijl 09e961219d Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-06-03 11:52:36 +00:00
Gwenn b36a5f6973 Pontoon: Update Breton (br) localization of Firefox Send
Localization authors:
- Gwenn <tornoz@laposte.net>
2019-06-03 11:52:34 +00:00
Cristian Silaghi 1a36dc084e Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- Cristian Silaghi <cristian.silaghi@mozilla.ro>
2019-06-03 10:53:39 +00:00
Björn I c66347b3da Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-06-03 07:12:53 +00:00
Björn I a7d0551509 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-06-03 03:32:42 +00:00
Björn I f6f6324aa1 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-06-03 02:51:33 +00:00
Marcelo Poli a24597695b Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2019-06-02 19:11:41 +00:00
ravmn 706ac638da Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2019-06-01 23:32:20 +00:00
Selim Şumlu d66d08f0ed Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-06-01 23:12:28 +00:00
Michael Wolf ab9af7fd9b Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-06-01 18:51:55 +00:00
Jiri Grönroos 466a087689 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-06-01 05:53:37 +00:00
Piotr Drąg 71956739f8 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-05-31 18:13:10 +00:00
Danny Coates 62689b9556 Merge pull request #1344 from mozilla/update-promo-banner
tweak promo banner to match spec'
2019-05-31 09:23:51 -07:00
Danny Coates 7d1b8e002f a couple promo style tweaks 2019-05-31 09:18:20 -07:00
Slimane Selyan AMIRI 8c535ce50d Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-05-31 14:32:26 +00:00
John Gruen a3bdcd8478 tweak promo banner to match spec' 2019-05-31 13:48:32 +02:00
Jim Spentzos 1e77d86e8a Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-05-31 04:12:41 +00:00
Jim Spentzos 1af01b1ee3 Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-05-31 03:51:26 +00:00
Balázs Meskó eb1bcde37f Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-05-30 11:31:25 +00:00
avelper 8def910d61 Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
2019-05-30 11:11:30 +00:00
Quế Tùng 5892532d03 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-05-30 10:16:41 +00:00
Rhoslyn Prys 8ede5cf05c Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-05-30 08:12:25 +00:00
Danny Coates 7213fef7c3 updated deps 2019-05-29 19:27:47 -07:00
Danny Coates d3e9bb09df trailhead promo 2019-05-29 19:27:47 -07:00
Michael Wolf 2682aec90d Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-05-29 21:12:41 +00:00
Rodrigo 0ea89a58b0 Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-05-29 21:12:39 +00:00
Marcelo Ghelman 2a2a3ad21f Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-05-29 20:52:57 +00:00
yusup.ramdani 36c73bae7b Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-29 18:51:34 +00:00
Danny Coates f5116cee29 v3.0.11 2019-05-29 10:16:56 -07:00
Danny Coates 72ab5bdbf3 revert master logo until june 3rd 2019-05-29 10:05:31 -07:00
Michal Stanke 94f0b928ae Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-05-29 16:33:34 +00:00
G12r 5e14a0b45a Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-05-29 16:14:08 +00:00
Andreas Pettersson 84a382af77 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-05-29 15:51:45 +00:00
Pin-guang Chen 8680dc6b3c Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-05-29 15:31:43 +00:00
passionforlife cf787eef9f Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-05-29 15:31:41 +00:00
Juraj Cigáň a5dffdba14 Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-05-29 15:11:44 +00:00
Rok Žerdin 2dcc3730d9 Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-05-29 14:57:31 +00:00
Francesco Lodolo 3fb3f6f77f Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Francesco Lodolo <flod+pontoon@mozilla.com>
2019-05-29 14:57:28 +00:00
Melo46 0a4a9f674d Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-05-29 14:57:26 +00:00
Francesco Lodolo 7e2e171f83 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Francesco Lodolo <flod+pontoon@mozilla.com>
2019-05-29 14:57:23 +00:00
Théo Chevalier a64bb4ac8b Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2019-05-29 14:57:20 +00:00
Kohei Yoshino acab58ca1e Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-05-29 14:57:18 +00:00
clouserw-mozilla-owner 10ed88fa40 Merge pull request #1341 from mozilla/trailhead
added master logo and trailhead strings
2019-05-29 07:20:04 -07:00
Danny Coates 9b2a7dfcd7 added master logo and trailhead strings 2019-05-28 18:54:33 -07:00
Danny Coates 517f51f4f0 added line-break: anywhere; fixes #1326 2019-05-28 15:08:58 -07:00
Danny Coates 73735010ae set account ui state on createElement. fixes #1325 2019-05-28 14:54:58 -07:00
صفا الفليج 72497b77b2 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-05-27 18:34:16 +00:00
صفا الفليج 7c4a00ecd1 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
2019-05-27 18:11:26 +00:00
صفا الفليج d96cb1aec4 Pontoon: Update Arabic (ar) localization of Firefox Send
Localization authors:
- صفا الفليج <safa1996alfulaij@gmail.com>
- mohamedstarwars <mohamedstarwars@gmail.com>
2019-05-27 17:57:15 +00:00
Piotr Drąg fc99ed584f Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
- Paweł <bauerp@bauerp.info>
2019-05-27 10:32:12 +00:00
Piotr Drąg da1ffe581b Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-05-27 10:11:35 +00:00
robbp 6cbbbab691 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-05-26 04:32:02 +00:00
yusup.ramdani b91bd2b859 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-24 09:12:50 +00:00
yusup.ramdani 14ae124ca8 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 12:33:33 +00:00
yusup.ramdani 3bd087a66d Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 12:12:42 +00:00
yusup.ramdani 57e9fbcd26 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 11:52:14 +00:00
yusup.ramdani bd42445a98 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 11:33:33 +00:00
yusup.ramdani 0e1027544c Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 10:56:55 +00:00
yusup.ramdani c7532f3f4a Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 10:13:53 +00:00
yusup.ramdani 97e861f050 Pontoon: Update Sundanese (su) localization of Firefox Send
Localization authors:
- yusup.ramdani <yusup.ramdani@wikimedia.or.id>
2019-05-23 09:52:40 +00:00
marsf 9f3adbf6ad Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- marsf <chimantaea_mirabilis@yahoo.co.jp>
2019-05-21 01:52:19 +00:00
Rhoslyn Prys 7b4c42a56f Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-05-18 09:32:44 +00:00
Jim Spentzos 0f763ca4ec Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
2019-05-17 11:33:35 +00:00
robbp 97164a4b08 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-05-17 10:33:18 +00:00
Besnik Bleta ee8baff557 Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
2019-05-13 09:53:37 +00:00
Aman Alam 637a6d86fb Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-11 06:53:49 +00:00
Aman Alam f8f200cbcd Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-10 14:13:11 +00:00
Aman Alam 0e4b9f425f Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-10 07:13:45 +00:00
Aman Alam eb4a2c9f02 Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-10 06:52:40 +00:00
Aman Alam 55f3abaa1b Pontoon: Update Punjabi (pa-IN) localization of Firefox Send
Localization authors:
- Aman Alam <amanpreet.alam@gmail.com>
2019-05-09 02:34:32 +00:00
Merike Sell bb1ee80c34 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-07 20:34:14 +00:00
Merike Sell f9edf196a2 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-07 20:15:43 +00:00
Artem Polivanchuk 9bebab3f66 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-05-07 08:32:45 +00:00
Merike Sell e9bf6e235b Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-06 20:12:30 +00:00
Merike Sell 88a3dc94d5 Pontoon: Update Estonian (et) localization of Firefox Send
Localization authors:
- Merike Sell <merikes@gmail.com>
2019-05-06 19:52:42 +00:00
Paulius d7143ab63a Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Paulius <paulius@mozilla.lt>
2019-05-05 15:32:35 +00:00
Selim Şumlu b340969cc1 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-05-05 13:11:33 +00:00
Mikeyy ce0bf26b9e Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Mikeyy <mihovil@miho.im>
2019-05-05 08:52:14 +00:00
jlG 193f43ac9d Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- jlG <jlg.l10n.es@gmail.com>
2019-05-04 17:52:19 +00:00
Jordi Serratosa e376f978a2 Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-05-04 16:32:48 +00:00
Juraj Cigáň bd93fb66a5 Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-05-04 10:31:59 +00:00
Davide fc79233ade Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Davide <dvd.forty@gmail.com>
2019-05-04 08:52:50 +00:00
Danny Coates 8263a9eaa9 updated deps 2019-05-03 17:04:26 -07:00
Juan Sián 5d02f47e41 Pontoon: Update Kaqchikel (cak) localization of Firefox Send
Localization authors:
- Juan Sián <ajtzibsyan@yahoo.com>
2019-05-03 22:52:31 +00:00
Danny Coates 23ecb632eb added signin button color experiment. closes #1306 (#1320) 2019-05-03 13:10:56 -04:00
Danny Coates b82177dc44 Merge pull request #1324 from mozilla/style-tweaks-for-trailhead
tweak some styles for trailhead
2019-05-03 09:59:44 -07:00
John Gruen 51296d5489 tweak some styles for trailhead 2019-05-03 18:45:36 +02:00
Danny Coates f603f40f43 added agent to server metrics (#1321) 2019-05-03 12:25:12 -04:00
Rok Žerdin 19ac0480ee Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-05-03 12:54:00 +00:00
Jakob Kappel 7d43f4f145 Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Jakob Kappel <jakobkpetersen@gmail.com>
2019-05-03 07:13:17 +00:00
Danny Coates 8f17c86611 Merge pull request #1322 from hugomiguelabreu/master
Defined retry_strategy for redis. Closes #1292
2019-05-02 15:05:35 -07:00
Hugo Abreu f517c514d8 Defined retry_strategy for redis. Closes #1292 2019-05-02 21:56:28 +01:00
Jiri Grönroos e2d9c0acca Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
- Lasse Liehu <lasse.liehu@iki.fi>
2019-05-02 20:52:02 +00:00
Gabriela c3221bddf2 Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Send
Localization authors:
- Gabriela <gmontagu@gmail.com>
2019-05-02 18:32:26 +00:00
goofy 5ac10a2057 Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- goofy <goofy@babelzilla.org>
2019-05-02 18:12:16 +00:00
Théo Chevalier 85ce14a991 Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2019-05-02 17:11:17 +00:00
Rhoslyn Prys 2594581965 Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-05-02 16:12:37 +00:00
Balázs Meskó 1a3968476a Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-05-02 15:33:15 +00:00
Ian Neal 281abfc79b Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Send
Localization authors:
- Ian Neal <iann_bugzilla@blueyonder.co.uk>
2019-05-02 15:33:12 +00:00
Fauzan Alfi 6dd4a92467 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Fauzan Alfi <fauzanalfi@mozilla.web.id>
2019-05-02 14:32:29 +00:00
Alexander Slovesnik 9614c119aa Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- Alexander Slovesnik <unghost@mozilla-russia.org>
2019-05-02 12:53:09 +00:00
ജോയ്സ് 1e1c21a45a Pontoon: Update Malayalam (ml) localization of Firefox Send
Localization authors:
- ജോയ്സ് <joicefootball@gmail.com>
2019-05-02 12:53:04 +00:00
Fjoerfoks 8cff6f9441 Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-05-02 11:11:24 +00:00
Mark Heijl 23c2a61567 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-05-02 11:11:22 +00:00
Piotr Drąg 903cb9cc49 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-05-02 09:52:00 +00:00
Quế Tùng d4901662f8 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-05-02 05:12:13 +00:00
passionforlife 686197be61 Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-05-02 02:52:26 +00:00
Pin-guang Chen dd848f19b4 Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-05-02 02:32:08 +00:00
Kohei Yoshino a7d1607cb3 Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-05-02 01:32:27 +00:00
ravmn 508e252067 Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2019-05-02 00:31:50 +00:00
Pedro Burlamaqui Bendahan 2cf409ca11 Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
- Pedro Burlamaqui Bendahan <pregomoraes2@gmail.com>
2019-05-02 00:31:47 +00:00
G12r 3f0fac738a Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-05-01 22:32:09 +00:00
Hugo 9bd14a17f9 Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Hugo <hugo.miguel.abreu@gmail.com>
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-05-01 21:11:55 +00:00
Mark Heijl 4505296b35 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-05-01 18:52:22 +00:00
Björn I 5a91ba47c6 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-05-01 18:32:10 +00:00
Michael Wolf b82e2efd33 Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-05-01 18:11:50 +00:00
Michael Wolf 284676d956 Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-05-01 18:11:47 +00:00
Melo46 d91edcb653 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-05-01 18:11:45 +00:00
Melo46 9ffc792dec Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-05-01 17:51:15 +00:00
Michal Stanke 7d3973a5e4 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-05-01 17:51:12 +00:00
Michael Köhler ffc0d57576 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2019-05-01 17:32:21 +00:00
Andreas Pettersson f28ee8ab78 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-05-01 17:11:35 +00:00
Rok Žerdin 6b02a2167c Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-05-01 17:11:32 +00:00
Théo Chevalier c9b9c338d7 Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2019-05-01 16:52:18 +00:00
Joe Becher d22d54dee0 Rename circle.yml to .circleci/config.yml
Corrected config filename and path. This should get it building correctly on CircleCI
2019-05-01 09:50:52 -07:00
Danny Coates 20b9279eec added survey dialog. closes #1307 2019-05-01 09:47:04 -07:00
Hugo Abreu ce4157ac08 Fixed inactive scroll bar. Closes #1303 (#1317)
* Fixed inactive scroll bar. Closes #1303

* Changed Sign in button string. Closes #1309

* Changed button string id

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

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

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

* (Android) Enable WebView debugging in debug builds

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

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

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

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

* (Android) Remove unnecessary ConstraintLayout container

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

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

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

* (Android) Suppress JavaScript lint warning

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

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

_(Message COC002)_
2019-03-29 23:15:18 -07:00
Yassine Aït-El-Mouden 67b812a538 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 00:31:45 +00:00
Yassine Aït-El-Mouden c811cbd34e Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-30 00:12:12 +00:00
Slimane Selyan AMIRI 2ed09d1fda Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-29 21:51:42 +00:00
Slimane Selyan AMIRI 557ecb196d Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-29 21:31:36 +00:00
Slimane Selyan AMIRI 88e8a234d6 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-29 21:12:23 +00:00
Jiri Grönroos 34eb0fce2a Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-03-29 20:11:21 +00:00
Yassine Aït-El-Mouden 995054a2cb Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 12:51:50 +00:00
Yassine Aït-El-Mouden e70161bfb0 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 12:31:36 +00:00
Yassine Aït-El-Mouden ebf62761bc Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 11:51:17 +00:00
Yassine Aït-El-Mouden cf08b03a6b Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 11:31:59 +00:00
Besnik Bleta f3be26d5f5 Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
2019-03-29 11:31:56 +00:00
Yassine Aït-El-Mouden 03c68b0c58 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 11:11:32 +00:00
Besnik Bleta 59d460e80b Pontoon: Update Albanian (sq) localization of Firefox Send
Localization authors:
- Besnik Bleta <besnik@programeshqip.org>
- wanzhi09 <wanzhi09@gmail.com>
2019-03-29 11:11:30 +00:00
Yassine Aït-El-Mouden 87f947c31d Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 00:31:36 +00:00
Yassine Aït-El-Mouden 7ff0a7654c Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-29 00:12:13 +00:00
Yassine Aït-El-Mouden 9f829e8467 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 23:51:35 +00:00
Yassine Aït-El-Mouden b68762da50 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 23:31:33 +00:00
Yassine Aït-El-Mouden caef279fed Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 23:12:45 +00:00
Yassine Aït-El-Mouden 0dfda7c610 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 18:32:35 +00:00
Yassine Aït-El-Mouden 5c2d9d8673 Pontoon: Update Tamazight (zgh) localization of Firefox Send
Localization authors:
- Yassine Aït-El-Mouden <yaitelmouden@outlook.com>
2019-03-28 18:11:59 +00:00
Slimane Selyan AMIRI be51ae7ac9 Pontoon: Update Kabyle (kab) localization of Firefox Send
Localization authors:
- Slimane Selyan AMIRI <slimane.amiri@gmail.com>
2019-03-28 14:11:15 +00:00
Ian Neal 1ba6aceb1f Pontoon: Update English (Great Britain) (en-GB) localization of Firefox Send
Localization authors:
- Ian Neal <iann_bugzilla@blueyonder.co.uk>
2019-03-28 09:51:43 +00:00
Jiri Grönroos 0a3c3d8c51 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
- Lasse Liehu <lasse.liehu@iki.fi>
2019-03-27 22:51:33 +00:00
Danny Coates 38aa460a03 v3.0.9 2019-03-26 10:27:25 -07:00
Danny Coates 58b7a17680 fixed isFile for extended file id size 2019-03-26 09:58:04 -07:00
Danny Coates 1ce115c3e9 updated prod locales 2019-03-26 09:45:35 -07:00
Danny Coates 8cf3b89f91 increase file id to 8 bytes 2019-03-26 09:32:44 -07:00
p.sanroman.bengoetxea eced5be836 Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
- julenx <julenx@gmail.com>
2019-03-24 20:51:38 +00:00
Jiri Grönroos bb4fa0a75c Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-03-24 18:51:18 +00:00
Jiri Grönroos 98b62cd1c2 Pontoon: Update Finnish (fi) localization of Firefox Send
Localization authors:
- Jiri Grönroos <jiri.gronroos@iki.fi>
2019-03-24 18:12:07 +00:00
Jim Spentzos 62461f50a5 Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
- merianosnikos <merianosnikos@gmail.com>
2019-03-24 16:51:52 +00:00
Марко Костић (Marko Kostić) 1be87a531c Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 12:12:06 +00:00
Марко Костић (Marko Kostić) f70caf814b Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 11:51:41 +00:00
Марко Костић (Marko Kostić) a9595e501d Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 11:31:53 +00:00
Melo46 40814207ee Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-24 10:11:26 +00:00
Марко Костић (Marko Kostić) 1970a88ece Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 09:51:37 +00:00
Марко Костић (Marko Kostić) a6d41e70b2 Pontoon: Update Serbian (sr) localization of Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2019-03-24 09:32:18 +00:00
merianosnikos 549ce3281a Pontoon: Update Greek (el) localization of Firefox Send
Localization authors:
- Jim Spentzos <jimspentzos2000@gmail.com>
- merianosnikos <merianosnikos@gmail.com>
2019-03-22 00:12:17 +00:00
Danny Coates 1ec56df7ad fixed fxa entrypoint param name... 🤦‍♂️ 2019-03-21 09:30:13 -07:00
robbp c78899c387 Pontoon: Update Romanian (ro) localization of Firefox Send
Localization authors:
- robbp <robbpaun@gmail.com>
2019-03-21 07:32:41 +00:00
Björn I c76fe3ac96 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-20 15:12:08 +00:00
Björn I 49cfd599ec Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-20 14:51:43 +00:00
dskmori 74c08200ad Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-20 02:11:57 +00:00
Breana Gonzales 8cd5839d36 Pontoon: Update Spanish (Mexico) (es-MX) localization of Firefox Send
Localization authors:
- Breana Gonzales <breanajones@hotmail.com>
2019-03-19 14:51:41 +00:00
Danny Coates cbd7a99e38 v3.0.8 2019-03-18 16:26:12 -07:00
Danny Coates 6a5960c254 updated CONTRIBUTORS 2019-03-18 15:38:28 -07:00
Danny Coates b70cbd8359 Merge pull request #1259 from co16353sidak/patch-1
Updated file size limit (as of March 2019)
2019-03-18 15:33:35 -07:00
Danny Coates ad72fa11a4 added locales to production 2019-03-18 15:26:06 -07:00
Danny Coates cc9a5d112a added entrypoint param to fxa auth request 2019-03-18 15:01:01 -07:00
Danny Coates 122867b926 updated webcrypto-liner 2019-03-18 12:43:20 -07:00
Michal Stanke 3f7d755070 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-03-18 18:11:34 +00:00
Danny Coates ad9070b7c6 changed webpack output filenames to use contenthash 2019-03-17 19:21:28 -07:00
Sidak Singh Aulakh 30678b824b Updated file size limit (as of March 2019)
The file size limit was previously marked as 2 hours, but now it supports 2.5GB (1GB for non signed in users)
2019-03-17 21:44:01 +05:30
josotrix 5dedad8ae7 Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- josotrix <josotrix@ravmn.cl>
- ravmn <ravmn@ravmn.cl>
2019-03-17 15:53:11 +00:00
victor.gonzalezro 748f8cc7f8 Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- victor.gonzalezro <victor.gonzalezro@gmail.com>
- josotrix <josotrix@ravmn.cl>
2019-03-16 19:51:52 +00:00
Victor Bychek be9b51adbb Pontoon: Update Russian (ru) localization of Firefox Send
Localization authors:
- MytnikAA <MytnikAA@gmail.com>
- Victor Bychek <a@bychek.ru>
2019-03-16 16:32:15 +00:00
Danny Coates 7f13d4d9b6 fixed incorrect uncompressed size in zip 2019-03-16 09:19:28 -07:00
Edi Santoso 0e81ef2514 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Edi Santoso <repopamor@gmail.com>
2019-03-16 14:12:13 +00:00
Björn I b0907095e4 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-16 12:12:58 +00:00
Piotr Drąg c4cc736cff Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- tomowoj <tomowoj@gmail.com>
- Piotr Drąg <piotrdrag@gmail.com>
- Paweł <bauerp@bauerp.info>
2019-03-16 11:18:13 +00:00
Piotr Drąg c4118c5684 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- tomowoj <tomowoj@gmail.com>
- Piotr Drąg <piotrdrag@gmail.com>
- Paweł <bauerp@bauerp.info>
2019-03-16 10:52:16 +00:00
Jakob Kappel fad35cf8fc Pontoon: Update Danish (da) localization of Firefox Send
Localization authors:
- Jakob Kappel <jakobkpetersen@gmail.com>
2019-03-16 09:32:00 +00:00
Edi Santoso 062cbbd1f8 Pontoon: Update Indonesian (id) localization of Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
- Edi Santoso <repopamor@gmail.com>
2019-03-16 06:32:00 +00:00
dskmori f200bd51d2 Pontoon: Update Japanese (ja) localization of Firefox Send
Localization authors:
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-16 02:52:18 +00:00
Enol 152616574f Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-03-15 18:52:57 +00:00
Enol 822fcb363d Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-03-15 18:32:08 +00:00
Enol e1c6e59495 Pontoon: Update Asturian (ast) localization of Firefox Send
Localization authors:
- Enol <enolp@softastur.org>
2019-03-15 18:12:41 +00:00
Danny Coates d42d8f8b75 v3.0.7 2019-03-15 09:40:03 -07:00
Danny Coates ebbb1d05d2 use crypto.timingSafeEqual in hmac and ownerToken authentication 2019-03-14 22:09:34 -07:00
Melo46 67b55d1477 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-14 23:52:14 +00:00
Danny Coates e3391ca823 Merge pull request #1242 from mgalicer/fix-1130
[Integration-Test] Add test to ensure that file size stays consistent
2019-03-14 14:54:37 -07:00
ravmn 0cac3bd0dc Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- victor.gonzalezro <victor.gonzalezro@gmail.com>
- josotrix <josotrix@ravmn.cl>
- ravmn <ravmn@ravmn.cl>
2019-03-14 21:52:00 +00:00
Juan Sián 78de0b7a22 Pontoon: Update Kaqchikel (cak) localization of Firefox Send
Localization authors:
- Juan Sián <ajtzibsyan@yahoo.com>
2019-03-14 21:51:56 +00:00
Juraj Cigáň 14308dc491 Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-03-14 21:31:50 +00:00
Danny Coates f690e4a705 v3.0.6 2019-03-14 13:19:25 -07:00
Danny Coates 3e14d3049d only index / route 2019-03-14 13:17:47 -07:00
Danny Coates 6a6f8b86e4 v3.0.5 2019-03-14 12:04:01 -07:00
Danny Coates c4891c3866 fixed req.route bug when no routes match 2019-03-14 12:02:36 -07:00
Danny Coates 5d0d5ef858 v3.0.4 2019-03-14 11:44:42 -07:00
Danny Coates 4e26c6ab75 added robots meta tag 2019-03-14 11:40:01 -07:00
julenx 7413a3336a Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- p.sanroman.bengoetxea <p.sanroman.bengoetxea@gmail.com>
- julenx <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-03-14 17:52:22 +00:00
Artem Polivanchuk ef825206a4 Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-03-14 15:11:51 +00:00
stripTM f6a2e3ef53 Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
- stripTM <striptm@yahoo.com>
2019-03-14 12:32:53 +00:00
Rhoslyn Prys 98bf370ccb Pontoon: Update Welsh (cy) localization of Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@posteo.net>
2019-03-14 08:51:39 +00:00
Mikeyy 1e9e9d6494 Pontoon: Update Croatian (hr) localization of Firefox Send
Localization authors:
- Mikeyy <mihovil@miho.im>
2019-03-14 08:32:08 +00:00
Artem Polivanchuk c698b39d5c Pontoon: Update Ukrainian (uk) localization of Firefox Send
Localization authors:
- Artem Polivanchuk <artem@mozilla.org.ua>
2019-03-14 07:13:37 +00:00
Melo46 109ee6aa29 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-14 05:32:26 +00:00
Melo46 fe9ed5f001 Pontoon: Update Interlingua (ia) localization of Firefox Send
Localization authors:
- Melo46 <melo@carmu.com>
2019-03-14 05:16:00 +00:00
Hyeonseok Shin 84d74a096c Pontoon: Update Korean (ko) localization of Firefox Send
Localization authors:
- Hyeonseok Shin <hyeonseok@gmail.com>
- dskmori <ghoti.fish.dsk@gmail.com>
2019-03-14 02:12:19 +00:00
victor.gonzalezro 770d276f6d Pontoon: Update Spanish (Chile) (es-CL) localization of Firefox Send
Localization authors:
- victor.gonzalezro <victor.gonzalezro@gmail.com>
- ravmn <ravmn@ravmn.cl>
2019-03-14 00:32:17 +00:00
G12r ddf69120e8 Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-03-14 00:32:15 +00:00
G12r 6c583e09a7 Pontoon: Update Georgian (ka) localization of Firefox Send
Localization authors:
- G12r <georgianization@outlook.com>
2019-03-14 00:11:37 +00:00
Danny Coates 677ff65e8d Merge pull request #1227 from jrbenny35/run-download-tests-on-ci
Update config for running download tests on CI
2019-03-13 16:11:34 -07:00
Anika Dorn 8445657b72 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Anika Dorn <adorn@mozilla.com>
2019-03-13 20:53:06 +00:00
Andreas Pettersson 33ef1f33a5 Pontoon: Update Swedish (sv-SE) localization of Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2019-03-13 20:32:15 +00:00
Anika Dorn ff79662b72 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Anika Dorn <adorn@mozilla.com>
2019-03-13 20:32:13 +00:00
marigalicer 0012dec277 [Integration-Test] Add test to ensure that file size stays consistent
fixes #1130
2019-03-13 16:03:44 -04:00
Danny Coates a648c5ead9 v3.0.3 2019-03-13 12:14:48 -07:00
Danny Coates 017bb0d146 wrap openid-config request in try/catch 2019-03-13 12:07:59 -07:00
Danny Coates 555c615711 Merge pull request #1237 from mozilla/quick-style-banner
style banner
2019-03-13 11:42:14 -07:00
Danny Coates ce8dba4200 fixed disappearing header in Chrome 2019-03-13 11:40:51 -07:00
Rimas Kudelis 44dcf8a260 Pontoon: Update Lithuanian (lt) localization of Firefox Send
Localization authors:
- Rimas Kudelis <rimas@mozilla.lt>
2019-03-13 18:31:34 +00:00
Danny Coates e702022d7f default accept-language to en-US when regexp does not match 2019-03-13 11:30:37 -07:00
John Gruen 4ee80abce9 style banner 2019-03-13 19:16:58 +01:00
Kohei Yoshino 45d9bdb577 Pontoon: Update English (Canada) (en-CA) localization of Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2019-03-13 18:11:00 +00:00
Piotr Drąg 013cca5d86 Pontoon: Update Polish (pl) localization of Firefox Send
Localization authors:
- Piotr Drąg <piotrdrag@gmail.com>
2019-03-13 17:51:58 +00:00
Ander Elortondo 0bf162592f Pontoon: Update Basque (eu) localization of Firefox Send
Localization authors:
- julenx <julenx@gmail.com>
- Ander Elortondo <ander.elor@gmail.com>
2019-03-13 17:51:55 +00:00
Danny Coates da6cbc05c2 added more locales to production 2019-03-13 10:44:23 -07:00
Danny Coates d28da3247d enable promo banner 2019-03-13 10:30:27 -07:00
Danny Coates 44043b54b3 Merge pull request #1235 from christopher-ramirez/master
Fix link to dev.js and prod.js files.
2019-03-13 09:23:40 -07:00
Danny Coates 813ddc6c6c Merge pull request #1231 from aaaaalbert/fix-small-typo-in-docs-encryption
Fix a small typo in docs/encryption.md: it's --> its
2019-03-13 09:22:59 -07:00
Danny Coates 1b9c02d86c Merge pull request #1230 from airuikun/master
【typo fixed】1.an download ---> a download  2.be at issue ---> be an i…
2019-03-13 09:22:18 -07:00
Jordi Serratosa 135b4a9669 Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-03-13 15:51:28 +00:00
Jordi Serratosa 426464641f Pontoon: Update Catalan (ca) localization of Firefox Send
Localization authors:
- Jordi Serratosa <jordis@softcatala.cat>
2019-03-13 15:33:13 +00:00
Rodrigo 9ea3b19b8e Pontoon: Update Portuguese (Portugal) (pt-PT) localization of Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2019-03-13 14:51:50 +00:00
Marcelo Ghelman 4a8bfd829b Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-03-13 14:51:47 +00:00
Michael Köhler f40bfe6a96 Pontoon: Update German (de) localization of Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2019-03-13 14:51:44 +00:00
Benjamin Forehand Jr 3f8ebdaf4b Remove extra changes from package.json. 2019-03-13 10:02:36 -04:00
Christopher Ramírez f3fb433531 Fix link to dev.js and prod.js files.
The links on readme.md were pointing to no longer existant files.
With this PR these links are updated to the new location of the
files inside the ./bin directory.
2019-03-13 07:45:55 -06:00
Gabriela d7f097a2e0 Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Send
Localization authors:
- Gabriela <gmontagu@gmail.com>
2019-03-13 13:32:19 +00:00
Michal Vašíček 1c42f2b397 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Vašíček <mvasicek@mozilla.cz>
- Michal Stanke <mstanke@mozilla.cz>
2019-03-13 12:51:29 +00:00
aaaaalbert ae7f7de28a Fix small typo in docs/encryption.md: it's --> its 2019-03-13 13:28:45 +01:00
Selim Şumlu bfb9b7ea4e Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-13 12:12:36 +00:00
Balázs Meskó 761c041069 Pontoon: Update Hungarian (hu) localization of Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2019-03-13 10:51:40 +00:00
Belayet Hossain 85fa38df53 Pontoon: Update Bengali (Bangladesh) (bn-BD) localization of Firefox Send
Localization authors:
- Belayet Hossain <bellayet@gmail.com>
2019-03-13 10:51:36 +00:00
Michael Wolf d0cd84f5f5 Pontoon: Update Sorbian, Upper (hsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-03-13 10:31:23 +00:00
Michael Wolf 35af2cf0a1 Pontoon: Update Sorbian, Lower (dsb) localization of Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2019-03-13 10:31:20 +00:00
ruikunai d2d472e2b4 【typo fixed】1.an download ---> a download 2.be at issue ---> be an issue 3.the the hamburger menu ---> the hamburger menu 2019-03-13 18:15:36 +08:00
goofy 773bea01fb Pontoon: Update French (fr) localization of Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
- goofy <goofy@babelzilla.org>
2019-03-13 09:12:08 +00:00
Fjoerfoks 158575a2ff Pontoon: Update Frisian (fy-NL) localization of Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2019-03-13 08:51:33 +00:00
Pin-guang Chen f2f504c93d Pontoon: Update Chinese (Taiwan) (zh-TW) localization of Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2019-03-13 08:32:25 +00:00
Quế Tùng ff9d45eb71 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-03-13 08:12:20 +00:00
passionforlife b133be9f01 Pontoon: Update Chinese (China) (zh-CN) localization of Firefox Send
Localization authors:
- passionforlife <eloli@foxmail.com>
2019-03-13 07:31:27 +00:00
Mark Heijl 9b1c1feb80 Pontoon: Update Dutch (nl) localization of Firefox Send
Localization authors:
- Mark Heijl <markh@babelzilla.org>
2019-03-13 06:52:22 +00:00
Quế Tùng f2e8d3e988 Pontoon: Update Vietnamese (vi) localization of Firefox Send
Localization authors:
- Quế Tùng <best.cloney.1301@gmail.com>
2019-03-13 06:32:25 +00:00
Rok Žerdin d29ded2c79 Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-03-13 06:32:22 +00:00
Francesco Lodolo 160bfed7a9 Pontoon: Update Italian (it) localization of Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2019-03-13 06:32:19 +00:00
Marcelo Ghelman 9e3d28a98a Pontoon: Update Portuguese (Brazil) (pt-BR) localization of Firefox Send
Localization authors:
- Marcelo Ghelman <marcelo.ghelman@gmail.com>
2019-03-13 05:52:35 +00:00
Michal Stanke 8728402d14 Pontoon: Update Czech (cs) localization of Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2019-03-13 05:32:28 +00:00
Rok Žerdin e215738c67 Pontoon: Update Slovenian (sl) localization of Firefox Send
Localization authors:
- Rok Žerdin <zerdo90@gmail.com>
2019-03-13 05:13:04 +00:00
Danny Coates f4e185bdc0 Merge pull request #1213 from mozilla/localized-filesize
localize file sizes
2019-03-12 21:49:36 -07:00
Danny Coates adf9c7b96f localize file sizes 2019-03-12 21:46:50 -07:00
Danny Coates f78e025d33 disable streaming download if registering sw fails. fixes #1226 2019-03-12 20:53:54 -07:00
Benjamin Forehand Jr 6559afba37 Fix port. 2019-03-12 20:56:31 -04:00
Benjamin Forehand Jr f07988426b Fix permissions. 2019-03-12 20:52:41 -04:00
Benjamin Forehand Jr bada0707c5 Update config for running download tests on CI 2019-03-12 20:47:54 -04:00
Danny Coates 9da70931e4 body overflow-x: hidden. fixes #1219 2019-03-12 13:36:46 -07:00
Selim Şumlu 43ad9ad057 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-12 19:11:35 +00:00
Selim Şumlu e08146ebfd Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-12 18:52:00 +00:00
Juraj Cigáň 88c97a199d Pontoon: Update Slovak (sk) localization of Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2019-03-12 18:51:57 +00:00
Selim Şumlu 5105de66f8 Pontoon: Update Turkish (tr) localization of Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2019-03-12 18:31:47 +00:00
Danny Coates cdff2884cd Merge pull request #1220 from mozilla/really-use-send.firefox.com
Really switch the android beta to use send.firefox.com.
2019-03-12 11:10:57 -07:00
Donovan Preston 862fedb420 Really switch the android beta to use send.firefox.com. 2019-03-12 13:59:30 -04:00
Björn I 3e5fa8525f Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-12 17:52:09 +00:00
Björn I 7eb43d9046 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Firefox Send
Localization authors:
- Björn I. <bjorni.svindseth@yahoo.com>
2019-03-12 17:32:16 +00:00
Danny Coates 30fc4e7e08 Merge pull request #1216 from mozilla/new-package-name-and-release-server
Switch the package name, for signing with a new key; switch the server to send.firefox.com
2019-03-12 10:05:02 -07:00
Donovan Preston 8c59e54677 Switch the package name, for signing with a new key; switch the server to send.firefox.com 2019-03-12 12:35:45 -04:00
Abd ar-Rahman Hamidi 30d7ec50f3 Convert ContentLength of storage to number 2019-01-02 22:16:03 +05:00
207 changed files with 15810 additions and 12022 deletions
+17 -70
View File
@@ -1,76 +1,48 @@
version: 2.0
jobs:
build:
docker:
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: send-build-{{ checksum "package-lock.json" }}
- run: npm install
- save_cache:
key: send-build-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm run build
- persist_to_workspace:
root: .
paths:
- ./dist
test:
docker:
- image: circleci/node:10-browsers
- image: circleci/node:12-browsers
steps:
- checkout
- restore_cache:
key: send-test-{{ checksum "package-lock.json" }}
- run: npm install
- save_cache:
key: send-test-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm ci
- run: npm run lint
- run: npm run test
- run: npm test
- store_artifacts:
path: coverage
integration_tests:
docker:
- image: circleci/node:10
- image: selenium/standalone-firefox
- image: circleci/node:12-browsers
steps:
- checkout
- restore_cache:
key: send-int-{{ checksum "package-lock.json" }}
- run: npm install
- save_cache:
key: send-int-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm run circleci-test-integration
- run: npm ci
- run:
name: Run integration test
command: ./scripts/bin/run-integration-test-circleci.sh
deploy_dev:
machine: true
docker:
- image: circleci/node:12
steps:
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:latest .
- run: docker push mozilla/send:latest
deploy_vnext:
machine: true
docker:
- image: circleci/node:12
steps:
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:vnext .
- run: docker push mozilla/send:vnext
deploy_stage:
machine: true
docker:
- image: circleci/node:12
steps:
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:$CIRCLE_TAG .
- run: docker push mozilla/send:$CIRCLE_TAG
@@ -78,12 +50,6 @@ workflows:
version: 2
test_pr:
jobs:
- build:
filters:
branches:
ignore:
- master
- vnext
- test:
filters:
branches:
@@ -96,25 +62,13 @@ workflows:
ignore: master
build_and_deploy_dev:
jobs:
- build:
filters:
branches:
only:
- master
- vnext
tags:
ignore: /^v.*/
- deploy_dev:
requires:
- build
filters:
branches:
only: master
tags:
ignore: /^v.*/
- deploy_vnext:
requires:
- build
filters:
branches:
only: vnext
@@ -122,12 +76,6 @@ workflows:
ignore: /^v.*/
build_and_deploy_stage:
jobs:
- build:
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/
- test:
filters:
branches:
@@ -142,7 +90,6 @@ workflows:
only: /^v.*/
- deploy_stage:
requires:
- build
- test
- integration_tests
filters:
+7 -9
View File
@@ -1,10 +1,8 @@
node_modules
.git
.tox
.DS_Store
firefox
assets
docs
test
coverage
.circleci
.nyc_output
.vscode
.DS_Store
coverage
docs
firefox
node_modules
+1
View File
@@ -2,5 +2,6 @@ dist
assets
firefox
coverage
android/app/build
app/locale.js
app/capabilities.js
+3 -9
View File
@@ -4,6 +4,7 @@ env:
extends:
- eslint:recommended
- prettier
- plugin:node/recommended
- plugin:security/recommended
@@ -18,17 +19,10 @@ rules:
node/no-unsupported-features/es-syntax: off
node/no-unsupported-features/node-builtins: off
node/no-unpublished-require: off
node/no-unpublished-import: off
security/detect-non-literal-fs-filename: off
security/detect-object-injection: off
eol-last: [error, always]
eqeqeq: error
no-alert: warn
no-console: warn
no-path-concat: error
no-unused-vars: [error, {argsIgnorePattern: "^_|err|event|next|reject"}]
no-var: error
one-var: [error, never]
prefer-const: error
quotes: [error, single, {avoidEscape: true}]
require-atomic-updates: warn
+15
View File
@@ -0,0 +1,15 @@
# Community Participation Guidelines
This repository is governed by Mozilla's code of conduct and etiquette guidelines.
For more details, please read the
[Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/).
## How to Report
For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page.
<!--
## Project Specific Etiquette
In some cases, there will be additional project etiquette i.e.: (https://bugzilla.mozilla.org/page.cgi?id=etiquette.html).
Please update for your project.
-->
+115
View File
@@ -1,72 +1,121 @@
Abdalrahman Hwoij
Abhinav Adduri
Adnan Kičin
Adolfo Jayme Barrientos
Alberto Castro
Alexander Slovesnik
Alfredos-Panagiotis Damkalis
Aman Alam
Amin Mahmudian
Ander Elortondo
Andreas Pettersson
Anesu Chiodza
Anika Dorn
Anish Sheela
Arash Mousavi
Artem Polivanchuk
Ashikur Rahman
Ashok kumar
Balasankar C
Balázs Meskó
Belayet Hossain
Benjamin Forehand Jr
Besnik Bleta
Björn I
Bjørn I
Boopesh Mahendran
Brahim Essaidi
Brainlulz
Breana Gonzales
Christian Elbrianno
Christoph Kührer
Christopher Ramírez
Chuck Harmston
Cloney 173741
Cláudio Esperança
Cristian Silaghi
Cynthia Pereira
Daniel Thorn
Daniela Arcese
Danny Coates
Davide
Derek Tamsen
Dhyey Thakore
Donovan Preston
Edi Santoso
Edmund Huggett
Elisa X
Emily
Emily Hou
Emin Mastizada
Enol
Erica
Erica Wright
Fauzan Alfi
Filip Hruška
Fjoerfoks
Francesco Lodolo
Francesco Lodolo [:flod]
Frederick Villaluna
G12r
Gabriela
Gautam krishna.R
George Raptis
Georgianizator
Gonçalo Matos
Gwenn
Hampus
Hugo
Hugo Abreu
Hyeonseok Shin
Håvar Henriksen
Ian Neal
ItielMaN
Jae Hyeon Park
Jakob Kappel
Jakub Rychlý
Jamie
Jarmo
Jim Spentzos
Jiri Grönroos
Jobava
Joe Becher
Joe ST
Joergen
Johann-S
John Gruen
Jon Buckley
Jon Vadillo
Jonathan Claudius
Jordi Cuevas
Jordi Serratosa
Juan Esteban Ajsivinac Sián
Juan Sián
Juraj Cigáň
Kerim Kalamujić
Khaled Hosny
Kim Ludvigsen
Kim Younggeon
Kohei Yoshino
Lan Glad
Lasse Liehu
Laurent Jouanneau
Lobodzets
LuFlo
Luis A. Sánchez
Luiz Carlos de Morais
Luiz Felipe F M Costa
Luna Jernberg
Mahay Alam Khan
Marcelo Ghelman
Marcelo Poli
Marco Aurélio
Mark Heijl
Mark Liang
Mark Liang (You-Wen)
Marko Andrejić
Martijn Dekker
Marwan Mohamad
Matjaž Horvat
Maykon Chagas
Melo46
@@ -75,24 +124,43 @@ Michael Köhler
Michael Wolf
Michal Stanke
Michal Vašíček
Mikeyy
Miro Rauhala
Mozilla Pontoon
Mozilla-GitHub-Standards
Mozinet
Moḥend Belqasem
Muhend Belkacem
Muḥend Belqasem
Myungjae Won
Nicholas Skinsacos
Nihad
Nihad Suljić
Niksend Mizuhara
Oscar
Paulius
Pedro Burlamaqui Bendahan
Peter deHaan
Pierre Neter
Pin-guang Chen
Piotr Drąg
Quentí
Quế Tùng
Rachel Tublitz
Radu Popescu
Rhoslyn Prys
RickieES
Rimas Kudelis
Rizky Ariestiyansyah
Rob Powell
Robert
Roberto Alvarado
Rodrigo
Rodrigo Guerra
Rok Žerdin
Romi Hardiyanto
Rongjian Zhang
Ruba
Sahithi
Sairam Raavi
Sander Lepik
@@ -101,57 +169,104 @@ Sara Todaro
Sav22999
Schieck :)
Selim Şumlu
Selyan Sliman Amiri
Sidak Singh Aulakh
Slimane Amiri
Slimane Selyan AMIRI
Soumya Himanish Mohapatra
Staś Małolepszy
Suriyaa ✌️
Tema
Thomas Dalichow
Théo Chevalier
Tiago Morais Morgado
Tim Visée
Tomer Cohen
Tomáš Zelina
Ton
Top
Tymur Faradzhev
Uccen Marzuq
Varghese Thomas
Victor Bychek
Vimal Raghubir
Vitaliy Krutko
Weihang Lo
Wiktor Furman
Wil Clouser
YFdyh000
Yassine Aït-El-Mouden
Yongmin H
You-Wen Liang (Mark)
aaaaalbert
aefgh39622
alamanda
albertdcastro
alex_mayorga
ariestiyansyah
avelper
chilledfrogs
clouserw-mozilla-owner
dgadelha
dskmori
ehuggett
eljuno
emily-hou1
erdem cobanoglu
gautamkrishnar
gmontagu
goofy
hello
hi
ivan.pompa
jesferman1993
jlG
josotrix
jspam
julen
julenx
kenrick95
kumincir
leo.toneff
m4hdi.pdroid
mail
manxmensch
marigalicer
marsf
merianosnikos
mirzet.omerovic.1992
mujeebcpy
p.sanroman.bengoetxea
passionforlife
paul.trevor
pyup.io bot
ravmn
rcmainak
reza.habibi2008
rgpublic
risger
robbp
ruikunai
savemore99.sm
sergio
shikhar-scs
siparon
skystar-p
stripTM
tatalmondmush
tiagomoraismorgado
timvisee
victor.gonzalezro
xcffl
ybouhamam
yoshimitsu002
yusup.ramdani
Μιχάλης
Марко Костић (Marko Kostić)
Ратко Вујановић
صفا الفليج
వీవెన్
ജോയ്സ്
张无忌
新垣结衣松冈茉优长泽雅美门胁麦上野树里石原里美
莫非前世那一眼
+53 -10
View File
@@ -1,17 +1,60 @@
FROM node:10 AS builder
RUN addgroup --gid 10001 app && adduser --disabled-password --gecos '' --gid 10001 --home /app --uid 10001 app
COPY package*.json /app/
WORKDIR /app
RUN npm install --production
##
# Firefox Send - Mozilla
#
# License https://github.com/mozilla/send/blob/master/LICENSE
##
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
WORKDIR /app
COPY --chown=app:app --from=builder /app .
COPY --chown=app:app . .
RUN set -x \
# 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 ln -s dist/version.json version.json
ENV PORT=1443
EXPOSE $PORT
EXPOSE ${PORT}
CMD ["node", "server/bin/prod.js"]
+12 -5
View File
@@ -1,4 +1,4 @@
# Firefox Send
# [![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)
@@ -16,6 +16,7 @@
* [Localization](#localization)
* [Contributing](#contributing)
* [Testing](#testing)
* [Deployment](#deployment)
* [Android](#android)
* [License](#license)
@@ -29,22 +30,22 @@ A file sharing experiment which allows you to send encrypted files to other user
## Requirements
- [Node.js 10.0+](https://nodejs.org/)
- [Node.js 12.x](https://nodejs.org/)
- [Redis server](https://redis.io/) (optional for development)
- [AWS S3](https://aws.amazon.com/s3/) or compatible service. (optional)
- [AWS S3](https://aws.amazon.com/s3/) or compatible service (optional)
---
## Development
To start an ephemeral development server run:
To start an ephemeral development server, run:
```sh
npm install
npm start
```
Then browse to http://localhost:8080
Then, browse to http://localhost:8080
---
@@ -91,6 +92,12 @@ Pull requests are always welcome! Feel free to check out the list of ["good firs
---
## Deployment
see also [docs/deployment.md](docs/deployment.md)
---
## Android
The android implementation is contained in the `android` directory, and can be viewed locally for easy testing and editing by running `ANDROID=1 npm start` and then visiting <http://localhost:8080>. CSS and image files are located in the `android/app/src/main/assets` directory.
+9 -9
View File
@@ -1,8 +1,7 @@
/* global window, navigator */
import 'fluent-intl-polyfill';
import 'intl-pluralrules';
import choo from 'choo';
import html from 'choo/html';
import Raven from 'raven-js';
import * as Sentry from '@sentry/browser';
import { setApiUrlPrefix, getConstants } from '../app/api';
import metrics from '../app/metrics';
@@ -19,10 +18,12 @@ import share from './pages/share';
import preferences from './pages/preferences';
import error from './pages/error';
import { getTranslator } from '../app/locale';
import { setTranslate } from '../app/utils';
import { delay } from '../app/utils';
if (navigator.userAgent === 'Send Android') {
setApiUrlPrefix('https://send2.dev.lcip.org');
setApiUrlPrefix('https://send.firefox.com');
}
const app = choo();
@@ -51,7 +52,7 @@ function body(main) {
const menu = html`<a
id="hamburger"
class="absolute pin-t pin-r z-50"
class="absolute top-0 right-0 z-50"
href="#"
onclick="${clickPreferences}"
>
@@ -59,9 +60,7 @@ function body(main) {
</a>`;
*/
return html`
<body
class="flex flex-col items-center font-sans bg-grey-lightest h-screen"
>
<body class="flex flex-col items-center font-sans bg-grey-10 h-screen">
${state.cache(Header, 'header').render()} ${main(state, emit)}
</body>
`;
@@ -69,6 +68,7 @@ function body(main) {
}
(async function start() {
const translate = await getTranslator('en-US');
setTranslate(translate);
const { LIMITS, DEFAULTS } = await getConstants();
app.use(state => {
state.LIMITS = LIMITS;
@@ -80,7 +80,7 @@ function body(main) {
state.archive = new Archive([], DEFAULTS.EXPIRE_SECONDS);
state.storage = storage;
state.user = new User(storage, LIMITS);
state.raven = Raven;
state.sentry = Sentry;
});
app.use(metrics);
app.route('/', body(home));
+2 -4
View File
@@ -1,13 +1,11 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 27
defaultConfig {
applicationId "org.mozilla.sendandroid"
applicationId "org.mozilla.firefoxsend"
minSdkVersion 26
targetSdkVersion 27
versionCode 1
@@ -31,7 +29,7 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.github.delight-im:Android-AdvancedWebView:v3.0.0'
implementation "org.mozilla.components:service-firefox-accounts:${rootProject.ext.android_components_version}"
implementation "org.mozilla.components:service-firefox-accounts:$android_components_version"
}
task generateAndLinkBundle(type: Exec, description: 'Generate the android.js bundle and link it into the assets directory') {
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.sendandroid">
package="org.mozilla.firefoxsend">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
@@ -13,7 +13,7 @@
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing" android:value="false" />
<activity android:name=".MainActivity" android:screenOrientation="portrait">
<activity android:name="org.mozilla.firefoxsend.MainActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -0,0 +1,226 @@
package org.mozilla.firefoxsend
import android.annotation.SuppressLint
import android.content.ComponentName
import android.content.Intent
import android.graphics.Bitmap
import android.net.Uri
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Base64
import android.util.Log
import android.view.View
import android.webkit.*
import im.delight.android.webview.AdvancedWebView
import kotlinx.android.synthetic.main.activity_main.*
import mozilla.components.service.fxa.Config
import mozilla.components.service.fxa.FirefoxAccount
import mozilla.components.service.fxa.FxaResult
import org.json.JSONObject
internal class LoggingWebChromeClient : WebChromeClient() {
override fun onConsoleMessage(cm: ConsoleMessage): Boolean {
Log.d(TAG, String.format("%s @ %d: %s",
cm.message(), cm.lineNumber(), cm.sourceId()))
return true
}
companion object {
private const val TAG = "CONTENT"
}
}
class WebAppInterface(private val mContext: MainActivity) {
@JavascriptInterface
fun beginOAuthFlow() {
mContext.beginOAuthFlow()
}
@JavascriptInterface
fun shareUrl(url: String) {
mContext.shareUrl(url)
}
}
class MainActivity : AppCompatActivity(), AdvancedWebView.Listener {
private var mToShare: String? = null
private var mToCall: String? = null
private var mAccount: FirefoxAccount? = null
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG)
webView.apply {
setListener(this@MainActivity, this@MainActivity)
addJavascriptInterface(WebAppInterface(this@MainActivity), JS_INTERFACE_NAME)
setLayerType(View.LAYER_TYPE_HARDWARE, null)
webChromeClient = LoggingWebChromeClient()
settings.apply {
userAgentString = "Send Android"
allowUniversalAccessFromFileURLs = true
javaScriptEnabled = true
}
}
val type = intent.type
if (Intent.ACTION_SEND == intent.action && type != null) {
if (type == "text/plain") {
val sharedText = intent.getStringExtra(Intent.EXTRA_TEXT)
// Log.d(TAG_INTENT, "text/plain $sharedText")
mToShare = "data:text/plain;base64," + Base64.encodeToString(sharedText.toByteArray(), 16).trim()
} else if (type.startsWith("image/")) {
val imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM) as Uri
// Log.d(TAG_INTENT, "image/ $imageUri")
mToShare = "data:text/plain;base64," + Base64.encodeToString(imageUri.path.toByteArray(), 16).trim()
}
}
webView.loadUrl("file:///android_asset/android.html")
}
fun beginOAuthFlow() {
Config.release().then { value ->
mAccount = FirefoxAccount(value, "20f7931c9054d833", "https://send.firefox.com/fxa/android-redirect.html")
mAccount?.beginOAuthFlow(arrayOf("profile", "https://identity.mozilla.com/apps/send"), true)
?.then { url ->
// Log.d(TAG_CONFIG, "GOT A URL $url")
this@MainActivity.runOnUiThread {
webView.loadUrl(url)
}
FxaResult.fromValue(Unit)
}
// Log.d(TAG_CONFIG, "CREATED FIREFOXACCOUNT")
FxaResult.fromValue(Unit)
}
}
fun shareUrl(url: String) {
val shareIntent = Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, url)
}
val components = arrayOf(ComponentName(applicationContext, MainActivity::class.java))
val chooser = Intent.createChooser(shareIntent, "")
.putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, components)
startActivity(chooser)
}
override fun onResume() {
super.onResume()
webView.onResume()
}
override fun onPause() {
webView.onPause()
super.onPause()
}
override fun onDestroy() {
webView.onDestroy()
super.onDestroy()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
webView.onActivityResult(requestCode, resultCode, intent)
}
override fun onBackPressed() {
if (!webView.onBackPressed()) {
return
}
super.onBackPressed()
}
override fun onPageStarted(url: String, favicon: Bitmap?) {
if (url.startsWith("https://send.firefox.com/fxa/android-redirect.html")) {
// We load this here so the user doesn't see the android-redirect.html page
webView.loadUrl("file:///android_asset/android.html")
val uri = Uri.parse(url)
uri.getQueryParameter("code")?.let { code ->
uri.getQueryParameter("state")?.let { state ->
mAccount?.completeOAuthFlow(code, state)?.whenComplete { info ->
mAccount?.getProfile(false)?.then { profile ->
val profileJsonPayload = JSONObject()
.put("accessToken", info.accessToken)
.put("keys", info.keys)
.put("avatar", profile.avatar)
.put("displayName", profile.displayName)
.put("email", profile.email)
.put("uid", profile.uid).toString()
mToCall = "finishLogin($profileJsonPayload)"
this@MainActivity.runOnUiThread {
// Clear the history so that the user can't use the back button to see broken pages
// that were inserted into the history by the login process.
webView.clearHistory()
// We also reload this here because we need to make sure onPageFinished runs after mToCall has been set.
// We can't guarantee that onPageFinished wasn't already called at this point.
webView.loadUrl("file:///android_asset/android.html")
}
FxaResult.fromValue(Unit)
}
}
}
}
}
if (!url.startsWith("file:///android_asset/") && !url.startsWith("https://accounts.firefox.com/")) {
// Don't allow loading anything other than the app in our webview
// It should be possible to do this with shouldOverrideUrlLoading
// but it didn't seem to be working, so this works as a hack.
webView.loadUrl("file:///android_asset/android.html")
Log.d(TAG_MAIN, "BAD URL " + url)
} else {
// Log.d(TAG_MAIN, "onPageStarted " + url)
}
}
override fun onPageFinished(url: String) {
// Log.d(TAG_MAIN, "onPageFinished")
if (mToShare != null) {
// Log.d(TAG_INTENT, mToShare)
webView.postWebMessage(WebMessage(mToShare), Uri.EMPTY)
mToShare = null
}
if (mToCall != null) {
this@MainActivity.runOnUiThread {
webView.evaluateJavascript(mToCall) {
mToCall = null
}
}
}
}
override fun onPageError(errorCode: Int, description: String, failingUrl: String) {
Log.d(TAG_MAIN, "onPageError($errorCode, $description, $failingUrl)")
}
override fun onDownloadRequested(url: String,
suggestedFilename: String,
mimeType: String,
contentLength: Long,
contentDisposition: String,
userAgent: String) {
// Log.d(TAG_MAIN, "onDownloadRequested")
}
override fun onExternalPageRequest(url: String) {
// Log.d(TAG_MAIN, "onExternalPageRequest($url)")
}
companion object {
private const val TAG_MAIN = "MAIN"
private const val TAG_INTENT = "INTENT"
private const val TAG_CONFIG = "CONFIG"
private const val JS_INTERFACE_NAME = "Android"
}
}
@@ -1,220 +0,0 @@
package org.mozilla.sendandroid
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import im.delight.android.webview.AdvancedWebView
import android.graphics.Bitmap
import android.content.Context
import android.content.Intent
import android.annotation.SuppressLint
import android.content.ComponentName
import android.net.Uri
import android.webkit.WebView
import android.webkit.WebMessage
import android.util.Log
import android.util.Base64
import android.view.View
import android.webkit.ConsoleMessage
import android.webkit.JavascriptInterface
import android.webkit.WebChromeClient
import mozilla.components.service.fxa.Config
import mozilla.components.service.fxa.FirefoxAccount
import mozilla.components.service.fxa.OAuthInfo
import mozilla.components.service.fxa.Profile
import mozilla.components.service.fxa.FxaResult
internal class LoggingWebChromeClient : WebChromeClient() {
override fun onConsoleMessage(cm: ConsoleMessage): Boolean {
Log.w("CONTENT", String.format("%s @ %d: %s",
cm.message(), cm.lineNumber(), cm.sourceId()))
return true
}
}
class WebAppInterface(private val mContext: MainActivity) {
@JavascriptInterface
fun beginOAuthFlow() {
mContext.beginOAuthFlow();
}
@JavascriptInterface
fun shareUrl(url: String) {
mContext.shareUrl(url)
}
}
class MainActivity : AppCompatActivity(), AdvancedWebView.Listener {
private var mWebView: AdvancedWebView? = null
private var mToShare: String? = null
private var mToCall: String? = null
private var mAccount: FirefoxAccount? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews
// WebView.setWebContentsDebuggingEnabled(true); // TODO only dev builds
mWebView = findViewById<WebView>(R.id.webview) as AdvancedWebView
mWebView!!.setListener(this, this)
mWebView!!.setWebChromeClient(LoggingWebChromeClient())
mWebView!!.addJavascriptInterface(WebAppInterface(this), "Android")
mWebView!!.setLayerType(View.LAYER_TYPE_HARDWARE, null);
val webSettings = mWebView!!.getSettings()
webSettings.setUserAgentString("Send Android")
webSettings.setAllowUniversalAccessFromFileURLs(true)
webSettings.setJavaScriptEnabled(true)
val intent = getIntent()
val action = intent.getAction()
val type = intent.getType()
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.equals("text/plain")) {
val sharedText = intent.getStringExtra(Intent.EXTRA_TEXT)
Log.w("INTENT", "text/plain " + sharedText)
mToShare = "data:text/plain;base64," + Base64.encodeToString(sharedText.toByteArray(), 16).trim()
} else if (type.startsWith("image/")) {
val imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM) as Uri
Log.w("INTENT", "image/ " + imageUri)
mToShare = "data:text/plain;base64," + Base64.encodeToString(imageUri.path.toByteArray(), 16).trim()
}
}
mWebView!!.loadUrl("file:///android_asset/android.html")
}
fun beginOAuthFlow() {
Config.release().then(fun (value: Config): FxaResult<Unit> {
mAccount = FirefoxAccount(value, "20f7931c9054d833", "https://send.firefox.com/fxa/android-redirect.html")
mAccount?.beginOAuthFlow(arrayOf("profile", "https://identity.mozilla.com/apps/send"), true)?.then(fun (url: String): FxaResult<Unit> {
Log.w("CONFIG", "GOT A URL " + url)
this@MainActivity.runOnUiThread({
mWebView!!.loadUrl(url)
})
return FxaResult.fromValue(Unit)
})
Log.w("CONFIG", "CREATED FIREFOXACCOUNT")
return FxaResult.fromValue(Unit)
})
}
fun shareUrl(url: String) {
val shareIntent = Intent()
shareIntent.action = Intent.ACTION_SEND
shareIntent.type = "text/plain"
shareIntent.putExtra(Intent.EXTRA_TEXT, url)
val chooser = Intent.createChooser(shareIntent, "")
chooser.putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, arrayOf(ComponentName(applicationContext, MainActivity::class.java)))
startActivity(chooser)
}
@SuppressLint("NewApi")
override fun onResume() {
super.onResume()
mWebView!!.onResume()
// ...
}
@SuppressLint("NewApi")
override fun onPause() {
mWebView!!.onPause()
// ...
super.onPause()
}
override fun onDestroy() {
mWebView!!.onDestroy()
// ...
super.onDestroy()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
mWebView!!.onActivityResult(requestCode, resultCode, intent)
// ...
}
override fun onBackPressed() {
if (!mWebView!!.onBackPressed()) {
return
}
// ...
super.onBackPressed()
}
override fun onPageStarted(url: String, favicon: Bitmap?) {
if (url.startsWith("https://send.firefox.com/fxa/android-redirect.html")) {
// We load this here so the user doesn't see the android-redirect.html page
mWebView!!.loadUrl("file:///android_asset/android.html")
val parsed = Uri.parse(url)
val code = parsed.getQueryParameter("code")
val state = parsed.getQueryParameter("state")
code?.let { code ->
state?.let { state ->
mAccount?.completeOAuthFlow(code, state)?.whenComplete { info ->
//displayAndPersistProfile(code, state)
val profile = mAccount?.getProfile(false)?.then(fun (profile: Profile): FxaResult<Unit> {
val accessToken = info.accessToken
val keys = info.keys
val avatar = profile.avatar
val displayName = profile.displayName
val email = profile.email
val uid = profile.uid
val toPass = "{\"accessToken\": \"${accessToken}\", \"keys\": '${keys}', \"avatar\": \"${avatar}\", \"displayName\": \"${displayName}\", \"email\": \"${email}\", \"uid\": \"${uid}\"}"
mToCall = "finishLogin(${toPass})"
this@MainActivity.runOnUiThread({
// Clear the history so that the user can't use the back button to see broken pages
// that were inserted into the history by the login process.
mWebView!!.clearHistory()
// We also reload this here because we need to make sure onPageFinished runs after mToCall has been set.
// We can't guarantee that onPageFinished wasn't already called at this point.
mWebView!!.loadUrl("file:///android_asset/android.html")
})
return FxaResult.fromValue(Unit)
})
}
}
}
}
Log.w("MAIN", "onPageStarted");
}
override fun onPageFinished(url: String) {
Log.w("MAIN", "onPageFinished")
if (mToShare != null) {
Log.w("INTENT", mToShare)
mWebView?.postWebMessage(WebMessage(mToShare), Uri.EMPTY)
mToShare = null
}
if (mToCall != null) {
this@MainActivity.runOnUiThread({
mWebView?.evaluateJavascript(mToCall, fun (value: String) {
mToCall = null
})
})
}
}
override fun onPageError(errorCode: Int, description: String, failingUrl: String) {
Log.w("MAIN", "onPageError " + description)
}
override fun onDownloadRequested(url: String, suggestedFilename: String, mimeType: String, contentLength: Long, contentDisposition: String, userAgent: String) {
Log.w("MAIN", "onDownloadRequested")
}
override fun onExternalPageRequest(url: String) {
Log.w("MAIN", "onExternalPageRequest")
}
}
@@ -1,13 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<im.delight.android.webview.AdvancedWebView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<im.delight.android.webview.AdvancedWebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
tools:context=".MainActivity" />
+3 -8
View File
@@ -8,20 +8,15 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.20"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.3.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21"
}
}
allprojects {
repositories {
google()
maven {
url "https://maven.mozilla.org/maven2"
}
maven { url "https://maven.mozilla.org/maven2" }
jcenter()
maven { url "https://jitpack.io" }
}
+3 -7
View File
@@ -25,7 +25,7 @@ module.exports = function(state, emit) {
let content = '';
let button = html`
<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"
onclick="${onclick}"
>
@@ -42,11 +42,7 @@ module.exports = function(state, emit) {
content =
archives.length < 1
? intro(state)
: list(
archives,
'list-reset h-full overflow-y-auto w-full',
'mb-3 w-full'
);
: list(archives, 'h-full overflow-y-auto w-full', 'mb-3 w-full');
}
return html`
@@ -57,7 +53,7 @@ module.exports = function(state, emit) {
>
${content}
</section>
<div class="fixed pin-r pin-b z-20">
<div class="fixed right-0 bottom-0 z-20">
${button}
<input
id="file-upload"
+1 -1
View File
@@ -12,7 +12,7 @@ export default function initialState(state, emitter) {
getAsset(name) {
return `${state.prefix}/${name}`;
},
raven: {
sentry: {
captureException: e => {
console.error('ERROR ' + e + ' ' + e.stack);
}
+53 -27
View File
@@ -8,7 +8,16 @@ try {
// NOOP
}
if (!fileProtocolWssUrl) {
fileProtocolWssUrl = 'wss://send2.dev.lcip.org/api/ws';
fileProtocolWssUrl = 'wss://send.firefox.com/api/ws';
}
export class ConnectionError extends Error {
constructor(cancelled, duration, size) {
super(cancelled ? '0' : 'connection closed');
this.cancelled = cancelled;
this.duration = duration;
this.size = size;
}
}
export function setFileProtocolWssUrl(url) {
@@ -137,17 +146,25 @@ export async function setPassword(id, owner_token, keychain) {
}
function asyncInitWebSocket(server) {
return new Promise(resolve => {
const ws = new WebSocket(server);
ws.onopen = () => {
resolve(ws);
};
return new Promise((resolve, reject) => {
try {
const ws = new WebSocket(server);
ws.addEventListener('open', () => resolve(ws), { once: true });
} catch (e) {
reject(new ConnectionError(false));
}
});
}
function listenForResponse(ws, canceller) {
return new Promise((resolve, reject) => {
function handleClose(event) {
// a 'close' event before a 'message' event means the request failed
ws.removeEventListener('message', handleMessage);
reject(new ConnectionError(canceller.cancelled));
}
function handleMessage(msg) {
ws.removeEventListener('close', handleClose);
try {
const response = JSON.parse(msg.data);
if (response.error) {
@@ -156,13 +173,11 @@ function listenForResponse(ws, canceller) {
resolve(response);
}
} catch (e) {
ws.close();
canceller.cancelled = true;
canceller.error = e;
reject(e);
}
}
ws.addEventListener('message', handleMessage, { once: true });
ws.addEventListener('close', handleClose, { once: true });
});
}
@@ -176,6 +191,8 @@ async function upload(
onprogress,
canceller
) {
let size = 0;
const start = Date.now();
const host = window.location.hostname;
const port = window.location.port;
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
@@ -203,31 +220,41 @@ async function upload(
const reader = stream.getReader();
let state = await reader.read();
let size = 0;
while (!state.done) {
const buf = state.value;
if (canceller.cancelled) {
throw canceller.error;
ws.close();
}
if (ws.readyState !== WebSocket.OPEN) {
break;
}
const buf = state.value;
ws.send(buf);
onprogress(size);
size += buf.length;
state = await reader.read();
while (ws.bufferedAmount > ECE_RECORD_SIZE * 2) {
while (
ws.bufferedAmount > ECE_RECORD_SIZE * 2 &&
ws.readyState === WebSocket.OPEN &&
!canceller.cancelled
) {
await delay();
}
}
const footer = new Uint8Array([0]);
ws.send(footer);
if (ws.readyState === WebSocket.OPEN) {
ws.send(new Uint8Array([0])); //EOF
}
await completedResponse;
ws.close();
uploadInfo.duration = Date.now() - start;
return uploadInfo;
} catch (e) {
ws.close(4000);
e.size = size;
e.duration = Date.now() - start;
throw e;
} finally {
if (![WebSocket.CLOSED, WebSocket.CLOSING].includes(ws.readyState)) {
ws.close();
}
}
}
@@ -244,7 +271,6 @@ export function uploadWs(
return {
cancel: function() {
canceller.error = new Error(0);
canceller.cancelled = true;
},
@@ -284,7 +310,7 @@ async function downloadS(id, keychain, signal) {
return response.body;
}
async function tryDownloadStream(id, keychain, signal, tries = 1) {
async function tryDownloadStream(id, keychain, signal, tries = 2) {
try {
const result = await downloadS(id, keychain, signal);
return result;
@@ -306,18 +332,19 @@ export function downloadStream(id, keychain) {
}
return {
cancel,
result: tryDownloadStream(id, keychain, controller.signal, 2)
result: tryDownloadStream(id, keychain, controller.signal)
};
}
//////////////////
function download(id, keychain, onprogress, canceller) {
async function download(id, keychain, onprogress, canceller) {
const auth = await keychain.authHeader();
const xhr = new XMLHttpRequest();
canceller.oncancel = function() {
xhr.abort();
};
return new Promise(async function(resolve, reject) {
return new Promise(function(resolve, reject) {
xhr.addEventListener('loadend', function() {
canceller.oncancel = function() {};
const authHeader = xhr.getResponseHeader('WWW-Authenticate');
@@ -337,7 +364,6 @@ function download(id, keychain, onprogress, canceller) {
onprogress(event.loaded);
}
});
const auth = await keychain.authHeader();
xhr.open('get', getApiUrl(`/api/download/blob/${id}`));
xhr.setRequestHeader('Authorization', auth);
xhr.responseType = 'blob';
@@ -346,7 +372,7 @@ function download(id, keychain, onprogress, canceller) {
});
}
async function tryDownload(id, keychain, onprogress, canceller, tries = 1) {
async function tryDownload(id, keychain, onprogress, canceller, tries = 2) {
try {
const result = await download(id, keychain, onprogress, canceller);
return result;
@@ -367,7 +393,7 @@ export function downloadFile(id, keychain, onprogress) {
}
return {
cancel,
result: tryDownload(id, keychain, onprogress, canceller, 2)
result: tryDownload(id, keychain, onprogress, canceller)
};
}
+15 -7
View File
@@ -1,5 +1,5 @@
/* global AUTH_CONFIG LOCALE */
import { browserName } from './utils';
/* global AUTH_CONFIG */
import { browserName, locale } from './utils';
async function checkCrypto() {
try {
@@ -76,8 +76,8 @@ async function polyfillStreams() {
}
export default async function getCapabilities() {
const serviceWorker =
'serviceWorker' in navigator && browserName() !== 'edge';
const browser = browserName();
const serviceWorker = 'serviceWorker' in navigator && browser !== 'edge';
let crypto = await checkCrypto();
const nativeStreams = checkStreams();
let polyStreams = false;
@@ -91,7 +91,14 @@ export default async function getCapabilities() {
account = false;
}
const share =
typeof navigator.share === 'function' && LOCALE.startsWith('en'); // en until strings merge
typeof navigator.share === 'function' && locale().startsWith('en'); // en until strings merge
const standalone =
window.matchMedia('(display-mode: standalone)').matches ||
navigator.standalone;
const mobileFirefox =
browser === 'firefox' && /mobile/i.test(navigator.userAgent);
return {
account,
@@ -99,8 +106,9 @@ export default async function getCapabilities() {
serviceWorker,
streamUpload: nativeStreams || polyStreams,
streamDownload:
nativeStreams && serviceWorker && browserName() !== 'safari',
nativeStreams && serviceWorker && browser !== 'safari' && !mobileFirefox,
multifile: nativeStreams || polyStreams,
share
share,
standalone
};
}
+32 -7
View File
@@ -2,11 +2,12 @@ import FileSender from './fileSender';
import FileReceiver from './fileReceiver';
import { copyToClipboard, delay, openLinksInNewTab, percent } from './utils';
import * as metrics from './metrics';
import { bytes } from './utils';
import { bytes, locale } from './utils';
import okDialog from './ui/okDialog';
import copyDialog from './ui/copyDialog';
import shareDialog from './ui/shareDialog';
import signupDialog from './ui/signupDialog';
import surveyDialog from './ui/surveyDialog';
export default function(state, emitter) {
let lastRender = 0;
@@ -75,7 +76,7 @@ export default function(state, emitter) {
state.storage.remove(ownedFile.id);
await ownedFile.del();
} catch (e) {
state.raven.captureException(e);
state.sentry.captureException(e);
}
render();
});
@@ -175,14 +176,17 @@ export default function(state, emitter) {
} catch (err) {
if (err.message === '0') {
//cancelled. do nothing
const duration = Date.now() - start;
metrics.cancelledUpload(archive, duration);
metrics.cancelledUpload(archive, err.duration);
render();
} else {
// eslint-disable-next-line no-console
console.error(err);
state.raven.captureException(err);
metrics.stoppedUpload(archive);
state.sentry.withScope(scope => {
scope.setExtra('duration', err.duration);
scope.setExtra('size', err.size);
state.sentry.captureException(err);
});
metrics.stoppedUpload(archive, err.duration);
emitter.emit('pushState', '/error');
}
} finally {
@@ -261,7 +265,12 @@ export default function(state, emitter) {
state.transfer = null;
const location = err.message === '404' ? '/404' : '/error';
if (location === '/error') {
state.raven.captureException(err);
state.sentry.withScope(scope => {
scope.setExtra('duration', err.duration);
scope.setExtra('size', err.size);
scope.setExtra('progress', err.progress);
state.sentry.captureException(err);
});
const duration = Date.now() - start;
metrics.stoppedDownload({
size,
@@ -281,6 +290,22 @@ export default function(state, emitter) {
// metrics.copiedLink({ location });
});
emitter.on('closeModal', () => {
if (
state.PREFS.surveyUrl &&
['copy', 'share'].includes(state.modal.type) &&
locale().startsWith('en') &&
(state.storage.totalUploads > 1 || state.storage.totalDownloads > 0) &&
!state.user.surveyed
) {
state.user.surveyed = true;
state.modal = surveyDialog();
} else {
state.modal = null;
}
render();
});
setInterval(() => {
// poll for updates of the upload list
if (!state.modal && state.route === '/') {
+23 -18
View File
@@ -1,6 +1,22 @@
import hash from 'string-hash';
import Account from './ui/account';
const experiments = {};
const experiments = {
signin_button_color: {
eligible: function() {
return true;
},
variant: function() {
return ['white-blue', 'blue', 'white-violet', 'violet'][
Math.floor(Math.random() * 4)
];
},
run: function(variant, state) {
const account = state.cache(Account, 'account');
account.buttonClass = variant;
}
}
};
//Returns a number between 0 and 1
// eslint-disable-next-line no-unused-vars
@@ -25,23 +41,12 @@ export default function initialize(state, emitter) {
xp.run(+state.query.v, state, emitter);
}
});
if (!state.storage.get('testpilot_ga__cid')) {
// first ever visit. check again after cid is assigned.
emitter.on('DOMContentLoaded', () => {
checkExperiments(state, emitter);
});
const enrolled = state.storage.enrolled;
// single experiment per session for now
const id = Object.keys(enrolled)[0];
if (Object.keys(experiments).includes(id)) {
experiments[id].run(enrolled[id], state, emitter);
} else {
const enrolled = state.storage.enrolled.filter(([id, variant]) => {
const xp = experiments[id];
if (xp) {
xp.run(variant, state, emitter);
}
return !!xp;
});
// single experiment per session for now
if (enrolled.length === 0) {
checkExperiments(state, emitter);
}
checkExperiments(state, emitter);
}
}
+20 -3
View File
@@ -112,6 +112,7 @@ export default class FileReceiver extends Nanobus {
}
async downloadStream(noSave = false) {
const start = Date.now();
const onprogress = p => {
this.progress = [p, this.fileInfo.size];
this.emit('progress');
@@ -153,9 +154,7 @@ export default class FileReceiver extends Nanobus {
const downloadPath = `/api/download/${this.fileInfo.id}`;
let downloadUrl = getApiUrl(downloadPath);
if (downloadUrl === downloadPath) {
downloadUrl = `${location.protocol}//${location.host}/api/download/${
this.fileInfo.id
}`;
downloadUrl = `${location.protocol}//${location.host}${downloadPath}`;
}
const a = document.createElement('a');
a.href = downloadUrl;
@@ -164,11 +163,29 @@ export default class FileReceiver extends Nanobus {
}
let prog = 0;
let hangs = 0;
while (prog < this.fileInfo.size) {
const msg = await this.sendMessageToSw({
request: 'progress',
id: this.fileInfo.id
});
if (msg.progress === prog) {
hangs++;
} else {
hangs = 0;
}
if (hangs > 30) {
// TODO: On Chrome we don't get a cancel
// signal so one is indistinguishable from
// a hang. We may be able to detect
// which end is hung in the service worker
// to improve on this.
const e = new Error('hung download');
e.duration = Date.now() - start;
e.size = this.fileInfo.size;
e.progress = prog;
throw e;
}
prog = msg.progress;
onprogress(prog);
await delay(1000);
+2 -4
View File
@@ -44,7 +44,6 @@ export default class FileSender extends Nanobus {
}
async upload(archive, bearerToken) {
const start = Date.now();
if (this.cancelled) {
throw new Error(0);
}
@@ -76,7 +75,6 @@ export default class FileSender extends Nanobus {
this.emit('progress'); // HACK to kick MS Edge
try {
const result = await this.uploadRequest.result;
const time = Date.now() - start;
this.msg = 'notifyUploadEncryptDone';
this.uploadRequest = null;
this.progress = [1, 1];
@@ -87,8 +85,8 @@ export default class FileSender extends Nanobus {
name: archive.name,
size: archive.size,
manifest: archive.manifest,
time: time,
speed: archive.size / (time / 1000),
time: result.duration,
speed: archive.size / (result.duration / 1000),
createdAt: Date.now(),
expiresAt: Date.now() + archive.timeLimit * 1000,
secretKey: secretKey,
-17
View File
@@ -18,23 +18,6 @@ export default class Keychain {
false,
['deriveKey']
);
this.encryptKeyPromise = this.secretKeyPromise.then(function(secretKey) {
return crypto.subtle.deriveKey(
{
name: 'HKDF',
salt: new Uint8Array(),
info: encoder.encode('encryption'),
hash: 'SHA-256'
},
secretKey,
{
name: 'AES-GCM',
length: 128
},
false,
['encrypt', 'decrypt']
);
});
this.metaKeyPromise = this.secretKeyPromise.then(function(secretKey) {
return crypto.subtle.deriveKey(
{
+4 -4
View File
@@ -1,4 +1,4 @@
import { FluentBundle } from 'fluent';
import { FluentBundle } from '@fluent/bundle';
function makeBundle(locale, ftl) {
const bundle = new FluentBundle(locale, { useIsolating: false });
@@ -10,9 +10,9 @@ export async function getTranslator(locale) {
const bundles = [];
const { default: en } = await import('../public/locales/en-US/send.ftl');
if (locale !== 'en-US') {
const {
default: ftl
} = await import(`../public/locales/${locale}/send.ftl`);
const { default: ftl } = await import(
`../public/locales/${locale}/send.ftl`
);
bundles.push(makeBundle(locale, ftl));
}
bundles.push(makeBundle('en-US', en));
+167 -17
View File
@@ -1,4 +1,9 @@
@tailwind preflight;
@tailwind base;
html {
line-height: 1.15;
}
@tailwind components;
:not(input) {
@@ -8,6 +13,14 @@
user-select: none;
}
:root {
--violet-gradient: linear-gradient(
-180deg,
rgba(144, 89, 255, 0.8) 0%,
rgba(144, 89, 255, 0.4) 100%
);
}
a {
color: inherit;
text-decoration: none;
@@ -22,22 +35,24 @@ body {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
overflow-x: hidden;
}
.btn {
@apply bg-blue-dark;
@apply bg-blue-60;
@apply text-white;
@apply cursor-pointer;
@apply py-4;
@apply px-6;
@apply font-semibold;
}
.btn:hover {
@apply bg-blue-darker;
@apply bg-blue-70;
}
.btn:focus {
@apply bg-blue-darker;
@apply bg-blue-70;
}
.checkbox {
@@ -55,7 +70,7 @@ body {
}
.checkbox > label::before {
/* @apply bg-grey-lightest; */
/* @apply bg-grey-10; */
@apply border;
@apply rounded-sm;
@@ -67,16 +82,16 @@ body {
}
.checkbox > label:hover::before {
@apply border-blue-dark;
@apply border-blue-50;
}
.checkbox > input:focus + label::before {
@apply border-blue-dark;
@apply border-blue-50;
}
.checkbox > input:checked + label::before {
@apply bg-blue-dark;
@apply border-blue-dark;
@apply bg-blue-50;
@apply border-blue-50;
background-image: url('../assets/lock.svg');
background-position: center;
@@ -89,8 +104,8 @@ body {
}
.checkbox > input:disabled + label::before {
@apply bg-blue-dark;
@apply border-blue-dark;
@apply bg-blue-50;
@apply border-blue-50;
background-image: url('../assets/lock.svg');
background-position: center;
@@ -138,6 +153,23 @@ footer li:hover {
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 {
height: 32px;
width: auto;
}
.intro {
max-width: 100%;
height: unset;
@@ -158,7 +190,7 @@ footer li:hover {
.mozilla-logo {
background-image: url('../assets/mozilla-logo.svg');
background-repeat: no-repeat;
background-size: 100px, 32px;
background-size: 100px, 48px;
overflow: hidden;
text-indent: 120%;
white-space: nowrap;
@@ -173,14 +205,14 @@ footer li:hover {
}
progress {
@apply bg-grey-light;
@apply bg-grey-30;
@apply rounded-sm;
@apply w-full;
@apply h-1;
}
progress::-webkit-progress-bar {
@apply bg-grey-light;
@apply bg-grey-30;
@apply rounded-sm;
@apply w-full;
@apply h-1;
@@ -245,6 +277,11 @@ select {
}
@screen md {
.main-header img {
height: 48px;
width: auto;
}
.intro {
max-width: unset;
height: unset;
@@ -260,11 +297,60 @@ select {
@apply py-8;
min-height: 36rem;
max-height: 40rem;
max-height: 42rem;
width: calc(100% - 3rem);
}
}
@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;
@responsive {
@@ -273,8 +359,9 @@ select {
}
.shadow-big {
box-shadow: 0 0 32px 0 rgba(12, 12, 13, 0.1),
0 2px 16px 0 rgba(12, 12, 13, 0.05);
box-shadow: 0 12px 18px 2px rgba(34, 0, 51, 0.04),
0 6px 22px 4px rgba(7, 48, 114, 0.12),
0 6px 10px -4px rgba(14, 13, 26, 0.12);
}
}
@@ -286,4 +373,67 @@ select {
.word-break-all {
word-break: break-all;
line-break: anywhere;
}
.signin {
backface-visibility: hidden;
border-radius: 6px;
transition-property: transform, background-color;
transition-duration: 250ms;
transition-timing-function: cubic-bezier(0.07, 0.95, 0, 1);
}
.signin:hover,
.signin:focus {
transform: scale(1.0625);
}
.signin:hover:active {
transform: scale(0.9375);
}
/* begin signin button color experiment */
.white-blue {
@apply border-blue-60;
@apply border-2;
@apply text-blue-60;
}
.white-blue:hover,
.white-blue:focus {
@apply bg-blue-60;
@apply text-white;
}
.blue {
@apply bg-blue-60;
@apply text-white;
}
.white-violet {
@apply border-violet;
@apply border-2;
@apply text-violet;
}
.white-violet:hover,
.white-violet:focus {
@apply bg-violet;
@apply text-white;
background-image: var(--violet-gradient);
}
.violet {
@apply bg-violet;
@apply text-white;
}
.violet:hover,
.violet:focus {
background-image: var(--violet-gradient);
}
/* end signin button color experiment */
+23 -12
View File
@@ -1,7 +1,7 @@
/* global DEFAULTS LIMITS LOCALE */
/* global DEFAULTS LIMITS PREFS */
import 'core-js';
import 'fast-text-encoding'; // MS Edge support
import 'fluent-intl-polyfill';
import 'intl-pluralrules';
import choo from 'choo';
import nanotiming from 'nanotiming';
import routes from './routes';
@@ -12,14 +12,15 @@ import pasteManager from './pasteManager';
import storage from './storage';
import metrics from './metrics';
import experiments from './experiments';
import Raven from 'raven-js';
import * as Sentry from '@sentry/browser';
import './main.css';
import User from './user';
import { getTranslator } from './locale';
import Archive from './archive';
import { setTranslate, locale } from './utils';
if (navigator.doNotTrack !== '1' && window.RAVEN_CONFIG) {
Raven.config(window.SENTRY_ID, window.RAVEN_CONFIG).install();
if (navigator.doNotTrack !== '1' && window.SENTRY_CONFIG) {
Sentry.init(window.SENTRY_CONFIG);
}
if (process.env.NODE_ENV === 'production') {
@@ -35,30 +36,40 @@ if (process.env.NODE_ENV === 'production') {
return window.location.assign('/unsupported/crypto');
}
if (capabilities.serviceWorker) {
await navigator.serviceWorker.register('/serviceWorker.js');
await navigator.serviceWorker.ready;
try {
await navigator.serviceWorker.register('/serviceWorker.js');
await navigator.serviceWorker.ready;
} catch (e) {
// continue but disable streaming downloads
capabilities.streamDownload = false;
}
}
const translate = await getTranslator(LOCALE);
const translate = await getTranslator(locale());
setTranslate(translate);
// eslint-disable-next-line require-atomic-updates
window.initialState = {
LIMITS,
DEFAULTS,
PREFS,
archive: new Archive([], DEFAULTS.EXPIRE_SECONDS),
capabilities,
translate,
storage,
raven: Raven,
sentry: Sentry,
user: new User(storage, LIMITS, window.AUTH_CONFIG),
transfer: null,
fileInfo: null
fileInfo: null,
locale: locale()
};
const app = routes(choo());
const app = routes(choo({ hash: true }));
// eslint-disable-next-line require-atomic-updates
window.app = app;
app.use(experiments);
app.use(metrics);
app.use(controller);
app.use(dragManager);
app.use(experiments);
app.use(pasteManager);
app.mount('body');
})();
+16 -8
View File
@@ -1,21 +1,23 @@
import storage from './storage';
import { platform } from './utils';
import { platform, locale } from './utils';
import { sendMetrics } from './api';
let appState = null;
// let experiment = null;
let experiment = null;
const HOUR = 1000 * 60 * 60;
const events = [];
let session_id = Date.now();
const lang = document.querySelector('html').lang;
const lang = locale();
export default function initialize(state, emitter) {
appState = state;
if (!appState.user.firstAction) {
appState.user.firstAction = appState.route === '/' ? 'upload' : 'download';
}
emitter.on('DOMContentLoaded', () => {
// experiment = storage.enrolled[0];
experiment = storage.enrolled;
if (!appState.user.firstAction) {
appState.user.firstAction =
appState.route === '/' ? 'upload' : 'download';
}
const query = appState.query;
addEvent('client_visit', {
entrypoint: appState.route === '/' ? 'upload' : 'download',
@@ -59,6 +61,11 @@ function submitEvents() {
async function addEvent(event_type, event_properties) {
const user_id = await appState.user.metricId();
const device_id = await appState.user.deviceId();
const ab_id = Object.keys(experiment)[0];
if (ab_id) {
event_properties.experiment = ab_id;
event_properties.variant = experiment[ab_id];
}
events.push({
device_id,
event_properties,
@@ -100,9 +107,10 @@ function completedUpload(archive, duration) {
});
}
function stoppedUpload(archive) {
function stoppedUpload(archive, duration = 0) {
return addEvent('client_upload', {
download_limit: archive.dlimit,
duration: sizeOrder(duration),
file_count: archive.numFiles,
password_protected: !!archive.password,
size: sizeOrder(archive.size),
+1 -1
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.
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes/index.js](./routes/index.js) gets imported by [/server/routes/pages.js](../server/routes/pages.js)
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes.js](./routes.js) is imported by [/server/routes/pages.js](../server/routes/pages.js)
- `pages` contains display logic an markup for pages
- `routes` contains route definitions and logic
+2 -1
View File
@@ -2,7 +2,7 @@ const choo = require('choo');
const download = require('./ui/download');
const body = require('./ui/body');
module.exports = function(app = choo()) {
module.exports = function(app = choo({ hash: true })) {
app.route('/', body(require('./ui/home')));
app.route('/download/:id', body(download));
app.route('/download/:id/:key', body(download));
@@ -13,6 +13,7 @@ module.exports = function(app = choo()) {
app.route('/oauth', function(state, emit) {
emit('authenticate', state.query.code, state.query.state);
});
app.route('/login', body(require('./ui/home')));
app.route('*', body(require('./ui/notFound')));
return app;
};
+22 -9
View File
@@ -11,13 +11,14 @@ const map = new Map();
const IMAGES = /.*\.(png|svg|jpg)$/;
const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)$/;
const DOWNLOAD_URL = /\/api\/download\/([A-Fa-f0-9]{4,})/;
const FONT = /\.woff2?$/;
self.addEventListener('install', event => {
event.waitUntil(precache());
self.addEventListener('install', () => {
self.skipWaiting();
});
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
event.waitUntil(self.clients.claim().then(precache));
});
async function decryptStream(id) {
@@ -83,16 +84,28 @@ async function decryptStream(id) {
}
async function precache() {
try {
await cleanCache();
const cache = await caches.open(version);
const images = assets.match(IMAGES);
await cache.addAll(images);
} catch (e) {
console.error(e);
// cache will get populated on demand
}
}
async function cleanCache() {
const oldCaches = await caches.keys();
for (const c of oldCaches) {
if (c !== version) {
await caches.delete(c);
}
}
const cache = await caches.open(version);
const images = assets.match(IMAGES);
await cache.addAll(images);
return self.skipWaiting();
}
function cacheable(url) {
return VERSIONED_ASSET.test(url) || FONT.test(url);
}
async function cachedOrFetched(req) {
@@ -102,7 +115,7 @@ async function cachedOrFetched(req) {
return cached;
}
const fetched = await fetch(req);
if (fetched.ok && VERSIONED_ASSET.test(req.url)) {
if (fetched.ok && cacheable(req.url)) {
cache.put(req, fetched.clone());
}
return fetched;
@@ -115,7 +128,7 @@ self.onfetch = event => {
const dlmatch = DOWNLOAD_URL.exec(url.pathname);
if (dlmatch) {
event.respondWith(decryptStream(dlmatch[1]));
} else if (VERSIONED_ASSET.test(url.pathname)) {
} else if (cacheable(url.pathname)) {
event.respondWith(cachedOrFetched(req));
}
};
+4 -7
View File
@@ -86,16 +86,13 @@ class Storage {
this.engine.setItem('referrer', str);
}
get enrolled() {
return JSON.parse(this.engine.getItem('experiments') || '[]');
return JSON.parse(this.engine.getItem('ab_experiments') || '{}');
}
enroll(id, variant) {
const enrolled = this.enrolled;
// eslint-disable-next-line no-unused-vars
if (!enrolled.find(([i, v]) => i === id)) {
enrolled.push([id, variant]);
this.engine.setItem('experiments', JSON.stringify(enrolled));
}
const enrolled = {};
enrolled[id] = variant;
this.engine.setItem('ab_experiments', JSON.stringify(enrolled));
}
get files() {
+1 -1
View File
@@ -1,4 +1,4 @@
/* global ReadableStream TransformStream */
/* global TransformStream */
export function transformStream(readable, transformer, oncancel) {
try {
+12 -10
View File
@@ -8,7 +8,8 @@ class Account extends Component {
this.emit = emit;
this.enabled = state.capabilities.account;
this.local = state.components[name] = {};
this.setState();
this.buttonClass = '';
this.setLocal();
}
avatarClick(event) {
@@ -38,7 +39,7 @@ class Account extends Component {
return this.local.loggedIn !== this.state.user.loggedIn;
}
setState() {
setLocal() {
const changed = this.changed();
if (changed) {
this.local.loggedIn = this.state.user.loggedIn;
@@ -47,7 +48,7 @@ class Account extends Component {
}
update() {
return this.setState();
return this.setLocal();
}
createElement() {
@@ -58,15 +59,16 @@ class Account extends Component {
}
const user = this.state.user;
const translate = this.state.translate;
this.setLocal();
if (!this.local.loggedIn) {
return html`
<send-account>
<button
class="p-2 md:p-4 border rounded-lg text-blue-dark border-blue-dark hover:text-white hover:bg-blue-dark focus:outline"
class="px-4 py-2 md:px-8 md:py-4 focus:outline signin border-2 link-blue border-blue-60 hover:border-blue-70 dark:border-blue-40 dark:hover:border-blue-50"
onclick="${e => this.login(e)}"
title="${translate('signInButton')}"
title="${translate('signInOnlyButton')}"
>
${translate('signInButton')}
${translate('signInOnlyButton')}
</button>
</send-account>
`;
@@ -76,19 +78,19 @@ class Account extends Component {
<input
type="image"
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}"
onclick="${e => this.avatarClick(e)}"
/>
<ul
id="accountMenu"
class="invisible list-reset absolute pin-t pin-r mt-10 pt-2 pb-2 bg-white shadow-md whitespace-no-wrap outline-none z-50"
class="invisible absolute top-0 right-0 mt-10 pt-2 pb-2 bg-white shadow-md whitespace-no-wrap outline-none z-50 dark:bg-grey-80"
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>
<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)}"
title="${translate('signOut')}"
>
+59 -44
View File
@@ -46,7 +46,7 @@ function password(state) {
id="password-input"
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"
maxlength="${MAX_LENGTH}"
type="password"
@@ -58,7 +58,7 @@ function password(state) {
<label
id="password-msg"
for="password-input"
class="block text-xs text-grey-darker"
class="block text-xs text-grey-70"
></label>
</div>
`;
@@ -106,7 +106,9 @@ function password(state) {
function fileInfo(file, action) {
return html`
<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">
<h1 class="text-base font-medium word-break-all">${file.name}</h1>
<div class="text-sm font-normal opacity-75 pt-1">${bytes(
@@ -120,7 +122,9 @@ function fileInfo(file, action) {
function archiveInfo(archive, action) {
return html`
<p class="w-full flex items-center">
<img class="mr-3 flex-no-shrink" src="${assets.get('blue_file.svg')}"/>
<svg class="h-8 w-6 mr-3 flex-shrink-0 text-white dark:text-grey-90">
<use xlink:href="${assets.get('blue_file.svg')}#icon"/>
</svg>
<p class="flex-grow">
<h1 class="text-base font-medium word-break-all">${archive.name}</h1>
<div class="text-sm font-normal opacity-75 pt-1">${bytes(
@@ -140,7 +144,7 @@ function archiveDetails(translate, archive) {
ontoggle="${toggled}"
>
<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
class="fill-current w-4 h-4 mr-1"
@@ -155,7 +159,7 @@ function archiveDetails(translate, archive) {
num: archive.manifest.files.length
})}
</summary>
${list(archive.manifest.files.map(f => fileInfo(f)), 'list-reset')}
${list(archive.manifest.files.map(f => fileInfo(f)))}
</details>
`;
}
@@ -170,20 +174,25 @@ module.exports = function(state, emit, archive) {
state.capabilities.share || platform() === 'android'
? html`
<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}
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>
`
: html`
<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}
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')}
</button>
`;
@@ -191,12 +200,14 @@ module.exports = function(state, emit, archive) {
platform() === 'web'
? html`
<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}"
title="${state.translate('downloadButtonLabel')}"
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')}
</a>
`
@@ -206,14 +217,14 @@ module.exports = function(state, emit, archive) {
return html`
<send-archive
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(
archive,
html`
<input
type="image"
class="self-start flex-no-shrink text-white hover:opacity-75 focus:outline"
class="self-start flex-shrink-0 text-white hover:opacity-75 focus:outline"
alt="${state.translate('deleteButtonHover')}"
title="${state.translate('deleteButtonHover')}"
src="${assets.get('close-16.svg')}"
@@ -225,7 +236,7 @@ module.exports = function(state, emit, archive) {
${expiryInfo(state.translate, archive)}
</div>
${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">
${dl} ${copyOrShare}
</div>
@@ -256,9 +267,7 @@ module.exports = function(state, emit, archive) {
try {
await navigator.share({
title: state.translate('-send-brand'),
text: `Download "${
archive.name
}" with Firefox Send: simple, safe file sharing`,
text: `Download "${archive.name}" with Firefox Send: simple, safe file sharing`,
//state.translate('shareMessage', { name }),
url: archive.url
});
@@ -271,22 +280,25 @@ module.exports = function(state, emit, archive) {
module.exports.wip = function(state, emit) {
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(
Array.from(state.archive.files)
.reverse()
.map(f =>
fileInfo(f, remove(f, state.translate('deleteButtonHover')))
),
'flex-shrink bg-grey-lightest rounded-t list-reset overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen',
'bg-white px-2 my-2 shadow-light rounded'
'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 dark:bg-grey-90 dark:border dark:border-grey-80'
)}
<div
class="flex-no-shrink flex-grow flex items-end p-4 bg-grey-lightest rounded-b mb-1 font-medium"
class="flex-shrink-0 flex-grow flex items-end p-4 bg-grey-10 rounded-b mb-1 font-medium dark:bg-grey-90"
>
<input
id="file-upload"
class="opacity-0 w-0 h-0 appearance-none absolute"
class="opacity-0 w-0 h-0 appearance-none absolute overflow-hidden"
type="file"
multiple
onfocus="${focus}"
@@ -302,10 +314,12 @@ module.exports.wip = function(state, emit) {
class="flex items-center cursor-pointer"
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')}
</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', {
size: bytes(state.archive.size)
})}
@@ -315,7 +329,7 @@ module.exports.wip = function(state, emit) {
${expiryOptions(state, emit)} ${password(state, emit)}
<button
id="upload-btn"
class="btn rounded-lg flex-no-shrink focus:outline"
class="btn rounded-lg flex-shrink-0 focus:outline"
title="${state.translate('uploadButton')}"
onclick="${upload}"
>
@@ -380,22 +394,22 @@ module.exports.uploading = function(state, emit) {
return html`
<send-upload-area
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)}
<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, {
dlimit: state.archive.dlimit,
dtotal: 0,
expiresAt: Date.now() + 500 + state.archive.timeLimit * 1000
})}
</div>
<div class="text-blue-dark text-sm font-medium mt-2">
<div class="link-blue text-sm font-medium mt-2">
${progressPercent}
</div>
<progress class="my-3" value="${progress}">${progressPercent}</progress>
<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}
title="${state.translate('deletePopupCancel')}"
>
@@ -417,7 +431,7 @@ module.exports.empty = function(state, emit) {
? ''
: html`
<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 => {
event.stopPropagation();
emit('signup-cta', 'drop');
@@ -430,14 +444,16 @@ module.exports.empty = function(state, emit) {
`;
return html`
<send-upload-area
class="flex flex-col items-center justify-center border-2 border-dashed border-grey rounded px-6 py-16 h-full w-full"
class="flex flex-col items-center justify-center border-2 border-dashed border-grey-transparent rounded px-6 py-16 h-full w-full dark:border-grey-60"
onclick="${e => {
if (e.target.tagName !== 'LABEL') {
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">
${state.translate('dragAndDropFiles')}
</div>
@@ -448,7 +464,7 @@ module.exports.empty = function(state, emit) {
</div>
<input
id="file-upload"
class="opacity-0 w-0 h-0 appearance-none absolute"
class="opacity-0 w-0 h-0 appearance-none absolute overflow-hidden"
type="file"
multiple
onfocus="${focus}"
@@ -471,14 +487,11 @@ module.exports.empty = function(state, emit) {
`;
function focus(event) {
event.target.nextElementSibling.classList.add('bg-blue-darker', 'outline');
event.target.nextElementSibling.classList.add('bg-blue-70', 'outline');
}
function blur(event) {
event.target.nextElementSibling.classList.remove(
'bg-blue-darker',
'outline'
);
event.target.nextElementSibling.classList.remove('bg-blue-70', 'outline');
}
function add(event) {
@@ -503,13 +516,15 @@ module.exports.preview = function(state, emit) {
</div>
`;
return html`
<send-archive class="flex flex-col max-h-full bg-white p-4 w-full md:w-128">
<div class="border rounded py-3 px-6">
<send-archive
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}
</div>
<button
id="download-btn"
class="btn rounded-lg mt-4 w-full flex-no-shrink focus:outline"
class="btn rounded-lg mt-4 w-full flex-shrink-0 focus:outline"
title="${state.translate('downloadButtonLabel')}"
onclick=${download}
>
@@ -531,10 +546,10 @@ module.exports.downloading = function(state) {
const progressPercent = percent(progress);
return html`
<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)}
<div class="text-blue-dark text-sm font-medium mt-2">
<div class="link-blue text-sm font-medium mt-2">
${progressPercent}
</div>
<progress class="my-3" value="${progress}">${progressPercent}</progress>
+1 -1
View File
@@ -4,7 +4,7 @@ module.exports = function() {
return html`
<main class="main">
<section
class="h-full w-full p-6 z-10 md:flex md:flex-row md:rounded-lg md:shadow-big"
class="h-full w-full p-6 md:p-8 md:flex md:flex-row md:rounded-xl md:shadow-big"
>
<div class="md:mr-6 md:w-1/2 w-full"></div>
<div class="md:w-1/2 mt-6 md:mt-0 w-full"></div>
+9 -2
View File
@@ -4,7 +4,14 @@ const Header = require('./header');
const Footer = require('./footer');
function banner(state) {
if (state.promo && !state.route.startsWith('/unsupported/')) {
if (state.layout) {
return; // server side
}
const show =
!state.capabilities.standalone &&
!state.route.startsWith('/unsupported/') &&
state.locale === 'en-US';
if (show) {
return state.cache(Promo, 'promo').render();
}
}
@@ -13,7 +20,7 @@ module.exports = function body(main) {
return function(state, emit) {
const b = html`
<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()}
${main(state, emit)} ${state.cache(Footer, 'footer').render()}
+10 -6
View File
@@ -2,34 +2,36 @@ const html = require('choo/html');
const { copyToClipboard } = require('../utils');
module.exports = function(name, url) {
return function(state, emit, close) {
const dialog = function(state, emit, close) {
return html`
<send-copy-dialog
class="flex flex-col items-center text-center p-4 max-w-sm m-auto"
>
<h1 class="font-bold my-4">
<h1 class="text-3xl font-bold my-4">
${state.translate('notifyUploadEncryptDone')}
</h1>
<p class="font-normal leading-normal text-grey-darkest word-break-all">
<p
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
>
${state.translate('copyLinkDescription')} <br />
${name}
</p>
<input
type="text"
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}"
readonly="true"
/>
<button
class="btn rounded-lg w-full flex-no-shrink focus:outline"
class="btn rounded-lg w-full flex-shrink-0 focus:outline"
onclick="${copy}"
title="${state.translate('copyLinkButton')}"
>
${state.translate('copyLinkButton')}
</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}"
title="${state.translate('okButton')}"
>
@@ -45,4 +47,6 @@ module.exports = function(name, url) {
setTimeout(close, 1000);
}
};
dialog.type = 'copy';
return dialog;
};
+12 -4
View File
@@ -22,7 +22,9 @@ function downloading(state, emit) {
<div
class="flex flex-col w-full h-full items-center md:justify-center md:-mt-8"
>
<h1 class="mb-4">${state.translate('downloadingTitle')}</h1>
<h1 class="text-3xl font-bold mb-4">
${state.translate('downloadingTitle')}
</h1>
${archiveTile.downloading(state, emit)}
</div>
`;
@@ -36,8 +38,12 @@ function preview(state, emit) {
<div
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
>
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
<p class="w-full text-grey-darkest text-center leading-normal">
<h1 class="text-3xl font-bold mb-4">
${state.translate('downloadTitle')}
</h1>
<p
class="w-full text-grey-80 text-center leading-normal dark:text-grey-40"
>
${state.translate('downloadDescription')}
</p>
${archiveTile.preview(state, emit)}
@@ -76,7 +82,9 @@ module.exports = function(state, emit) {
return html`
<main class="main">
${state.modal && modal(state, emit)}
<section class="relative h-full w-full p-6 md:rounded-lg md:shadow-big">
<section
class="relative h-full w-full p-6 md:p-8 md:rounded-xl md:shadow-big"
>
${content}
</section>
</main>
+3 -3
View File
@@ -5,13 +5,13 @@ module.exports = function(state) {
return html`
<div
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 font-bold my-2">
<h1 class="text-center text-3xl font-bold my-2">
${state.translate('downloadFinish')}
</h1>
<img src="${assets.get('completed.svg')}" class="my-12 h-48" />
<p class="text-grey-darkest leading-normal">
<p class="text-grey-80 leading-normal dark:text-grey-40">
${state.translate('trySendDescription')}
</p>
<p class="my-5">
+14 -8
View File
@@ -6,10 +6,14 @@ module.exports = function(state, emit) {
const div = html`
<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="mb-4">${state.translate('downloadTitle')}</h1>
<p class="w-full mb-4 text-center text-grey-darkest leading-normal">
<h1 class="text-3xl font-bold mb-4">
${state.translate('downloadTitle')}
</h1>
<p
class="w-full mb-4 text-center text-grey-80 dark:text-grey-40 leading-normal"
>
${state.translate('downloadDescription')}
</p>
<form
@@ -20,8 +24,8 @@ module.exports = function(state, emit) {
<input
id="password-input"
class="w-full border-l border-t border-b rounded-l-lg rounded-r-none ${invalid
? 'border-red'
: 'border-grey'} leading-loose px-2 py-1"
? 'border-red dark:border-red-40'
: 'border-grey'} leading-loose px-2 py-1 dark:bg-grey-80"
maxlength="32"
autocomplete="off"
placeholder="${state.translate('unlockInputPlaceholder')}"
@@ -32,7 +36,7 @@ module.exports = function(state, emit) {
type="submit"
id="password-btn"
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')}"
title="${state.translate('unlockButtonLabel')}"
@@ -40,7 +44,7 @@ module.exports = function(state, emit) {
</form>
<label
id="password-error"
class="${invalid ? '' : 'invisible'} text-red my-4"
class="${invalid ? '' : 'invisible'} text-red dark:text-red-40 my-4"
for="password-input"
>
${state.translate('passwordTryAgain')}
@@ -70,7 +74,9 @@ module.exports = function(state, emit) {
const password = el.value;
if (password.length > 0) {
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;
emit('getMetadata');
}
+3 -3
View File
@@ -7,13 +7,13 @@ module.exports = function(state, emit) {
<main class="main">
${state.modal && modal(state, emit)}
<section
class="flex flex-col items-center justify-center h-full w-full p-6 z-10 overflow-hidden md:rounded-lg md:shadow-big"
class="flex flex-col items-center justify-center h-full w-full p-6 md:p-8 overflow-hidden md:rounded-xl md:shadow-big"
>
<h1 class="text-center font-bold my-2">
<h1 class="text-center text-3xl font-bold my-2">
${state.translate('errorPageHeader')}
</h1>
<img class="my-12 h-48" src="${assets.get('error.svg')}" />
<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')}
</p>
<p class="my-5">
+3 -6
View File
@@ -19,16 +19,13 @@ class Footer extends Component {
const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`;
return html`
<footer
class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 font-medium text-xs text-grey-dark md:items-center justify-between"
class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-60 dark:text-grey-40 md:items-center justify-between"
>
<a
class="mozilla-logo pb-10 md:pb-0 m-2"
href="https://www.mozilla.org/"
>
<a class="mozilla-logo m-2" href="https://www.mozilla.org/">
Mozilla
</a>
<ul
class="list-reset flex flex-col md:flex-row items-start md:items-center md:justify-end"
class="flex flex-col md:flex-row items-start md:items-center md:justify-end"
>
<li class="m-2">
<a href="https://www.mozilla.org/about/legal/terms/services/#send">
+16 -4
View File
@@ -16,19 +16,31 @@ class Header extends Component {
this.account.render();
return false;
}
createElement() {
const title =
platform() === 'android'
? 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`
<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`
<header
class="relative flex-none flex flex-row items-center justify-between w-full px-6 h-16 md:h-24 z-20 bg-transparent"
class="main-header relative flex-none flex flex-row items-center justify-between w-full px-6 md:px-8 h-16 md:h-24 z-20 bg-transparent"
>
${title} ${this.account.render()}
</header>
+3 -7
View File
@@ -20,19 +20,15 @@ module.exports = function(state, emit) {
const right =
archives.length === 0
? intro(state)
: list(
archives,
'list-reset p-2 h-full overflow-y-auto w-full',
'mb-4 w-full'
);
: list(archives, 'p-2 h-full overflow-y-auto w-full', 'mb-4 w-full');
return html`
<main class="main">
${state.modal && modal(state, emit)}
<section
class="h-full w-full p-6 z-10 overflow-hidden md:flex md:flex-row md:rounded-lg md:shadow-big"
class="h-full w-full p-6 md:p-8 overflow-hidden md:flex md:flex-row md:rounded-xl md:shadow-big"
>
<div class="px-2 w-full md:px-0 md:mr-6 md:w-1/2">${left}</div>
<div class="px-2 w-full md:px-0 md:mr-8 md:w-1/2">${left}</div>
<div class="mt-6 w-full md:w-1/2 md:-m-2">${right}</div>
</section>
</main>
+3 -3
View File
@@ -4,13 +4,13 @@ const assets = require('../../common/assets');
module.exports = function intro(state) {
return html`
<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">
<h1 class="font-bold">
<h1 class="text-3xl font-bold md:pb-2">
${state.translate('introTitle')}
</h1>
<p class="max-w-sm leading-normal mt-6 md:mt-2 md:pr-16">
<p class="max-w-sm leading-loose mt-6 md:mt-2 md:pr-14">
${state.translate('introDescription')}
</p>
<img class="intro" src="${assets.get('intro.svg')}" />
+7 -5
View File
@@ -6,18 +6,20 @@ module.exports = function(state, emit) {
<main class="main">
${state.modal && modal(state, emit)}
<div
class="flex flex-col items-center bg-white m-4 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
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">${state.translate('legalTitle')}</h1>
<h1 class="text-center text-3xl font-bold">
${state.translate('legalTitle')}
</h1>
<p class="mt-2">${state.translate('legalDateStamp')}</p>
<div class="overflow-scroll py-8 px-12">
<div class="overflow-y-scroll py-8 px-12">
<p class="leading-normal">
<span>When Mozilla receives information from you, our</span>
<a
href="https://www.mozilla.org/privacy/"
target="__blank"
rel="noopener noreferrer"
class="text-blue-dark hover:underline"
class="link-blue hover:underline"
>Mozilla Privacy Policy</a
>
<span
@@ -29,7 +31,7 @@ module.exports = function(state, emit) {
href="https://github.com/mozilla/send/blob/master/docs/metrics.md"
target="__blank"
rel="noopener noreferrer"
class="text-blue-dark hover:underline"
class="link-blue hover:underline"
>here</a
>.
</p>
+4 -6
View File
@@ -3,13 +3,12 @@ const html = require('choo/html');
module.exports = function(state, emit) {
return html`
<send-modal
class="absolute pin flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-lg md:my-8"
onclick="${close}"
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8 dark:bg-grey-90"
>
<div
class="h-full w-full max-h-screen absolute pin-t flex items-center justify-center"
class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center"
>
<div class="w-full" onclick="${e => e.stopPropagation()}">
<div class="w-full">
${state.modal(state, emit, close)}
</div>
</div>
@@ -21,7 +20,6 @@ module.exports = function(state, emit) {
event.preventDefault();
event.stopPropagation();
}
state.modal = null;
emit('render');
emit('closeModal');
}
};
+6 -4
View File
@@ -8,16 +8,18 @@ module.exports = function(state, emit) {
<div
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
>
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
<h1 class="mb-4 text-3xl font-bold">${state.translate(
'downloadTitle'
)}</h1>
<p
class="w-full p-2 border border-yellow-light rounded md:w-4/5 text-orange-dark bg-yellow-lighter text-center leading-normal"
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')} ⚠️
</p>
<form class="md:w-128" onsubmit=${submit}>
<fieldset class="border rounded p-4 my-4" onchange=${optionChanged}>
<div class="flex items-center mb-2">
<img class="mr-3 flex-no-shrink" src="${assets.get(
<img class="mr-3 flex-shrink-0" src="${assets.get(
'blue_file.svg'
)}"/>
<p class="flex-grow">
@@ -49,7 +51,7 @@ module.exports = function(state, emit) {
</div>
</fieldset>
<input
class="btn rounded-lg w-full flex flex-no-shrink items-center justify-center"
class="btn rounded-lg w-full flex flex-shrink-0 items-center justify-center"
value="${state.translate('copyLinkButton')}"
title="${state.translate('copyLinkButton')}"
type="submit" />
+3 -3
View File
@@ -7,13 +7,13 @@ module.exports = function(state, emit) {
<main class="main">
${state.modal && modal(state, emit)}
<section
class="flex flex-col items-center justify-center h-full w-full p-6 z-10 overflow-hidden md:rounded-lg md:shadow-big"
class="flex flex-col items-center justify-center h-full w-full p-6 md:p-8 overflow-hidden md:rounded-xl md:shadow-big"
>
<h1 class="text-center font-bold my-2">
<h1 class="text-center text-3xl font-bold my-2">
${state.translate('expiredTitle')}
</h1>
<img src="${assets.get('notFound.svg')}" class="my-12" />
<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')}
</p>
<p class="my-5">
+4 -2
View File
@@ -4,9 +4,11 @@ module.exports = function(message) {
return function(state, emit, close) {
return html`
<send-ok-dialog class="flex flex-col max-w-sm p-4 m-auto">
<h2 class="text-center m-8 leading-normal">${message}</h2>
<h2 class="text-center text-xl font-bold m-8 leading-normal">
${message}
</h2>
<button
class="btn rounded-lg w-full flex-no-shrink"
class="btn rounded-lg w-full flex-shrink-0"
onclick="${close}"
title="${state.translate('okButton')}"
>
+10 -9
View File
@@ -3,8 +3,9 @@ const Component = require('choo/component');
const assets = require('../../common/assets');
class Promo extends Component {
constructor(name) {
constructor(name, state) {
super(name);
this.state = state;
}
update() {
@@ -14,20 +15,20 @@ class Promo extends Component {
createElement() {
return html`
<send-promo
class="w-full flex-none flex flex-row items-center content-center justify-center text-sm bg-grey-light leading-tight text-grey-darkest px-4 py-3"
class="w-full flex-row items-center content-center justify-center bg-white text-grey-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">
<img
src="${assets.get('firefox_logo-only.svg')}"
class="w-6"
src="${assets.get('master-logo.svg')}"
class="w-6 h-6"
alt="Firefox"
/>
<span class="ml-3"
>Send is brought to you by the all-new Firefox.
<span class="ml-2 sm:ml-4 text-xs sm:text-base">
${`Like Firefox Send? You'll love our new full-device VPN. `}
<a
class="text-blue"
href="https://www.mozilla.org/firefox/new/?utm_campaign=send-acquisition&utm_medium=referral&utm_source=send.firefox.com"
>Download Firefox now ≫</a
class="underline link-blue"
href="https://vpn.mozilla.org/?utm_source=send.firefox.com&utm_medium=referral&utm_content=Try+Firefox+Private+Network&utm_campaign=top-bar"
>${`Get it today`}</a
>
</span>
</div>
+1 -1
View File
@@ -6,7 +6,7 @@ module.exports = function(selected, options, translate, changed, htmlId) {
return html`
<select
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}"
>
${options.map(
+14 -17
View File
@@ -1,40 +1,36 @@
const html = require('choo/html');
/* Possible strings for l10n
shareLinkDescription = Share the link to your file:
shareLinkButton = Share link
shareMessage = Download "{ $name }" with { -send-brand }: simple, safe file sharing
*/
module.exports = function(name, url) {
return function(state, emit, close) {
const dialog = function(state, emit, close) {
return html`
<send-share-dialog
class="flex flex-col items-center text-center p-4 max-w-sm m-auto"
>
<h1 class="font-bold my-4">
<h1 class="text-3xl font-bold my-4">
${state.translate('notifyUploadEncryptDone')}
</h1>
<p class="font-normal leading-normal text-grey-darkest word-break-all">
Share the link to your file:<br />
<p
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
>
${state.translate('shareLinkDescription')}<br />
${name}
</p>
<input
type="text"
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}"
readonly="true"
/>
<button
class="btn rounded-lg w-full flex-no-shrink focus:outline"
class="btn rounded-lg w-full flex-shrink-0 focus:outline"
onclick="${share}"
title="Share link"
title="${state.translate('shareLinkButton')}"
>
Share link
${state.translate('shareLinkButton')}
</button>
<button
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker my-4 font-medium cursor-pointer focus:outline"
class="link-blue my-4 font-medium cursor-pointer focus:outline"
onclick="${close}"
title="${state.translate('okButton')}"
>
@@ -48,8 +44,7 @@ module.exports = function(name, url) {
try {
await navigator.share({
title: state.translate('-send-brand'),
text: `Download "${name}" with Firefox Send: simple, safe file sharing`,
//state.translate('shareMessage', { name }),
text: state.translate('shareMessage', { name }),
url
});
} catch (e) {
@@ -61,4 +56,6 @@ module.exports = function(name, url) {
close();
}
};
dialog.type = 'share';
return dialog;
};
+9 -12
View File
@@ -12,18 +12,15 @@ module.exports = function(trigger) {
<send-signup-dialog
class="flex flex-col lg:flex-row justify-center px-8 md:px-24 w-full h-full"
>
<img
src="${assets.get('firefox_logo-only.svg')}"
class="h-16 mt-1 mb-4"
/>
<img src="${assets.get('master-logo.svg')}" class="h-16 mt-1 mb-4" />
<section
class="flex flex-col flex-no-shrink self-center lg:mx-6 lg:max-w-xs"
class="flex flex-col flex-shrink-0 self-center lg:mx-6 lg:max-w-xs"
>
<h1 class="font-bold text-center lg:text-left">
<h1 class="text-3xl font-bold text-center lg:text-left">
${state.translate('accountBenefitTitle')}
</h1>
<ul
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>
${state.translate('accountBenefitLargeFiles', {
@@ -45,19 +42,19 @@ module.exports = function(trigger) {
<input
id="email-input"
type="email"
class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-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')}
/>
<input
class="btn rounded-lg w-full flex flex-no-shrink items-center justify-center"
value="${state.translate('signInButton')}"
title="${state.translate('signInButton')}"
class="btn rounded-lg w-full flex flex-shrink-0 items-center justify-center"
value="${state.translate('signInOnlyButton')}"
title="${state.translate('signInOnlyButton')}"
id="email-submit"
type="submit"
/>
</form>
<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')}"
onclick=${cancel}
>
+42
View File
@@ -0,0 +1,42 @@
const html = require('choo/html');
const version = require('../../package.json').version;
const { browserName } = require('../utils');
module.exports = function() {
return function(state, emit, close) {
const surveyUrl = `${
state.PREFS.surveyUrl
}?ver=${version}&browser=${browserName()}&anon=${
state.user.loggedIn
}&active_count=${state.storage.files.length}`;
return html`
<send-survey-dialog
class="flex flex-col items-center text-center p-4 max-w-sm m-auto"
>
<h1 class="text-3xl font-bold my-4">
Tell us what you think.
</h1>
<p class="font-normal leading-normal text-grey-80 px-4">
Love Firefox Send? Take a quick survey to let us know how we can make
it better.
</p>
<a
class="btn rounded-lg w-full flex-shrink-0 focus:outline my-5"
onclick="${() => emit('closeModal')}"
title="Give feedback"
href="${surveyUrl}"
target="_blank"
>
Give feedback
</a>
<button
class="link-blue font-medium cursor-pointer focus:outline"
onclick="${close}"
title="Skip"
>
Skip
</button>
</send-survey-dialog>
`;
};
};
+2 -2
View File
@@ -27,9 +27,9 @@ module.exports = function(state, emit) {
<main class="main">
${state.modal && modal(state, emit)}
<section
class="flex flex-col items-center justify-center text-center bg-white m-6 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
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="">${strings.header}</h1>
<h1 class="text-3xl font-bold">${strings.header}</h1>
<p class="mt-4 mb-8 max-w-md leading-normal">${strings.description}</p>
${why}
<a href="${url}" class="btn rounded-lg mt-8 px-8">
+15 -4
View File
@@ -44,6 +44,14 @@ export default class User {
this.storage.set('firstAction', action);
}
get surveyed() {
return this.storage.get('surveyed');
}
set surveyed(yes) {
this.storage.set('surveyed', yes);
}
get avatar() {
const defaultAvatar = assets.get('user.svg');
if (this.info.avatarDefault) {
@@ -94,10 +102,12 @@ export default class User {
return this.loggedIn ? hashId(this.storage.id) : hashId(anonId);
}
async startAuthFlow(source, utms = {}) {
async startAuthFlow(trigger, utms = {}) {
this.utms = utms;
this.trigger = trigger;
try {
const params = new URLSearchParams({
entrypoint: `send-${source}`,
entrypoint: `send-${trigger}`,
form_type: 'email',
utm_source: utms.source || 'send',
utm_campaign: utms.campaign || 'none'
@@ -111,12 +121,10 @@ export default class User {
const { flowId, flowBeginTime } = await res.json();
this.flowId = flowId;
this.flowBeginTime = flowBeginTime;
this.utms = utms;
} catch (e) {
console.error(e);
this.flowId = null;
this.flowBeginTime = null;
this.utms = null;
}
}
@@ -142,6 +150,9 @@ export default class User {
options.flow_id = this.flowId;
options.flow_begin_time = this.flowBeginTime;
}
if (this.trigger) {
options.entrypoint = `send-${this.trigger}`;
}
if (this.utms) {
options.utm_campaign = this.utms.campaign || 'none';
options.utm_content = this.utms.content || 'none';
+29 -11
View File
@@ -1,5 +1,10 @@
/* global Android */
const html = require('choo/html');
let html;
try {
html = require('choo/html');
} catch (e) {
// running in the service worker
}
const b64 = require('base64-js');
function arrayToB64(array) {
@@ -14,6 +19,10 @@ function b64ToArray(str) {
return b64.toByteArray(str + '==='.slice((str.length + 3) % 4));
}
function locale() {
return document.querySelector('html').lang;
}
function loadShim(polyfill) {
return new Promise((resolve, reject) => {
const shim = document.createElement('script');
@@ -25,7 +34,7 @@ function loadShim(polyfill) {
}
function isFile(id) {
return /^[0-9a-fA-F]{10}$/.test(id);
return /^[0-9a-fA-F]{10,16}$/.test(id);
}
function copyToClipboard(str) {
@@ -56,7 +65,7 @@ const LOCALIZE_NUMBERS = !!(
typeof navigator === 'object'
);
const UNITS = ['B', 'kB', 'MB', 'GB'];
const UNITS = ['bytes', 'kb', 'mb', 'gb'];
function bytes(num) {
if (num < 1) {
return '0B';
@@ -67,8 +76,7 @@ function bytes(num) {
let nStr = n.toFixed(decimalDigits);
if (LOCALIZE_NUMBERS) {
try {
const locale = document.querySelector('html').lang;
nStr = n.toLocaleString(locale, {
nStr = n.toLocaleString(locale(), {
minimumFractionDigits: decimalDigits,
maximumFractionDigits: decimalDigits
});
@@ -76,14 +84,16 @@ function bytes(num) {
// fall through
}
}
return `${nStr}${UNITS[exponent]}`;
return translate('fileSize', {
num: nStr,
units: translate(UNITS[exponent])
});
}
function percent(ratio) {
if (LOCALIZE_NUMBERS) {
try {
const locale = document.querySelector('html').lang;
return ratio.toLocaleString(locale, { style: 'percent' });
return ratio.toLocaleString(locale(), { style: 'percent' });
} catch (e) {
// fall through
}
@@ -93,8 +103,7 @@ function percent(ratio) {
function number(n) {
if (LOCALIZE_NUMBERS) {
const locale = document.querySelector('html').lang;
return n.toLocaleString(locale);
return n.toLocaleString(locale());
}
return n.toString();
}
@@ -256,7 +265,15 @@ function encryptedSize(size, rs = ECE_RECORD_SIZE, tagLength = TAG_LENGTH) {
return 21 + size + chunk_meta * Math.ceil(size / (rs - chunk_meta));
}
let translate = function() {
throw new Error('uninitialized translate function. call setTranslate first');
};
function setTranslate(t) {
translate = t;
}
module.exports = {
locale,
fadeOut,
delay,
allowedCopy,
@@ -275,5 +292,6 @@ module.exports = {
secondsToL10nId,
timeLeft,
platform,
encryptedSize
encryptedSize,
setTranslate
};
+2 -2
View File
@@ -50,7 +50,7 @@ class File {
v.setUint32(0, 0x08074b50, true); // sig
v.setUint32(4, this.crc, true); // crc32
v.setUint32(8, this.size, true); // compressed size
v.setUint16(12, this.size, true); // uncompressed size
v.setUint32(12, this.size, true); // uncompressed size
return new Uint8Array(dd);
}
@@ -60,7 +60,7 @@ class File {
v.setUint32(0, 0x02014b50, true); // sig
v.setUint16(4, 20, true); // version made
v.setUint16(6, 20, true); // version required
v.setUint16(8, 0, true); // bit flags
v.setUint16(8, 8, true); // bit flags (8 = use data descriptor)
v.setUint16(10, 0, true); // compression
v.setUint16(12, this.dateTime.time, true); // modified time
v.setUint16(14, this.dateTime.date, true); // modified date
+6 -6
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">
<defs>
<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>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="plus" viewBox="0 0 24 24">
<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"/>
<use fill="#0060df" xlink:href="#addfiles-a"/>
<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"/>
<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>
</symbol>
<use xlink:href="#plus"/>
</svg>

Before

Width:  |  Height:  |  Size: 856 B

After

Width:  |  Height:  |  Size: 831 B

+8 -9
View File
@@ -1,8 +1,6 @@
<?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">
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
<title>6AF7DAB4-6456-44F2-AABE-F001D910B641</title>
<desc>Created with sketchtool.</desc>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon" viewBox="0 0 26 32">
<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>
</defs>
@@ -14,14 +12,15 @@
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="Mask" fill="#45A1FF" opacity="0.6" 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="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,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,22.6209117 L17.5412669,22.6209117" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
<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="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="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="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="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</g>
</g>
</symbol>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

+1 -1
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

+5 -1
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

+8 -9
View File
@@ -1,15 +1,14 @@
<?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">
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
<title>728D143F-562C-4AE5-80DA-9DBBD9D647D8</title>
<desc>Created with sketchtool.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Send_Sending" transform="translate(-770.000000, -481.000000)" fill="#0060DF">
<g id="List-Item-3" transform="translate(744.000000, 350.000000)">
<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>
<svg width="12px" height="16px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon" viewBox="0 0 12 16">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-770.000000, -481.000000)" fill="currentColor">
<g transform="translate(744.000000, 350.000000)">
<g 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"></path>
</g>
</g>
</g>
</g>
</symbol>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

+41
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

-74
View File
@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="201px" height="36px" viewBox="0 0 201 36" 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>56F8E94A-92C7-41A4-BF32-064D0F1FE0CE</title>
<desc>Created with sketchtool.</desc>
<defs>
<linearGradient x1="71.1627137%" y1="8.3795633%" x2="23.6307692%" y2="89.0750207%" id="linearGradient-1">
<stop stop-color="#FF980E" offset="0%"></stop>
<stop stop-color="#FF7139" offset="20.75%"></stop>
<stop stop-color="#FF5854" offset="36.33%"></stop>
<stop stop-color="#FF4F5E" offset="45.63%"></stop>
<stop stop-color="#FF3750" offset="69.29%"></stop>
<stop stop-color="#F92261" offset="85.75%"></stop>
<stop stop-color="#F5156C" offset="100%"></stop>
</linearGradient>
<linearGradient x1="71.1627137%" y1="8.3795633%" x2="23.6307692%" y2="89.0750207%" id="linearGradient-2">
<stop stop-color="#FFF44F" stop-opacity="0.8" offset="0%"></stop>
<stop stop-color="#FFF44F" stop-opacity="0" offset="75%"></stop>
</linearGradient>
<linearGradient x1="14.3945107%" y1="105.534329%" x2="62.8615752%" y2="24.3294529%" id="linearGradient-3">
<stop stop-color="#3A8EE6" offset="0%"></stop>
<stop stop-color="#5C79F0" offset="23.59%"></stop>
<stop stop-color="#9059FF" offset="62.93%"></stop>
<stop stop-color="#C139E6" offset="100%"></stop>
</linearGradient>
<linearGradient x1="62.8713604%" y1="29.0228725%" x2="42.5369928%" y2="60.7429512%" id="linearGradient-4">
<stop stop-color="#6E008B" stop-opacity="0.5" offset="0%"></stop>
<stop stop-color="#C846CB" stop-opacity="0" offset="50%"></stop>
</linearGradient>
<linearGradient x1="73.7626536%" y1="58.1514822%" x2="20.9130221%" y2="45.4476366%" id="linearGradient-5">
<stop stop-color="#6A2BEA" stop-opacity="0" offset="13.6%"></stop>
<stop stop-color="#662CE6" stop-opacity="0.09459748" offset="29.95%"></stop>
<stop stop-color="#592FDB" stop-opacity="0.1926" offset="46.89%"></stop>
<stop stop-color="#4534C9" stop-opacity="0.2923" offset="64.1%"></stop>
<stop stop-color="#283BAF" stop-opacity="0.393" offset="81.5%"></stop>
<stop stop-color="#03448D" stop-opacity="0.4936" offset="98.9%"></stop>
<stop stop-color="#00458B" stop-opacity="0.5" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Send_Home-With-Files" transform="translate(-24.000000, -31.000000)">
<g id="Header" transform="translate(24.000000, 24.000000)">
<g id="Send" transform="translate(0.000000, 7.000000)">
<g id="FF_Send_Logo">
<g id="Group">
<g>
<path d="M18.4801773,0.309677419 C8.4846097,0.309677419 0.34868259,8.28387097 0.34868259,18.0774194 C0.34868259,19.1225806 1.20101781,19.9741935 2.24706558,19.9741935 L16.5817943,19.9741935 L16.5817943,25.1612903 L16.5817943,25.1612903 L16.5817943,29.4193548 L12.1264056,25.0064516 C11.390298,24.2709677 10.1892801,24.2709677 9.41442994,25.0064516 C8.67832225,25.7419355 8.67832225,26.9419355 9.41442994,27.716129 L17.1241894,35.4193548 C17.162932,35.4580645 17.2016745,35.4967742 17.2791595,35.5354839 C17.2791595,35.5354839 17.2791595,35.5354839 17.317902,35.5354839 C17.3566445,35.5741935 17.395387,35.6129032 17.4341295,35.6129032 C17.4341295,35.6129032 17.4341295,35.6129032 17.472872,35.6129032 C17.5116145,35.6516129 17.5503571,35.6516129 17.5890996,35.6903226 C17.5890996,35.6903226 17.5890996,35.6903226 17.6278421,35.6903226 C17.6665846,35.7290323 17.7440696,35.7290323 17.7828121,35.7677419 C17.7828121,35.7677419 17.7828121,35.7677419 17.7828121,35.7677419 C17.8215546,35.8064516 17.8990396,35.8064516 17.9377822,35.8064516 C17.9377822,35.8064516 17.9377822,35.8064516 17.9377822,35.8064516 C17.9765247,35.8064516 18.0540097,35.8451613 18.0927522,35.8451613 C18.0927522,35.8451613 18.1314947,35.8451613 18.1314947,35.8451613 C18.1702372,35.8451613 18.2089797,35.8451613 18.2864647,35.883871 C18.3639498,35.883871 18.4026923,35.883871 18.4801773,35.883871 C18.5576623,35.883871 18.5964048,35.883871 18.6738898,35.883871 C18.7126324,35.883871 18.7513749,35.883871 18.8288599,35.8451613 C18.8288599,35.8451613 18.8676024,35.8451613 18.8676024,35.8451613 C18.9063449,35.8451613 18.9838299,35.8064516 19.0225724,35.8064516 C19.0225724,35.8064516 19.0225724,35.8064516 19.0225724,35.8064516 C19.0613149,35.8064516 19.1388,35.7677419 19.1775425,35.7290323 C19.1775425,35.7290323 19.1775425,35.7290323 19.1775425,35.7290323 C19.216285,35.6903226 19.29377,35.6903226 19.3325125,35.6516129 C19.3325125,35.6516129 19.3325125,35.6516129 19.3325125,35.6516129 C19.371255,35.6129032 19.4099975,35.6129032 19.44874,35.5741935 C19.44874,35.5741935 19.44874,35.5741935 19.4874826,35.5741935 C19.5262251,35.5354839 19.5649676,35.4967742 19.6037101,35.4967742 C19.6037101,35.4967742 19.6037101,35.4967742 19.6424526,35.4967742 C19.6811951,35.4580645 19.7199376,35.4193548 19.7974226,35.3806452 L27.5071821,27.6774194 C28.2432898,26.9419355 28.2432898,25.7419355 27.5071821,24.9677419 C26.7710744,24.2322581 25.5700566,24.2322581 24.7952064,24.9677419 L20.3785603,29.4193548 L20.3785603,20.0129032 L34.713289,20.0129032 C35.7593368,20.0129032 36.611672,19.1612903 36.611672,18.116129 C36.611672,8.28387097 28.4757449,0.309677419 18.4801773,0.309677419 Z M4.26167611,16.1806452 C5.23023886,9.40645161 11.2353279,4.14193548 18.4801773,4.14193548 C25.7250267,4.14193548 31.6913732,9.40645161 32.659936,16.1806452 L4.26167611,16.1806452 Z" id="Shape" fill="url(#linearGradient-1)" fill-rule="nonzero"></path>
<path d="M18.4801773,0.309677419 C8.4846097,0.309677419 0.34868259,8.28387097 0.34868259,18.0774194 C0.34868259,19.1225806 1.20101781,19.9741935 2.24706558,19.9741935 L16.5817943,19.9741935 L16.5817943,25.1612903 L16.5817943,25.1612903 L16.5817943,29.4193548 L12.1264056,25.0064516 C11.390298,24.2709677 10.1892801,24.2709677 9.41442994,25.0064516 C8.67832225,25.7419355 8.67832225,26.9419355 9.41442994,27.716129 L17.1241894,35.4193548 C17.162932,35.4580645 17.2016745,35.4967742 17.2791595,35.5354839 C17.2791595,35.5354839 17.2791595,35.5354839 17.317902,35.5354839 C17.3566445,35.5741935 17.395387,35.6129032 17.4341295,35.6129032 C17.4341295,35.6129032 17.4341295,35.6129032 17.472872,35.6129032 C17.5116145,35.6516129 17.5503571,35.6516129 17.5890996,35.6903226 C17.5890996,35.6903226 17.5890996,35.6903226 17.6278421,35.6903226 C17.6665846,35.7290323 17.7440696,35.7290323 17.7828121,35.7677419 C17.7828121,35.7677419 17.7828121,35.7677419 17.7828121,35.7677419 C17.8215546,35.8064516 17.8990396,35.8064516 17.9377822,35.8064516 C17.9377822,35.8064516 17.9377822,35.8064516 17.9377822,35.8064516 C17.9765247,35.8064516 18.0540097,35.8451613 18.0927522,35.8451613 C18.0927522,35.8451613 18.1314947,35.8451613 18.1314947,35.8451613 C18.1702372,35.8451613 18.2089797,35.8451613 18.2864647,35.883871 C18.3639498,35.883871 18.4026923,35.883871 18.4801773,35.883871 C18.5576623,35.883871 18.5964048,35.883871 18.6738898,35.883871 C18.7126324,35.883871 18.7513749,35.883871 18.8288599,35.8451613 C18.8288599,35.8451613 18.8676024,35.8451613 18.8676024,35.8451613 C18.9063449,35.8451613 18.9838299,35.8064516 19.0225724,35.8064516 C19.0225724,35.8064516 19.0225724,35.8064516 19.0225724,35.8064516 C19.0613149,35.8064516 19.1388,35.7677419 19.1775425,35.7290323 C19.1775425,35.7290323 19.1775425,35.7290323 19.1775425,35.7290323 C19.216285,35.6903226 19.29377,35.6903226 19.3325125,35.6516129 C19.3325125,35.6516129 19.3325125,35.6516129 19.3325125,35.6516129 C19.371255,35.6129032 19.4099975,35.6129032 19.44874,35.5741935 C19.44874,35.5741935 19.44874,35.5741935 19.4874826,35.5741935 C19.5262251,35.5354839 19.5649676,35.4967742 19.6037101,35.4967742 C19.6037101,35.4967742 19.6037101,35.4967742 19.6424526,35.4967742 C19.6811951,35.4580645 19.7199376,35.4193548 19.7974226,35.3806452 L27.5071821,27.6774194 C28.2432898,26.9419355 28.2432898,25.7419355 27.5071821,24.9677419 C26.7710744,24.2322581 25.5700566,24.2322581 24.7952064,24.9677419 L20.3785603,29.4193548 L20.3785603,20.0129032 L34.713289,20.0129032 C35.7593368,20.0129032 36.611672,19.1612903 36.611672,18.116129 C36.611672,8.28387097 28.4757449,0.309677419 18.4801773,0.309677419 Z M4.26167611,16.1806452 C5.23023886,9.40645161 11.2353279,4.14193548 18.4801773,4.14193548 C25.7250267,4.14193548 31.6913732,9.40645161 32.659936,16.1806452 L4.26167611,16.1806452 Z" id="Shape" fill="url(#linearGradient-2)" fill-rule="nonzero"></path>
<path d="M20.3785603,4.25806452 C26.7323319,5.10967742 31.7688582,9.98709677 32.659936,16.1806452 L24.2140688,16.1806452 C22.1219732,16.1806452 20.4173028,17.883871 20.4173028,19.9741935 L20.4173028,19.9741935 L34.713289,19.9741935 C35.7593368,19.9741935 36.611672,19.1225806 36.611672,18.0774194 C36.611672,11.3032258 31.8076008,7.97419355 27.7396372,6.07741935 C23.9816137,4.33548387 20.3785603,4.25806452 20.3785603,4.25806452 Z" id="Path" fill="url(#linearGradient-3)"></path>
<path d="M32.582451,15.7548387 C33.8609538,16.8 35.1781991,17.8064516 36.4179595,18.8903226 C36.534187,18.6580645 36.611672,18.3870968 36.611672,18.0774194 C36.611672,11.3032258 31.8076008,7.97419355 27.7396372,6.07741935 C23.9816137,4.33548387 20.3785603,4.25806452 20.3785603,4.25806452 C26.5773619,5.07096774 31.5364032,9.79354839 32.582451,15.7548387 Z" id="Path" fill="url(#linearGradient-4)"></path>
</g>
<path d="M32.3499959,16.1806452 L24.2140688,16.1806452 C22.1219732,16.1806452 20.4173028,17.883871 20.4173028,19.9741935 L34.713289,19.9741935 C35.2944267,19.9741935 35.8368218,19.7032258 36.1855044,19.2774194 C34.9070016,18.2322581 33.6284987,17.2258065 32.3499959,16.1806452 Z" id="Path" fill="url(#linearGradient-5)" opacity="0.9"></path>
</g>
<g id="Group" transform="translate(50.365263, 8.129032)" fill="#220033">
<polygon id="Path" points="0.30994008 1.74193548 11.6614955 1.74193548 11.6614955 4.99354839 3.71928097 4.99354839 3.71928097 9.09677419 11.6614955 9.09677419 11.6614955 12.2709677 3.71928097 12.2709677 3.71928097 19.3935484 0.27119757 19.3935484 0.27119757 1.74193548"></polygon>
<path d="M13.7535911,2.67096774 C13.7535911,2.0516129 13.9473036,1.50967742 14.3734712,1.12258065 C14.7608963,0.696774194 15.3032915,0.503225806 15.8844291,0.503225806 C16.5430518,0.503225806 17.0467044,0.696774194 17.4341295,1.12258065 C17.8215546,1.5483871 18.0152672,2.0516129 18.0152672,2.67096774 C18.0152672,3.29032258 17.8215546,3.79354839 17.4341295,4.18064516 C17.0467044,4.56774194 16.5043093,4.8 15.8844291,4.8 C15.264549,4.8 14.7608963,4.60645161 14.3347287,4.18064516 C13.9473036,3.79354839 13.7535911,3.2516129 13.7535911,2.67096774 Z M14.1797587,6.3483871 L17.5890996,6.3483871 L17.5890996,19.3935484 L14.1797587,19.3935484 L14.1797587,6.3483871 Z" id="Shape" fill-rule="nonzero"></path>
<path d="M20.2623328,6.3483871 L23.5554461,6.3483871 L23.5554461,8.36129032 C23.8653862,7.58709677 24.3302963,7.00645161 24.988919,6.65806452 C25.6087991,6.30967742 26.3449068,6.11612903 27.1584995,6.11612903 C27.5846672,6.11612903 28.0108348,6.15483871 28.3982599,6.27096774 C28.785685,6.3483871 29.0956251,6.50322581 29.3668226,6.61935484 L28.1658048,9.90967742 C27.9720923,9.79354839 27.7396372,9.67741935 27.4296971,9.6 C27.119757,9.52258065 26.7710744,9.48387097 26.4223919,9.48387097 C25.5700566,9.48387097 24.8726915,9.71612903 24.3690388,10.1806452 C23.8653862,10.6451613 23.5941886,11.4580645 23.5941886,12.5419355 L23.5941886,19.4322581 L20.2623328,19.4322581 L20.2623328,6.3483871 L20.2623328,6.3483871 Z" id="Path"></path>
<path d="M36.4954445,19.6645161 C35.4493967,19.6645161 34.4808339,19.5096774 33.6284987,19.1612903 C32.7761635,18.8129032 32.0400558,18.3483871 31.4589182,17.7290323 C30.839038,17.1096774 30.3741279,16.4129032 30.0641878,15.5612903 C29.7542477,14.7483871 29.5992777,13.8580645 29.5992777,12.8903226 C29.5992777,11.9225806 29.7542477,11.0322581 30.1029303,10.2193548 C30.4516129,9.40645161 30.916523,8.67096774 31.5364032,8.0516129 C32.1562833,7.43225806 32.892391,6.96774194 33.7059837,6.61935484 C34.558319,6.27096774 35.4493967,6.07741935 36.4179595,6.07741935 C37.3865222,6.07741935 38.3163424,6.23225806 39.1299352,6.58064516 C39.9435279,6.92903226 40.6796356,7.39354839 41.2607732,7.97419355 C41.8419109,8.55483871 42.306821,9.2516129 42.6555036,10.1032258 C43.0041862,10.916129 43.1591562,11.8064516 43.1591562,12.7741935 L43.1591562,14.0129032 L32.7761635,14.0129032 C33.0086186,14.8645161 33.4347862,15.5225806 34.0934088,16.0258065 C34.7520315,16.5290323 35.5656242,16.7612903 36.534187,16.7612903 C37.3090372,16.7612903 37.9676599,16.6064516 38.510055,16.2967742 C39.0524501,15.9870968 39.4786177,15.5612903 39.7885578,15.0193548 L42.539276,16.6064516 C41.8806534,17.5354839 41.0670607,18.2709677 40.1372404,18.8129032 C39.1299352,19.3548387 37.9289173,19.6645161 36.4954445,19.6645161 Z M36.4179595,8.90322581 C35.5656242,8.90322581 34.8295165,9.13548387 34.2096364,9.56129032 C33.5897562,10.0258065 33.1635886,10.6064516 32.892391,11.3806452 L39.8660428,11.3806452 C39.6335878,10.5677419 39.2461627,9.9483871 38.6262825,9.52258065 C38.0064024,9.09677419 37.2702947,8.90322581 36.4179595,8.90322581 Z" id="Shape" fill-rule="nonzero"></path>
<path d="M44.127719,6.3483871 L46.2972995,6.3483871 L46.2972995,5.88387097 C46.2972995,4.83870968 46.3747845,3.9483871 46.5684971,3.21290323 C46.7622096,2.51612903 47.0721497,1.93548387 47.4983173,1.50967742 C47.9244849,1.08387097 48.5056226,0.774193548 49.2029878,0.619354839 C49.9390955,0.425806452 50.8301732,0.348387097 51.876221,0.348387097 L52.7285562,0.348387097 L52.7285562,3.40645161 L52.186161,3.40645161 C51.6050234,3.40645161 51.1401133,3.44516129 50.7914307,3.48387097 C50.4427481,3.52258065 50.1715505,3.63870968 50.0165805,3.83225806 C49.8228679,3.98709677 49.7066404,4.21935484 49.6678979,4.52903226 C49.6291554,4.83870968 49.5904129,5.22580645 49.5904129,5.72903226 L49.5904129,6.3483871 L52.7285562,6.3483871 L52.7285562,9.32903226 L49.5904129,9.32903226 L49.5904129,19.3935484 L46.258557,19.3935484 L46.258557,9.32903226 L44.0889764,9.32903226 L44.0889764,6.3483871 L44.127719,6.3483871 Z" id="Path"></path>
<path d="M60.3995732,19.6645161 C59.4310104,19.6645161 58.5011902,19.4709677 57.648855,19.1225806 C56.7965197,18.7741935 56.0991546,18.2709677 55.4792744,17.6516129 C54.8593942,17.0322581 54.3557416,16.2967742 54.0458015,15.483871 C53.6971189,14.6709677 53.5421489,13.7806452 53.5421489,12.8516129 C53.5421489,11.9225806 53.6971189,11.0322581 54.0458015,10.2193548 C54.3944841,9.40645161 54.8593942,8.67096774 55.4792744,8.0516129 C56.0991546,7.43225806 56.8352623,6.96774194 57.648855,6.61935484 C58.5011902,6.27096774 59.3922679,6.07741935 60.3995732,6.07741935 C61.3681359,6.07741935 62.2592137,6.27096774 63.1115489,6.61935484 C63.9638841,6.96774194 64.6999918,7.47096774 65.319872,8.0516129 C65.9397521,8.67096774 66.4434047,9.36774194 66.7920873,10.2193548 C67.1407699,11.0322581 67.3344825,11.9225806 67.3344825,12.8516129 C67.3344825,13.7806452 67.1407699,14.6709677 66.7920873,15.483871 C66.4434047,16.2967742 65.9397521,17.0322581 65.3586145,17.6516129 C64.7387343,18.2709677 64.0026266,18.7741935 63.1890339,19.1225806 C62.2979562,19.4709677 61.4068784,19.6645161 60.3995732,19.6645161 Z M60.4383157,16.4903226 C60.9419683,16.4903226 61.4068784,16.4129032 61.833046,16.2193548 C62.2592137,16.0258065 62.6466388,15.7548387 62.9565788,15.4451613 C63.2665189,15.1354839 63.5377165,14.7483871 63.731429,14.283871 C63.9251416,13.8580645 64.0026266,13.3548387 64.0026266,12.8516129 C64.0026266,12.3483871 63.9251416,11.883871 63.731429,11.4193548 C63.5377165,10.9548387 63.3052614,10.5677419 62.9565788,10.2580645 C62.6466388,9.9483871 62.2592137,9.67741935 61.833046,9.48387097 C61.4068784,9.29032258 60.9419683,9.21290323 60.4383157,9.21290323 C59.9346631,9.21290323 59.4697529,9.29032258 59.0435853,9.48387097 C58.6174177,9.67741935 58.2299926,9.9483871 57.9200525,10.2580645 C57.6101125,10.5677419 57.3389149,10.9548387 57.1452023,11.4193548 C56.9514898,11.883871 56.8740048,12.3483871 56.8740048,12.8516129 C56.8740048,13.3548387 56.9514898,13.8580645 57.1452023,14.283871 C57.3389149,14.7096774 57.5713699,15.0967742 57.9200525,15.4451613 C58.2299926,15.7548387 58.6174177,16.0258065 59.0435853,16.2193548 C59.4697529,16.3741935 59.9346631,16.4903226 60.4383157,16.4903226 Z" id="Shape" fill-rule="nonzero"></path>
<polygon id="Path" points="72.3322663 12.6967742 67.7219076 6.3483871 71.6736436 6.3483871 74.4243618 10.2193548 77.17508 6.3483871 81.0880735 6.3483871 76.4389723 12.7354839 81.4367561 19.3935484 77.4075351 19.3935484 74.3856193 15.2903226 71.4411885 19.3935484 67.4119675 19.3935484"></polygon>
<g transform="translate(89.107773, 0.000000)">
<path d="M7.78724452,19.6258065 C6.00508906,19.6258065 4.49413117,19.2774194 3.25437084,18.6193548 C2.01461052,17.9612903 1.00730526,17.0709677 0.15497004,15.9483871 L1.89838299,14.5548387 C3.25437084,16.683871 5.19149635,17.7290323 7.7097595,17.7290323 C9.06574735,17.7290323 10.1117951,17.4193548 10.8479028,16.8 C11.545268,16.1806452 11.8939506,15.3677419 11.8939506,14.4 C11.8939506,13.8193548 11.7389805,13.3548387 11.467783,12.9677419 C11.1965854,12.5806452 10.8091603,12.3096774 10.3055077,12.0387097 C9.84059755,11.8064516 9.29820241,11.6129032 8.67832225,11.4580645 C8.05844209,11.3032258 7.39981942,11.1870968 6.74119675,11.0322581 C6.04383157,10.8774194 5.3852089,10.7225806 4.68784372,10.5290323 C4.02922105,10.3354839 3.40934088,10.0645161 2.90568825,9.75483871 C2.40203562,9.44516129 1.9371255,8.98064516 1.62718542,8.43870968 C1.27850283,7.89677419 1.12353279,7.2 1.12353279,6.3483871 C1.12353279,5.69032258 1.27850283,5.03225806 1.5497004,4.4516129 C1.82089797,3.87096774 2.24706558,3.32903226 2.75071821,2.90322581 C3.29311335,2.47741935 3.91299352,2.12903226 4.6103587,1.85806452 C5.34646639,1.58709677 6.1600591,1.47096774 7.05113683,1.47096774 C8.60083723,1.47096774 9.87934006,1.74193548 10.9253878,2.32258065 C11.9714356,2.90322581 12.9012558,3.63870968 13.676106,4.60645161 L12.0489206,5.88387097 C11.5065255,5.07096774 10.8479028,4.4516129 10.0730526,3.98709677 C9.29820241,3.52258065 8.29089715,3.29032258 7.08987934,3.29032258 C5.73389149,3.29032258 4.76532874,3.56129032 4.14544858,4.14193548 C3.52556842,4.72258065 3.21562833,5.41935484 3.21562833,6.30967742 C3.21562833,6.8516129 3.33185586,7.27741935 3.56431093,7.58709677 C3.79676599,7.93548387 4.14544858,8.20645161 4.57161619,8.4 C4.9977838,8.59354839 5.50143643,8.78709677 6.04383157,8.90322581 C6.62496922,9.01935484 7.20610687,9.17419355 7.86472954,9.32903226 C8.56209472,9.48387097 9.2594599,9.63870968 9.99556759,9.83225806 C10.7316753,10.0258065 11.390298,10.2967742 11.9714356,10.683871 C12.5525733,11.0322581 13.0562259,11.5354839 13.4049085,12.116129 C13.7923336,12.6967742 13.9860461,13.4322581 13.9860461,14.3612903 C13.9860461,15.0580645 13.8310761,15.716129 13.5598785,16.3354839 C13.2886809,16.9548387 12.8625133,17.5354839 12.3201182,18 C11.7777231,18.4645161 11.1578429,18.8516129 10.3829927,19.1612903 C9.60814249,19.4709677 8.75580727,19.6258065 7.78724452,19.6258065 Z" id="Path"></path>
<path d="M23.4779611,19.6645161 C22.4319133,19.6645161 21.5020931,19.5096774 20.6497579,19.1612903 C19.7974226,18.8129032 19.0613149,18.3483871 18.4801773,17.7290323 C17.8602971,17.1096774 17.395387,16.4129032 17.0854469,15.6 C16.7755069,14.7870968 16.6205368,13.8967742 16.6205368,12.9290323 C16.6205368,11.9612903 16.7755069,11.0709677 17.1241894,10.2193548 C17.472872,9.40645161 17.9377822,8.67096774 18.5576623,8.0516129 C19.1775425,7.43225806 19.8749077,6.96774194 20.7272429,6.61935484 C21.5408356,6.27096774 22.4706558,6.07741935 23.4392186,6.07741935 C24.4077813,6.07741935 25.2601166,6.23225806 26.0737093,6.58064516 C26.887302,6.92903226 27.5846672,7.35483871 28.1658048,7.97419355 C28.7469425,8.55483871 29.2118526,9.2516129 29.5605352,10.0645161 C29.9092178,10.8774194 30.0641878,11.7677419 30.0641878,12.7354839 L30.0641878,13.6258065 L18.5189198,13.6258065 C18.5964048,14.2451613 18.7513749,14.8258065 19.0225724,15.3290323 C19.29377,15.8322581 19.6424526,16.2967742 20.0686202,16.683871 C20.4947878,17.0709677 20.9984404,17.3419355 21.5795781,17.5741935 C22.1607158,17.7677419 22.7805959,17.883871 23.4779611,17.883871 C24.5240089,17.883871 25.4150866,17.6516129 26.1124518,17.2258065 C26.809817,16.8 27.3909546,16.1806452 27.8558647,15.3677419 L29.5605352,16.3741935 C28.9019125,17.4193548 28.0495773,18.2322581 27.0810145,18.8129032 C26.1124518,19.3935484 24.9501765,19.6645161 23.4779611,19.6645161 Z M23.4392186,7.81935484 C22.8193384,7.81935484 22.2382008,7.93548387 21.6958056,8.12903226 C21.1534105,8.32258065 20.6885004,8.59354839 20.2623328,8.98064516 C19.8361651,9.32903226 19.4874826,9.75483871 19.216285,10.2580645 C18.9450874,10.7612903 18.7513749,11.3032258 18.6351473,11.883871 L28.0883198,11.883871 C27.9333497,10.6451613 27.4296971,9.67741935 26.6161044,8.94193548 C25.7637692,8.20645161 24.6789789,7.81935484 23.4392186,7.81935484 Z" id="Shape" fill-rule="nonzero"></path>
<path d="M33.0473611,6.3483871 L34.9844866,6.3483871 L34.9844866,8.51612903 C35.4493967,7.78064516 36.0692769,7.2 36.8441271,6.73548387 C37.6189773,6.27096774 38.510055,6.07741935 39.5561028,6.07741935 C40.408438,6.07741935 41.1832882,6.19354839 41.8806534,6.46451613 C42.5780186,6.73548387 43.1591562,7.12258065 43.6240663,7.62580645 C44.0889764,8.12903226 44.4764015,8.7483871 44.7475991,9.48387097 C45.0187967,10.2193548 45.1350242,11.0322581 45.1350242,11.9612903 L45.1350242,19.3935484 L43.1204137,19.3935484 L43.1204137,12.0387097 C43.1204137,10.7612903 42.7717311,9.75483871 42.1131084,8.98064516 C41.4544858,8.20645161 40.4471805,7.85806452 39.1686777,7.85806452 C38.58754,7.85806452 38.0451449,7.97419355 37.5414922,8.16774194 C37.0378396,8.36129032 36.611672,8.67096774 36.2242469,9.05806452 C35.8368218,9.44516129 35.5656242,9.87096774 35.3719117,10.4129032 C35.1781991,10.9548387 35.0619716,11.4967742 35.0619716,12.1548387 L35.0619716,19.3935484 L33.0861036,19.3935484 L33.0861036,6.3483871 L33.0473611,6.3483871 Z" id="Path"></path>
<path d="M54.5881967,19.6645161 C53.6583764,19.6645161 52.8060412,19.5096774 51.9924485,19.1612903 C51.1788558,18.8129032 50.4814906,18.3483871 49.8616104,17.7677419 C49.2804728,17.1483871 48.7768202,16.4516129 48.4281376,15.6 C48.079455,14.7870968 47.9244849,13.8580645 47.9244849,12.8516129 C47.9244849,11.8451613 48.079455,10.9548387 48.4281376,10.1032258 C48.7768202,9.29032258 49.2417303,8.55483871 49.8616104,7.93548387 C50.4814906,7.31612903 51.1788558,6.8516129 51.9924485,6.54193548 C52.8060412,6.19354839 53.6583764,6.03870968 54.5881967,6.03870968 C55.0531068,6.03870968 55.5180169,6.07741935 56.0216695,6.19354839 C56.4865797,6.30967742 56.9514898,6.46451613 57.3776574,6.69677419 C57.803825,6.92903226 58.1912501,7.16129032 58.5786752,7.50967742 C58.9273578,7.81935484 59.2372979,8.16774194 59.5084954,8.59354839 L59.5084954,0.309677419 L61.4843635,0.309677419 L61.4843635,19.3548387 L59.5084954,19.3548387 L59.5084954,17.0322581 C59.2372979,17.4193548 58.9273578,17.8064516 58.5786752,18.116129 C58.2299926,18.4258065 57.803825,18.6967742 57.3776574,18.9290323 C56.9514898,19.1612903 56.4865797,19.316129 56.0216695,19.4322581 C55.5180169,19.5870968 55.0531068,19.6645161 54.5881967,19.6645161 Z M54.7431667,17.7677419 C55.4405319,17.7677419 56.0991546,17.6516129 56.6802922,17.3806452 C57.2614299,17.1096774 57.803825,16.7612903 58.2299926,16.3354839 C58.6561602,15.9096774 59.0048428,15.3677419 59.2372979,14.7483871 C59.4697529,14.1290323 59.5859805,13.5096774 59.5859805,12.8129032 C59.5859805,12.1548387 59.4697529,11.4967742 59.2372979,10.8774194 C59.0048428,10.2580645 58.6561602,9.75483871 58.2299926,9.29032258 C57.803825,8.86451613 57.2614299,8.47741935 56.6802922,8.24516129 C56.0991546,7.97419355 55.4405319,7.85806452 54.7431667,7.85806452 C54.084544,7.85806452 53.4259214,7.97419355 52.8447837,8.24516129 C52.2636461,8.51612903 51.7599934,8.86451613 51.2950833,9.29032258 C50.8689157,9.71612903 50.5202331,10.2580645 50.2877781,10.8774194 C50.055323,11.4967742 49.9390955,12.116129 49.9390955,12.8129032 C49.9390955,13.5096774 50.055323,14.1677419 50.2877781,14.7870968 C50.5202331,15.4064516 50.8689157,15.9096774 51.2950833,16.3741935 C51.7212509,16.8 52.2249036,17.1483871 52.8447837,17.4193548 C53.4646639,17.6516129 54.084544,17.7677419 54.7431667,17.7677419 Z" id="Shape" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 25 KiB

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

After

Width:  |  Height:  |  Size: 12 KiB

+1 -4
View File
@@ -1,8 +1,5 @@
<?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">
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
<title>37845F0A-2932-4C2D-98E1-89BE1B168092</title>
<desc>Created with sketchtool.</desc>
<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>
</defs>
@@ -14,7 +11,7 @@
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</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>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

+2 -1
View File
@@ -1,4 +1,5 @@
<!-- 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
- 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
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

+2 -2
View File
@@ -1,8 +1,8 @@
# 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
+9 -1
View File
@@ -1,6 +1,14 @@
const commit = require('git-rev-sync').short();
const gitRevSync = require('git-rev-sync');
const pkg = require('../package.json');
let commit = 'unknown';
try {
commit = gitRevSync.short();
} catch (e) {
console.warn('Error fetching current git commit: ' + e);
}
const version = JSON.stringify({
commit,
source: pkg.homepage,
+1 -1
View File
@@ -1,4 +1,4 @@
const genmap = require('../build/generate_asset_map');
const genmap = require('./generate_asset_map');
const isServer = typeof genmap === 'function';
let prefix = '';
let manifest = {};
+4
View File
@@ -1,3 +1,7 @@
# 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`).
## 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.
+3 -3
View File
@@ -21,7 +21,7 @@ Adapted from [this spreadsheet](https://airtable.com/shrkcBPOLkvNFOrpp)
- [ ] It should allow users to select and send multiple files in one URL
- [ ] It should limit the sendable file size to 1GB
- [ ] It should allow users to set an expiration time of 5 minutes, 1 hour, or 24 hours
- [ ] It should allow users to set an download count of 1 downloads
- [ ] It should allow users to set a download count of 1 downloads
### Authenticated Users
- [ ] It should indicate that the user is signed in via Firefox Account
@@ -63,8 +63,8 @@ This document tracks differences between the UX spec for Firefox Send and the in
[Spec Link](https://mozilla.invisionapp.com/share/GNN6KKOQ5XS)
* 1.1: Spec describes toolbar which may not be possible given the application framework we're using. In particular, issues with the spec include the color, logo and different font weights may be at issue.
* 1.2: Spec's treatment of FxA UI may be difficult to match. We should use the default OAuth implementation and re-evaluate UX once we see an implementation demo. Also, the landing page UI should display a log-in CTA directly and not require users click into the the hamburger menu.
* 1.1: Spec describes toolbar which may not be possible given the application framework we're using. In particular, issues with the spec include the color, logo and different font weights may be an issue.
* 1.2: Spec's treatment of FxA UI may be difficult to match. We should use the default OAuth implementation and re-evaluate UX once we see an implementation demo. Also, the landing page UI should display a log-in CTA directly and not require users click into the hamburger menu.
* 2.1: MVP will only include file picker. Signed in users will be able to select multiple files. File selection flow will be Android-native. Probably don't have the ability to add notifications as in the last screen on this page.
* 2.1: @fzzzy will provide screenshots of this flow for UX evaluation and comment.
* 3.1.4: The spec shows deleting the last item in an unshared set returning the user to the picker menu. Instead, it should return to the app home page.
+68
View File
@@ -0,0 +1,68 @@
## Requirements
This document describes how to do a full deployment of Firefox Send on your own Linux server. You will need:
* A working (and ideally somewhat recent) installation of NodeJS and NPM
* GIT
* An Apache webserver
* Optionally telnet, to be able to quickly check your installation
For Debian/Ubuntu systems this probably just means something like this:
* apt install git apache2 nodejs npm telnet
## Building
* We assume an already configured virtual-host on your webserver with an existing empty htdocs folder
* First, remove that htdocs folder - we will replace it with Firefox Send's version now
* git clone https://github.com/mozilla/send.git htdocs
* Make now sure you are NOT root but rather the user your webserver is serving files under (e.g. "su www-data" or whoever the owner of your htdocs folder is)
* npm install
* npm run build
## Running
To have a permanently running version of Firefox Send as a background process:
* Create a file "run.sh" with:
```
#!/bin/bash
nohup su www-data -c "npm run prod" 2>/dev/null &
```
* chmod +x run.sh
* ./run.sh
Now the Firefox Send backend should be running on port 1443. You can check with:
* telnet localhost 1443
## Reverse Proxy
Of course, we don't want to expose the service on port 1443. Instead we want our normal webserver to forward all requests to Firefox send ("Reverse proxy").
# Apache webserver
* a2enmod proxy
* a2enmod proxy_http
* a2enmod proxy_wstunnel
In your Apache virtual host configuration file, insert this:
```
# Enable rewrite engine
RewriteEngine on
# Make sure the original domain name is forwarded to Send
# Otherwise the generated URLs will be wrong
ProxyPreserveHost on
# Make sure the generated URL is https://
RequestHeader set X-Forwarded-Proto https
# If it's a normal file (e.g. PNG, CSS) just return it
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
# If it's a websocket connection, redirect it to a Send WS connection
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:1443/$1 [P,L]
# Otherwise redirect it to a normal HTTP connection
RewriteRule ^/(.*)$ http://127.0.0.1:1443/$1 [P,QSA]
ProxyPassReverse "/" "http://127.0.0.1:1443"
```
+3 -8
View File
@@ -1,13 +1,6 @@
## Setup
Before building the Docker image, you must build the production assets:
```sh
npm run build
```
Then you can run either `docker build` or `docker-compose up`.
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.*
## Environment variables:
@@ -20,6 +13,7 @@ Then you can run either `docker build` or `docker-compose up`.
| `SENTRY_DSN` | Sentry DSN
| `MAX_FILE_SIZE` | in bytes (defaults to 2147483648)
| `NODE_ENV` | "production"
| `BASE_URL` | The HTTPS URL where traffic will be served (e.g. `https://send.firefox.com`)
## Example:
@@ -29,5 +23,6 @@ $ docker run --net=host -e 'NODE_ENV=production' \
-e 'REDIS_HOST=dyf9s2r4vo3.bolxr4.0001.usw2.cache.amazonaws.com' \
-e 'SENTRY_CLIENT=https://51e23d7263e348a7a3b90a5357c61cb2@sentry.prod.mozaws.net/168' \
-e 'SENTRY_DSN=https://51e23d7263e348a7a3b90a5357c61cb2:65e23d7263e348a7a3b90a5357c61c44@sentry.prod.mozaws.net/168' \
-e 'BASE_URL=https://send.firefox.com' \
mozilla/send:latest
```
+3 -3
View File
@@ -7,8 +7,8 @@ Send use 128-bit AES-GCM encryption via the [Web Crypto API](https://developer.m
### Uploading
1. A new secret key is generated with `crypto.getRandomValues`
2. The secret key is used to derive 3 more keys via HKDF SHA-256
- an encryption key for the file (AES-GCM)
2. The secret key is used to derive more keys via HKDF SHA-256
- a series of encryption keys for the file, via [ECE](https://tools.ietf.org/html/rfc8188) (AES-GCM)
- an encryption key for the file metadata (AES-GCM)
- a signing key for request authentication (HMAC SHA-256)
3. The file and metadata are encrypted with their corresponding keys
@@ -21,7 +21,7 @@ Send use 128-bit AES-GCM encryption via the [Web Crypto API](https://developer.m
1. The browser loads the share url page, which includes an authentication nonce
2. The browser imports the secret key from the url fragment
3. The same 3 keys as above are derived
4. The browser signs the nonce with it's signing key and requests the metadata
4. The browser signs the nonce with its signing key and requests the metadata
5. The encrypted metadata is decrypted and presented on the page
6. The browser makes another authenticated request to download the encrypted file
7. The browser downloads and decrypts the file
+1 -1
View File
@@ -1,6 +1,6 @@
## How big of a file can I transfer with Firefox Send?
There is a 2GB file size limit built in to Send, however, in practice you may
There is a 2.5GB file size limit built in to Send(1GB for non-signed in users), however, in practice you may
be unable to send files that large. Send encrypts and decrypts the files in
the browser which is great for security but will tax your system resources. In
particular you can expect to see your memory usage go up by at least the size
+1
View File
@@ -68,6 +68,7 @@ Server events allow us to aggregate data about file lifecycle without collecting
* `event_properties`
* `download_count` downloads completed
* `ttl` time remaining before expiry truncated to hour
* `agent` the browser name or first 6 characters of the user agent that made the request
### Client Events
+7099 -7299
View File
File diff suppressed because it is too large Load Diff
+102 -69
View File
@@ -1,7 +1,7 @@
{
"name": "firefox-send",
"description": "File Sharing Experiment",
"version": "3.0.2",
"version": "3.0.22",
"author": "Mozilla (https://mozilla.org)",
"repository": "mozilla/send",
"homepage": "https://github.com/mozilla/send/",
@@ -26,8 +26,8 @@
"test:frontend": "cross-env NODE_ENV=development node test/frontend/runner.js",
"test:report": "nyc report --reporter=html",
"test-integration": "cross-env NODE_ENV=development wdio test/wdio.docker.conf.js",
"circleci-test-integration": "cross-env NODE_ENV=development wdio test/wdio.circleci.conf.js",
"start": "npm run clean && cross-env NODE_ENV=development FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost:8080 webpack-dev-server --mode=development",
"circleci-test-integration": "echo 'webdriverio tests need to be updated to node 12'",
"start": "npm run clean && cross-env NODE_ENV=development L10N_DEV=true FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost:8080 webpack-dev-server --mode=development",
"android": "cross-env ANDROID=1 npm start",
"prod": "node server/bin/prod.js"
},
@@ -35,7 +35,8 @@
"hooks": {
"pre-commit": "lint-staged",
"pre-push": "npm test",
"post-merge": "npm install"
"post-merge": "npm install",
"post-checkout": "scripts/sync-npm-dependencies.sh"
}
},
"lint-staged": {
@@ -57,138 +58,170 @@
"cache": true
},
"engines": {
"node": ">=10.0.0"
"node": "^12.16.3"
},
"devDependencies": {
"@babel/core": "^7.3.4",
"@babel/plugin-proposal-class-properties": "^7.3.4",
"@babel/core": "^7.7.2",
"@babel/plugin-proposal-class-properties": "^7.7.0",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "^7.3.4",
"@dannycoates/webcrypto-liner": "^0.1.34",
"@dannycoates/webpack-dev-server": "^3.1.4",
"@fullhuman/postcss-purgecss": "^1.1.0",
"@babel/preset-env": "^7.7.1",
"@dannycoates/webcrypto-liner": "^0.1.37",
"@fullhuman/postcss-purgecss": "^1.3.0",
"@mattiasbuelens/web-streams-polyfill": "0.2.1",
"@sentry/browser": "^5.8.0",
"asmcrypto.js": "^0.22.0",
"babel-loader": "^8.0.5",
"babel-plugin-istanbul": "^5.1.1",
"base64-js": "^1.3.0",
"babel-loader": "^8.0.6",
"babel-plugin-istanbul": "^5.2.0",
"base64-js": "^1.3.1",
"content-disposition": "^0.5.3",
"copy-webpack-plugin": "^5.0.0",
"core-js": "^2.6.5",
"copy-webpack-plugin": "^5.0.5",
"core-js": "^3.4.0",
"crc": "^3.8.0",
"cross-env": "^5.2.0",
"css-loader": "^2.1.1",
"cross-env": "^6.0.3",
"css-loader": "^3.2.0",
"css-mqpacker": "^7.0.0",
"cssnano": "^4.1.10",
"eslint": "^5.15.1",
"eslint-plugin-mocha": "^5.3.0",
"eslint-plugin-node": "^8.0.1",
"eslint": "^6.6.0",
"eslint-config-prettier": "^6.5.0",
"eslint-plugin-mocha": "^6.2.1",
"eslint-plugin-node": "^10.0.0",
"eslint-plugin-security": "^1.4.0",
"expose-loader": "^0.7.5",
"extract-loader": "^3.1.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fast-text-encoding": "^1.0.0",
"file-loader": "^3.0.1",
"fluent-intl-polyfill": "^0.1.0",
"file-loader": "^4.2.0",
"git-rev-sync": "^1.12.0",
"html-loader": "^0.5.5",
"http_ece": "^1.1.0",
"husky": "^1.3.1",
"lint-staged": "^8.1.5",
"mocha": "^6.0.2",
"husky": "^3.0.9",
"intl-pluralrules": "^1.1.1",
"lint-staged": "^9.4.2",
"mocha": "^6.2.2",
"morgan": "^1.9.1",
"nanobus": "^4.4.0",
"nanohtml": "^1.4.0",
"nanohtml": "^1.9.0",
"nanotiming": "^7.3.1",
"npm-run-all": "^4.1.5",
"nyc": "^13.3.0",
"nyc": "^14.1.1",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.6.0",
"prettier": "^1.16.4",
"proxyquire": "^2.1.0",
"puppeteer": "1.11.0",
"raven-js": "^3.27.0",
"raw-loader": "^1.0.0",
"redis-mock": "^0.43.0",
"rimraf": "^2.6.3",
"postcss-preset-env": "^6.7.0",
"prettier": "^1.19.1",
"proxyquire": "^2.1.3",
"puppeteer": "^2.0.0",
"raw-loader": "^3.1.0",
"redis-mock": "^0.47.0",
"rimraf": "^3.0.0",
"script-loader": "^0.7.2",
"sinon": "^7.2.7",
"sinon": "^7.5.0",
"string-hash": "^1.1.3",
"stylelint": "^9.10.1",
"stylelint-config-standard": "^18.2.0",
"stylelint": "^11.1.1",
"stylelint-config-standard": "^19.0.0",
"stylelint-no-unsupported-browser-features": "^3.0.2",
"svgo": "^1.2.0",
"svgo-loader": "^2.2.0",
"tailwindcss": "^0.7.4",
"svgo": "^1.3.2",
"svgo-loader": "^2.2.1",
"tailwindcss": "^1.1.3",
"val-loader": "^1.1.1",
"wdio-docker-service": "^1.4.2",
"wdio-dot-reporter": "0.0.10",
"wdio-firefox-profile-service": "^0.1.3",
"wdio-mocha-framework": "^0.6.3",
"wdio-sauce-service": "^0.4.14",
"wdio-spec-reporter": "^0.1.5",
"webdriverio": "^4.14.3",
"webpack": "4.28.4",
"webpack-cli": "^3.2.3",
"webpack-dev-middleware": "^3.6.1",
"webpack-manifest-plugin": "^2.0.4",
"webpack": "4.38.0",
"webpack-cli": "^3.3.10",
"webpack-dev-middleware": "^3.7.2",
"webpack-dev-server": "^3.9.0",
"webpack-manifest-plugin": "^2.2.0",
"webpack-unassert-loader": "^1.2.0"
},
"dependencies": {
"@google-cloud/storage": "^2.4.2",
"aws-sdk": "^2.417.0",
"body-parser": "^1.18.3",
"choo": "^6.12.1",
"cldr-core": "^34.0.0",
"convict": "^4.4.1",
"express": "^4.16.3",
"express-ws": "github:dannycoates/express-ws",
"fluent": "^0.11.0",
"fluent-langneg": "^0.1.1",
"@dannycoates/express-ws": "^5.0.3",
"@fluent/bundle": "^0.13.0",
"@fluent/langneg": "^0.3.0",
"@google-cloud/storage": "^4.1.1",
"@sentry/node": "^5.8.0",
"aws-sdk": "^2.568.0",
"body-parser": "^1.19.0",
"choo": "^7.0.0",
"cldr-core": "^35.1.0",
"configstore": "github:dannycoates/configstore#master",
"convict": "^5.2.0",
"express": "^4.17.1",
"fxa-geodb": "^1.0.4",
"helmet": "^3.15.1",
"helmet": "^3.21.2",
"mkdirp": "^0.5.1",
"mozlog": "^2.2.0",
"node-fetch": "^2.3.0",
"raven": "^2.6.4",
"node-fetch": "^2.6.0",
"redis": "^2.8.0",
"ua-parser-js": "^0.7.19",
"websocket-stream": "^5.1.2"
"selenium-standalone": "^6.15.6",
"ua-parser-js": "^0.7.20"
},
"availableLanguages": [
"en-US",
"bn-BD",
"an",
"ar",
"ast",
"azz",
"be",
"bn",
"br",
"ca",
"cak",
"cs",
"cy",
"da",
"de",
"dsb",
"el",
"en-CA",
"en-GB",
"es-AR",
"es-CL",
"es-ES",
"es-MX",
"et",
"eu",
"fa",
"fi",
"fr",
"fy-NL",
"gn",
"he",
"hr",
"hsb",
"hu",
"hus",
"hy-AM",
"ia",
"id",
"it",
"ja",
"ka",
"kab",
"ko",
"lt",
"meh",
"mix",
"ml",
"nb-NO",
"nl",
"nn-NO",
"oc",
"pa-IN",
"pl",
"ppl",
"pt-BR",
"pt-PT",
"quc",
"ro",
"ru",
"sk",
"sl",
"sq",
"sr",
"su",
"sv-SE",
"te",
"th",
"tr",
"uk",
"vi",
"zgh",
"zh-CN",
"zh-TW"
]
+1 -1
View File
@@ -6,7 +6,7 @@ class TailwindExtractor {
const options = {
plugins: [
require('tailwindcss')('./tailwind.js'),
require('tailwindcss')('./tailwind.config.js'),
require('postcss-preset-env')
]
};
+155
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] { $num } horas
}
copiedUrl = Copiau!
unlockInputPlaceholder = Clau
unlockButtonLabel = Desblocar
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Preba Firefox Send
errorPageHeader = I ha habiu bell problema!
fileTooBig = Ixe fichero ye masiau gran pa cargar-lo. Ha de tener menos de { $size }
linkExpiredAlt = Lo vinclo ye caducau
notSupportedHeader = Lo suyo navegador no ye compatible
notSupportedLink = Per qué no ye compatible lo mío navegador?
notSupportedOutdatedDetail = Esta versión de Firefox no admite la tecnolochía web con que funciona lo Firefox Send. Habrás d'esviellar lo navegador.
updateFirefox = Esviellar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Borrar
footerLinkLegal = Aviso legal
footerLinkPrivacy = Privacidat
footerLinkCookies = Cookies
passwordTryAgain = La contrasenya ye incorrecta. Torne-lo a intentar.
javascriptRequired = Firefox Send necesita JavaScript
whyJavascript = Per qué Firefox Send necesita JavaScript?
enableJavascript = Activa JavaScript y torna-lo a intentar.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } min
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } min
# A short status message shown when the user enters a long password
maxPasswordLength = Maxima lonchitut d'a clau: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = No s'ha puesto definir la clau
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartición de fichers simpla y privada
introDescription = { -send-brand } te permite de compartir fichers cifraus de cabo a cabo, y tamién un vinclo que expira automaticament. Asinas, puetz mantener en privau lo que compartes y asegurar-te de que los tuyos contenius no se quedan pa cutio en linia.
notifyUploadEncryptDone = Lo fichero s'ha cifrau y ye presto pa ninviar-se
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Caduca dimpués de { $downloadCount } u { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minuto
*[other] { $num } minutos
}
timespanDays =
{ $num ->
[one] 1 día
*[other] { $num } días
}
timespanWeeks =
{ $num ->
[one] 1 semana
*[other] { $num } semanas
}
fileCount =
{ $num ->
[one] 1 fichero
*[other] { $num } fichers
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Mida total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copiar lo vinclo que quiers compartir
copyLinkButton = Copiar lo vinclo
downloadTitle = Descargar los fichers
downloadDescription = Este fichero s'ha compartiu per medio de { -send-brand } con cifrau de cabo a cabo y un vinclo que caduca automaticament.
trySendDescription = Preba { -send-brand } pa una compartición de fichers simpla y segura.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Nomás se puet puyar 1 fitxer de vez.
*[other] Nomás se pueden puyar { $count } fichers de vez.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Nomás se permite 1 ficher.
*[other] Nomás se permiten { $count } fichers.
}
expiredTitle = Este vinclo ye caducau.
notSupportedDescription = { -send-brand } no funcionará con este navegador. { -send-short-brand } funciona millor con a zaguera versión de { -firefox } y funcionará con a versión mas recient d'a mayor parte de navegadors.
downloadFirefox = Descargar { -firefox }
legalTitle = Aviso de privacidat de { -send-short-brand }
legalDateStamp = Versió 1.0, con data d'o 12 de marzo de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } d { $hours } h { $minutes } min
addFilesButton = Triar los fichers a cargar
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
+136 -74
View File
@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = فَيَرفُكس سِنْد
siteSubtitle = تجربة وِبّيّة
siteFeedback = الانطباعات
uploadPageHeader = شارِك ملفاتك بخصوصية وتعمية
uploadPageExplainer = أرسل الملفات عبر رابط آمن خاص ومعمّى تنتهي صلاحيته تلقائيا لتضمن عدم بقاء ما ترسله إلى الأبد.
uploadPageLearnMore = اطّلع على المزيد
uploadPageDropMessage = أسقِط ملفّك هنا لبدء الرفع
uploadPageSizeMessage = لتتحصل على أفضل تجربة، من المستحسن أن يكون الملف أصغر من 1 غ.بايت
uploadPageBrowseButton = اختر ملفًا على حاسوبك
uploadPageBrowseButton1 = اختر ملفّا لرفعه
uploadPageMultipleFilesAlert = رفع عدة ملفات (أو رفع مجلد) ليس مدعوما حاليا.
uploadPageBrowseButtonTitle = ارفع ملفًا
uploadingPageProgress = يرفع { $filename } ({ $size })
importingFile = يستورد…
verifyingFile = يتحقق…
encryptingFile = يعمّي…
decryptingFile = يفك التعمية…
notifyUploadDone = انتهى الرفع.
uploadingPageMessage = ما إن يُرفع الملف سيُتاح ضبط خيارات انتهاء صلاحيته.
uploadingPageCancel = ألغِ الرفع
uploadCancelNotification = أُلغي الرفع.
uploadingPageLargeFileMessage = هذا الملف كبير الحجم وسيأخذ رفعه وقتا. انتظر رجاءً.
uploadingFileNotification = أعلِمني عندما يكتمل الرفع.
uploadSuccessConfirmHeader = جاهز للإرسال
uploadSvgAlt = ارفع
uploadSuccessTimingHeader = ستنتهي صلاحية الرابط الذي يشير إلى الملف في حال: نُزِّل لأول مرة، أو مرّ ٢٤ ساعة على رفعه.
expireInfo = ستنتهي صلاحية رابط الملف بعد { $downloadCount } أو { $timespan }.
downloadCount =
{ $num ->
[zero] لا تنزيلات
@@ -44,76 +22,26 @@ timespanHours =
[many] { $num } ساعة
*[other] { $num } ساعة
}
copyUrlFormLabelWithName = انسخ الرابط وشاركه لإرسال الملف: { $filename }
copyUrlFormButton = انسخ إلى الحافظة
copiedUrl = نُسخ!
deleteFileButton = احذف الملف
sendAnotherFileLink = أرسِل ملفًا آخر
# Alternative text used on the download link/button (indicates an action).
downloadAltText = نزّل
downloadsFileList = التنزيلات
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = الوقت
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = نزّل { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = أدخل كلمة السر
unlockInputPlaceholder = كلمة السر
unlockButtonLabel = افتح القفل
downloadFileTitle = نزِّل الملف المعمّى
# Firefox Send is a brand name and should not be localized.
downloadMessage = يُرسل إليك صديقك ملفا عبر «فَيَرفُكس سِنْد»، وهي خدمة تتيح لك مشاركة الملفات عبر رابط آمن وخاص ومعمّى، حيث تنتهي صلاحياتها تلقائيا لتضمن عدم بقاء ما ترسله إلى الأبد.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = نزّل
downloadNotification = لقد اكتمل التنزيل.
downloadFinish = اكتمل التنزيل
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } من أصل { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = جرِّب «فَيَرفُكس سِنْد»
downloadingPageProgress = ينزّل { $filename } ({ $size })
downloadingPageMessage = رجاء أبقِ هذا اللسان مفتوحا حتى نجلب الملف ونفك تعميته.
errorAltText = خطأ أثناء الرفع
errorPageHeader = حدث خطب ما.
errorPageMessage = حدث خطب ما أثناء رفع الملف.
errorPageLink = أرسل ملفا آخر
fileTooBig = حجم الملف كبير للغاية لرفعه. يجب أن يكون أصغر من { $size }.
linkExpiredAlt = انتهت صلاحية الرابط
expiredPageHeader = انتهت صلاحية هذا الرابط أو لم يكن موجودا في المقام الأول!
notSupportedHeader = متصفحك غير مدعوم.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = للأسف فإن متصفحك لا يدعم تقنية الوِب التي يعتمد عليها «فَيَرفُكس سِنْد». عليك تجربة متصفح آخر، ونحن ننصحك بِفَيَرفُكس!
notSupportedLink = لماذا متصفحي غير مدعوم؟
notSupportedOutdatedDetail = للأسف فإن إصدارة فَيَرفُكس هذه لا تدعم تقنية الوِب التي يعتمد عليها «فَيَرفُكس سِنْد». عليك تحديث متصفحك.
updateFirefox = حدّث فَيَرفُكس
downloadFirefoxButtonSub = تنزيل مجاني
uploadedFile = ملف
copyFileList = انسخ الرابط
# expiryFileList is used as a column header
expiryFileList = ينتهي في
deleteFileList = احذف
nevermindButton = لا بأس
legalHeader = الشروط والخصوصية
legalNoticeTestPilot = «فَيَرفُكس سِنْد» جزء من اختبار تجريبي حاليًا و يخضع <a>لبنود خدمة</a> الاختبار التجريبي و <a>تنويه الخصوصية</a>. يمكنك التعرف على مزيد من المعلومات حول هذه التجربة وجمع البيانات<a>هنا</a>.
legalNoticeMozilla = يخضع استخدام موقع «فَيَرفُكس سِنْد» إلى<a>تنويه خصوصية المواقع</a> و <a>بنود خدمة المواقع</a>.
deletePopupText = أأحذف هذا الملف؟
deletePopupYes = نعم
deletePopupCancel = ألغِ
deleteButtonHover = احذف
copyUrlHover = انسخ الرابط
footerLinkLegal = القانونية
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = حول الاختبار التجريبي
footerLinkPrivacy = الخصوصية
footerLinkTerms = الشروط
footerLinkCookies = الكعكات
requirePasswordCheckbox = اطلب كلمة سر لتنزيل هذا الملف
addPasswordButton = أضِف كلمة سر
changePasswordButton = غيّر
passwordTryAgain = كلمة السر خاطئة. أعِد المحاولة.
reportIPInfringement = أبلغ عن انتهاك للملكية الفكرية
javascriptRequired = يتطلب فَيَرفُكس سِنْد جافاسكربت
whyJavascript = لماذا يتطلب فَيَرفُكس سِنْد جافاسكربت؟
enableJavascript = رجاء فعّل جافاسكربت ثم أعد المحاولة.
@@ -121,9 +49,143 @@ enableJavascript = رجاء فعّل جافاسكربت ثم أعد المحاو
expiresHoursMinutes = { $hours }س { $minutes }د
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }د
# A short status message shown when a password is successfully set
passwordIsSet = ضُبطت كلمة السر
# A short status message shown when the user enters a long password
maxPasswordLength = أقصر طول لكلمة السر: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = يجب ألا تُضبط كلمة السر هذه
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = 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 ->
[zero] أقل من دقيقة
[one] دقيقة واحدة
[two] دقيقتين اثنتين
[few] { $num } دقائق
[many] { $num } دقيقة
*[other] { $num } دقيقة
}
timespanDays =
{ $num ->
[zero] أقل من يوم
[one] يوم واحد
[two] يومين اثنين
[few] { $num } أيام
[many] { $num } يومًا
*[other] { $num } يوم
}
timespanWeeks =
{ $num ->
[zero] أقل من أسبوع
[one] أسبوع واحد
[two] أسبوعين اثنين
[few] { $num } أسابيع
[many] { $num } أسبوعًا
*[other] { $num } أسبوع
}
fileCount =
{ $num ->
[zero] { $num } ملف
[one] ملف واحد
[two] ملفان اثنان
[few] { $num } ملفات
[many] { $num } ملفًا
*[other] { $num } ملف
}
# byte abbreviation
bytes = بايت
# kibibyte abbreviation
kb = ك.بايت
# mebibyte abbreviation
mb = م.بايت
# gibibyte abbreviation
gb = ج.بايت
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num } { $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = إجمالي الحجم: { $size }
# the next line after the colon contains a file name
copyLinkDescription = انسخ هذا الرابط لتُشارك الملف:
copyLinkButton = انسخ الرابط
downloadTitle = نزّل الملفات
downloadDescription = شارك أحد هذا الملف معك عبر { -send-brand } وعمّاه بتعمية من الطرفين وبرابط ينقضي أجله تلقائيا.
trySendDescription = جرِّب { -send-brand } وشارِك ملفاتك بلا عناء وبخصوصية تامة.
# count will always be > 10
tooManyFiles =
{ $count ->
[zero] لا يمكنك تنزيل أي ملف في آن واحد.
[one] لا يمكنك تنزيل ما يزيد على ملف واحد في آن واحد.
[two] لا يمكنك تنزيل ما يزيد على ملفين اثنين في آن واحد.
[few] لا يمكنك تنزيل ما يزيد على { $count } ملفات في آن واحد.
[many] لا يمكنك تنزيل ما يزيد على { $count } ملفًا في آن واحد.
*[other] لا يمكنك تنزيل ما يزيد على { $count } ملف في آن واحد.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[zero] الأرشيفات ممنوعة.
[one] لا يُسمح إلا بأرشيف واحد.
[two] لا يُسمح إلا بأرشيفين اثنين.
[few] لا يُسمح إلا ب‍ { $count } أرشيفات.
[many] لا يُسمح إلا ب‍ { $count } أرشيفًا.
*[other] لا يُسمح إلا ب‍ { $count } أرشيف.
}
expiredTitle = انقضى وقت الرابط.
notSupportedDescription = لن يعمل { -send-brand } في هذا المتصفح. أفضل المتصفحات التي يعمل معها { -send-short-brand } هو { -firefox } بآخر إصدارة، كما وأحدث إصدارة من أغلب المتصفحات الموجودة.
downloadFirefox = نزِّل { -firefox }
legalTitle = تنويه خصوصية { -send-short-brand }
legalDateStamp = الإصدارة ١٫٠ بتاريخ ١٢ مارس ٢٠١٩
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }يوم { $hours }سا { $minutes }دق
addFilesButton = حدّد الملفات التي تريد رفعها
uploadButton = ارفع
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = اسحب الملفات وأفلِتها هنا
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = أو انقر لإرسال ملفات يصل حجمها { $size }
addPassword = احمِه بكلمة سر
emailPlaceholder = أدخل بريدك الإلكتروني
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = لِج وأرسِل ملفات يصل حجمها { $size }
signInOnlyButton = لِج
accountBenefitTitle = أنشِئ حساب { -firefox } أو لِج إلى حسابك
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = شارِك ملفات يصل حجمها { $size }
accountBenefitDownloadCount = شارِك الملفات مع أناس أكثر وأكثر
accountBenefitTimeLimit =
{ $count ->
[zero] لا تُبقِ أي روابط نشطة
[one] أبقِ الروابط نشطة لمدة تصل إلى يوم واحد
[two] أبقِ الروابط نشطة لمدة تصل إلى يومين اثنين
[few] أبقِ الروابط نشطة لمدة تصل إلى { $count } أيام
[many] أبقِ الروابط نشطة لمدة تصل إلى { $count } يومًا
*[other] أبقِ الروابط نشطة لمدة تصل إلى { $count } يوم
}
accountBenefitSync = أدِر ملفاتك التي شاركتها من أيّ جهاز تريد
accountBenefitMoz = اطّلع على المزيد حول خدمات { -mozilla }
signOut = اخرج
okButton = حسنًا
downloadingTitle = يجري التنزيل
noStreamsWarning = هناك احتمال بألا يقدر هذا المتصفح على فكّ تعمية الملفات الكبيرة كهذا.
noStreamsOptionCopy = انسخ الرابط لتفتحه في متصفح آخر
noStreamsOptionFirefox = جرّب متصفّحنا المفضل
noStreamsOptionDownload = واصِل بهذا المتصفح
downloadFirefoxPromo = { -send-short-brand } تقدمة { -firefox } الجديد الأنيق.
# the next line after the colon contains a file name
shareLinkDescription = شارِك الرابط الذي يصل إلى الملف:
shareLinkButton = شارِك الرابط
# $name is the name of the file
shareMessage = نزِّل ”{ $name }“ عبر { -send-brand }: خدمة لمشاركة الملفات بلا عناء وبخصوصية تامة
trailheadPromo = يمكنك حماية خصوصيتك، طبعا. انضم إلى فَيَرفُكس.
learnMore = اطّلع على المزيد.
+106 -80
View File
@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = esperimentu web
siteFeedback = Feedback
uploadPageHeader = Compartición privada y cifrada de ficheros
uploadPageExplainer = Unvia ficheros pente un enllaz seguru, priváu y cifráu que caduca automáticamente p'asegurar que les tos coses nun queden siempres na rede.
uploadPageLearnMore = Deprendi más
uploadPageDropMessage = Suelta equí'l to ficheru p'aniciar la xuba
uploadPageSizeMessage = Pal meyor funcionamientu, lo meyor ye que'l to ficheru seya menor de 1GB
uploadPageBrowseButton = Esbilla un ficheru nel to ordenador
uploadPageBrowseButton1 = Esbilla un ficheru pa unviar
uploadPageMultipleFilesAlert = Anguaño nun se sofita la xuba múltiple de ficheros o carpetes.
uploadPageBrowseButtonTitle = Xubir ficheru
uploadingPageProgress = Xubiendo { $filename } ({ $size })
siteFeedback = Comentarios
importingFile = Importando...
verifyingFile = Verificando...
encryptingFile = Cifrando...
decryptingFile = Descifrando...
notifyUploadDone = Finó la to xuba.
uploadingPageMessage = Namái que'l ficheru xuba, sedrás a afitar les opciones de caducidá.
uploadingPageCancel = Encaboxar xuba
uploadCancelNotification = Encaboxóse la to xuba.
uploadingPageLargeFileMessage = Esti ficheru ye grande y pue entardar daqué en xubir. ¡Paciencia!
uploadingFileNotification = Avísame cuando se complete la xuba.
uploadSuccessConfirmHeader = Preparáu pa unviar
uploadSvgAlt = Xubir
uploadSuccessTimingHeader = L'enllaz del to ficheru caducará dempués d'una descarga o en 24 hores.
expireInfo = L'enllaz al ficheru va caducar tres { $downloadCount } o { $timespan }.
downloadCount =
{ $num ->
[one] 1 descarga
@@ -36,75 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } hores
}
copyUrlFormLabelWithName = Copia y comparti l'enllaz pa unviar el to ficheru: { $filename }
copyUrlFormButton = Copiar al cartafueyu
copiedUrl = ¡Copióse!
deleteFileButton = Desaniciar ficheru
sendAnotherFileLink = Unviar otru ficheru
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Baxar
downloadsFileList = Descargues
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Tiempu
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Baxar { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Introducir contraseña
unlockInputPlaceholder = Contraseña
unlockButtonLabel = Desbloquiar
downloadFileTitle = Baxar ficheru cifráu
# Firefox Send is a brand name and should not be localized.
downloadMessage = El to collaciu unvióte un ficheru usando Firefox Send, un serviciu que te permite compartir ficheros con un enllaz seguru, priváu y cifráu que caduca automáticamente p'asegurar que les to coses nun queden siempres na rede.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Baxar
downloadNotification = Completóse la to descarga.
downloadFinish = Descarga completada
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
downloadFinish = Completóse la descarga
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Prueba Firefox Send
downloadingPageProgress = Baxando { $filename } ({ $size })
downloadingPageMessage = Dexa esta llingüeta abierta entrín vamos en cata del to ficheru y lu desciframos, por favor.
errorAltText = Fallu de xuba
errorPageHeader = ¡Daqué foi mal!
errorPageMessage = Hebo un fallu xubiendo'l ficheru.
errorPageLink = Unviar otru ficheru
sendYourFilesLink = Probar Firefox Send
errorPageHeader = ¡Asocedió daqué malo!
fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }.
linkExpiredAlt = Enllaz caducáu
expiredPageHeader = ¡Esti enllaz caducó o enxamás nun esistó!
linkExpiredAlt = Caducó l'enllaz
notSupportedHeader = El to restolador nun ta sofitáu.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Desafortunadamente esti restolador nun sofita la teunoloxía web qu'usa Firefox Send. Precisarás d'usar otru restolador. ¡Aconseyámoste Firefox!
notSupportedLink = ¿Por qué'l mio restolador nun ta sofitáu?
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Precisarás d'anovar Firefox.
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar el restolador.
updateFirefox = Anovar Firefox
downloadFirefoxButtonSub = Descarga de baldre
uploadedFile = Ficheru
copyFileList = Copiar URL
# expiryFileList is used as a column header
expiryFileList = Caduca en
deleteFileList = Desaniciar
nevermindButton = Nun m'importa
legalHeader = Términos y privacidá
legalNoticeTestPilot = Anguaño Firefox Send ye un esperimentu de Test Pilot y ta suxetu a los <a>Términos de serviciu</a> y l'<a>Avisu de privacidá</a> de Test Pilot. <a>Equí</a> pues deprender más tocante a esti esperimentu y la so recoyida de datos.
legalNoticeMozilla = L'usu de Firefox Send tamién ta suxetu al <a>Avisu de privacidá</a> y a los <a>Términos d'usu de la páxina web</a> de Mozilla.
deletePopupText = ¿Desaniciar esti ficheru?
deletePopupYes = Sí
deletePopupCancel = Encaboxar
deleteButtonHover = Desaniciar
copyUrlHover = Copiar URL
footerLinkLegal = Llegal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Tocante a Test Pilot
footerLinkPrivacy = Privacidá
footerLinkTerms = Términos
footerLinkCookies = Cookies
requirePasswordCheckbox = Riquir una contraseña pa baxar esti ficheru
addPasswordButton = Amestar contraseña
changePasswordButton = Camudar
passwordTryAgain = Contraseña incorreuta. Volvi tentalo.
passwordTryAgain = La contraseña ye incorreuta. Volvi tentalo.
javascriptRequired = Firefox Send rique JavaScript
whyJavascript = ¿Por qué Firefox Send rique JavaScript?
enableJavascript = Activa JavaScript y volvi tentalo, por favor.
@@ -112,9 +41,106 @@ enableJavascript = Activa JavaScript y volvi tentalo, por favor.
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when a password is successfully set
passwordIsSet = Afitóse la contraseña
# A short status message shown when the user enters a long password
maxPasswordLength = Llargor máximu de la contraseña: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Nun pudo afitase esta contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartición de ficheros privada y cenciella
introDescription = { -send-brand } déxate compartir ficheros con cifráu puntu a puntu y un enllaz que caduca automáticamente. D'esti mou, asegúreste de que lo que compartes ye privao y nun va tar siempres en llinia.
notifyUploadEncryptDone = El ficheru ta cifráu y preparáu pa unviase
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Caduca dempués de { $downloadCount } ó { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minutu
*[other] { $num } minutos
}
timespanDays =
{ $num ->
[one] 1 día
*[other] { $num } díes
}
timespanWeeks =
{ $num ->
[one] 1 selmana
*[other] { $num } selmanes
}
fileCount =
{ $num ->
[one] 1 ficheru
*[other] { $num } ficheros
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Tamañu total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copia l'enllaz pa compartir el ficheru:
copyLinkButton = Copiar l'enllaz
downloadTitle = Descarga de ficheros
downloadDescription = Esti ficheru compartióse per { -send-brand } con cifráu puntu a puntu y un enllaz que caduca automáticamente.
trySendDescription = Prueba { -send-brand } pa una compartición de ficheros cenciella y segura.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Namái pue xubise 1 ficheru al empar.
*[other] Namái puen xubise { $count } ficheros al empar.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Namái se permite 1 archivu
*[other] Namái se permiten { $count } archivos
}
expiredTitle = Esti enllaz caducó.
notSupportedDescription = { -send-brand } nun va funcionar con esti restolador. { -send-short-brand } funciona meyor cola versión última de { -firefox } y cola versión actual de la mayoría de restoladores.
downloadFirefox = Baxar { -firefox }
legalTitle = Avisu de privacidá de { -send-short-brand }
legalDateStamp = Versión 1.0, con data del 12 de marzu de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Esbillar los ficheros a unviar
uploadButton = Xubir
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrastra y suelta ficheros
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o calca pa unviar hasta { $size }
addPassword = Protexer con una contraseña
emailPlaceholder = Introduz el to corréu
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Anicia sesión pa unviar hasta { $size }
signInOnlyButton = Aniciar sesión
accountBenefitTitle = Creación d'una cuenta de { -firefox } o aniciu de sesión nella
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Comparti ficheros d'hasta { $size }
accountBenefitDownloadCount = Comparti ficheros con más xente
accountBenefitTimeLimit =
{ $count ->
[one] Caltén activos los enllaces demientres 1 día
*[other] Caltén activos los enllaces demientres { $count } díes
}
accountBenefitSync = Xestiona los ficheros compartíos dende cualesquier preséu
accountBenefitMoz = Deprendi más tocante a otros servicios de { -mozilla }
signOut = Zarrar sesión
okButton = Aceutar
downloadingTitle = Baxando
noStreamsWarning = Esti restolador quiciabes nun seya a descifrar un ficheru d'esti tamañu.
trailheadPromo = Hai un mou de protexer la to privacidá. Xúnite a Firefox.
learnMore = Deprender más.
+25 -74
View File
@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = web eksperiment
siteFeedback = Geri dönüş
uploadPageHeader = Məxfi, Şifrələnmiş Fayl Paylaşma
uploadPageExplainer = Fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silinən keçidlə göndərin.
uploadPageLearnMore = Ətraflı öyrən
uploadPageDropMessage = Yükləmək üçün faylınızı buraya daşıyın
uploadPageSizeMessage = Xidmətin daha yaxşı işləməsi üçün faylınız 1 GB-dan az olmalıdır
uploadPageBrowseButton = Kompüterinizdən fayl seçin
uploadPageBrowseButton1 = Yüklənəcək faylı seçin
uploadPageMultipleFilesAlert = Birdən çox fayl və ya qovluq yükləmə hələlik dəstəklənmir.
uploadPageBrowseButtonTitle = Fayl yüklə
uploadingPageProgress = { $filename } ({ $size }) yüklənir
importingFile = İdxal edilir…
verifyingFile = Təsdiqlənir…
encryptingFile = Şifrələnir...
decryptingFile = Şifrə açılır...
notifyUploadDone = Yükləməniz hazırdır.
uploadingPageMessage = Faylınız yükləndikdən sonra vaxtı çıxma seçimlərini qura biləcəksiz.
uploadingPageCancel = Yükləməni ləğv et
uploadCancelNotification = Yükləməniz ləğv edildi.
uploadingPageLargeFileMessage = Fayl böyükdür və yükləmək çox vaxt ala bilər. Səbirli olun!
uploadingFileNotification = Yükləmə bitdiyində xəbər ver.
uploadSuccessConfirmHeader = Göndərməyə hazır
uploadSvgAlt = Yüklə
uploadSuccessTimingHeader = Faylınızın keçidinin 1 endirmədən və ya 24 saatdan sonra vaxtı çıxacaq.
expireInfo = Faylınız üçün keçidin vaxtı { $downloadCount } sonra və ya { $timespan } tarixində keçəcək.
downloadCount =
{ $num ->
[one] 1 endirmə
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 saat
*[other] { $num } saat
}
copyUrlFormLabelWithName = Faylınızı göndərmək üçün keçidi köçürün: { $filename }
copyUrlFormButton = Buferə köçür
copiedUrl = Köçürüldü!
deleteFileButton = Faylı sil
sendAnotherFileLink = Başqa fayl göndər
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Endir
downloadsFileList = Endirmələr
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Vaxt
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } faylını endir
downloadFileSize = ({ $size })
unlockInputLabel = Parol daxil edin
unlockInputPlaceholder = Parol
unlockButtonLabel = Aç
downloadFileTitle = Şifrələnmiş Faylı Endir
# Firefox Send is a brand name and should not be localized.
downloadMessage = Yoldaşınız Firefox Send ilə sizə fayl göndərir, fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silən fayl göndərmə xidməti.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Endir
downloadNotification = Endirməniz tamamlandı.
downloadFinish = Endirmə Tamamlandı
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } / { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send Yoxla
downloadingPageProgress = { $filename } faylı ({ $size }) endirilir
downloadingPageMessage = Lütfən faylı endirib şifrəsini açarkən vərəqi açıq buraxın.
errorAltText = Yükləmə xətası
errorPageHeader = Nəsə səhv getdi!
errorPageMessage = Faylı yüklərkən xəta baş verdi.
errorPageLink = Başqa fayl göndər
fileTooBig = Fayl yükləmək üçün çox böyükdür. Fayl { $size }-dan az olmalıdır.
linkExpiredAlt = Keçidin vaxtı çıxıb
expiredPageHeader = Keçidin vaxtı çıxıb və ya heç vaxt olmayıb!
notSupportedHeader = Səyyahınız dəstəklənmir.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Heyf ki, bu səyyah Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Fərqli bir səyyah yoxlamalısınız. Biz Firefox məsləhət görürük!
notSupportedLink = Səyyahım niyə dəstəklənmir?
notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz.
updateFirefox = Firefox-u Yenilə
downloadFirefoxButtonSub = Pulsuz Endir
uploadedFile = Fayl
copyFileList = Keçidi Köçürt
# expiryFileList is used as a column header
expiryFileList = Vaxtı çıxma tarixi
deleteFileList = Sil
nevermindButton = Vacib deyil
legalHeader = Şərtlər və Məxfilik
legalNoticeTestPilot = Firefox Send Test Pilot eksperimentidir, Test Pilot <a>Xidmət Şərtləri</a> və <a>Məxfilik Bildirişi</a>-nə tabedir. Bu eksperiment və məlumat yığma haqqında <a>buradan</a> öyrənə bilərsiz.
legalNoticeMozilla = Firefox Send saytının istifadəsi həmçinin Mozilla-nın <a>Saytlar üçün Məxfilik Bildirişi</a> və <a>Sayt İstifadə Şərtləri</a>-nə tabedir.
deletePopupText = Fayl silinsin?
deletePopupYes = Bəli
deletePopupCancel = Ləğv et
deleteButtonHover = Sil
copyUrlHover = Keçidi Köçürt
footerLinkLegal = Hüquqi
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Test Pilot Haqqında
footerLinkPrivacy = Məxfilik
footerLinkTerms = Şərtlər
footerLinkCookies = Çərəzlər
requirePasswordCheckbox = Bu faylı endirmək üçün parol tələb et
addPasswordButton = Parol əlavə et
changePasswordButton = Dəyişdir
passwordTryAgain = Səhv parol. Təkrar yoxlayın.
reportIPInfringement = Əqli-mülkiyyət pozuntusu bildir
javascriptRequired = Firefox Send üçün JavaScript lazımdır
whyJavascript = Firefox Send niyə JavaScript tələb edir?
enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
@@ -113,9 +41,32 @@ enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
expiresHoursMinutes = { $hours } saat { $minutes } dəq
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } dəq
# A short status message shown when a password is successfully set
passwordIsSet = Parol quruldu
# A short status message shown when the user enters a long password
maxPasswordLength = Maksimum parol uzunluğu: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Parol qurula bilmədi
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
copyLinkButton = Keçidi köçür
uploadButton = Yüklə
signInOnlyButton = Daxil ol
signOut = Çıx
okButton = Tamam
downloadingTitle = Endirilir
shareLinkButton = Keçidi paylaş
+146
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 ->
*[other] Sayoj { $count } tajkuilolmej archivos uelis tikolochtejkoltis saj.
}
# count will always be > 10
tooManyArchives =
{ $count ->
*[other] Sayoj { $count } tajkuilolmej archivos uelis moajsiskej saj.
}
expiredTitle = Nejin tein tikpatskilij amo tekititos ok.
notSupportedDescription = { -send-brand } amo tekiti ika nejin navegador. { -send-short-brand } okachi kuali tekiti tein ika okachi yankuik { -firefox }, uan no tekitis tein ika okachi yankuikej tel miak navegadores.
downloadFirefox = Xiktemoui { -firefox }
legalTitle = { -send-short-brand } tanauatia ika yekpialis tein moaxka itech tepos
legalDateStamp = Versión 1.0 tein kikixtijkej 12 tonal metsti marzo 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }t { $hours }h { $minutes }m
addFilesButton = Xikinixpejpena tajkuilolmej archivos tein tikintejkoltis
uploadButton = Xiktejkolti
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Xikintilana uan xikinkajkaua tajkuilolmej archivos
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = oso xikpatskili uan tiktitanis, sayoj tein amo panoua { $size }
addPassword = Xikyekpia ika se ichtakatajtol
emailPlaceholder = Xikijkuilo mocorreo itech tepos
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Xikalakteua uan uelis tiktitanis tein amo panos { $size }
signInOnlyButton = Kampa se kalakteua
accountBenefitTitle = Ximochiuili se cuenta itech { -firefox } oso xikalakteua
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Xikintitani tajkuilolmej archivos tein amo panouaj { $size }
accountBenefitDownloadCount = Xikintitanili tajkuilolmej archivos oksekin
accountBenefitTimeLimit =
{ $count ->
*[undefined] Kampa se kipatskilis maj kisentokakan kualtiakan se tonal ok / { $count } tonalmej ok
}
accountBenefitSync = Itech tein yeski tepos xikixyekana motajkuiloluan archivos tein tikinpanoltilij oksekin
accountBenefitMoz = Okachi tikmatis okseki tapaleuilmej tein kitemaka { -mozilla }
signOut = Kampa se kisa
okButton = Kuali yetok
downloadingTitle = Kitemouijtok
noStreamsWarning = Xa navegador amo uelis kitalij nejin tajkuilol archivo tein tel ueyi kemej se uelis kiyekixtajtoltis ya.
noStreamsOptionCopy = Xikixkopina tein se kipatskilis uan ijkon se uelis kitatapos itech okse navegador
noStreamsOptionFirefox = Xikejeko navegador tein semi techuelita
noStreamsOptionDownload = Maj niksentoka niktatekiujti nejin navegador
downloadFirefoxPromo = Yankuik { -firefox } mitsixpantilia { -send-short-brand }.
# the next line after the colon contains a file name
shareLinkDescription = Xikinpanoltili oksekin tein se kipatskilis uan teuika motajkuilol archivo:
shareLinkButton = Kampa se kipatskilis tein uelis tikinpanoltilis oksekin
# $name is the name of the file
shareMessage = Xiktemoui “{ $name }” ika { -send-brand }: amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos
trailheadPromo = Kemaj, uelis tikyekpias tein moaxka itech tepos. Xipoui Firefox.
learnMore = Xiktemoui tajkuilolmej archivos.
+164
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 = Падрабязней.
@@ -78,7 +78,17 @@ fileCount =
[one] ১টি ফাইল
*[other] { $num }টি ফাইল
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = মোট আকার: { $size }
# the next line after the colon contains a file name
copyLinkDescription = আপনার ফাইল শেয়ার করতে লিঙ্ক অনুলিপি করুন:
@@ -110,15 +120,15 @@ 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 a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = বা সর্বোচ্চ { $size } আকারের ফাইল পাঠাতে ক্লিক করুন
addPassword = পাসওয়ার্ড দ্বারা সুরক্ষিত রাখুন
emailPlaceholder = আপনার ইমেইল দিন
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = সর্বোচ্চ { $size } আকারের ফাইল প্রেরণ করতে সাইন ইন করুন
signInButton = সাইন ইন/আপ
signInOnlyButton = সাইন ইন
accountBenefitTitle = { -firefox } অ্যাকাউন্ট তৈরি অথবা সাইন ইন করুন
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = সর্বোচ্চ { $size } আকারের ফাইল শেয়ার করুন
accountBenefitDownloadCount = আরও মানুষের সাথে ফাইল শেয়ার করুন
accountBenefitTimeLimit =
@@ -135,3 +145,11 @@ noStreamsWarning = এই ব্রাউজার এতো বড় একট
noStreamsOptionCopy = অন্য ব্রাউজারে খুলতে লিঙ্ক অনুলিপি করুন
noStreamsOptionFirefox = আমাদের জনপ্রিয় ব্রাউজার ব্যবহার করুন
noStreamsOptionDownload = এই ব্রাউজার ব্যবহার অব্যহত রাখুন
downloadFirefoxPromo = { -send-short-brand } আপনারদের জন্য নিয়ে এসেছে একেবারে নতুন { -firefox }।
# the next line after the colon contains a file name
shareLinkDescription = আপনার ফাইলে লিঙ্ক শেয়ার করুন:
shareLinkButton = লিঙ্ক শেয়ার করুন
# $name is the name of the file
shareMessage = { -send-brand } এর মাধ্যমে "{ $name }" ডাউনলোড করুন: সরল, নিরাপদ ফাইল শেয়ারিং
trailheadPromo = আপনার গোপনীয়তা রক্ষা করার একটি উপায় আছে। Firefox এ যোগ দিন।
learnMore = আরও জানুন।
+182
View File
@@ -0,0 +1,182 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Roit hoc'h ali
importingFile = Oc'h enporzhiañ …
encryptingFile = Oc'h enrinegañ..
decryptingFile = Oc'h ezrinegañ...
downloadCount =
{ $num ->
[one] { $num } bellgargadenn
[two] { $num } bellgargadenn
[few] { $num } fellgargadenn
[many] { $num } a bellgargadennoù
*[other] { $num } pellgargadenn
}
timespanHours =
{ $num ->
[one] { $num } eur
[two] { $num } eur
[few] { $num } eur
[many] { $num } a eurioù
*[other] { $num } eur
}
copiedUrl = Eilet!
unlockInputPlaceholder = Ger-tremen
unlockButtonLabel = Dibrennañ
downloadButtonLabel = Pellgargañ
downloadFinish = Pellgargadur echu
fileSizeProgress = ({ $partialSize } war { $totalSize })
sendYourFilesLink = Esaeit Firefox Send
errorPageHeader = Degouezhet ez eus bet ur fazi!
fileTooBig = Re vras eo ar restr-mañ evit e pellgas. Rankout a ra bezañ nebeutoc'h eget { $size }
linkExpiredAlt = Ere diamzeret
notSupportedHeader = N'eo ket skoret ho merdeer.
notSupportedLink = Perak n'eo ket skoret ma merdeer?
notSupportedOutdatedDetail = Siwazh n'eo ket skoret ar c'halvezerezhioù implijet evit Firefox Send gant an handelv-mañ eus Firefox. Ret e vo deoc'h hizivaat ho merdeer.
updateFirefox = Hizivaat Firefox
deletePopupCancel = Nullañ
deleteButtonHover = Dilemel
footerLinkLegal = Lezennel
footerLinkPrivacy = Buhez prevez
footerLinkCookies = Toupinoù
passwordTryAgain = Ger-tremen direizh. Klaskit en-dro.
javascriptRequired = Firefox Send a azgoulenn Javascript
whyJavascript = Perak e azgoulenn Firefox Send Javascript?
enableJavascript = Gweredekait Javascript ha klaskit en-dro.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }e { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when the user enters a long password
maxPasswordLength = Hirder brasañ aotreet evit ar ger-tremen: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = N'haller ket despizañ ar ger-tremen
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Rannañ restroù en un doare eeun ha prevez
introDescription = A-drugarez da { -send-brand } a c'hallit rannañ restroù gant un enrinegañ penn-ouzh-penn hag un ere a ziamzero ent emgefreek. Evel-se e c'hallit mirout ar pezh a rannit prevez ha bezañ sur ne chomo ket ho traoù enlinenn da viken.
notifyUploadEncryptDone = Enrineget eo ho restr ha prest eo da vezañ kaset
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Diamzeriñ a raio goude { $downloadCount } pe { $timespan }
timespanMinutes =
{ $num ->
[one] { $num } vunutenn
[two] { $num } vunutenn
[few] { $num } munutenn
[many] { $num } a vunutennoù
*[other] { $num } munutenn
}
timespanDays =
{ $num ->
[one] { $num } devezh
[two] { $num } zevezh
[few] { $num } devezh
[many] { $num } a zevezhioù
*[other] { $num } devezh
}
timespanWeeks =
{ $num ->
[one] { $num } sizhun
[two] { $num } sizhun
[few] { $num } sizhun
[many] { $num } a sizhunioù
*[other] { $num } sizhun
}
fileCount =
{ $num ->
[one] { $num } restr
[two] { $num } restr
[few] { $num } restr
[many] { $num } a restroù
*[other] { $num } restr
}
# byte abbreviation
bytes = e
# kibibyte abbreviation
kb = Ke
# mebibyte abbreviation
mb = Me
# gibibyte abbreviation
gb = Ge
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Ment hollek: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Eilit an ere evit rannañ ho restr
copyLinkButton = Eilañ an ere
downloadTitle = Pellgargañ ar restroù
downloadDescription = Dre { -send-brand } eo bet rannet ar restr-mañ, gant un enrinegañ penn-ouzh-penn hag un ere a ziamzer ent emgefreek.
trySendDescription = Esaeit { -send-brand } evit rannañ restroù en un doare eeun ha prevez.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] N'haller pellgas nemet { $count } restr er memes mare.
[two] N'haller pellgas nemet { $count } restr er memes mare.
[few] N'haller pellgas nemet { $count } restr er memes mare.
[many] N'haller pellgas nemet { $count } a restroù er memes mare.
*[other] N'haller pellgas nemet { $count } restr er memes mare.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Aotreet eo{ $count } diell nemetken.
[two] Aotreet eo{ $count } ziell nemetken.
[few] Aotreet eo{ $count } diell nemetken.
[many] Aotreet eo{ $count } a zielloù nemetken.
*[other] Aotreet eo{ $count } diell nemetken.
}
expiredTitle = Diamzeret eo an ere.
notSupportedDescription = { -send-brand } n'aio ket en-dro war ar merdeer-mañ. { -send-short-brand } a za en-dro gwelloc'h gant handelv diwezhañ { -firefox }, ha mont a raio en-dro gant handelv bremanel lodenn vrasañ ar merdeerioù.
downloadFirefox = Pellgargañ { -firefox }
legalTitle = Evezhiadenn a fed buhez prevez { -send-short-brand }
legalDateStamp = Handelv 1.0, d'an 12 a viz Meurzh 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }d { $hours }e { $minutes }m
addFilesButton = Diuzit ur restr da bellgas
uploadButton = Pellgas
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Riklit ha laoskit restroù
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = pe klikit evit kas betek { $size }
addPassword = Gwareziñ gant ur ger-tremen
emailPlaceholder = Enankit ho chomlec'h postel
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Kennaskit evit kas betek { $size }
signInOnlyButton = Kennaskañ
accountBenefitTitle = Krouit ur gont { -firefox } pe kennaskit
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Rannit restroù betek { $size }
accountBenefitDownloadCount = Rannit restroù gant muioc'h a dud
accountBenefitTimeLimit =
{ $count ->
[one] Dalc'hit an ereoù oberiant e-pad { $count } devezh
[two] Dalc'hit an ereoù oberiant e-pad { $count } zevezh
[few] Dalc'hit an ereoù oberiant e-pad { $count } devezh
[many] Dalc'hit an ereoù oberiant e-pad { $count } a zevezhioù
*[other] Dalc'hit an ereoù oberiant e-pad { $count } devezh
}
accountBenefitSync = Merit ar restroù rannet gant forzh peseurt trevnad
accountBenefitMoz = Gouzout hiroc'h a-zivout gwazerezhioù all { -mozilla }
signOut = Digennaskañ
okButton = Mat eo
downloadingTitle = O pellgargañ
noStreamsWarning = Posupl eo ne vefe ket gouest ar merdeer-mañ da ezrinegañ ur restr ken bras.
noStreamsOptionCopy = Eilit an ere evit digeriñ anezhañ en ur merdeer all
noStreamsOptionFirefox = Esaeit hor merdeer karetañ
noStreamsOptionDownload = Kenderc'hel gant ar merdeer-mañ
downloadFirefoxPromo = { -send-short-brand } a zo kinniget deoc'h gant ar { -firefox } nevez-flamm.
# the next line after the colon contains a file name
shareLinkDescription = Rannit an ere etrezek ho restr:
shareLinkButton = Rannañ an ere
# $name is the name of the file
shareMessage = Pellgargañ "{ $name }" gant { -send-brand }: rannañ restroù en un doare eeun ha prevez
trailheadPromo = Un doare a zo da wareziñ ho puhez prevez. Tremenit da Firefox.
learnMore = Gouzout hiroc'h.
+108 -74
View File
@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experiment web
siteFeedback = Comentaris
uploadPageHeader = Compartició de fitxers privada i xifrada
uploadPageExplainer = Envieu fitxers mitjançant un enllaç segur, privat i xifrat que caduca automàticament per tal que les vostres dades no es conservin a Internet per sempre.
uploadPageLearnMore = Més informació
uploadPageDropMessage = Arrossegueu el fitxer aquí per començar a pujar-lo
uploadPageSizeMessage = Funciona millor quan els fitxers tenen menys d'1 GB
uploadPageBrowseButton = Trieu un fitxer de l'ordinador
uploadPageBrowseButton1 = Seleccioneu el fitxer que voleu pujar
uploadPageMultipleFilesAlert = Actualment no es permet pujar diversos fitxers ni una carpeta.
uploadPageBrowseButtonTitle = Puja el fitxer
uploadingPageProgress = S'està pujant { $filename } ({ $size })
importingFile = S'està important…
verifyingFile = S'està verificant…
encryptingFile = S'està xifrant…
decryptingFile = S'està desxifrant…
notifyUploadDone = La pujada ha acabat.
uploadingPageMessage = Quan s'hagi acabat de pujat el fitxer, podreu definir les opcions de caducitat.
uploadingPageCancel = Cancel·la la pujada
uploadCancelNotification = La pujada s'ha cancel·lat.
uploadingPageLargeFileMessage = Aquest fitxer és gros i pot trigar una estona a pujar. Espereu assegut…
uploadingFileNotification = Notifica'm quan s'acabi de pujar.
uploadSuccessConfirmHeader = Llest per enviar
uploadSvgAlt = Puja
uploadSuccessTimingHeader = L'enllaç al fitxer caducarà quan es baixi una vegada o d'aquí 24 hores.
expireInfo = L'enllaç al fitxer caducarà en fer { $downloadCount } o d'aquí { $timespan }.
downloadCount =
{ $num ->
[one] 1 baixada
@@ -36,76 +14,26 @@ timespanHours =
[one] 1 hora
*[other] { $num } hores
}
copyUrlFormLabelWithName = Copieu l'enllaç i compartiu-lo per enviar el fitxer: { $filename }
copyUrlFormButton = Copia al porta-retalls
copiedUrl = Copiat!
deleteFileButton = Suprimeix el fitxer
sendAnotherFileLink = Envieu un altre fitxer
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Baixa
downloadsFileList = Baixades
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Temps
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Baixeu { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Introduïu la contrasenya
unlockInputPlaceholder = Contrasenya
unlockButtonLabel = Desbloca
downloadFileTitle = Baixa el fitxer xifrat
# Firefox Send is a brand name and should not be localized.
downloadMessage = Un amic us ha enviat un fitxer amb el Firefox Send, un servei que permet compartir fitxers mitjançant un enllaç segur, privat i xifrat que caduca automàticament per tal que les vostres dades no es conservin a Internet per sempre.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Baixa
downloadNotification = La baixada ha acabat.
downloadFinish = Ha acabat la baixada
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } de { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Proveu el Firefox Send
downloadingPageProgress = S'està baixant { $filename } ({ $size })
downloadingPageMessage = Deixeu aquesta pestanya oberta per tal que el fitxer es pugui baixar i desxifrar.
errorAltText = S'ha produït un error en pujar
errorPageHeader = Hi ha hagut un problema
errorPageMessage = S'ha produït un error en pujar el fitxer.
errorPageLink = Envieu un altre fitxer
fileTooBig = Aquest fitxer és massa gros per pujar-lo. Ha de tenir menys de { $size }.
linkExpiredAlt = L'enllaç ha caducat
expiredPageHeader = Aquest enllaç ha caducat o no existeix.
notSupportedHeader = El vostre navegador no és compatible.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Aquest navegador no admet la tecnologia web amb què funciona el Firefox Send. Haureu d'utilitzar un altre navegador. Us recomanem el Firefox!
notSupportedLink = Per què el meu navegador no és compatible?
notSupportedOutdatedDetail = Aquesta versió del Firefox no admet la tecnologia web amb què funciona el Firefox Send. Haureu d'actualitzar el navegador.
updateFirefox = Actualitza el Firefox
downloadFirefoxButtonSub = Baixada gratuïta
uploadedFile = Fitxer
copyFileList = Copia l'URL
# expiryFileList is used as a column header
expiryFileList = Caduca d'aquí
deleteFileList = Suprimeix
nevermindButton = No, gràcies
legalHeader = Condicions d'ús i privadesa
legalNoticeTestPilot = Actualment el Firefox Send és un experiment del Test Pilot i està subjecte a les <a>Condicions del servei</a> i a l'<a>Avís de privadesa</a> del Test Pilot. Podeu obtenir més informació sobre aquest experiment i la recollida de dades <a>aquí</a>.
legalNoticeMozilla = L'ús del Firefox Send també està subjecte a l'<a>Avís de privadesa de llocs web</a> i a les <a>Condicions d'ús de llocs web</a> de Mozilla.
deletePopupText = Voleu suprimir aquest fitxer?
deletePopupYes = Sí
deletePopupCancel = Cancel·la
deleteButtonHover = Suprimeix
copyUrlHover = Copia l'URL
footerLinkLegal = Avís legal
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Quant al Test Pilot
footerLinkPrivacy = Privadesa
footerLinkTerms = Condicions d'ús
footerLinkCookies = Galetes
requirePasswordCheckbox = Sol·licita una contrasenya per baixar aquest fitxer
addPasswordButton = Afegeix una contrasenya
changePasswordButton = Canvia
passwordTryAgain = La contrasenya és incorrecta. Torneu-ho a provar.
reportIPInfringement = Denuncieu una infracció de propietat intel·lectual
javascriptRequired = El Firefox Send necessita JavaScript
whyJavascript = Per què el Firefox Send necessita JavaScript?
enableJavascript = Activeu el JavaScript i torneu-ho a provar.
@@ -113,9 +41,115 @@ enableJavascript = Activeu el JavaScript i torneu-ho a provar.
expiresHoursMinutes = { $hours } h { $minutes } min
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes } min
# A short status message shown when a password is successfully set
passwordIsSet = S'ha definit la contrasenya
# A short status message shown when the user enters a long password
maxPasswordLength = Longitud màxima de la contrasenya: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = No s'ha pogut definir la contrasenya
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Firefox Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartició de fitxers senzilla i privada
introDescription = El { -send-brand } permet compartir fitxers amb xifratge d'extrem a extrem mitjançant un enllaç que caduca automàticament. Per tant, us assegureu que tot allò que compartiu és privat i que no es mantindrà a Internet per sempre.
notifyUploadEncryptDone = El fitxer s'ha xifrat i està llest per enviar-se
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Caduca després de { $downloadCount } o { $timespan }
timespanMinutes =
{ $num ->
[one] 1 minut
*[other] { $num } minuts
}
timespanDays =
{ $num ->
[one] 1 dia
*[other] { $num } dies
}
timespanWeeks =
{ $num ->
[one] 1 setmana
*[other] { $num } setmanes
}
fileCount =
{ $num ->
[one] 1 fitxer
*[other] { $num } fitxers
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = kB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Mida total: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copieu l'enllaç per compartir el fitxer:
copyLinkButton = Copia l'enllaç
downloadTitle = Baixa els fitxers
downloadDescription = Aquest fitxer s'ha compartit mitjançant el { -send-brand } amb xifratge d'extrem a extrem i un enllaç que caduca automàticament.
trySendDescription = Proveu el { -send-brand } per compartir fitxers de forma senzilla i privada.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] Només es pot pujar 1 fitxer alhora.
*[other] Només es poden pujar { $count } fitxers alhora.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] Només es permet 1 fitxer.
*[other] Només es permeten { $count } fitxers.
}
expiredTitle = Aquest enllaç ha caducat.
notSupportedDescription = El { -send-brand } no funcionarà amb aquest navegador. El { -send-short-brand } funciona millor amb l'última versió del { -firefox } i funcionarà amb la versió més recent de la majoria de navegadors.
downloadFirefox = Baixa el { -firefox }
legalTitle = Avís de privadesa del { -send-short-brand }
legalDateStamp = Versió 1.0, amb data del 12 de març de 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } d { $hours } h { $minutes } min
addFilesButton = Seleccioneu els fitxers que voleu pujar
uploadButton = Puja
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Arrossegueu i deixeu anar els fitxers
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o feu clic aquí per enviar fins a { $size }
addPassword = Protegeix amb contrasenya
emailPlaceholder = Introduïu la vostra adreça electrònica
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Inicieu la sessió per enviar fins a { $size }
signInOnlyButton = Inicia la sessió
accountBenefitTitle = Creeu un compte del { -firefox } o inicieu la sessió
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Compartiu fitxers fins a { $size }
accountBenefitDownloadCount = Compartiu fitxers amb més persones
accountBenefitTimeLimit =
{ $count ->
[one] Manteniu els enllaços actius fins a 1 dia
*[other] Manteniu els enllaços actius fins a { $count } dies
}
accountBenefitSync = Gestioneu els fitxers compartits des de qualsevol dispositiu
accountBenefitMoz = Descobriu els altres serveis de { -mozilla }
signOut = Tanca la sessió
okButton = D'acord
downloadingTitle = S'està baixant
noStreamsWarning = Pot ser que aquest navegador no pugui desxifrar un fitxer tan gran.
noStreamsOptionCopy = Copieu l'enllaç per obrir-lo en un altre navegador
noStreamsOptionFirefox = Proveu el nostre navegador preferit
noStreamsOptionDownload = Segueix amb aquest navegador
downloadFirefoxPromo = El nou { -firefox } us ofereix el { -send-short-brand }
# the next line after the colon contains a file name
shareLinkDescription = Compartiu l'enllaç al vostre fitxer:
shareLinkButton = Comparteix l'enllaç
# $name is the name of the file
shareMessage = Baixeu «{ $name }» amb el { -send-brand }: compartició de fitxers senzilla i segura
trailheadPromo = Hi ha una manera de protegir la vostra privadesa. Uniu-vos al Firefox.
learnMore = Més informació.
+24 -6
View File
@@ -2,7 +2,7 @@
title = Firefox Send
siteFeedback = Rutzijol
importingFile = Tajin nijik…
encryptingFile = Tajin newäx rusik'ixik...
encryptingFile = Tajin newäx rusik'ixik
decryptingFile = Tajin netamäx rusik'ixik...
downloadCount =
{ $num ->
@@ -78,7 +78,17 @@ fileCount =
[one] 1 yakb'äl
*[other] { $num } taq yakb'äl
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Ronojel runimilem: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Tawachib'ej ri ximonel richin nakomonij ri ayakb'al:
@@ -110,15 +120,15 @@ uploadButton = Tijotob'äx
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Keqirirëx chuqa' ke'osq'opïx taq yakb'äl
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = o tapitz'a' richin natäq k'a { $size }
addPassword = Tichajïx rik'in ewan tzij
emailPlaceholder = Tatz'ib'aj ataqoya'l
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Tatikirisaj molojri'ïl richin natäq k'a { $size }
signInButton = Tatikirisaj molojri'ïl/tatz'ib'aj ab'i'
signInOnlyButton = Titikirisäx molojri'ïl
accountBenefitTitle = Tatz'uku' jun { -firefox } Rub'i' Ataqoy'al o Tatikirisaj molojri'ïl
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Ke'akomonij taq yakb'äl k'a { $size }
accountBenefitDownloadCount = Ke'akomonij taq yakb'äl kik'in ch'aqa' chik winaqi'
accountBenefitTimeLimit =
@@ -135,3 +145,11 @@ noStreamsWarning = Rik'in jub'a' re okik'amaya'l re' man nitikïr ta nretamaj ru
noStreamsOptionCopy = Tiwachib'ëx ri ximonel richin nijaq pa jun chik okik'amaya'l
noStreamsOptionFirefox = Tatojtob'ej ri jeb'ël qokik'amaya'l
noStreamsOptionDownload = Kisamäj na rik'in re okik'amaya'l re'
downloadFirefoxPromo = Ja ri k'ak'a' { -firefox } nusüj ri { -send-short-brand } chawe.
# the next line after the colon contains a file name
shareLinkDescription = Nakomonij ri ximonel rik'in ri awokisab'al:
shareLinkButton = Tikomonïx ximonel
# $name is the name of the file
shareMessage = Tiqasäx "{ $name }" rik'in { -send-brand }: man k'ayew ta chuqa' ütz kikomonik ri yakb'äl
trailheadPromo = K'o jun rub'anikil richin nachajij ri awichinanem. Tatunu' awi' rik'in ri Firefox.
learnMore = Tetamäx ch'aqa' chik.
+155
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 ناردن تاقیبکەرەوە
errorPageHeader = هەڵەیەک ڕوویدا
fileTooBig = ئەم پەڕگەیە زۆر گەورەیە بۆ بارکردن. پێویستە لە { $size } بچووک تر بێت
linkExpiredAlt = بەستەر بەسەرچووە
notSupportedHeader = وێبگەڕەکەت پشتگیری ناکرێت
notSupportedLink = بۆ وێبگەڕەکەم پشتگیری ناکرێت؟
notSupportedOutdatedDetail = بەداخەوە ئەم وەشانەی Firefox پشتگیری ئەو جۆرە تەکنەلۆژییە ناکات کە پێویستە بۆ Firefox Send. پێویستە وێبگەڕەکەت نوێبکەیتەوە.
updateFirefox = فاەرفۆکس نوێبکەرەوە
deletePopupCancel = پاشگەزبوونەوە
deleteButtonHover = سڕینەوە
footerLinkLegal = یاسایی
footerLinkPrivacy = تایبەتیی
footerLinkCookies = شەکرۆکە
passwordTryAgain = وشەی تێپەڕبوون هەڵەیە. هەوڵ بدەرەوە.
javascriptRequired = فارفۆکسی ناردن پێویستە بە JavaScript هەیە
whyJavascript = بۆچی پێویستی بە JavaScript هەیە؟
enableJavascript = تکایە JavaScript چالاک بکە وهەوڵ بدەرەوە.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ک { $minutes }خ
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }خ
# A short status message shown when the user enters a long password
maxPasswordLength = زۆرترین درێژی وشەی تێپەڕی ڕێگەپێدراو: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = ناتوانرێت وشەی تێپەڕ دابنرێت
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = سانا، بڵاوکەرەوەی پەڕگەی تایبەتیی
introDescription = { -send-brand } ڕێگەت دەدات پەڕگەکان بڵاوبکەیتەوە بە شێوەی هێما کردنی کۆتا-بۆ-کۆتا و بەستەرێک کە خۆکارانە بەسەردەچێت. بۆیە دەتوانیت ئاگاداری ئەوە بیت کە چ پەڕگەیەک بە تایبەتی بڵاودەکەیتەوە و دڵنیادەبیتەوە کە شتەکانت بە سەرهێڵی نامێننەوە هەتا کۆتایی.
notifyUploadEncryptDone = پەڕگەیە بەهێماکراوە ئێستا ئامادەیە بۆ ناردن
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = بەسەردەچێت دووای { $downloadCount } یان { $timespan }
timespanMinutes =
{ $num ->
[one] 1 خولەک
*[other] { $num } خولەک
}
timespanDays =
{ $num ->
[one] 1 ڕؤژ
*[other] { $num } ڕۆژ
}
timespanWeeks =
{ $num ->
[one] 1 هەفتە
*[other] { $num } هەفتە
}
fileCount =
{ $num ->
[one] 1 پەڕگە
*[other] { $num } پەڕگە
}
# byte abbreviation
bytes = بایت
# kibibyte abbreviation
kb = ک.بایت
# mebibyte abbreviation
mb = م.بایت
# gibibyte abbreviation
gb = گ.بایت
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = قەبارەی گشتی: { $size }
# the next line after the colon contains a file name
copyLinkDescription = بەستەر لەبەربگرەوە بۆ بڵاوکردنەوەی پەڕگە:
copyLinkButton = بەستەر لەبەربگرەوە
downloadTitle = پەڕگەکان دابگرە
downloadDescription = ئەم پەڕگەیە لە لایەن { -send-brand } بلاوکراوەتەوە کە بەهێماکراوە بە شێوەی کۆتا-بۆ-کۆتا بە بەستەرێک کە خۆکارانە بەسەردەچێت.
trySendDescription = { -send-brand } تاقیبکەرەوە بۆ سانایی، پارێزراو لە بڵاوکردنەوەی پەڕگە.
# count will always be > 10
tooManyFiles =
{ $count ->
[one] تەنها 1 پەڕگە دەتوانیت باربکەیت لەم کاتەدا.
*[other] تەنها { $count } پەڕگە دەتوانی باربکەیت لەم کاتەدا.
}
# count will always be > 10
tooManyArchives =
{ $count ->
[one] تەنها 1 ئەرشیف ڕێپێدراوە.
*[other] تەنها { $count } ئەرشیف ڕێپێدراوە.
}
expiredTitle = بەستەر بەسەرچووە.
notSupportedDescription = { -send-brand } کارنکات لەگەڵ ئەم وێبگەڕە. { -send-short-brand } باش کاردەکات لەگەڵ کۆتا وەشانی { -firefox }، وکاردەکات لەگەڵ زۆربەی وەشانی ئێستای وێبگەڕەکان.
downloadFirefox = { -firefox } دابگرە
legalTitle = تێبینی تایبەتیی { -send-short-brand }
legalDateStamp = وەشان 1.0، بەروار کراو لە 12 ئازار، 2019
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days } ڕ { $hours } ک{ $minutes } خ
addFilesButton = پەڕگەکان هەڵبژێرە بۆ بارکردن
uploadButton = بارکردن
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = ڕاکێشان و دانانی پەڕگەکان
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = یان کرتە بکە بۆ ناردنی قەبارەی تاوەکوو { $size }
addPassword = بپارێزە لەگەڵ وشەی تێپەڕ
emailPlaceholder = پۆستی ئەلکترۆنی بنووسە
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = بچۆژوورەوە بۆ ناردنی قەبارەی تاوەکوو { $size }
signInOnlyButton = بچۆژوورەوە
accountBenefitTitle = هەژماری { -firefox } درووست بکە یان بچۆژوورەوە
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = پەڕگە بڵاوبکەرەوە تاوەکوو قەبارەی { $size }
accountBenefitDownloadCount = پەڕگەکان لەگەڵ خەڵکی زیاتر بڵاوبکەرەوە
accountBenefitTimeLimit =
{ $count ->
[one] بەستەرەکان بەکارایی بهێڵەوە تا 1 ڕۆژ
*[other] بەستەرەکان بەکارایی بهێڵەوە تا { $count } ڕۆژ
}
accountBenefitSync = پەڕگە بڵآوکراوەکان بەڕێوەبەرە لەهەر ئامێرێکەوە
accountBenefitMoz = زیاتر بزانە دەربارەی خزمەتگوزارییەکانی تری { -mozilla }
signOut = بچۆ دەرەوە
okButton = باشە
downloadingTitle = دادەگیرێت...
noStreamsWarning = لەوانەیە ئەم وێبگەڕە نەتوانێت پەڕگەی وا گەورە بە هێما بکات.
noStreamsOptionCopy = بەستەر لەبەربگرەوە بۆ کردنەوەی لە وێبگەڕێکی تر
noStreamsOptionFirefox = وێبگەڕی دڵخوازی ئێمە تاقیبکەرەوە
noStreamsOptionDownload = بەردەوام بە لەگەڵ ئەم وێبگەڕە
downloadFirefoxPromo = { -send-short-brand } پیشکەش کراوە بە تۆ لە لایەن { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = بەستەر بڵاوبکەرەوە بۆ پەڕگەکەت:
shareLinkButton = بەستەر بڵاوبکەرەوە
# $name is the name of the file
shareMessage = “{ $name }” دابگرە لەگەڵ { -send-brand }: سانا، پاریزراو لە بڵاوکردنەوەی پەڕگە
trailheadPromo = ڕێگەیەک هەیە بۆ پارێزگاریکردنی تایبەتێتی خۆت. بەشدار بە لە فایەرفۆکس.
learnMore = زیاتر بزانە
+31 -13
View File
@@ -1,5 +1,5 @@
# Firefox Send is a brand name and should not be localized.
title = { -send-brand }
title = Firefox Send
siteFeedback = Zpětná vazba
importingFile = Probíhá import…
encryptingFile = Probíhá šifrování…
@@ -22,22 +22,22 @@ unlockButtonLabel = Odemknout
downloadButtonLabel = Stáhnout
downloadFinish = Stahování dokončeno
fileSizeProgress = ({ $partialSize } z { $totalSize })
sendYourFilesLink = Vyzkoušejte { -send-brand(case: "acc") }
sendYourFilesLink = Vyzkoušet Firefox Send
errorPageHeader = Nastala chyba!
fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }.
linkExpiredAlt = Platnost odkazu vypršela
notSupportedHeader = Váš prohlížeč není podporován.
notSupportedLink = Proč není můj prohlížeč podporovaný?
notSupportedOutdatedDetail = Tato verze { -firefox(case: "gen") } bohužel nepodporuje webovou technologii, která pohání { -send-brand(case: "acc") }. Musíte aktualizovat svůj prohlížeč.
updateFirefox = Aktualizovat { -firefox(case: "acc") }
notSupportedOutdatedDetail = Tato verze Firefoxu bohužel nepodporuje webovou technologii, která pohání Firefox Send. Musíte aktualizovat svůj prohlížeč.
updateFirefox = Aktualizovat Firefox
deletePopupCancel = Zrušit
deleteButtonHover = Smazat
footerLinkLegal = Právní informace
footerLinkPrivacy = Soukromí
footerLinkCookies = Cookies
passwordTryAgain = Špatné heslo. Zkuste to znovu.
javascriptRequired = { -send-brand } vyžaduje povolený JavaScript
whyJavascript = Proč { -send-brand } vyžaduje povolený JavaScript?
javascriptRequired = Firefox Send vyžaduje povolený JavaScript
whyJavascript = Proč Firefox Send vyžaduje povolený JavaScript?
enableJavascript = Povolte JavaScript a zkuste to znovu.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } m
@@ -120,14 +120,24 @@ fileCount =
[few] { $num } soubory
*[other] { $num } souborů
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num } { $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Celková velikost: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Soubor můžete sdílet tímto odkazem:
copyLinkButton = Zkopírovat odkaz
downloadTitle = Stáhnout soubory
downloadDescription = Tento soubor byl sdílen přes { -send-brand(case: "acc") } s end-to-end šifrováním a odkazem s omezenou platností.
trySendDescription = Zkuste { -send-brand(case: "acc") } pro jednoduché a bezpečné sdílení souborů
trySendDescription = Vyzkoušejte jednoduché a bezpečné sdílení souborů s { -send-brand(case: "ins") }
# count will always be > 10
tooManyFiles =
{ $count ->
@@ -154,15 +164,15 @@ uploadButton = Nahrát
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Přetažením myší nebo kliknutím sem
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = můžete poslat až { $size }
addPassword = Chránit heslem
addPassword = Ochránit heslem
emailPlaceholder = Zadejte svoji e-mailovou adresu
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Pro odesílání souborů o velikosti až { $size } se prosím přihlaste
signInButton = Přihlásit/Registrovat se
signInOnlyButton = Přihlásit se
accountBenefitTitle = Vytvořte si účet { -firefox(case: "gen") } nebo se přihlaste
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Sdílejte soubory o velikosti až { $size }
accountBenefitDownloadCount = Sdílejte soubory s více lidmi
accountBenefitTimeLimit =
@@ -180,3 +190,11 @@ noStreamsWarning = Dešifrování tak velikého souboru se v tomto prohlížeči
noStreamsOptionCopy = Zkopírujte odkaz pro otevření v jiném prohlížeči
noStreamsOptionFirefox = Vyzkoušejte náš oblíbený prohlížeč
noStreamsOptionDownload = Pokračovat v tomto prohlížeči
downloadFirefoxPromo = { -send-short-brand } od aplikace { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Sdílet odkaz na soubor:
shareLinkButton = Sdílet odkaz
# $name is the name of the file
shareMessage = Stáhněte si soubor „{ $name }“ s { -send-brand(case: "ins") } - jednoduché a bezpečné sdílení souborů
trailheadPromo = Existuje způsob, jak ochránit své soukromí. Používejte Firefox.
learnMore = Zjistit více.
+36 -92
View File
@@ -1,119 +1,47 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = arbrawf gwe
siteFeedback = Adborth
uploadPageHeader = Rhannu Ffeiliau wedi eu Hamgryptio yn Breifat
uploadPageExplainer = Anfon ffeiliau drwy ddolen diogel, breifat ac wedi ei amgryptio sy'n dod i ben yn awtomatig er mwyn sicrhau nad yw eich pethau'n bodoli ar lein am byth.
uploadPageLearnMore = Dysgu rhagor
uploadPageDropMessage = Gollyngwch eich ffeiliau yma i gychwyn llwytho i fyny
uploadPageSizeMessage = Mae'n well cadw maint y ffeiliau o dan 1GB er mwyn iddo weithio ar ei orau.
uploadPageBrowseButton = Dewiswch ffeil ar eich cyfrifiadur
uploadPageBrowseButton1 = Dewiswch ffeil i'w llwytho i fyny
uploadPageMultipleFilesAlert = Nid yw llwytho nifer lluosog o ffeiliau neu ffolder yn cael ei gynnal ar hyn o bryd.
uploadPageBrowseButtonTitle = Llwytho ffeil i fyny
uploadingPageProgress = Llwytho { $filename } ({ $maint }) i fyny
importingFile = Mewnforio…
verifyingFile = Wrthi'n gwirio…
encryptingFile = Wrthi'n amgryptio…
decryptingFile = Wrthi'n dadgryptio…
notifyUploadDone = Mae eich llwytho wedi gorffen.
uploadingPageMessage = Unwaith y bydd eich ffeil wedi llwytho bydd modd gosod y manylion dod i ben.
uploadingPageCancel = Diddymu'r llwytho
uploadCancelNotification = Cafodd eich llwytho ei ddiddymu.
uploadingPageLargeFileMessage = Mae'r ffeil yn fawr a gall gymryd peth amser i'w llwytho. Amynedd!
uploadingFileNotification = Dweud pan fydd y llwytho wedi gorffen.
uploadSuccessConfirmHeader = Yn Barod i Anfon
uploadSvgAlt = Llwytho i Fyny
uploadSuccessTimingHeader = Bydd y ddolen i'ch ffeil y dod i ben ar ôl 1 llwytho neu o fewn 24 awr.
expireInfo = Bydd y ddolen i'ch ffeil yn dod i ben ym mhen { $downloadCount } neu { $timespan }.
downloadCount =
{ $num ->
[zero] Llwythi i lawr
[one] Llwyth i lawr
[two] Lwyth i lawr
[few] Llwyth i lawr
[many] Llwyth i lawr
*[other] Llwyth i lawr
[zero] Dim llwythi i lawr
[one] 1 llwyth i lawr
[two] { $num } llwyth i lawr
[few] { $num } llwyth i lawr
[many] { $num } llwyth i lawr
*[other] { $num } llwyth i lawr
}
timespanHours =
{ $num ->
[zero] awr
[one] awr
[two] awr
[few] awr
[many] awr
*[other] awr
[one] 1 awr
[two] { $num } awr
[few] { $num } awr
[many] { $num } awr
*[other] { $num } awr
}
copyUrlFormLabelWithName = Copïo a rhannu'r ddolen i anfon eich ffeil: { $filename }
copyUrlFormButton = Copïo i'r clipfwrdd
copiedUrl = Wedi eu copïo!
deleteFileButton = Dileu ffeil
sendAnotherFileLink = Anfon ffeil arall
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Llwytho i lawr
downloadsFileList = Llwythi
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Amser
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = Llwytho i lawr { $filename }
downloadFileSize = ({ $size })
unlockInputLabel = Rhowch Gyfrinair
unlockInputPlaceholder = Cyfrinair
unlockButtonLabel = Datgloi
downloadFileTitle = Llwythwch Ffeil wedi ei Hamgryptio i Lawr
# Firefox Send is a brand name and should not be localized.
downloadMessage = Mae ffrind i chi yn anfon ffeil atoch drwy Firefox Send, gwasanaeth sy'n caniatáu i chi rannu ffeiliau drwy ddolen ddiogel, breifat ac wedi ei amgryptio sy'n dod i ben yn awtomatig er mwyn sicrhau nad yw eich deunydd yn aros ar-lein am byth.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Llwytho i Lawr
downloadNotification = Mae eich llwytho wedi gorffen
downloadFinish = Llwytho wedi Gorffen
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } o { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Rhowch gynnig ar Firefox Send
downloadingPageProgress = Llwytho i lawr { $filename } ({ $size })
downloadingPageMessage = Gadewch y tab yma ar agor tra fyddwn yn estyn eich ffeil a'i dad-amgryptio.
errorAltText = Gwall llwytho
errorPageHeader = Aeth rhywbeth o'i le!
errorPageMessage = Bu gwall wrth lwytho'r ffeil.
errorPageLink = Anfon ffeil arall
fileTooBig = Mae'r ffeil yn rhy fawr i'w llwytho. Dylai fod yn llai na { $size }.
linkExpiredAlt = Mae'r ddolen wedi dod i ben
expiredPageHeader = Mae'r ddolen wedi dod i ben neu nad yw wedi bodoli erioed!
notSupportedHeader = Nid yw eich porwr yn cael ei gynnal.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Yn anffodus, nid yw'r porwr hwn yn cynnal y technoleg gwe sy'n cynnal Firefox Send. Bydd angen i chi ddefnyddio porwr arall. Rydym ni'n argymell Firefox!
notSupportedLink = Pam nad yw fy mhorwr yn cael ei gynnal?
notSupportedOutdatedDetail = Yn anffodus, nid yw'r fersiwn yma o Firefox yn cynnal y technoleg gwe sy'n gyrru Firefox Send. Bydd angen i chi ddiweddaru eich porwr.
updateFirefox = Diweddaru Firefox
downloadFirefoxButtonSub = Llwytho i Lawr am Ddim
uploadedFile = Ffeil
copyFileList = Copïo URL
# expiryFileList is used as a column header
expiryFileList = Daw i ben ymhen
deleteFileList = Dileu
nevermindButton = Dim ots
legalHeader = Amodau a Phreifatrwydd
legalNoticeTestPilot = Ar hyn o mae Firefox Send yn arbrawf o fewn rhaglen Test Pilot ac yn destun <a>Amodau Gwasanaeth</a> a <a>Hysbysiad Preifatrwydd</a> Test Pilot . Gallwch ddysgu rhagor am yr arbrawf a'r data mae'n ei gasglu <a>yma</a>.
legalNoticeMozilla = Mae'r defnydd o wefan Firefox Send hefyd yn destun <a>Hysbysiad Preifatrwydd Gwefannau</a> ac <a>Amodau Defnydd Gwefannau</a> Mozilla.
deletePopupText = Dileu'r ffeil?
deletePopupYes = Iawn
deletePopupCancel = Diddymu
deleteButtonHover = Dileu
copyUrlHover = Copïo'r URL
footerLinkLegal = Cyfreithiol
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Ynghylch Test Pilot
footerLinkPrivacy = Preifatrwydd
footerLinkTerms = Amodau
footerLinkCookies = Cwcis
requirePasswordCheckbox = Gosod angen cyfrinair i lwytho'r ffeil hon i lawr
addPasswordButton = Ychwanegu Cyfrinair
changePasswordButton = Newid
passwordTryAgain = Cyfrinair anghywir. Ceisiwch eto.
reportIPInfringement = Adrodd ar Gamddefnydd o'r IP
javascriptRequired = Mae Firefox Send angen JavaScript
whyJavascript = Pam fod Firefox Send angen JavaScript?
enableJavascript = Galluogwch JavaScript a cheisio eto.
@@ -121,14 +49,12 @@ enableJavascript = Galluogwch JavaScript a cheisio eto.
expiresHoursMinutes = { $hours }a { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when a password is successfully set
passwordIsSet = Wedi gosod y cyfrinair
# A short status message shown when the user enters a long password
maxPasswordLength = Hyd mwyaf cyfrinair: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Nid oedd modd gosod y cyfrinair hwn
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
@@ -152,7 +78,7 @@ timespanMinutes =
timespanDays =
{ $num ->
[zero] 0 diwrnod
[one] 1 dwrnod
[one] 1 diwrnod
[two] { $num } diwrnod
[few] { $num } diwrnod
[many] { $num } diwrnod
@@ -176,7 +102,17 @@ fileCount =
[many] { $num } ffeil
*[other] { $num } ffeil
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Cyfanswm maint: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copïwch y ddolen i rannu eich ffeil:
@@ -216,15 +152,15 @@ uploadButton = Llwytho i fyny
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Llusgo a gollwng ffeiliau
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = neu glicio i anfon hyd at { $size }
addPassword = Diogelu gyda chyfrinair
emailPlaceholder = Rhowch eich e-bost
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Mewngofnodi i anfon hyd at { $size }
signInButton = Mewngofnodi/Cofrestru
signInOnlyButton = Mewngofnodi
accountBenefitTitle = Creu Cyfrif { -firefox } neu fewngofnodi
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Rhannu ffeiliau hyd at { $size }
accountBenefitDownloadCount = Rhannu ffeiliau gyda mwy o bobl
accountBenefitTimeLimit =
@@ -245,3 +181,11 @@ noStreamsWarning = Efallai na fydd y porwr hwn yn gallu dadgryptio ffeil mor faw
noStreamsOptionCopy = Copïwch y ddolen i'w agor mewn porwr arall
noStreamsOptionFirefox = Rhowch gynnig ar ein hoff porwr
noStreamsOptionDownload = Parhau gyda'r porwr hwn
downloadFirefoxPromo = Mae { -send-short-brand } yn cael ei gynnig i ci gan y { -firefox } newydd.
# the next line after the colon contains a file name
shareLinkDescription = Rhannu'r ddolen i'ch ffeil:
shareLinkButton = Rhannu'r ddolen
# $name is the name of the file
shareMessage = Llwytho i lawr “{ $name }” gyda { -send-brand }: rhannu ffeiliau syml a diogel
trailheadPromo = Mae ffordd o ddiogelu eich preifatrwydd. Ymunwch â Firefox.
learnMore = Dysgu rhagor.
+23 -5
View File
@@ -78,7 +78,17 @@ fileCount =
[one] 1 fil
*[other] { $num } filer
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Samlet størrelse: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopier linket for at dele din fil:
@@ -110,15 +120,15 @@ uploadButton = Upload
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Træk og slip filer
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = eller klik for at sende filer på op til { $size }
addPassword = Beskyt med adgangskode
emailPlaceholder = Indtast din mailadresse
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Log ind for at sende filer på op til { $size }
signInButton = Log ind/tilmeld dig
signInOnlyButton = Log ind
accountBenefitTitle = Opret en { -firefox }-konto eller log ind
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Del filer på op til { $size }
accountBenefitDownloadCount = Del filer med flere personer
accountBenefitTimeLimit =
@@ -135,3 +145,11 @@ noStreamsWarning = Denne browser kan muligvis ikke dekryptere en fil, der er så
noStreamsOptionCopy = Kopier linket for at åbne det i en anden browser
noStreamsOptionFirefox = Prøv vores favorit-browser
noStreamsOptionDownload = Fortsæt med denne browser
downloadFirefoxPromo = { -send-short-brand } præsenteres af den nye { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Del linket til din fil:
shareLinkButton = Del link
# $name is the name of the file
shareMessage = Hent { $name } med { -send-brand } - simpel og sikker fildeling
trailheadPromo = Beskyt dine digitale rettigheder. Slut dig til Firefox.
learnMore = Læs mere.
+42 -98
View File
@@ -1,31 +1,9 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = Web-Experiment
siteFeedback = Feedback
uploadPageHeader = Privates, verschlüsseltes Austauschen von Dateien
uploadPageExplainer = Senden Sie Dateien über einen sicheren, privaten und verschlüsselten Link, der automatisch abläuft, damit Ihre Daten nicht für immer im Internet bleiben.
uploadPageLearnMore = Mehr erfahren
uploadPageDropMessage = Ziehen Sie eine Datei zum Hochladen hierher
uploadPageSizeMessage = Dateien unter 1 GB sorgen für erhöhte Zuverlässigkeit des Betriebs
uploadPageBrowseButton = Wählen Sie eine Datei auf Ihrem Computer aus
uploadPageBrowseButton1 = Datei zum Hochladen auswählen
uploadPageMultipleFilesAlert = Hochladen mehrerer Dateien oder eines Ordners wird derzeit nicht unterstützt.
uploadPageBrowseButtonTitle = Datei hochladen
uploadingPageProgress = { $filename } ({ $size }) wird hochgeladen
importingFile = Wird importiert…
verifyingFile = Wird überprüft…
encryptingFile = Wird verschlüsselt…
decryptingFile = Wird entschlüsselt…
notifyUploadDone = Ihr Upload ist abgeschlossen.
uploadingPageMessage = Sobald Ihre Datei hochgeladen wird, können Sie die Optionen zum Ablaufdatum auswählen.
uploadingPageCancel = Hochladen abbrechen
uploadCancelNotification = Ihr Upload wurde abgebrochen.
uploadingPageLargeFileMessage = Diese Datei ist groß, sodass das Hochladen einige Zeit dauern könnte. Haben Sie Geduld!
uploadingFileNotification = Mich benachrichtigen, wenn der Upload abgeschlossen ist.
uploadSuccessConfirmHeader = Bereit zum Senden
uploadSvgAlt = Hochladen
uploadSuccessTimingHeader = Der Link zu Ihrer Datei läuft nach einem Download oder in 24 Stunden ab.
expireInfo = Der Link zu Ihrer Datei läuft nach { $downloadCount } oder { $timespan } ab.
downloadCount =
{ $num ->
[one] einem Download
@@ -36,100 +14,48 @@ timespanHours =
[one] einer Stunde
*[other] { $num } Stunden
}
copyUrlFormLabelWithName = Kopieren und teilen Sie den Link, um Ihre Datei zu senden: { $filename }
copyUrlFormButton = In Zwischenablage kopieren
copiedUrl = Kopiert!
deleteFileButton = Datei löschen
sendAnotherFileLink = Eine weitere Datei senden
# Alternative text used on the download link/button (indicates an action).
downloadAltText = Herunterladen
downloadsFileList = Downloads
# Used as header in a column indicating the amount of time left before a
# download link expires (e.g. "10h 5m")
timeFileList = Zeit
# Used as header in a column indicating the number of times a file has been
# downloaded
downloadFileName = { $filename } herunterladen
downloadFileSize = ({ $size })
unlockInputLabel = Passwort eingeben
unlockInputPlaceholder = Passwort
unlockButtonLabel = Entsperren
downloadFileTitle = Verschlüsselte Datei herunterladen
# Firefox Send is a brand name and should not be localized.
downloadMessage = Ihr Freund schickt Ihnen eine Datei mit Firefox Send, einem Dienst, mit dem Sie Dateien über einen sicheren, privaten und verschlüsselten Link teilen können, der automatisch abläuft, damit Ihre Daten nicht für immer im Internet bleiben.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Herunterladen
downloadNotification = Der Download wurde abgeschlossen.
downloadFinish = Download abgeschlossen
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } von { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Firefox Send ausprobieren
downloadingPageProgress = { $filename } ({ $size }) wird heruntergeladen
downloadingPageMessage = Bitte lassen Sie diesen Tab geöffnet, während Ihre Datei heruntergeladen und entschlüsselt wird.
errorAltText = Fehler beim Hochladen
errorPageHeader = Ein Fehler ist aufgetreten!
errorPageMessage = Beim Hochladen der Datei ist ein Fehler aufgetreten.
errorPageLink = Eine weitere Datei senden
fileTooBig = Die Datei ist zu groß zum Hochladen. Sie sollte maximal { $size } groß sein.
linkExpiredAlt = Link abgelaufen
expiredPageHeader = Dieser Link ist abgelaufen oder hat nie existiert!
notSupportedHeader = Ihr Browser wird nicht unterstützt.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Leider unterstützt dieser Browser die Web-Technologie nicht, auf der Firefox Send basiert. Sie benötigen einen anderen Browser. Wir empfehlen Firefox!
notSupportedHeader = Dein Browser wird nicht unterstützt.
notSupportedLink = Warum wird mein Browser nicht unterstützt?
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Firefox Send basiert. Sie müssen Ihren Browser aktualisieren.
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Firefox Send basiert. Du musst deinen Browser aktualisieren.
updateFirefox = Firefox aktualisieren
downloadFirefoxButtonSub = Kostenloser Download
uploadedFile = Datei
copyFileList = Adresse kopieren
# expiryFileList is used as a column header
expiryFileList = Läuft ab in
deleteFileList = Löschen
nevermindButton = Egal
legalHeader = Nutzungsbedingungen und Datenschutz
legalNoticeTestPilot = Firefox Send ist aktuell ein Test-Pilot-Experiment und unterliegt den <a>Nutzungsbedingungen</a> und dem <a>Datenschutzhinweis</a> von Test Pilot. Mehr über dieses Experiment und die Daten, die es sammelt, erfahren Sie <a>hier</a>.
legalNoticeMozilla = Die Nutzung der Website von Firefox Send unterliegt außerdem Mozillas <a>Datenschutzhinweis für Websites</a> und <a>Nutzungsbedingungen für Websites</a>.
deletePopupText = Diese Datei löschen?
deletePopupYes = Ja
deletePopupCancel = Abbrechen
deleteButtonHover = Löschen
copyUrlHover = Adresse kopieren
footerLinkLegal = Rechtliches
# Test Pilot is a proper name and should not be localized.
footerLinkAbout = Über Test Pilot
footerLinkPrivacy = Datenschutz
footerLinkTerms = Nutzungsbedingungen
footerLinkCookies = Cookies
requirePasswordCheckbox = Zum Herunterladen dieser Datei soll ein Passwort erforderlich sein
addPasswordButton = Passwort hinzufügen
changePasswordButton = Ändern
passwordTryAgain = Falsches Passwort. Versuchen Sie es erneut.
reportIPInfringement = IP-Verletzung melden
passwordTryAgain = Falsches Passwort. Versuche es nochmal.
javascriptRequired = Firefox Send benötigt JavaScript
whyJavascript = Warum benötigt Firefox Send JavaScript?
enableJavascript = Bitte aktivieren Sie JavaScript und versuchen Sie es erneut.
enableJavascript = Bitte aktiviere JavaScript und versuche es erneut.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
expiresMinutes = { $minutes }m
# A short status message shown when a password is successfully set
passwordIsSet = Passwort gesetzt
# A short status message shown when the user enters a long password
maxPasswordLength = Maximale Passwortlänge: { $length }
# A short status message shown when there was an error setting the password
passwordSetError = Dieses Passwort konnte nicht eingerichtet werden
## New strings for the vNext version of Firefox Send
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Einfache, private Dateifreigabe
introDescription = Mit { -send-brand } können Sie Dateien mit Ende-zu-Ende-Verschlüsselung und einem automatisch ablaufenden Link freigeben. So können Sie die geteilten Inhalte privat halten und sicherstellen, dass Ihre Daten nicht für immer online bleiben.
notifyUploadEncryptDone = Ihre Datei ist verschlüsselt und zum Senden bereit
introTitle = Einfach und privat Dateien versenden
introDescription = Mit { -send-brand } kannst du Dateien sicher mit anderen teilen mit End-to-End-Verschlüsselung und einem Freigabe-Link, der automatisch abläuft. So bleiben deine geteilten Inhalte privat und du kannst sicherstellen, dass deine Daten nicht für immer im Web herumschwirren.
notifyUploadEncryptDone = Deine Datei ist verschlüsselt und zum Senden bereit
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Läuft ab nach { $downloadCount } oder { $timespan }
timespanMinutes =
@@ -152,14 +78,24 @@ fileCount =
[one] 1 Datei
*[other] { $num } Dateien
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Gesamtgröße: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Kopieren Sie den Link, um Ihre Datei zu teilen:
copyLinkDescription = Kopiere den Link, um deine Datei zu teilen:
copyLinkButton = Link kopieren
downloadTitle = Dateien herunterladen
downloadDescription = Diese Datei wurde über { -send-brand } mit Ende-zu-Ende-Verschlüsselung und einem automatisch ablaufenden Link geteilt.
trySendDescription = Probieren Sie { -send-brand } aus, um einfach und privat Dateien zu teilen.
downloadDescription = Diese Datei wurde über { -send-brand } mit End-to-End-Verschlüsselung und einem automatisch ablaufenden Link geteilt.
trySendDescription = Probiere { -send-brand } aus, um einfach und sicher Dateien zu versenden.
# count will always be > 10
tooManyFiles =
{ $count ->
@@ -182,30 +118,38 @@ expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
addFilesButton = Dateien zum Hochladen auswählen
uploadButton = Hochladen
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Dateien ziehen und ablegen
dragAndDropFiles = Dateien per Drag & Drop einfügen
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = oder klicken, um bis zu { $size } zu senden
addPassword = Mit Passwort schützen
emailPlaceholder = Geben Sie Ihre E-Mail-Adresse ein
# size is a localized number followed by a unit of bytes, ex. 2.5GB
signInSizeBump = Melden Sie sich an, um Dateien bis { $size } zu senden
signInButton = Anmelden/Registrieren
accountBenefitTitle = Erstellen Sie ein { -firefox }-Konto oder melden Sie sich an
# size is a localized number followed by a unit of bytes, ex. 2.5GB
emailPlaceholder = E-Mail-Adresse eingeben
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Melde dich an, um Dateien bis { $size } zu senden
signInOnlyButton = Anmelden
accountBenefitTitle = Erstelle ein { -firefox }-Konto oder melde dich an
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Dateien bis zu { $size } teilen
accountBenefitDownloadCount = Teilen Sie Dateien mit anderen Menschen
accountBenefitDownloadCount = Teile Dateien mit weiteren Leuten
accountBenefitTimeLimit =
{ $count ->
[one] Link bis zu einen Tag lang aktiv halten
*[other] Link bis zu { $count } Tage lang aktiv halten
}
accountBenefitSync = Geteilte Dateien von anderen Geräten aus verwalten
accountBenefitMoz = Erfahren Sie mehr über andere { -mozilla }-Dienste
accountBenefitMoz = Erfahre mehr über andere { -mozilla }-Dienste
signOut = Abmelden
okButton = OK
downloadingTitle = Wird heruntergeladen…
noStreamsWarning = Dieser Browser kann eine so große Datei möglicherweise nicht entschlüsseln.
noStreamsOptionCopy = Kopieren Sie den Link, um ihn in einem anderen Browser zu öffnen
noStreamsOptionFirefox = Probieren Sie unseren Lieblingsbrowser aus
noStreamsOptionCopy = Kopiere den Link, um ihn in einem anderen Browser zu öffnen
noStreamsOptionFirefox = Probiere unseren Lieblingsbrowser aus
noStreamsOptionDownload = Mit diesem Browser weitermachen
downloadFirefoxPromo = { -send-short-brand } wird Ihnen präsentiert vom brandneuen { -firefox }.
# the next line after the colon contains a file name
shareLinkDescription = Teilen Sie den Link zu Ihrer Datei:
shareLinkButton = Link teilen
# $name is the name of the file
shareMessage = Laden Sie „{ $name }“ mit { -send-brand } herunter: einfaches, sicheres Teilen von Dateien
trailheadPromo = Es gibt einen Weg, deine Privatsphäre zu schützen. Komm zu Firefox.
learnMore = Mehr erfahren.

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