Compare commits

...

298 Commits

Author SHA1 Message Date
Danny Coates
030d65d7af v1.0.3 2017-08-02 16:59:41 -07:00
Danny Coates
aa113fd903 updated production locales 2017-08-02 16:58:26 -07:00
Danny Coates
caeba94e04 format 2017-08-02 16:51:18 -07:00
Emin Mastizada
a7de951115 Pontoon: Update Azerbaijani (az) localization of Test Pilot: Firefox Send
Localization authors:
- Emin Mastizada <emin@mastizada.com>
2017-08-02 23:50:59 +00:00
Emin Mastizada
e17d1f7235 Pontoon: Update Azerbaijani (az) localization of Test Pilot: Firefox Send
Localization authors:
- Emin Mastizada <emin@mastizada.com>
2017-08-02 23:31:39 +00:00
Emin Mastizada
51ba253f95 Pontoon: Update Azerbaijani (az) localization of Test Pilot: Firefox Send
Localization authors:
- Emin Mastizada <emin@mastizada.com>
2017-08-02 23:10:44 +00:00
Danny Coates
fef26e083a removed extraneous captureException 2017-08-02 15:53:52 -07:00
Danny Coates
de826afb9b Merge pull request #402 from mozilla/filter-sentry
filter the hash from error reports
2017-08-02 15:50:09 -07:00
Danny Coates
5944b85e67 filter the hash from error reports 2017-08-02 15:04:34 -07:00
Danny Coates
d208a82089 Merge pull request #400 from mozilla/fix-dl-breaking-link
fix link that breaks download by opening in new tab
2017-08-02 14:05:55 -07:00
John Gruen
a64eced8be fix link that breaks download by opening in new tab 2017-08-02 22:38:17 +02:00
Danny Coates
ada45323e1 Merge pull request #369 from pdehaan/eslint-no-alert
Add ESLint no-alert shame rule
2017-08-02 12:34:27 -07:00
Danny Coates
ced8c24f47 Merge pull request #396 from mozilla/i395
add babel-polyfill
2017-08-02 12:31:43 -07:00
Danny Coates
5b9e9d5146 Merge pull request #394 from mozilla/i393
catch JSON.parse errors of storage metadata
2017-08-02 12:28:55 -07:00
Danny Coates
280a4f65e7 begrudgingly added babel-polyfill 2017-08-02 12:25:13 -07:00
Danny Coates
d2dd9f4b4d Merge pull request #367 from pdehaan/issue-364
Generate production locales using 'compare-locales'
2017-08-02 12:05:23 -07:00
Danny Coates
2897a39131 catch JSON.parse errors of storage metadata 2017-08-02 11:21:03 -07:00
Erica
626b9068a9 Merge pull request #392 from weihanglo/master
Adjust hover behavior on send-logo (#382)
Fixes: #382.
2017-08-02 13:59:22 -04:00
Weihang Lo
c3bb876a2c Adjust hover behavior on send-logo (#382) 2017-08-03 01:40:57 +08:00
Weihang Lo
48912dd4d4 Adjust hover behavior on send-logo (#382) 2017-08-03 00:38:56 +08:00
Марко Костић (Marko Kostić)
f1c894d14f Pontoon: Update Serbian (sr) localization of Test Pilot: Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2017-08-02 15:31:30 +00:00
Марко Костић (Marko Kostić)
60d61fa52c Pontoon: Update Serbian (sr) localization of Test Pilot: Firefox Send
Localization authors:
- Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
2017-08-02 15:11:02 +00:00
eljuno
68705f60db Pontoon: Update Indonesian (id) localization of Test Pilot: Firefox Send
Localization authors:
- Rahmat Subekti <rahmatsubekti@live.com>
- eljuno <eljunotrie_anggoro@yahoo.co.id>
- Kiki <kelimutu.rizki@gmail.com>
2017-08-02 12:31:54 +00:00
Fjoerfoks
92303988c0 Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-08-02 11:32:21 +00:00
Peter deHaan
49d578217c Merge pull request #380 from pdehaan/readme-pontoon
Add Pontoon URL to README
2017-08-01 22:24:48 -07:00
Peter deHaan
1abb3b7ebe Update README text w/ guidance from flod 2017-08-01 21:51:19 -07:00
Peter deHaan
4f3c2498a6 Add get-prod-locales and lint-locales scripts 2017-08-01 20:24:54 -07:00
Peter deHaan
33babe6f67 Add Pontoon URL to README 2017-08-01 17:01:11 -07:00
Tomáš Zelina
a51ee89939 Pontoon: Update Czech (cs) localization of Test Pilot: Firefox Send
Localization authors:
- Tomáš Zelina <zelitomas@gmail.com>
2017-08-01 20:31:18 +00:00
Danny Coates
bca79489c0 added 'v' to untagged version.json 2017-08-01 13:19:43 -07:00
avelper
ddfbb06e1a Pontoon: Update Spanish (es-ES) localization of Test Pilot: Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
- Jordi Cuevas <jordicuevas@gmail.com>
2017-08-01 15:31:44 +00:00
Ton
cd2c944d41 Pontoon: Update Dutch (nl) localization of Test Pilot: Firefox Send
Localization authors:
- Ton <tonnes.mb@gmail.com>
2017-08-01 12:11:07 +00:00
Peter deHaan
5f66496519 Add ESLint no-alert rule 2017-07-31 23:59:18 -07:00
Peter deHaan
318964251d Fix some linting errors 2017-07-31 15:25:29 -07:00
Peter deHaan
5effeb16d1 Generate production locales using 'compare-locales' 2017-07-31 14:34:28 -07:00
Danny Coates
c9c7c3182c v1.0.2 2017-07-31 11:58:03 -07:00
Danny Coates
18b95c497f Merge pull request #365 from mozilla/fix-chrome-footer
revert the IE fix to fix footer on chrome
2017-07-31 11:55:35 -07:00
Roberto Alvarado
80d0f73b06 Pontoon: Update Spanish (es-MX) localization of Test Pilot: Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
2017-07-31 18:35:08 +00:00
Danny Coates
522290dbef revert the IE fix to fix footer on chrome 2017-07-31 11:34:48 -07:00
Danny Coates
967100bf50 v1.0.1 2017-07-31 10:28:04 -07:00
Erica Wright
3e52c6f69f fix ie css 2017-07-31 12:59:13 -04:00
Danny Coates
81be38fbc8 Merge pull request #353 from mozilla/no-ie
redirect ie to /unsupported
2017-07-31 09:56:11 -07:00
Abhinav Adduri
566de14016 adding in hardcoded strings for ie, ie doesn't work with l20n: Object doesn't support property or method 'from' 2017-07-31 09:35:47 -07:00
Danny Coates
9a285df790 Merge pull request #360 from pdehaan/fix-linting
Fix some linting nits
2017-07-31 09:21:33 -07:00
Danny Coates
02dda0f97e Merge pull request #362 from mozilla/350-unsupported-category
Adjusts category of unsupported event (fixes #350).
2017-07-31 09:19:33 -07:00
Michael Köhler
6edd4b7f5c Pontoon: Update German (de) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2017-07-31 16:10:18 +00:00
Peter deHaan
40d6d1d4e6 Add trailing newline and run 'npm run format' 2017-07-31 08:32:55 -07:00
Chuck Harmston
1c7baed241 Adjusts category of unsupported event (fixes #350). 2017-07-31 09:55:46 -05:00
Michal Vašíček
257924431d Pontoon: Update Czech (cs) localization of Test Pilot: Firefox Send
Localization authors:
- Michal Vašíček <michalvasicek@icloud.com>
2017-07-31 12:50:44 +00:00
Juraj Cigáň
4a590753c9 Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2017-07-31 11:10:44 +00:00
Rhoslyn Prys
460e5c6bbf Pontoon: Update Welsh (cy) localization of Test Pilot: Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@yahoo.com>
2017-07-31 10:50:41 +00:00
Maykon Chagas
51cc366cfa Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Maykon Chagas <mchagas@riseup.net>
2017-07-31 10:10:30 +00:00
Peter deHaan
78b7bea284 Fix some linting nits 2017-07-31 00:01:00 -07:00
Fjoerfoks
65d4f9219b Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-31 06:31:21 +00:00
Danny Coates
6d20f09d0a Merge pull request #355 from pdehaan/issue-155
Make order of uploaded files in list consistent
2017-07-30 23:18:07 -07:00
Danny Coates
dc83ec1123 Merge pull request #356 from pdehaan/issue-283b
Get rid of console.log statements
2017-07-30 23:17:09 -07:00
Peter deHaan
dff443287c Tweak the package.json require statement 2017-07-30 20:11:12 -07:00
ravmn
8e8b5cefe5 Pontoon: Update Spanish (es-CL) localization of Test Pilot: Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2017-07-30 22:31:17 +00:00
ravmn
616831ebfb Pontoon: Update Spanish (es-CL) localization of Test Pilot: Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2017-07-30 22:10:26 +00:00
Roberto Alvarado
d8a8087c2c Pontoon: Update Spanish (es-MX) localization of Test Pilot: Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
2017-07-30 20:50:48 +00:00
ravmn
85a9ef9539 Pontoon: Update Spanish (es-CL) localization of Test Pilot: Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2017-07-30 19:31:22 +00:00
ravmn
aeacf7f0e7 Pontoon: Update Spanish (es-CL) localization of Test Pilot: Firefox Send
Localization authors:
- ravmn <ravmn@ravmn.cl>
2017-07-30 19:10:33 +00:00
Marcelo Poli
0cd6882e0d Pontoon: Update Spanish (es-AR) localization of Test Pilot: Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2017-07-30 17:10:18 +00:00
Selim Şumlu
41f68e2735 Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2017-07-30 16:10:30 +00:00
Selim Şumlu
d42fa37962 Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2017-07-30 15:31:21 +00:00
Selim Şumlu
c327507989 Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2017-07-30 15:10:39 +00:00
Bjørn I
2f02fff999 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Bjørn I. <bjorn.svindseth@online.no>
2017-07-30 12:10:52 +00:00
Moḥend Belqasem
b3a97cec2e Pontoon: Update Kabyle (kab) localization of Test Pilot: Firefox Send
Localization authors:
- Moḥend Belqasem <belkacem77@gmail.com>
2017-07-30 10:31:29 +00:00
Francesco Lodolo
a17744a075 Merge pull request #358 from pdehaan/missing-locale-titles
Fix some missing .title attributes in dev-only locales
2017-07-30 07:13:06 +02:00
Francesco Lodolo
8f023e36cf Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-30 05:10:53 +00:00
Roberto Alvarado
da1b0689a5 Pontoon: Update Spanish (es-MX) localization of Test Pilot: Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
2017-07-30 03:31:27 +00:00
Peter deHaan
3adea6d815 Fix some missing .title attributes in dev-only locales 2017-07-29 17:49:58 -07:00
Peter deHaan
8d1baca60e Remove catch() block 2017-07-29 15:25:50 -07:00
dgadelha
87be7aa64f Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Maykon Chagas <mchagas@riseup.net>
- dgadelha <dgadelha@live.com>
2017-07-29 20:31:17 +00:00
Roberto Alvarado
9e91e7349a Pontoon: Update Spanish (es-MX) localization of Test Pilot: Firefox Send
Localization authors:
- Roberto Alvarado <ralv888@gmail.com>
2017-07-29 18:10:56 +00:00
Balázs Meskó
f4b538b8dc Pontoon: Update Hungarian (hu) localization of Test Pilot: Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2017-07-29 17:10:53 +00:00
Danny Coates
63d0c2e679 Merge pull request #354 from pdehaan/en-us-cookies
Remove /en-US/ from cookies link in footer
2017-07-29 09:11:41 -07:00
Victor Bychek
52fd555ffc Pontoon: Update Russian (ru) localization of Test Pilot: Firefox Send
Localization authors:
- Alexander Slovesnik <unghost@mozilla-russia.org>
- Victor Bychek <a@bychek.ru>
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-29 14:10:54 +00:00
Andreas Pettersson
3517ad0826 Pontoon: Update Swedish (sv-SE) localization of Test Pilot: Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2017-07-29 11:31:27 +00:00
Rok Žerdin
4796fbeaa9 Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
- Lan Glad <upwinxp@gmail.com>
2017-07-29 11:31:25 +00:00
Peter deHaan
42ef0facc9 Get rid of console.log statements 2017-07-29 00:04:50 -07:00
Peter deHaan
a5b5628d88 Make order of uploaded files in list consistent 2017-07-28 23:43:57 -07:00
Francesco Lodolo
1bf8dd93fd Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-29 06:31:13 +00:00
Peter deHaan
ae83e47813 Remove /en-US/ from cookies link in footer 2017-07-28 23:12:25 -07:00
Pin-guang Chen
83f9853112 Pontoon: Update Chinese (zh-TW) localization of Test Pilot: Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2017-07-29 04:50:52 +00:00
xcffl
16bba3ff86 Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- xcffl <xcffl@outlook.com>
2017-07-29 03:50:46 +00:00
Danny Coates
a42a54670b redirect ie to /unsupported 2017-07-28 19:28:38 -07:00
YFdyh000
0586c00aed Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- YFdyh000 <yfdyh000@gmail.com>
2017-07-29 00:10:49 +00:00
Håvar Henriksen
197cd18838 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-28 23:31:33 +00:00
manxmensch
f97de2cd31 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-28 23:31:28 +00:00
Kohei Yoshino
8164f3585e Pontoon: Update Japanese (ja) localization of Test Pilot: Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2017-07-28 21:32:23 +00:00
Rhoslyn Prys
f829e90408 Pontoon: Update Welsh (cy) localization of Test Pilot: Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@yahoo.com>
2017-07-28 20:51:05 +00:00
goofy
5e73841952 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- goofy <goofy@babelzilla.org>
2017-07-28 20:51:01 +00:00
Théo Chevalier
e31f6faa9f Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
- goofy <goofy@babelzilla.org>
2017-07-28 20:31:27 +00:00
Juraj Cigáň
03e4d7e687 Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2017-07-28 19:50:38 +00:00
Michael Wolf
a9fdd5b1a5 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-28 19:31:56 +00:00
Michael Wolf
d7be980147 Pontoon: Update Sorbian, Lower (dsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-28 19:31:53 +00:00
Rodrigo
abf2a0a9f8 Pontoon: Update Portuguese (pt-PT) localization of Test Pilot: Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2017-07-28 19:31:50 +00:00
Michael Köhler
c7b3ee6098 Pontoon: Update German (de) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2017-07-28 19:31:46 +00:00
Rodrigo
aded224632 Pontoon: Update Portuguese (pt-PT) localization of Test Pilot: Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2017-07-28 19:10:38 +00:00
Théo Chevalier
2a43477cd4 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-28 19:10:36 +00:00
Danny Coates
6be94156db Merge pull request #339 from mozilla/v49
Show error page on firefox v49 and below
2017-07-28 11:42:21 -07:00
Erica Wright
8cb40effa5 edit some syntax 2017-07-28 14:11:58 -04:00
Marcelo Poli
4cd4b2a060 Pontoon: Update Spanish (es-AR) localization of Test Pilot: Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2017-07-28 14:51:09 +00:00
YFdyh000
27fa13caed Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- YFdyh000 <yfdyh000@gmail.com>
2017-07-28 14:31:15 +00:00
Bjørn I
3ee72ca065 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Bjørn I. <bjorn.svindseth@online.no>
2017-07-28 13:11:06 +00:00
Bjørn I
114a99a358 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Bjørn I. <bjorn.svindseth@online.no>
2017-07-28 12:50:46 +00:00
Selim Şumlu
0c59b2330c Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2017-07-28 11:51:02 +00:00
Selim Şumlu
f9410d5698 Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
- erdem cobanoglu <erdemarley@gmail.com>
2017-07-28 11:31:35 +00:00
manxmensch
4e9b6e25ca Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-28 02:31:42 +00:00
Danny Coates
82bc6cad74 Merge pull request #346 from pdehaan/issue-343
Add docs/CODEOWNERS file
2017-07-27 16:46:36 -07:00
Håvar Henriksen
139007bece Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-27 23:10:21 +00:00
Peter deHaan
0afd70db8c Add docs/CODEOWNERS file 2017-07-27 15:47:22 -07:00
erdem cobanoglu
934b98cafd Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
- erdem cobanoglu <erdemarley@gmail.com>
2017-07-27 22:31:30 +00:00
Juraj Cigáň
7bb85bc5aa Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2017-07-27 22:10:50 +00:00
Erica
a1973d8b96 Merge pull request #345 from mozilla/ui
wrap long file names
2017-07-27 16:59:13 -04:00
Daniela Arcese
84b01ba58b don't allow text selection on percentage 2017-07-27 16:43:51 -04:00
Daniela Arcese
188429e03d wrap long file names 2017-07-27 16:32:05 -04:00
Erica
d3003228e7 Merge pull request #344 from mozilla/ui
don't wrap file list headers
2017-07-27 16:04:07 -04:00
Daniela Arcese
50c7c3bef9 don't wrap file list headers 2017-07-27 16:01:33 -04:00
Daniela Arcese
07b9545b03 Merge pull request #327 from youwenliang/ui-refinement
Modify popup delete dialog
2017-07-27 15:55:05 -04:00
Erica
0f031e2d8b Merge pull request #341 from mozilla/ui
center percentage text on all browser versions
2017-07-27 15:46:16 -04:00
Daniela Arcese
083df44395 center percentage text on all browser versions 2017-07-27 15:40:06 -04:00
Håvar Henriksen
a932af87b5 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-27 19:31:21 +00:00
Erica Wright
8d8c2efa23 create /unsupported/outdated version of the /unsupported page 2017-07-27 14:24:49 -04:00
Erica Wright
318e1a49bf remove hiding elements with jquery 2017-07-27 13:23:13 -04:00
Francesco Lodolo
c9e914faba Merge pull request #340 from flodolo/fix_dupes
Remove duplicate entities in localized FTL files
2017-07-27 19:20:11 +02:00
Abhinav Adduri
7a53ed96ed moved back to common 2017-07-27 13:05:27 -04:00
Abhinav Adduri
8eae1f282b fixed metrics for sender and recipient 2017-07-27 13:05:27 -04:00
Abhinav Adduri
fae6561393 adding metrics event 2017-07-27 13:05:27 -04:00
Erica Wright
6b291ae012 show error page on firefox v49 and below 2017-07-27 13:05:27 -04:00
Erica
303b34a70b Merge pull request #337 from mozilla/const-lint
support v 50 and 51 by not allowing const in loops
2017-07-27 13:00:15 -04:00
Francesco Lodolo [:flod]
d7b856f8ca Remove duplicate entities in localized FTL files 2017-07-27 18:57:42 +02:00
Erica Wright
6111e71506 support v 50 and 51 by not allowing const in loops 2017-07-27 12:49:35 -04:00
Francesco Lodolo
5b0de9f9b5 Merge pull request #338 from flodolo/fix_l10n
Remove duplicated strings in en-US, fix nn-NO file
2017-07-27 17:12:13 +02:00
avelper
8cc50e2ecb Pontoon: Update Spanish (es-ES) localization of Test Pilot: Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
2017-07-27 15:11:08 +00:00
Francesco Lodolo [:flod]
f6f6b4a4e2 nn-NO: fix missing title in uploadingPageCancel 2017-07-27 17:08:25 +02:00
Francesco Lodolo [:flod]
2de6037a83 en-US: remove duplicate strings 2017-07-27 17:03:29 +02:00
You-Wen Liang (Mark)
9d3f6680cb Update main.css
fix responsive
2017-07-27 23:00:32 +08:00
Francesco Lodolo
462002d84b German(de): Fixed missing value for deleteFileButton (#336) 2017-07-27 16:54:48 +02:00
Erica
bb6c747297 Merge pull request #334 from mozilla/ui
fix functionality on firefox 50 and 51
2017-07-27 10:47:58 -04:00
Daniela Arcese
e09385be05 fix functionality on firefox 50 and 51 2017-07-27 10:46:28 -04:00
Lan Glad
11bbf34feb Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
- Lan Glad <upwinxp@gmail.com>
2017-07-27 14:34:25 +00:00
Théo Chevalier
8214409ac5 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-27 14:34:22 +00:00
Francesco Lodolo
098ece066f Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-27 14:18:07 +00:00
avelper
e0e7853882 Pontoon: Update Spanish (es-ES) localization of Test Pilot: Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
2017-07-27 13:31:42 +00:00
avelper
40d8c441db Pontoon: Update Spanish (es-ES) localization of Test Pilot: Firefox Send
Localization authors:
- avelper <avelper@mozilla-hispano.org>
2017-07-27 13:10:36 +00:00
Håvar Henriksen
bacafb02be Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-27 12:11:11 +00:00
Bjørn I
68ed9a6953 Pontoon: Update Norwegian Nynorsk (nn-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Bjørn I. <bjorn.svindseth@online.no>
2017-07-27 08:50:56 +00:00
Mark Liang
cd8b09f900 modify popup delete dialog 2017-07-27 15:38:10 +08:00
Sandro
305cbb8a41 Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Sandro <gialloporpora@mozillaitalia.org>
2017-07-27 07:31:13 +00:00
Håvar Henriksen
d5b2b4c4f1 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-27 02:31:33 +00:00
Maykon Chagas
f2b4e3f661 Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Maykon Chagas <mchagas@riseup.net>
2017-07-27 01:31:24 +00:00
Maykon Chagas
0d45799202 Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Maykon Chagas <mchagas@riseup.net>
2017-07-27 01:10:29 +00:00
Maykon Chagas
ba66e0a72a Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Maykon Chagas <mchagas@riseup.net>
2017-07-27 00:50:51 +00:00
Marcelo Poli
b5244c75ca Pontoon: Update Spanish (es-AR) localization of Test Pilot: Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2017-07-27 00:10:55 +00:00
Marcelo Poli
1f85096422 Pontoon: Update Spanish (es-AR) localization of Test Pilot: Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2017-07-26 23:50:31 +00:00
Marcelo Poli
3ecf0e7d29 Pontoon: Update Spanish (es-AR) localization of Test Pilot: Firefox Send
Localization authors:
- Marcelo Poli <enzomatrix@gmail.com>
2017-07-26 23:32:06 +00:00
Selim Şumlu
046d4ce142 Pontoon: Update Turkish (tr) localization of Test Pilot: Firefox Send
Localization authors:
- Selim Şumlu <selim@sum.lu>
2017-07-26 20:31:33 +00:00
Danny Coates
4c2ae4fd6b v1.0.0 2017-07-26 12:08:38 -07:00
Danny Coates
dd62a137d2 Merge pull request #323 from mozilla/disableNotifications
disable upload/download notifications
2017-07-26 12:04:03 -07:00
Danny Coates
ea63c4a0bf Merge pull request #322 from mozilla/ui
fix feedback button jump
2017-07-26 11:55:37 -07:00
Rok Žerdin
47ee702fcb Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-26 18:33:22 +00:00
Danny Coates
d0c6a18363 disable upload/download notifications 2017-07-26 11:32:06 -07:00
Daniela Arcese
91dec114a6 fix feedback button jump 2017-07-26 14:18:14 -04:00
Rok Žerdin
702a0a7eae Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-26 17:50:55 +00:00
Danny Coates
19eec66ece added prod languages 2017-07-26 09:59:08 -07:00
Daniela Arcese
f63496e46c Merge pull request #320 from mozilla/ui
fix German footer
2017-07-26 11:51:05 -04:00
Balázs Meskó
e2671e6634 Pontoon: Update Hungarian (hu) localization of Test Pilot: Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2017-07-26 15:10:42 +00:00
Daniela Arcese
d441bb3125 fix German footer 2017-07-26 11:02:47 -04:00
Rok Žerdin
13efe45f88 Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-26 14:11:59 +00:00
Fjoerfoks
137acb54a9 Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-26 12:10:30 +00:00
Moḥend Belqasem
d72ba8af03 Pontoon: Update Kabyle (kab) localization of Test Pilot: Firefox Send
Localization authors:
- Moḥend Belqasem <belkacem77@gmail.com>
2017-07-26 11:50:56 +00:00
Fjoerfoks
5b178b93f1 Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-26 11:50:52 +00:00
Moḥend Belqasem
2f5a1dda5b Pontoon: Update Kabyle (kab) localization of Test Pilot: Firefox Send
Localization authors:
- Moḥend Belqasem <belkacem77@gmail.com>
2017-07-26 11:31:43 +00:00
Fjoerfoks
62b1d86f7c Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-26 11:31:40 +00:00
Rhoslyn Prys
2e9de12f7a Pontoon: Update Welsh (cy) localization of Test Pilot: Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@yahoo.com>
2017-07-26 11:10:38 +00:00
Moḥend Belqasem
5e7c99e0fb Pontoon: Update Kabyle (kab) localization of Test Pilot: Firefox Send
Localization authors:
- Moḥend Belqasem <belkacem77@gmail.com>
2017-07-26 11:10:36 +00:00
Fjoerfoks
68f40c773f Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-26 11:10:33 +00:00
Rhoslyn Prys
300b0fce18 Pontoon: Update Welsh (cy) localization of Test Pilot: Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@yahoo.com>
2017-07-26 10:50:27 +00:00
Jim Spentzos
78c58bf4d3 Pontoon: Update Greek (el) localization of Test Pilot: Firefox Send
Localization authors:
- Jim Spentzos <jamesspentzos@hotmail.com>
2017-07-26 10:50:25 +00:00
Rhoslyn Prys
e57dbdf95c Pontoon: Update Welsh (cy) localization of Test Pilot: Firefox Send
Localization authors:
- Rhoslyn Prys <rprys@yahoo.com>
2017-07-26 10:31:19 +00:00
Μιχάλης
91831ce1dd Pontoon: Update Greek (el) localization of Test Pilot: Firefox Send
Localization authors:
- Jim Spentzos <jamesspentzos@hotmail.com>
- Μιχάλης <mikem132@protonmail.com>
2017-07-26 10:31:15 +00:00
Fjoerfoks
fef9473810 Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-26 10:10:57 +00:00
Michael Wolf
b19d71ebc0 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 09:51:00 +00:00
Michael Wolf
a84ecf77a2 Pontoon: Update Sorbian, Lower (dsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 09:50:58 +00:00
Balázs Meskó
e9ad080e35 Pontoon: Update Hungarian (hu) localization of Test Pilot: Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2017-07-26 09:50:56 +00:00
Fjoerfoks
c024f039c1 Pontoon: Update Frisian (fy-NL) localization of Test Pilot: Firefox Send
Localization authors:
- Fjoerfoks <fryskefirefox@gmail.com>
2017-07-26 09:50:54 +00:00
Michael Wolf
e6fd97744a Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 09:31:32 +00:00
Michael Wolf
c880936ba4 Pontoon: Update Sorbian, Lower (dsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 09:31:29 +00:00
Balázs Meskó
7eba49027c Pontoon: Update Hungarian (hu) localization of Test Pilot: Firefox Send
Localization authors:
- Balázs Meskó <meskobalazs@gmail.com>
2017-07-26 09:31:23 +00:00
Michael Wolf
7e0a8f76d5 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 09:10:34 +00:00
Michael Wolf
322f8cc168 Pontoon: Update Sorbian, Lower (dsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 09:10:30 +00:00
Michael Wolf
c7ef83b6a1 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-26 08:51:04 +00:00
Rok Žerdin
cc47067870 Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-26 07:51:06 +00:00
Théo Chevalier
41662987a6 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-26 07:51:01 +00:00
Rok Žerdin
4557e2fb6f Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-26 07:31:16 +00:00
manxmensch
3690dbcb14 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 07:31:14 +00:00
manxmensch
e36c698720 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 07:10:39 +00:00
Francesco Lodolo
245a9a2ddd Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-26 07:10:36 +00:00
manxmensch
2d938514d3 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 06:51:07 +00:00
Francesco Lodolo
640e3811b4 Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-26 06:51:05 +00:00
manxmensch
c0a1268df4 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 06:31:28 +00:00
Théo Chevalier
8d0aaadb7e Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-26 06:31:25 +00:00
Michal Stanke
339cddd67b Pontoon: Update Czech (cs) localization of Test Pilot: Firefox Send
Localization authors:
- Michal Stanke <mstanke@mozilla.cz>
2017-07-26 06:31:21 +00:00
manxmensch
dddb9e66b9 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 06:10:48 +00:00
Théo Chevalier
cd0477d747 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-26 06:10:46 +00:00
Théo Chevalier
020b037f69 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-26 05:50:32 +00:00
manxmensch
ff5f0040e3 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 05:31:23 +00:00
Théo Chevalier
7d48c5e793 Pontoon: Update French (fr) localization of Test Pilot: Firefox Send
Localization authors:
- Théo Chevalier <theo.chevalier11@gmail.com>
2017-07-26 05:31:21 +00:00
manxmensch
993fa1a3a4 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 05:10:29 +00:00
manxmensch
9b88d3f5e4 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 04:50:30 +00:00
manxmensch
cd4df5f6d8 Pontoon: Update Malay (ms) localization of Test Pilot: Firefox Send
Localization authors:
- manxmensch <manxmensch@gmail.com>
2017-07-26 04:31:34 +00:00
Pin-guang Chen
7c461eab52 Pontoon: Update Chinese (zh-TW) localization of Test Pilot: Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2017-07-26 04:10:49 +00:00
Kohei Yoshino
1b7e94c2d8 Pontoon: Update Japanese (ja) localization of Test Pilot: Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2017-07-26 03:51:07 +00:00
Pin-guang Chen
dcd3c0b3ff Pontoon: Update Chinese (zh-TW) localization of Test Pilot: Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2017-07-26 03:51:03 +00:00
Pin-guang Chen
bfe16a5300 Pontoon: Update Chinese (zh-TW) localization of Test Pilot: Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2017-07-26 03:31:24 +00:00
Pin-guang Chen
8a1f905831 Pontoon: Update Chinese (zh-TW) localization of Test Pilot: Firefox Send
Localization authors:
- Pin-guang Chen <petercpg@mail.moztw.org>
2017-07-26 03:10:48 +00:00
Håvar Henriksen
e5b4165eff Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-26 00:12:35 +00:00
Marco Aurélio
be596e91ef Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Marco Aurélio <fxhelp@yahoo.com>
- Cynthia Pereira <cynthiacpereira@gmail.com>
2017-07-25 23:10:46 +00:00
Danny Coates
f20c995d1a Merge pull request #314 from mozilla/i312
added L10N_DEV environment variable for making all languages available
2017-07-25 15:59:31 -07:00
Cynthia Pereira
5f97c130bd Pontoon: Update Portuguese (pt-BR) localization of Test Pilot: Firefox Send
Localization authors:
- Cynthia Pereira <cynthiacpereira@gmail.com>
- Marco Aurélio <fxhelp@yahoo.com>
2017-07-25 22:51:06 +00:00
Håvar Henriksen
13bf765be0 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-25 22:31:40 +00:00
Matjaž Horvat
443de49db8 Pontoon: Update Swedish (sv-SE) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:56 +00:00
Matjaž Horvat
3d82ce0909 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:53 +00:00
Matjaž Horvat
b259cba882 Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:48 +00:00
Matjaž Horvat
a138586dd7 Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:44 +00:00
Matjaž Horvat
e427203a45 Pontoon: Update Portuguese (pt-PT) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:41 +00:00
Håvar Henriksen
8882024e8f Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:39 +00:00
Matjaž Horvat
581ae224e7 Pontoon: Update Japanese (ja) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:36 +00:00
Matjaž Horvat
dccf3329ca Pontoon: Update German (de) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:33 +00:00
Matjaž Horvat
1450322585 Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- Matjaž Horvat <matjaz.horvat@gmail.com>
2017-07-25 22:11:30 +00:00
Juraj Cigáň
5d1639851b Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2017-07-25 21:31:39 +00:00
Kohei Yoshino
77939cc280 Pontoon: Update Japanese (ja) localization of Test Pilot: Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2017-07-25 21:31:34 +00:00
Danny Coates
7fd8fb4914 added L10N_DEV environment variable for making all languages available 2017-07-25 14:28:49 -07:00
Juraj Cigáň
91ede1bdec Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2017-07-25 21:10:29 +00:00
Kohei Yoshino
29698a55c4 Pontoon: Update Japanese (ja) localization of Test Pilot: Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2017-07-25 21:10:27 +00:00
Juraj Cigáň
abfc07b1e3 Pontoon: Update Slovak (sk) localization of Test Pilot: Firefox Send
Localization authors:
- Juraj Cigáň <kusavica@gmail.com>
2017-07-25 20:51:41 +00:00
Rodrigo
a0401b24e8 Pontoon: Update Portuguese (pt-PT) localization of Test Pilot: Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2017-07-25 20:51:32 +00:00
Håvar Henriksen
dbf39efd35 Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-25 20:51:25 +00:00
Kohei Yoshino
fe7d71d165 Pontoon: Update Japanese (ja) localization of Test Pilot: Firefox Send
Localization authors:
- Kohei Yoshino <kohei.yoshino@gmail.com>
2017-07-25 20:51:22 +00:00
Rodrigo
977fe65dce Pontoon: Update Portuguese (pt-PT) localization of Test Pilot: Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2017-07-25 20:31:35 +00:00
Håvar Henriksen
4e79925c7b Pontoon: Update Norwegian Bokmål (nb-NO) localization of Test Pilot: Firefox Send
Localization authors:
- Håvar Henriksen <havar@firefox.no>
2017-07-25 20:31:32 +00:00
Danny Coates
416e8d81f9 Merge pull request #313 from mozilla/driverTimeout
removing timeout limit for front end tests
2017-07-25 13:21:59 -07:00
Abhinav Adduri
215f0f74ad removing timeout limit for front end tests 2017-07-25 13:14:08 -07:00
Rodrigo
93930b91a2 Pontoon: Update Portuguese (pt-PT) localization of Test Pilot: Firefox Send
Localization authors:
- Rodrigo <rodrigo.mcunha@hotmail.com>
2017-07-25 20:11:11 +00:00
Danny Coates
65c24990cd Merge pull request #311 from mozilla/expiredDownloadPage
expired ids should reject instead of returning null
2017-07-25 13:10:46 -07:00
Danny Coates
424eb2c37a refactor all redis calls to reject on null 2017-07-25 13:00:02 -07:00
YFdyh000
d10cbcba3e Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- YFdyh000 <yfdyh000@gmail.com>
2017-07-25 19:51:29 +00:00
Andreas Pettersson
553f0958ba Pontoon: Update Swedish (sv-SE) localization of Test Pilot: Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2017-07-25 19:32:35 +00:00
Michael Wolf
ae2bae88cf Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-25 19:32:29 +00:00
Rok Žerdin
313b145297 Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-25 19:32:22 +00:00
YFdyh000
faf5fd17d3 Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- YFdyh000 <yfdyh000@gmail.com>
2017-07-25 19:32:16 +00:00
Danny Coates
dd0ab710de format 2017-07-25 12:21:07 -07:00
Andreas Pettersson
c2bcac76e9 Pontoon: Update Swedish (sv-SE) localization of Test Pilot: Firefox Send
Localization authors:
- Andreas Pettersson <az@kth.se>
2017-07-25 19:11:04 +00:00
Rok Žerdin
bf7024c6d9 Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-25 19:11:00 +00:00
Francesco Lodolo
992cdcc70e Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-25 19:10:58 +00:00
YFdyh000
10e446bb41 Pontoon: Update Chinese (zh-CN) localization of Test Pilot: Firefox Send
Localization authors:
- YFdyh000 <yfdyh000@gmail.com>
2017-07-25 19:10:56 +00:00
Danny Coates
15ac0e1d49 expired ids should reject instead of returning null 2017-07-25 12:00:52 -07:00
Michael Wolf
4946e9c382 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-25 18:55:15 +00:00
Rok Žerdin
ece302342e Pontoon: Update Slovenian (sl) localization of Test Pilot: Firefox Send
Localization authors:
- Rok Žerdin <rok.zerdin1990@gmail.com>
2017-07-25 18:55:11 +00:00
Francesco Lodolo
721aa48d53 Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-25 18:55:07 +00:00
Danny Coates
0761fcf902 Merge pull request #302 from youwenliang/ux-tweak
UX Refine WIP
2017-07-25 11:42:25 -07:00
Michael Wolf
33602f1432 Pontoon: Update Sorbian, Upper (hsb) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Wolf <milupo@sorbzilla.de>
2017-07-25 18:39:42 +00:00
Francesco Lodolo
74b305442c Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-25 18:39:40 +00:00
Michael Köhler
f30393cf33 Pontoon: Update German (de) localization of Test Pilot: Firefox Send
Localization authors:
- Michael Köhler <michael.koehler1@gmx.de>
2017-07-25 18:39:38 +00:00
Danny Coates
e7688a62c6 Merge branch 'master' into ux-tweak 2017-07-25 11:31:13 -07:00
Danny Coates
109617d817 Merge pull request #310 from mozilla/addresses159
if the download card is pressed, the expired card shows up properly
2017-07-25 11:29:27 -07:00
Abhinav Adduri
8f66db2295 changed from expired to errored 2017-07-25 11:28:33 -07:00
Abhinav Adduri
57e0d17cbc if the download card is pressed, the expired card shows up properly 2017-07-25 10:58:18 -07:00
Francesco Lodolo
93138773ca Pontoon: Update Italian (it) localization of Test Pilot: Firefox Send
Localization authors:
- Francesco Lodolo <francesco.lodolo@mozillaitalia.org>
2017-07-25 17:54:36 +00:00
Abhinav Adduri
1bfa6321b1 Merge pull request #269 from mozilla/ftlFixes
refactored ftl file
2017-07-25 09:59:29 -07:00
Abhinav Adduri
10d489f766 fixed issues, fluentfmt output matches 2017-07-25 09:55:40 -07:00
Abhinav Adduri
4065bbcfd7 removing bundle files 2017-07-25 09:25:49 -07:00
Abhinav Adduri
330da9b258 merging master 2017-07-25 09:23:42 -07:00
Danny Coates
3febcfe1ea Merge pull request #291 from mozilla/legal
added legal page
2017-07-25 09:03:11 -07:00
You-Wen Liang (Mark)
0cdae11456 Update main.css
fix media queries
2017-07-25 23:55:16 +08:00
Daniela Arcese
5996bceef7 Merge pull request #307 from mozilla/ui
don't show error page on upload cancel
2017-07-25 11:48:34 -04:00
Daniela Arcese
ba277b9382 don't show error page on upload cancel 2017-07-25 11:08:41 -04:00
Mark Liang
5046b5022a Unify error image & expire image margin 2017-07-25 18:20:25 +08:00
Mark Liang
74334433cd Modify link to send homepage 2017-07-25 15:52:48 +08:00
Mark Liang
33bf82e963 add hover state for download button 2017-07-25 15:49:26 +08:00
Mark Liang
c72896aeb7 Fix footer responsive 2017-07-25 15:45:58 +08:00
Mark Liang
b306ffec8d Modify Feedback icon + Footer responsive 2017-07-25 15:34:01 +08:00
Mark Liang
e1c21dd9b0 Fix CSS lint failed 2017-07-25 14:52:21 +08:00
Mark Liang
9f8cedc0db Remove unused files 2017-07-25 14:14:17 +08:00
Mark Liang
12c02ef6af Update UI & Responsive 2017-07-25 14:12:26 +08:00
Danny Coates
5a564e2c37 tighten csp 2017-07-24 22:08:43 -07:00
Danny Coates
4b8445191b Merge pull request #299 from mozilla/circleVersion
use CIRCLE_TAG as version.json version if present
2017-07-24 18:35:34 -07:00
Danny Coates
12033edda5 use CIRCLE_TAG as version.json version if present 2017-07-24 18:25:28 -07:00
Danny Coates
1eabc1a11e added legal page 2017-07-24 10:51:57 -07:00
Abhinav Adduri
eb73dbfe78 removed empty lines 2017-07-24 09:41:37 -07:00
Abhinav Adduri
168a711c05 Firefox Send and Test Pilot should not be localized 2017-07-21 14:04:59 -07:00
Abhinav Adduri
b123b736e9 added comment to expiry column header 2017-07-21 11:13:45 -07:00
Abhinav Adduri
28e496fe05 more fixes 2017-07-21 11:10:57 -07:00
Abhinav Adduri
8ebfaf9ad9 adding requested changes 2017-07-21 10:56:25 -07:00
Abhinav Adduri
47fd387799 added toml file 2017-07-21 10:39:41 -07:00
Abhinav Adduri
2c77d94af7 refactored ftl file 2017-07-20 15:47:59 -07:00
72 changed files with 6035 additions and 1189 deletions

View File

@@ -19,7 +19,9 @@ rules:
security/detect-non-literal-fs-filename: off
security/detect-object-injection: off
eol-last: [error, always]
eqeqeq: error
no-alert: warn
no-console: warn
no-path-concat: error
no-unused-vars: [error, {argsIgnorePattern: "^_|err|event|next|reject"}]

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ public/upload.js
public/download.js
public/version.json
public/l20n.min.js
public/polyfill.min.js
static/*
!static/info.txt
test/frontend/bundle.js

View File

@@ -4,3 +4,4 @@ rules:
color-hex-case: lower
declaration-colon-newline-after: null
selector-list-comma-newline-after: null
value-list-comma-newline-after: null

View File

@@ -32,7 +32,7 @@ $ redis-server /usr/local/etc/redis.conf
## Localization
_Coming soon_ (see [#57](https://github.com/mozilla/send/issues/57))
Firefox Send localization is managed via [Pontoon](https://pontoon.mozilla.org/projects/test-pilot-firefox-send/), not direct pull requests to the repository. If you want to fix a typo, add a new language, or simply know more about localization, please get in touch with the [existing localization team](https://pontoon.mozilla.org/teams/) for your language, or Mozillas [l10n-drivers](https://wiki.mozilla.org/L10n:Mozilla_Team#Mozilla_Corporation) for guidance.
## Contributing

View File

@@ -31,6 +31,7 @@ deployment:
test:
override:
- npm run build:version
- npm run lint
- npm test
- nsp check

2
docs/CODEOWNERS Normal file
View File

@@ -0,0 +1,2 @@
# flod as main contact for string changes
public/locales/en-US/*.ftl @flodolo

View File

@@ -131,6 +131,6 @@ Fired whenever the user interrupts any part of funnel to return to the start of
#### `unsupported`
Fired whenever a user is presented a message saying that their browser is unsupported due to missing crypto APIs.
- `ec` - `sender`
- `ec` - `recipient` or `sender`, as applicable.
- `ea` - `unsupported`
- `cd6`

View File

@@ -1,10 +1,35 @@
window.Raven = require('raven-js');
window.Raven.config(window.dsn).install();
window.dsn = undefined;
if (navigator.doNotTrack !== '1' && window.RAVEN_CONFIG) {
window.Raven.config(window.SENTRY_ID, window.RAVEN_CONFIG).install();
}
const testPilotGA = require('testpilot-ga');
const { gcmCompliant, sendEvent } = require('./utils');
window.analytics = new testPilotGA({
an: 'Firefox Send',
ds: 'web',
tid: window.trackerId
tid: window.GOOGLE_ANALYTICS_ID
});
const isSender = !location.pathname.includes('/download');
const ec = isSender ? 'sender' : 'recipient';
const ua = navigator.userAgent.toLowerCase();
gcmCompliant().catch(err => {
sendEvent(ec, 'unsupported', {
cd6: err
}).then(() => {
location.replace('/unsupported/gcm');
});
});
if (
ua.indexOf('firefox') > -1 &&
parseInt(ua.match(/firefox\/*([^\n\r]*)\./)[1], 10) <= 49
) {
sendEvent(ec, 'unsupported', {
cd6: new Error('Firefox is outdated.')
}).then(() => {
location.replace('/unsupported/outdated');
});
}

View File

@@ -1,6 +1,6 @@
require('./common');
const FileReceiver = require('./fileReceiver');
const { notify, findMetric, gcmCompliant, sendEvent } = require('./utils');
const { notify, findMetric, sendEvent } = require('./utils');
const bytes = require('bytes');
const Storage = require('./storage');
const storage = new Storage(localStorage);
@@ -11,14 +11,6 @@ require('jquery-circle-progress');
const Raven = window.Raven;
$(document).ready(function() {
gcmCompliant().catch(err => {
$('#download').attr('hidden', true);
sendEvent('recipient', 'unsupported', {
cd6: err
}).then(() => {
location.replace('/unsupported');
});
});
//link back to homepage
$('.send-new').attr('href', window.location.origin);
@@ -98,7 +90,6 @@ $(document).ready(function() {
$('.progress-text').text(decryptingFile);
});
} else {
console.log('Done decrypting');
downloadEnd = Date.now();
}
});
@@ -144,13 +135,16 @@ $(document).ready(function() {
cd6: err
});
document.l10n.formatValue('expiredPageHeader').then(translated => {
$('.title').text(translated);
});
$('#download-btn').attr('hidden', true);
$('#expired-img').removeAttr('hidden');
console.log('The file has expired, or has already been deleted.');
return;
if (err.message === 'notfound') {
location.reload();
} else {
document.l10n.formatValue('errorPageHeader').then(translated => {
$('.title').text(translated);
});
$('#download-btn').attr('hidden', true);
$('#expired-img').removeAttr('hidden');
}
throw err;
})
.then(([decrypted, fname]) => {
const endTime = Date.now();

View File

@@ -19,9 +19,7 @@ class FileReceiver extends EventEmitter {
xhr.onload = function(event) {
if (xhr.status === 404) {
reject(
new Error('The file has expired, or has already been deleted.')
);
reject(new Error('notfound'));
return;
}

View File

@@ -1,8 +1,6 @@
const EventEmitter = require('events');
const { arrayToHex } = require('./utils');
const Raven = window.Raven;
class FileSender extends EventEmitter {
constructor(file) {
super();
@@ -24,12 +22,6 @@ class FileSender extends EventEmitter {
if (xhr.readyState === XMLHttpRequest.DONE) {
resolve();
}
if (xhr.status === 200) {
console.log('The file was successfully deleted.');
} else {
console.log('The file has expired, or has already been deleted.');
}
};
xhr.send(JSON.stringify({ delete_token: token }));
@@ -44,18 +36,14 @@ class FileSender extends EventEmitter {
const self = this;
self.emit('loading', true);
return Promise.all([
window.crypto.subtle
.generateKey(
{
name: 'AES-GCM',
length: 128
},
true,
['encrypt', 'decrypt']
)
.catch(err =>
console.log('There was an error generating a crypto key')
),
window.crypto.subtle.generateKey(
{
name: 'AES-GCM',
length: 128
},
true,
['encrypt', 'decrypt']
),
new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsArrayBuffer(this.file);
@@ -142,10 +130,6 @@ class FileSender extends EventEmitter {
);
xhr.send(fd);
});
})
.catch(err => {
Raven.captureException(err);
return Promise.reject(err);
});
}
}

View File

@@ -29,10 +29,19 @@ class Storage {
for (let i = 0; i < this.engine.length; i++) {
const k = this.engine.key(i);
if (isFile(k)) {
fs.push(JSON.parse(this.engine.getItem(k))); // parse or whatever else
try {
fs.push(JSON.parse(this.engine.getItem(k)));
} catch (err) {
// obviously you're not a golfer
this.engine.removeItem(k);
}
}
}
return fs;
return fs.sort((file1, file2) => {
const creationDate1 = new Date(file1.creationDate);
const creationDate2 = new Date(file2.creationDate);
return creationDate1 - creationDate2;
});
}
get numFiles() {

View File

@@ -1,13 +1,7 @@
/* global MAXFILESIZE EXPIRE_SECONDS */
require('./common');
const FileSender = require('./fileSender');
const {
notify,
gcmCompliant,
findMetric,
sendEvent,
ONE_DAY_IN_MS
} = require('./utils');
const { notify, findMetric, sendEvent, ONE_DAY_IN_MS } = require('./utils');
const bytes = require('bytes');
const Storage = require('./storage');
const storage = new Storage(localStorage);
@@ -25,15 +19,6 @@ if (storage.has('referrer')) {
}
$(document).ready(function() {
gcmCompliant().catch(err => {
$('#page-one').attr('hidden', true);
sendEvent('sender', 'unsupported', {
cd6: err
}).then(() => {
location.replace('/unsupported');
});
});
$('#file-upload').change(onUpload);
$('.legal-links a, .social-links a, #dl-firefox').click(function(target) {
@@ -80,7 +65,8 @@ $(document).ready(function() {
if (files.length === 0) {
toggleHeader();
} else {
for (const index in files) {
// eslint-disable-next-line prefer-const
for (let index in files) {
const id = files[index].fileId;
//check if file still exists before adding to list
checkExistence(id, files[index], true);
@@ -135,7 +121,7 @@ $(document).ready(function() {
event.preventDefault();
// don't allow upload if not on upload page
if ($('#page-one').attr('hidden')){
if ($('#page-one').attr('hidden')) {
return;
}
@@ -180,10 +166,6 @@ $(document).ready(function() {
const fileSender = new FileSender(file);
$('#cancel-upload').click(() => {
fileSender.cancel();
location.reload();
document.l10n.formatValue('uploadCancelNotification').then(str => {
notify(str);
});
storage.referrer = 'cancelled-upload';
// record upload-stopped (cancelled) by sender
@@ -195,6 +177,7 @@ $(document).ready(function() {
cd1: event.type === 'drop' ? 'drop' : 'click',
cd2: 'cancelled'
});
location.reload();
});
fileSender.on('progress', progress => {
@@ -218,8 +201,6 @@ $(document).ready(function() {
document.l10n.formatValue('verifyingFile').then(verifyingFile => {
$('.progress-text').text(verifyingFile);
});
} else {
console.log('Finished hashing');
}
});
@@ -231,7 +212,6 @@ $(document).ready(function() {
$('.progress-text').text(encryptingFile);
});
} else {
console.log('Finished encrypting');
uploadStart = Date.now();
}
});
@@ -306,6 +286,11 @@ $(document).ready(function() {
});
})
.catch(err => {
// err is 0 when coming from a cancel upload event
if (err === 0) {
return;
}
// only show error page when the error is anything other than user cancelling the upload
Raven.captureException(err);
$('#page-one').attr('hidden', true);
$('#upload-progress').attr('hidden', true);
@@ -462,14 +447,14 @@ $(document).ready(function() {
popupDiv.classList.add('popup');
const $popupMessage = $('<div>', { class: 'popup-message' });
$popupMessage.attr('data-l10n-id', 'deletePopupText');
const $popupAction = $('<div>', { class: 'popup-action' });
const $popupNvmSpan = $('<span>', { class: 'popup-no' });
$popupNvmSpan.attr('data-l10n-id', 'deletePopupCancel');
const $popupDelSpan = $('<span>', { class: 'popup-yes' });
$popupDelSpan.attr('data-l10n-id', 'deletePopupYes');
const $popupNvmSpan = $('<span>', { class: 'popup-no' });
$popupNvmSpan.attr('data-l10n-id', 'deletePopupCancel');
$popupText.html([$popupMessage, $popupDelSpan, $popupNvmSpan]);
$popupText.html([$popupMessage, $popupAction]);
$popupAction.html([$popupNvmSpan, $popupDelSpan]);
// add data cells to table row
row.appendChild(name);

View File

@@ -1,6 +1,7 @@
function arrayToHex(iv) {
let hexStr = '';
for (const i in iv) {
// eslint-disable-next-line prefer-const
for (let i in iv) {
if (iv[i] < 16) {
hexStr += '0' + iv[i].toString(16);
} else {
@@ -20,6 +21,8 @@ function hexToArray(str) {
}
function notify(str) {
return str;
/* TODO: enable once we have an opt-in ui element
if (!('Notification' in window)) {
return;
} else if (Notification.permission === 'granted') {
@@ -29,6 +32,7 @@ function notify(str) {
if (permission === 'granted') new Notification(str);
});
}
*/
}
function gcmCompliant() {
@@ -81,7 +85,7 @@ function findMetric(href) {
return 'privacy';
case 'https://testpilot.firefox.com/terms':
return 'terms';
case 'https://www.mozilla.org/en-US/privacy/websites/#cookies':
case 'https://www.mozilla.org/privacy/websites/#cookies':
return 'cookies';
case 'https://github.com/mozilla/send':
return 'github';
@@ -95,12 +99,7 @@ function findMetric(href) {
}
function isFile(id) {
return ![
'referrer',
'totalDownloads',
'totalUploads',
'testpilot_ga__cid'
].includes(id);
return /^[0-9a-fA-F]{10}$/.test(id);
}
function sendEvent() {

12
l10n.toml Normal file
View File

@@ -0,0 +1,12 @@
# 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/.
basepath = "."
[env]
l = "{l10n_base}/public/locales/{locale}/"
[[paths]]
reference = "public/locales/en-US/**"
l10n = "{l}**"

2697
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "firefox-send",
"description": "File Sharing Experiment",
"version": "0.2.1",
"version": "1.0.3",
"author": "Mozilla (https://mozilla.org)",
"dependencies": {
"aws-sdk": "^2.89.0",
@@ -17,6 +17,7 @@
"redis": "^2.7.1"
},
"devDependencies": {
"babel-polyfill": "^6.23.0",
"browserify": "^14.4.0",
"eslint": "^4.3.0",
"eslint-plugin-mocha": "^4.11.0",
@@ -33,8 +34,8 @@
"raven-js": "^3.17.0",
"selenium-webdriver": "^3.5.0",
"sinon": "^2.3.8",
"stylelint": "^7.13.0",
"stylelint-config-standard": "^16.0.0",
"stylelint": "^8.0.0",
"stylelint-config-standard": "^17.0.0",
"supertest": "^3.0.0",
"testpilot-ga": "^0.3.0",
"uglifyify": "^4.0.3"
@@ -45,21 +46,56 @@
"homepage": "https://github.com/mozilla/send/",
"license": "MPL-2.0",
"repository": "mozilla/send",
"availableLanguages": [
"az",
"cs",
"cy",
"de",
"dsb",
"en-US",
"es-ES",
"es-MX",
"fr",
"fy-NL",
"hsb",
"hu",
"it",
"ja",
"kab",
"ms",
"nb-NO",
"nl",
"nn-NO",
"pt-BR",
"pt-PT",
"ru",
"sk",
"sl",
"sr",
"sv-SE",
"zh-CN",
"zh-TW"
],
"scripts": {
"build": "npm-run-all build:*",
"build:upload": "browserify frontend/src/upload.js -g uglifyify -o public/upload.js",
"build:download": "browserify frontend/src/download.js -g uglifyify -o public/download.js",
"build:version": "node scripts/version",
"build:l10n": "cp node_modules/l20n/dist/web/l20n.min.js public",
"build:vendor": "cp node_modules/l20n/dist/web/l20n.min.js node_modules/babel-polyfill/dist/polyfill.min.js public",
"dev": "npm run build && npm start",
"format": "prettier '{frontend/src/,scripts/,server/,test/**/}*.js' 'public/*.css' --single-quote --write",
"format": "prettier '{frontend/src/,scripts/,server/,test/**/!(bundle)}*.js' 'public/*.css' --single-quote --write",
"get-prod-locales": "node scripts/get-prod-locales",
"get-prod-locales:write": "npm run get-prod-locales -- --write",
"lint": "npm-run-all lint:*",
"lint:css": "stylelint 'public/*.css'",
"lint:js": "eslint .",
"lint-locales": "node scripts/lint-locales",
"lint-locales:dev": "npm run lint-locales",
"lint-locales:prod": "npm run lint-locales -- --production",
"start": "node server/server",
"test": "npm-run-all test:*",
"test:unit": "mocha test/unit",
"test:server": "mocha test/server",
"test:browser": "browserify test/frontend/frontend.bundle.js -o test/frontend/bundle.js -d && node test/frontend/driver.js"
"test--browser": "browserify test/frontend/frontend.bundle.js -o test/frontend/bundle.js -d && node test/frontend/driver.js"
}
}

View File

@@ -0,0 +1,94 @@
// 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
.title = Kompüterinizdən 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ə
uploadingPageHeader = Faylınız 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
.title = 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
.alt = Yüklə
uploadSuccessTimingHeader = Faylınızın keçidinin 1 endirmədən və ya 24 saatdan sonra vaxtı çıxacaq.
copyUrlFormLabelWithName = Faylınızı göndərmək üçün keçidi köçürün: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Buferə köçür
.title = Mübadilə buferinə köçür
copiedUrl = Köçürüldü!
// Note: Title text for button should be the same.
deleteFileButton = Faylı sil
.title = Faylı sil
// Note: Title text for button should be the same.
sendAnotherFileLink = Başqa fayl göndər
.title = Başqa fayl göndər
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Endir
downloadFileName = { $filename } faylını endir
downloadFileSize = ({ $size })
// 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
.title = Endir
downloadNotification = Endirməniz tamamlandı.
downloadFinish = Endirmə Tamamlandı
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send Yoxla
.title = 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
.alt = 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
.alt = 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!
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
.title = Sil
copyUrlHover
.title = 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

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webový experiment
siteFeedback = Zpětná vazba
uploadPageHeader = Soukromé a šifrované sdílení souborů
uploadPageExplainer = Posílejte soubory přes bezpečné, soukromé a šifrované odkazy, které automaticky soubor smažou, aby nezůstal na internetu navěky.
uploadPageLearnMore = Zjistit více
uploadPageDropMessage = Přesunutím souboru sem spustíte jeho nahrávání
uploadPageSizeMessage = Nahrávání funguje nejlépe pro soubory do velikosti 1 GB.
uploadPageBrowseButton = Vybrat soubor z počítače
.title = Výběr souboru z počítače
uploadPageMultipleFilesAlert = Nahrávání více souborů najednou nebo celých složek zatím není podporováno.
uploadPageBrowseButtonTitle = Nahrát soubor
uploadingPageHeader = Nahrávání vašeho souboru
importingFile = Probíhá import…
verifyingFile = Probíhá ověřování…
encryptingFile = Probíhá šifrování…
decryptingFile = Probíhá dešifrování…
notifyUploadDone = Nahrávání vašeho souboru bylo dokončeno.
uploadingPageMessage = Po dokončení nahrávání můžete nastavit dobu expirace souboru.
uploadingPageCancel = Zrušit nahrávání
.title = Zrušit nahrávání
uploadCancelNotification = Nahrávání vašeho souboru bylo zrušeno.
uploadingPageLargeFileMessage = Tento soubor je veliký a jeho nahrávání může chvíli trvat. Posaďte se na chvilku.
uploadingFileNotification = Upozornit, až bude nahrávání dokončeno.
uploadSuccessConfirmHeader = Připraveno k odeslání
uploadSvgAlt
.alt = Nahrát
uploadSuccessTimingHeader = Platnost odkazu na váš souboru vyprší po jeho prvním stažení, nebo po 24 hodinách.
copyUrlFormLabelWithName = Zkopírujte a sdílejte odkaz na váš soubor: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Zkopírovat do schránky
.title = Zkopírovat do schránky
copiedUrl = Zkopírováno!
// Note: Title text for button should be the same.
deleteFileButton = Smazat soubor
.title = Smazání souboru
// Note: Title text for button should be the same.
sendAnotherFileLink = Poslat další soubor
.title = Poslat další soubor
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Stáhnout
downloadFileName = Stáhnout { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Někdo vám posílá soubor pomocí služby Firefox Send, které umožňuje bezpečné, soukromí a šifrované sdílení souborů, které jsou pak automaticky smazány, aby nezůstaly na internetu navěky.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Stáhnout
.title = Stáhnout
downloadNotification = Stahování bylo dokončeno.
downloadFinish = Stahování dokončeno
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Vyzkoušejte Firefox Send
.title = Vyzkoušejte Firefox Send
downloadingPageProgress = Stahování { $filename } ({ $size })
downloadingPageMessage = Ponechte prosím tento panel otevřený, dokud nepřipravíme váš soubor a nedešifrujeme ho.
errorAltText
.alt = Chyba při nahrávání souboru
errorPageHeader = Nastala chyba!
errorPageMessage = Při nahrávání souboru se vyskytl problém.
errorPageLink = Poslat další soubor
fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }.
linkExpiredAlt
.alt = Platnost odkazu vypršela
expiredPageHeader = Platnost tohoto odkazu buď vypršela, nebo vůbec nikdy neexistoval.
notSupportedHeader = Váš prohlížeč není podporován.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Bohužel tento prohlížeč nepodporuje technologii, kterou Firefox Send používá. Zkuste prosím jiný prohlížeč, doporučujeme Firefox!
notSupportedOutdatedDetail = Tato verze Firefoxu bohužel nepodporuje webovou technologii, která pohání Firefox Send. Musíte aktualizovat svůj prohlížeč.
updateFirefox = Aktualizovat Firefox
downloadFirefoxButtonSub = Stáhnout zdarma
uploadedFile = Soubor
copyFileList = Kopírovat URL
// expiryFileList is used as a column header
expiryFileList = Platnost vyprší za
deleteFileList = Smazat
nevermindButton = Nevadí
legalHeader = Podmínky a ochrana soukromí
legalNoticeTestPilot = Firefox Send je ve fázi experimentu projektu Test Pilot a platí tak pro něj stejné <a>Podmínky používání</a> a <a>Zásady ochrany soukromí</a>. Více o tomto experimentu a sbíraných datech se dozvíte <a>zde</a>.
legalNoticeMozilla = Používání webové služby Firefox Send se řídí <a>Zásadami ochrany soukromí</a> a <a>Podmínkami používání</a> webových stránek Mozilly.
deletePopupText = Smazat tento soubor?
deletePopupYes = Ano
deletePopupCancel = Zrušit
deleteButtonHover
.title = Smazat
copyUrlHover
.title = Kopírovat URL
footerLinkLegal = Právní informace
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = O programu Test Pilot
footerLinkPrivacy = Soukromí
footerLinkTerms = Podmínky
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// 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 Preifat
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
.title = Dewiswch ffeil ar eich cyfrifiadur
uploadPageMultipleFilesAlert = Nid yw llwytho nifer lluosog o ffeilia neu ffolder yn cael ei gynnal ar hyn o bryd.
uploadPageBrowseButtonTitle = Llwytho ffeil i fyny
uploadingPageHeader = Llwytho eich Ffeiliau 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 manylion dod i ben.
uploadingPageCancel = Diddymu'r llwytho
.title = Diddymu'r llwytho
uploadCancelNotification = Cafodd eich llwytho ei ddiddymu.
uploadingPageLargeFileMessage = Mae'r ffeil yn fawr a gall gymryd peth amser i'w llwytho. Arhoswch!
uploadingFileNotification = Dweud wrtha i pan fydd y llwytho wedi gorffen.
uploadSuccessConfirmHeader = Yn Barod i Anfon
uploadSvgAlt
.alt = LLwytho i Fyny
uploadSuccessTimingHeader = Bydd y ddolen i'ch ffeil y dod i ben ar ôl 1 llwytho neu o fewn 24 awr.
copyUrlFormLabelWithName = Copïo a rhannu'r ddolen i anfon eich ffeil: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copïo i'r clipfwrdd
.title = Copïo i'r clipfwrdd
copiedUrl = Wedi eu copïo!
// Note: Title text for button should be the same.
deleteFileButton = Dileu ffeil
.title = Dileu ffeil
// Note: Title text for button should be the same.
sendAnotherFileLink = Anfon ffeil arall
.title = Anfon ffeil arall
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Llwytho i lawr
downloadFileName = Llwytho i lawr { $filename }
downloadFileSize = ({ $size })
// 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
.title = Llwytho i Lawr
downloadNotification = Mae eich llwytho wedi gorffen
downloadFinish = Llwytho wedi Gorffen
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Profwch Firefox Send
.title = Profwch 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
.alt = 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
.alt = 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!
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'i gasglu data <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
.title = Dileu
copyUrlHover
.title = 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

View File

@@ -0,0 +1,94 @@
// 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
.title = Wählen Sie eine Datei auf Ihrem Computer aus
uploadPageMultipleFilesAlert = Hochladen mehrerer Dateien oder eines Ordners wird derzeit nicht unterstützt.
uploadPageBrowseButtonTitle = Datei hochladen
uploadingPageHeader = Ihre Datei 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
.title = 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
.alt = Hochladen
uploadSuccessTimingHeader = Der Link zu Ihrer Datei läuft nach einem Download oder in 24 Stunden ab.
copyUrlFormLabelWithName = Kopieren und teilen Sie den Link, um Ihre Datei zu senden: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = In Zwischenablage kopieren
.title = In Zwischenablage kopieren
copiedUrl = Kopiert!
// Note: Title text for button should be the same.
deleteFileButton = Datei löschen
.title = Datei löschen
// Note: Title text for button should be the same.
sendAnotherFileLink = Eine weitere Datei senden
.title = Eine weitere Datei senden
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Herunterladen
downloadFileName = { $filename } herunterladen
downloadFileSize = ({ $size })
// 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
.title = Herunterladen
downloadNotification = Der Download wurde abgeschlossen.
downloadFinish = Download abgeschlossen
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send ausprobieren
.title = 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
.alt = 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
.alt = 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!
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Firefox Send basiert. Sie müssen Ihren 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 diese 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
.title = Löschen
copyUrlHover
.title = 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

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webeksperiment
siteFeedback = Komentar
uploadPageHeader = Priwatne, skoděrowane źělenje datajow
uploadPageExplainer = Pósćelśo dataje pśez wěsty, priwatny a skoděrowany wótkaz, kótaryž awtomatiski spadnjo, až njeby waše daty na pśecej online wóstawali.
uploadPageLearnMore = Dalšne informacije
uploadPageDropMessage = Śěgniśo swóju dataju sem, aby ju nagrał
uploadPageSizeMessage = Wužywajśo nejlěpje dataje, kótarež su mjeńše ako 1 GB za lěpšu spušćobnosć.
uploadPageBrowseButton = Wubjeŕśo dataju na swójom licadle
.title = Wubjeŕśo dataju na swójom licadle
uploadPageMultipleFilesAlert = Nagrawanje někotarych datajow abo zarědnika se tuchylu njepódpěra.
uploadPageBrowseButtonTitle = Dataju nagraś
uploadingPageHeader = Waša dataja se nagrawa
importingFile = Importěrujo se...
verifyingFile = Pśespytujo se...
encryptingFile = Koděrujo se...
decryptingFile = Dešifrěrujo se...
notifyUploadDone = Wašo nagraśe jo dokóńcone.
uploadingPageMessage = Gaž se waša dataja nagrawa, móžośo nastajenja spadnjenja póstajiś.
uploadingPageCancel = Nagraśe pśetergnus
.title = Nagraśe pśetergnus
uploadCancelNotification = Wašo nagraśe jo se pśetergnuło.
uploadingPageLargeFileMessage = Toś ta dataja jo wjelika a nagrawanje mógło chylku traś. Buźćo sćerpliwy!
uploadingFileNotification = K wěsći daś, gaž nagraśe jo dokóńcone.
uploadSuccessConfirmHeader = Gótowy za słanje
uploadSvgAlt
.alt = Nagraś
uploadSuccessTimingHeader = Wótkaz k wašej dataji pó 1 ześěgnjenju abo 24 góźinach spadnjo.
copyUrlFormLabelWithName = Kopěrujśo a źělśo wótkaz, aby swóju dataju pósłał: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Do mjazywótkłada kopěrowaś
.title = Do mjazywótkłada kopěrowaś
copiedUrl = Kopěrowany!
// Note: Title text for button should be the same.
deleteFileButton = Dataju wulašowaś
.title = Dataju wulašowaś
// Note: Title text for button should be the same.
sendAnotherFileLink = Drugu dataju pósłaś
.title = Drugu dataju pósłaś
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Ześěgnuś
downloadFileName = { $filename } ześěgnuś
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Waš pśijaśel wam dataju z Firefox Send sćelo, słužba, kótaraž wam zmóžnja, dataje pśez wěsty, priwatny a skoděrowany wótkaz źěliś, kótaryž awtomatiski spadnjo, až njeby waše daty na pśecej online wóstawali.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Ześěgnuś
.title = Ześěgnuś
downloadNotification = Wašo ześěgnjenje jo dokóńcone.
downloadFinish = Ześěgnjenje dokóńcone
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send wopytaś
.title = Firefox Send wopytaś
downloadingPageProgress = { $filename } ({ $size }) se ześěgujo
downloadingPageMessage = Pšosym wóstajśo toś ten rejtark wócynjony, mjaztym až wašu dataju ześěgujomy a dešifrěrujomy.
errorAltText
.alt = Nagrawańska zmólka
errorPageHeader = Něco njejo se raźiło!
errorPageMessage = Pśi nagrawanju dataje jo zmólka nastała.
errorPageLink = Drugu dataju pósłaś
fileTooBig = Toś ta dataja jo pśewjelika za nagraśe. Měła mjeńša ako { $size } byś.
linkExpiredAlt
.alt = Wótkaz spadnjony
expiredPageHeader = Toś ten wótkaz jo spadnjony abo njejo nigda eksistěrował!
notSupportedHeader = Waš wobglědowak se njepódpěra.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Bóžko toś ten wobglědowak webtechnologiju njepódpěra, na kótarejž Firefox Send bazěrujo. Musyśo drugi wobglědowak wužywaś. My Firefox dopórucujomy!
notSupportedOutdatedDetail = Bóžko toś ta wersija Firefox webtechnologiju njepódpěra, na kótarejž Firefox Send bazěrujo. Musyśo swój wobglědowak aktualizěrowaś.
updateFirefox = Firefox aktualizěrowaś
downloadFirefoxButtonSub = Dermotne ześěgnjenje
uploadedFile = Dataja
copyFileList = URL kopěrowaś
// expiryFileList is used as a column header
expiryFileList = Spadnjo za
deleteFileList = Wulašowaś
nevermindButton = Wšojadno
legalHeader = Wuměnjenja a priwatnosć
legalNoticeTestPilot = Firefox jo tuchylu eksperiment Test Pilot, a pódlažy <a>wužywańskim wuměnjenjam</a> a <a>pokazce priwatnosći</a> Test Pilot. Wěcej wó toś tom eksperimenśe a daty, kótarež gromaźi, <a>how</a> zgónijośo.
legalNoticeMozilla = Teke wužywanje websedła Firefox Send <a>pokazce priwatnosći za websedła</a> a <a>wužywańskim wuměnjenjam za websedła</a> Mozilla pódlažy.
deletePopupText = Toś tu dataju lašowaś?
deletePopupYes = Jo
deletePopupCancel = Pśetergnuś
deleteButtonHover
.title = Wulašowaś
copyUrlHover
.title = URL kopěrowaś
footerLinkLegal = Pšawniske
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Wó Test Pilot
footerLinkPrivacy = Priwatnosć
footerLinkTerms = Wuměnjenja
footerLinkCookies = Cookieje

View File

@@ -0,0 +1,77 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = πείραμα διαδικτύου
siteFeedback = Σχόλια
uploadPageLearnMore = Μάθετε περισσότερα
uploadPageDropMessage = Εναποθέστε το αρχείο σας εδώ για έναρξη μεταφόρτωσης
uploadPageBrowseButton = Επιλέξτε αρχείο από τον υπολογιστή σας
.title = Επιλέξτε αρχείο από τον υπολογιστή σας
uploadPageMultipleFilesAlert = Η μεταφόρτωση πολλαπλών αρχείων ή φακέλου δεν υποστηρίζεται αυτή τη στιγμή.
uploadPageBrowseButtonTitle = Μεταφόρτωση αρχείου
uploadingPageHeader = Γίνετε μεταφόρτωση του αρχείου σας
importingFile = Εισαγωγή…
verifyingFile = Επαλήθευση...
encryptingFile = Κρυπτογράφηση…
decryptingFile = Αποκρυπτογράφηση…
notifyUploadDone = Η μεταφόρτωσή σας ολοκληρώθηκε.
uploadingPageCancel = Ακύρωση μεταφόρτωσης
.title = Ακύρωση μεταφόρτωσης
uploadCancelNotification = Η μεταφόρτωσή σας ακυρώθηκε.
uploadingPageLargeFileMessage = Αυτό το αρχείο είναι μεγάλο και ίσως χρειαστεί λίγος αρκετός χρόνος για μεταφόρτωση. Χαλαρώστε!
uploadingFileNotification = Ειδοποίηση όταν ολοκληρωθεί η μεταφόρτωση.
uploadSuccessConfirmHeader = Έτοιμο για αποστολή
uploadSvgAlt
.alt = Μεταφόρτωση
// Note: Title text for button should be the same.
copyUrlFormButton = Αντιγραφή στο πρόχειρο
.title = Αντιγραφή στο πρόχειρο
copiedUrl = Αντιγράφτηκε!
// Note: Title text for button should be the same.
deleteFileButton = Διαγραφή αρχείου
.title = Διαγραφή αρχείου
// Note: Title text for button should be the same.
sendAnotherFileLink = Αποστολή άλλου αρχείου
.title = Αποστολή άλλου αρχείου
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Λήψη
downloadFileName = Λήψη του { $filename }
downloadFileSize = ({ $size })
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Λήψη
.title = Λήψη
downloadNotification = Η λήψη σας ολοκληρώθηκε.
downloadFinish = Η λήψη ολοκληρώθηκε
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Δοκιμάστε το Firefox Send
.title = Δοκιμάστε το Firefox Send
downloadingPageProgress = Γίνεται λήψη του { $filename } ({ $size })
errorAltText
.alt = Σφάλμα μεταφόρτωσης
errorPageHeader = Κάτι πήγε στραβά!
errorPageMessage = Παρουσιάστηκε σφάλμα κατά τη μεταφόρτωση του αρχείου.
errorPageLink = Αποστολή άλλου αρχείου
linkExpiredAlt
.alt = Ο σύνδεσμος έληξε
notSupportedHeader = Το πρόγραμμα περιήγησής σας δεν υποστηρίζεται.
downloadFirefoxButtonSub = Δωρεάν λήψη
uploadedFile = Αρχείο
copyFileList = Αντιγραφή URL
// expiryFileList is used as a column header
expiryFileList = Λήγει σε
deleteFileList = Διαγραφή
nevermindButton = Μην ανησυχείτε
legalHeader = Όροι & απόρρητο
deletePopupText = Διαγραφή αρχείου;
deletePopupYes = Ναι
deletePopupCancel = Ακύρωση
deleteButtonHover
.title = Διαγραφή
copyUrlHover
.title = Αντιγραφή URL
footerLinkLegal = Νομικά
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Σχετικά με το Test Pilot
footerLinkPrivacy = Απόρρητο
footerLinkTerms = Όροι
footerLinkCookies = Cookies

View File

@@ -1,95 +1,93 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = web experiment
siteFeedback = Feedback
uploadPageHeader = Private, Encrypted File Sharing
uploadPageExplainer = Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
uploadPageLearnMore = Learn more
uploadPageDropMessage = Drop your file here to start uploading
uploadPageSizeMessage = For the most reliable operation, its best to keep your file under 1GB
uploadPageBrowseButton = Select a file on your computer
.title = {uploadPageBrowseButtonTitle}
.title = Select a file on your computer
uploadPageMultipleFilesAlert = Uploading multiple files or a folder is currently not supported.
uploadPageBrowseButtonTitle = Upload file
uploadingPageHeader = Uploading Your File
importingFile = Importing...
verifyingFile = Verifying...
encryptingFile = Encrypting...
decryptingFile = Decrypting...
importingFile = Importing
verifyingFile = Verifying
encryptingFile = Encrypting
decryptingFile = Decrypting
notifyUploadDone = Your upload has finished.
uploadingPageMessage = Once your file uploads you will be able to set expiry options.
uploadingPageCancel = Cancel upload
.title = {uploadingPageCancel}
.title = Cancel upload
uploadCancelNotification = Your upload was cancelled.
uploadingPageLargeFileMessage = This file is large and may take awhile to upload. Sit tight!
uploadingPageLargeFileMessage = This file is large and may take a while to upload. Sit tight!
uploadingFileNotification = Notify me when the upload is complete.
uploadSuccessConfirmHeader = Ready to Send
uploadSvgAlt.alt = Upload
//Note the spec suggests that this string is editable. That feature will not appear at Launch
uploadSvgAlt
.alt = Upload
uploadSuccessTimingHeader = The link to your file will expire after 1 download or in 24 hours.
copyUrlFormLabel = Copy and share the link to send your file:
copyUrlFormLabelWithName = Copy and share the link to send your file: { $filename }
// Note: Title text for button should be the same
// Note: Title text for button should be the same.
copyUrlFormButton = Copy to clipboard
.title = {copyUrlFormButton}
.title = Copy to clipboard
copiedUrl = Copied!
// Note: Title text for button should be the same.
deleteFileButton = Delete file
.title = {deleteFileButton}
.title = Delete file
// Note: Title text for button should be the same.
sendAnotherFileLink = Send another file
.title = {sendAnotherFileLink}
downloadAltText.alt = Download
downloadFileName = Download { $filename }
.title = Send another file
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Download
downloadFileName = Download { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Your friend is sending you a file with Firefox Send, a service that allows you to share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Download
.title = {downloadButtonLabel}
.title = Download
downloadNotification = Your download has completed.
downloadFinish = Download Complete
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Try Firefox Send
.title = {sendYourFilesLink}
.title = Try Firefox Send
downloadingPageProgress = Downloading { $filename } ({ $size })
downloadingPageMessage = Please leave this tab open while we fetch your file and decrypt it.
errorAltText.alt = Upload error
errorAltText
.alt = Upload error
errorPageHeader = Something went wrong!
errorPageMessage = There has been an error uploading the file.
errorPageLink = Send another file
fileTooBig = That file is too big to upload. It should be less than { $size }.
linkExpiredAlt.alt = Link expired
linkExpiredAlt
.alt = Link expired
expiredPageHeader = This link has expired or never existed in the first place!
notSupportedHeader = Your browser is not supported.
notSupportedDetail = Unfortunately this browser does not support the web technology that powers Firefox Send. You'll need to try another browser. We recommend Firefox!
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Unfortunately this browser does not support the web technology that powers Firefox Send. Youll need to try another browser. We recommend Firefox!
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.
updateFirefox = Update Firefox
downloadFirefoxButtonSub = Free Download
sentFilesTitle1 = File
sentFilesTitle2 = Copy URL
sentFilesTitle3 = Expires In
sentFilesTitle4 = Delete
uploadedFile = File
copyFileList = Copy URL
// expiryFileList is used as a column header
expiryFileList = Expires In
deleteFileList = Delete
nevermindButton = Never mind
legalHeader = Terms & Privacy
legalNoticeTestPilot = Firefox Send is currently a Test Pilot experiment, and subject to the Test Pilot <a>Terms of Service</a> and <a>Privacy Notice</a>. You can learn more about this experiment and its data collection <a>here</a>.
legalNoticeMozilla = Use of the Firefox Send website is also subject to Mozillas <a>Websites Privacy Notice</a> and <a>Websites Terms of Use</a>.
deletePopupText = Delete this file?
deletePopupYes = Yes
deletePopupCancel = Cancel
deleteButtonHover.title = {sentFilesTitle4}
copyUrlHover.title = {sentFilesTitle2}
deleteButtonHover
.title = Delete
copyUrlHover
.title = Copy URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = About Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Terms

View File

@@ -0,0 +1,87 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Opinión
uploadPageHeader = Compartir archivos cifrados y privados
uploadPageExplainer = Enviá archivos a través de un enlace cifrado, privado y seguro que expirará automáticamente para que tus datos no queden en línea para siempre.
uploadPageLearnMore = Conocer más
uploadPageDropMessage = Arrastrá el archivo hasta acá para empezar a subir
uploadPageSizeMessage = Para una operación más confiable, es mejor que el archivo tenga menos de 1GB
uploadPageBrowseButton = Seleccioná un archivo en tu computadora
.title = Seleccioná un archivo en tu computadora
uploadPageMultipleFilesAlert = Cargar múltiples archivos o una carpeta todavía no está soportado.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageHeader = Subiendo el archivo
importingFile = Importando…
verifyingFile = Verificando…
encryptingFile = Cifrando…
decryptingFile = Descifrando…
notifyUploadDone = La carga ha terminado.
uploadingPageMessage = Una vez que se cargue el archivo podrás modificar las opciones de expiración.
uploadingPageCancel = Cancelar subida
.title = Cancelar subida
uploadCancelNotification = La subida fue cancelada.
uploadingPageLargeFileMessage = El archivo es grande y puede tardar un rato en subir. ¡Quedate quieto!
uploadingFileNotification = Notificarme cuando la subida se complete.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt
.alt = Subir
uploadSuccessTimingHeader = El enlace al archivo expirará después de 1 descarga o en 24 horas.
// Note: Title text for button should be the same.
copyUrlFormButton = Copiar al portapapeles
.title = Copiar al portapapeles
copiedUrl = ¡Copiado!
// Note: Title text for button should be the same.
deleteFileButton = Borrar archivo
.title = Borrar archivo
// Note: Title text for button should be the same.
sendAnotherFileLink = Enviar otro archivo
.title = Enviar otro archivo
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Descargar
downloadFileName = Descargar { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo con Firefox Send, un servicio que permite compartir archivos con un enlace cifrado, seguro y privado que expira automáticamente para asegurar que tus datos no quedan en línea para siempre.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
.title = Descargar
downloadNotification = La descarga se completó.
downloadFinish = Descarga completa
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Probá Firefox Send
.title = Probá Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Dejá esta pestaña abierta mientras descargamos el archivo y lo desciframos.
errorAltText
.alt = Error de subida
errorPageHeader = ¡Algo falló!
errorPageMessage = Hubo un error al subir el archivo.
errorPageLink = Enviar otro archivo
fileTooBig = El archivo es demasiado grande para subir. Debería tener menos de { $size }.
linkExpiredAlt
.alt = Enlace explirado
expiredPageHeader = ¡Este enlace ha expirado o nunca existió en primer lugar!
notSupportedHeader = El navegador no está soportado.
updateFirefox = Actualizar Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
// expiryFileList is used as a column header
expiryFileList = Expira en
deleteFileList = Borrar
legalHeader = Términos y privacidad
deletePopupText = ¿Borrar este archivo?
deletePopupYes = Si
deletePopupCancel = Cancelar
deleteButtonHover
.title = Borrar
copyUrlHover
.title = Copiar URL
footerLinkLegal = Legales
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Acerca de Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies

View File

@@ -0,0 +1,89 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Comentarios
uploadPageHeader = Compartir archivos de forma privada y cifrada
uploadPageExplainer = Enviar archivos a través de un enlace seguro, privado y cifrado que automáticamente expira para asegurar que tus cosas no permanecerán en línea por la eternidad.
uploadPageLearnMore = Aprender más
uploadPageDropMessage = Suelta tu archivo aquí para empezar a subirlo
uploadPageSizeMessage = Para una operación más confiable, es mejor mantener el tamaño del archivo bajo 1 GB
uploadPageBrowseButton = Selecciona un archivo en tu computador
uploadPageMultipleFilesAlert = Subir múltiples archivos o una carpeta actualmente no es posible.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageHeader = Subiendo tu archivo
importingFile = Importando…
verifyingFile = Verificando…
encryptingFile = Cifrando…
decryptingFile = Descifrando…
notifyUploadDone = Tu subida ha terminado.
uploadingPageMessage = Una vez que tu archivo sea subido podrás ajustar las opciones de expiración.
uploadingPageCancel = Cancelar subida
uploadCancelNotification = Tu subida fue cancelada.
uploadingPageLargeFileMessage = Este archivo es grande y puede tardar un rato en subir. ¡Aprovecha de hacer algo mientras!
uploadingFileNotification = Notificarme cuando la subida sea completada.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt
.alt = Subir
uploadSuccessTimingHeader = El enlace a tu archivo expirará tras 1 descarga o en 24 horas.
copyUrlFormLabelWithName = Copia y comparte el enlace para enviar tu archivo: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copiar al portapapeles
copiedUrl = ¡Copiado!
// Note: Title text for button should be the same.
deleteFileButton = Eliminar archivo
// Note: Title text for button should be the same.
sendAnotherFileLink = Enviar otro archivo
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Descargar
downloadFileName = Descargar { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo con Firefox Send, un servicio que te permite compartir archivos con un enlace seguro, privado y cifrado que expira automáticamente para asegurar que tus cosas no queden en línea de por vida.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
downloadNotification = Tu descarga se completó.
downloadFinish = Descarga completa
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Probar Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Por favor, deja esta pestaña abierta mientras recibimos tu archivo y lo desciframos.
errorAltText = Error de subida
errorPageHeader = ¡Algo se fue a las pailas!
errorPageMessage = Hubo un error al subir el archivo.
errorPageLink = Enviar otro archivo
fileTooBig = Ese archivo es muy grande para ser subido. Debiera tener un tamaño menor a { $size }.
linkExpiredAlt
.alt = Enlace expirado
expiredPageHeader = ¡Este enlace ha expirado o quizá jamás existió!
notSupportedHeader = Tu navegador no está soportado.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Lamentablemente este navegador no soporta la tecnología web que potencia a Firefox Send. Deberás probar en otro navegador. ¡Recomendamos Firefox!
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Firefox Send. Deberás actualizar tu navegador.
updateFirefox = Actualizar Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
// expiryFileList is used as a column header
expiryFileList = Expira en
deleteFileList = Eliminar
nevermindButton = Da lo mismo
legalHeader = Términos y privacidad
legalNoticeTestPilot =
Firefox Send es actualmente un experimento de Test Pilot, y está sujeto a los <a>Términos del servicio</a> y la <a>Política de privacidad</a> de Test Pilot. Puedes aprender más sobre este experimento y su recolección de datos <a>aquí</a>.
legalNoticeMozilla = El uso del sitio web de Firefox Send también está sujeto a la <a>Política de privacidad de sitios web</a> y los <a>Términos de uso de sitios web</a> de Mozilla.
deletePopupText = ¿Eliminar este archivo?
deletePopupYes = Sí
deletePopupCancel = Cancelar
deleteButtonHover
.title = Eliminar
copyUrlHover
.title = Copiar URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Acerca de Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Comentario
uploadPageHeader = Compartir archivos encriptados y privados
uploadPageExplainer = Envía archivos a través de un enlace encriptado, privado y seguro que caducará automáticamente para que tus datos no sean accesibles en línea de por vida.
uploadPageLearnMore = Descubre más
uploadPageDropMessage = Suelta aquí tu archivo para empezar a subirlo
uploadPageSizeMessage = Para que la operación sea más segura, el archivo debería ocupar menos de 1GB
uploadPageBrowseButton = Seleccionar un archivo en el equipo
.title = Seleccionar un archivo en el equipo
uploadPageMultipleFilesAlert = Aún no se pueden subir varios archivos o una carpeta.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageHeader = Subiendo archivo
importingFile = Imporando...
verifyingFile = Comprobando...
encryptingFile = Encriptando...
decryptingFile = Desencriptando...
notifyUploadDone = La subida ha finalizado.
uploadingPageMessage = Cuando se suba tu archivo podrás condigurar las opciones de caducidad.
uploadingPageCancel = Cancelar subida
.title = Cancelar subida
uploadCancelNotification = Se canceló la subida.
uploadingPageLargeFileMessage = El archivo es grande y puede tardar unos minutos en subirse. ¡Tómatelo con calma!
uploadingFileNotification = Notificarme cuando se complete la subida.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt
.alt = Subir
uploadSuccessTimingHeader = El enlace al archivo caducará tras descargarlo una vez o en 24 horas.
copyUrlFormLabelWithName = Copiar y compartir el enlace para enviar tu archivo: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copiar en el portapapeles
.title = Copiar en el portapapeles
copiedUrl = ¡Copiado!
// Note: Title text for button should be the same.
deleteFileButton = Eliminar archivo
.title = Eliminar archivo
// Note: Title text for button should be the same.
sendAnotherFileLink = Enviar otro archivo
.title = Enviar otro archivo
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Descargar
downloadFileName = Descargar { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo a través de Firefox Send, un servicio que te permite compartir archivos con un enlace seguro, privado y encriptado que caduca automáticamente para que tus cosas no sean accesibles en línea de por vida.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
.title = Descargar
downloadNotification = Se completó la descarga.
downloadFinish = Descarga completa
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Prueba Firefox Send
.title = Prueba Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Deja esta pestaña abierta mientras buscamos tu archivo y lo desencriptamos.
errorAltText
.alt = Error en la subida
errorPageHeader = ¡Se produjo un error!
errorPageMessage = Se produjo un error al subir el archivo.
errorPageLink = Enviar otro archivo
fileTooBig = Ese archivo es muy grande. Debería ocupar menos de { $size }.
linkExpiredAlt
.alt = Enlace caducado
expiredPageHeader = ¡El enlace ha caducado o nunca existió!
notSupportedHeader = Tu navegador no está admitido.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Lamentablemente, este navegador no admite la tecnología web que necesita Firefox Send. Tendrás que probar otro navegador. ¡Te recomendamos Firefox!
notSupportedOutdatedDetail = Lamentablemente, esta versión de Firefox no admite la tecnología web que impulsa Firefox Send. Tendrás que actualizar tu navegador.
updateFirefox = Actualizar Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
// expiryFileList is used as a column header
expiryFileList = Caduca en
deleteFileList = Eliminar
nevermindButton = Da igual
legalHeader = Términos y privacidad
legalNoticeTestPilot = Firefox Send sigue siendo un experimento de Test Pilot y está sujero a las <a>Condiciones del servicio</a> y al <a>Aviso de privacidad</a> de Test Pilot.
legalNoticeMozilla = El uso de la página de Firefox Send también está sujeto al <a>Aviso de privacidad sobre sitios web</a> y a los <a>Términos de uso sobre sitios web</a>.
deletePopupText = ¿Eliminar el archivo?
deletePopupYes = Sí
deletePopupCancel = Cancelar
deleteButtonHover
.title = Eliminar
copyUrlHover
.title = Copiar URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Sobre Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Comentario
uploadPageHeader = Compartir archivos encriptados y privados
uploadPageExplainer = Enviar archivos a través de un enlace encriptado, privado y seguro que caducará automáticamente para que tus datos no sean accesibles en línea de por vida.
uploadPageLearnMore = Saber más
uploadPageDropMessage = Suelta aquí tu archivo para empezar a subirlo
uploadPageSizeMessage = Para que la operación sea más segura, el archivo debería ocupar menos de 1GB
uploadPageBrowseButton = Selecciona un archivo de tu computadora
.title = Selecciona un archivo de tu computadora
uploadPageMultipleFilesAlert = Aún no se pueden subir varios archivos o una carpeta.
uploadPageBrowseButtonTitle = Subir archivo
uploadingPageHeader = Subiendo tu archivo
importingFile = Importando...
verifyingFile = Verificando...
encryptingFile = Encriptando...
decryptingFile = Desencriptando...
notifyUploadDone = La subida ha terminado.
uploadingPageMessage = Una vez que tu archivo haya subido podrás configurar las opciones de caducidad.
uploadingPageCancel = Cancelar subida
.title = Cancelar subida
uploadCancelNotification = Se canceló la subida.
uploadingPageLargeFileMessage = Este archivo es grande y puede tomar un rato para que suba. ¡Mantente tranquilo!
uploadingFileNotification = Avísame cuando la subida del archivo esté completa.
uploadSuccessConfirmHeader = Listo para enviar
uploadSvgAlt
.alt = Subir
uploadSuccessTimingHeader = El enlace a tu archivo expirará después de una descarga o en 24 horas.
copyUrlFormLabelWithName = Copiar y compartir el enlace para enviar tu archivo: ($filename)
// Note: Title text for button should be the same.
copyUrlFormButton = Copiar a portapapeles
.title = Copiar a portapapeles
copiedUrl = ¡Copiado!
// Note: Title text for button should be the same.
deleteFileButton = Eliminar archivo
.title = Eliminar archivo
// Note: Title text for button should be the same.
sendAnotherFileLink = Enviar otro archivo
.title = Enviar otro archivo
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Descargar
downloadFileName = Descargar ($filename)
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Tu amigo te está enviando un archivo a través de Firefox Send, un servicio que te permite compartir archivos con un enlace seguro, privado y encriptado que caduca automáticamente para que tus cosas no sean accesibles en línea de por vida.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descargar
.title = Descargar
downloadNotification = Tu descarga se ha completado
downloadFinish = Descarga completa
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Prueba Firefox Send
.title = Prueba Firefox Send
downloadingPageProgress = Descargando { $filename } ({ $size })
downloadingPageMessage = Deja esta pestaña abierta mientras buscamos tu archivo y lo desencriptamos.
errorAltText
.alt = Error en la subida
errorPageHeader = ¡Algo salió mal!
errorPageMessage = Ha ocurrido un error mientras subiamos tu archivo.
errorPageLink = Enviar otro archivo
fileTooBig = Ese archivo es muy grande. Debería ocupar menos de { $size }.
linkExpiredAlt
.alt = Enlace caducado
expiredPageHeader = ¡Este enlace ha caducado o nunca existió en primer lugar!
notSupportedHeader = Tu navegador no está soportado.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Lamentablemente, este navegador no admite la tecnología web que necesita Firefox Send. Tendrás que probar otro navegador. ¡Te recomendamos Firefox!
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Firefox Send. Deberás actualizar tu navegador.
updateFirefox = Actualizar Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Archivo
copyFileList = Copiar URL
// expiryFileList is used as a column header
expiryFileList = Caduca en
deleteFileList = Eliminar
nevermindButton = Da igual
legalHeader = Términos y privacidad
legalNoticeTestPilot = Firefox Send sigue siendo un experimento de Test Pilot y está sujeto a las <a>Condiciones del servicio</a> y al <a>Aviso de privacidad</a> de Test Pilot. Puedes saber más acerca de este experimento y si recolección de datos <a>aquí</a>.
legalNoticeMozilla = El uso de la página de Firefox Send también está sujeto al <a>Aviso de privacidad sobre sitios web</a> y a los <a>Términos de uso sobre sitios web</a>.
deletePopupText = ¿Eliminar este archivo?
deletePopupYes = Sí
deletePopupCancel = Cancelar
deleteButtonHover
.title = Eliminar
copyUrlHover
.title = Copiar URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Acerca de Test Pilot
footerLinkPrivacy = Privacidad
footerLinkTerms = Términos
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = expérience web
siteFeedback = Votre avis
uploadPageHeader = Partage de fichiers de façon confidentielle et chiffrée
uploadPageExplainer = Envoyez des fichiers de façon sécurisée, confidentielle et chiffrée, via un lien qui expire automatiquement pour que vos informations ne restent pas en ligne indéfiniment.
uploadPageLearnMore = En savoir plus
uploadPageDropMessage = Déposez votre fichier ici pour lenvoyer
uploadPageSizeMessage = Pour un résultat fiable, il est conseillé dutiliser des fichiers de taille inférieure à 1 Go
uploadPageBrowseButton = Sélectionner un fichier sur lordinateur
.title = Sélectionner un fichier sur lordinateur
uploadPageMultipleFilesAlert = Lenvoi de plusieurs fichiers ou de dossiers nest pas pris en charge pour le moment.
uploadPageBrowseButtonTitle = Envoyer le fichier
uploadingPageHeader = Envoi du fichier en cours
importingFile = Importation…
verifyingFile = Vérification…
encryptingFile = Chiffrement…
decryptingFile = Déchiffrement…
notifyUploadDone = Lenvoi est terminé.
uploadingPageMessage = Une fois lenvoi terminé, vous serez en mesure de régler les options dexpiration.
uploadingPageCancel = Annuler lenvoi
.title = Annuler lenvoi
uploadCancelNotification = Lenvoi a été annulé.
uploadingPageLargeFileMessage = Ce fichier est volumineux et son envoi peut prendre un peu de temps.
uploadingFileNotification = Menvoyer une notification lorsque lenvoi est terminé.
uploadSuccessConfirmHeader = Paré à lenvoi
uploadSvgAlt
.alt = Envoyer
uploadSuccessTimingHeader = Le lien vers votre fichier expirera après le premier téléchargement ou au bout de 24 heures.
copyUrlFormLabelWithName = Copiez et partagez le lien pour envoyer votre fichier : { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copier dans le presse-papiers
.title = Copier dans le presse-papiers
copiedUrl = Lien copié !
// Note: Title text for button should be the same.
deleteFileButton = Supprimer le fichier
.title = Supprimer le fichier
// Note: Title text for button should be the same.
sendAnotherFileLink = Envoyer un autre fichier
.title = Envoyer un autre fichier
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Télécharger
downloadFileName = Télécharger { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Votre ami⋅e vous a envoyé un fichier avec Firefox Send, un service qui permet denvoyer des fichiers de façon sécurisée, confidentielle et chiffrée via un lien qui expire automatiquement pour que vos informations ne restent pas en ligne indéfiniment.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Télécharger
.title = Télécharger
downloadNotification = Le téléchargement est terminé.
downloadFinish = Téléchargement terminé
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Essayer Firefox Send
.title = Essayer Firefox Send
downloadingPageProgress = Téléchargement en cours de { $filename } ({ $size })
downloadingPageMessage = Merci de laisser cet onglet ouvert pendant que nous récupérons le fichier et que nous le déchiffrons.
errorAltText
.alt = Erreur lors de lenvoi
errorPageHeader = Une erreur sest produite.
errorPageMessage = Une erreur sest produite lors de lenvoi du fichier.
errorPageLink = Envoyer un autre fichier
fileTooBig = Ce fichier est trop volumineux pour être envoyé. Sa taille doit être inférieure à { $size }.
linkExpiredAlt
.alt = Le lien a expiré
expiredPageHeader = Ce lien a expiré ou na jamais existé.
notSupportedHeader = Votre navigateur nest pas pris en charge.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Malheureusement, ce navigateur ne prend pas en charge les technologies web utilisées par Firefox Send. Vous devrez utiliser un autre navigateur. Nous vous recommandons Firefox !
notSupportedOutdatedDetail = Malheureusement, cette version de Firefox ne prend pas en charge les technologies web utilisées par Firefox Send. Vous devez mettre à jour votre navigateur.
updateFirefox = Mettre à jour Firefox
downloadFirefoxButtonSub = Téléchargement gratuit
uploadedFile = Fichier
copyFileList = Copier le lien
// expiryFileList is used as a column header
expiryFileList = Expire dans
deleteFileList = Supprimer
nevermindButton = Non merci
legalHeader = Confidentialité et conditions dutilisation
legalNoticeTestPilot = Firefox Send est actuellement une expérience Test Pilot, et en tant que tel est soumis aux <a>conditions dutilisation</a> et à la <a>politique de confidentialité</a> de Test Pilot. Vous pouvez en apprendre plus sur cette expérience et sur la collecte de données <a>ici</a>.
legalNoticeMozilla = Lutilisation du site web Firefox Send est aussi soumise à <a>lavis de confidentialité relatif aux sites Web</a> ainsi quaux <a>conditions dutilisation des sites Web</a> de Mozilla.
deletePopupText = Supprimer ce fichier ?
deletePopupYes = Oui
deletePopupCancel = Annuler
deleteButtonHover
.title = Supprimer
copyUrlHover
.title = Copier le lien
footerLinkLegal = Mentions légales
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = À propos de Test Pilot
footerLinkPrivacy = Confidentialité
footerLinkTerms = Conditions dutilisation
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webeksperiment
siteFeedback = Kommentaar
uploadPageHeader = Privee, fersifere bestânsdieling
uploadPageExplainer = Ferstjoer bestannen troch in feilich, privee en fersifere keppeling dy't automatysk ferrint, om foar te kommen dat jo guod net foar altyd online bliuwt.
uploadPageLearnMore = Mear ynfo
uploadPageDropMessage = Sleep jo bestân hjir hinne om opladen te starten
uploadPageSizeMessage = Foar de meast betroubere wurking, is it it bêste om jo bestân lytser as 1 GB te hâlden
uploadPageBrowseButton = Selektearje in bestân op jo kompjûter
.title = Selektearje in bestân op jo kompjûter
uploadPageMultipleFilesAlert = Opladen fan mear bestannen tagelyk of in map wurdt op dit stuit net stipe.
uploadPageBrowseButtonTitle = Bestân oplade
uploadingPageHeader = Jo bestân wurdt opladen
importingFile = Ymportearje…
verifyingFile = Ferifiearje…
encryptingFile = Fersiferje…
decryptingFile = Untsiferje…
notifyUploadDone = Jo oplaad is foltôge.
uploadingPageMessage = Sa gau as jo bestân opladen wurdt, kinne jo de opsjes foar de ferrindatum ynstelle.
uploadingPageCancel = Opladen annulearje
.title = Opladen annulearje
uploadCancelNotification = Jo oplaad is annulearre.
uploadingPageLargeFileMessage = Dit is in grut bestân en it opladen kin efkes duorje. In amerijke!
uploadingFileNotification = Jou in melding as de oplaad foltôge is.
uploadSuccessConfirmHeader = Ree om te ferstjoeren
uploadSvgAlt
.alt = Oplaad
uploadSuccessTimingHeader = De keppeling nei jo bestân sil nei 1 download ferrinne of nei 24 oeren.
copyUrlFormLabelWithName = Kopiearje en diel de keppeling om jo bestân te ferstjoeren: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Nei klamboerd kopiearje
.title = Nei klamboerd kopiearje
copiedUrl = Kopiearre!
// Note: Title text for button should be the same.
deleteFileButton = Bestân fuortsmite
.title = Bestân fuortsmite
// Note: Title text for button should be the same.
sendAnotherFileLink = Noch in bestân ferstjoere
.title = Noch in bestân ferstjoere
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Downloade
downloadFileName = { $filename } downloade
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Jo freon stjoert jo in best^n mei Firefox Send, in tsjinst dy't jo yn steat stelt bestannen te dielen mei in feilige, privee en fersifere keppeling dy't automatysk ferrint om wis te wêzen dat jo guod net foar altyd online bliuwt.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Downloade
.title = Downloade
downloadNotification = Jo download is foltôge.
downloadFinish = Download foltôge
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send probearje
.title = Firefox Send probearje
downloadingPageProgress = { $filename } ({ $size }) wurdt download
downloadingPageMessage = Lit dit ljepblêd iepen wylst wy jo bestân krije en ûntsiferje.
errorAltText
.alt = Oplaadflater
errorPageHeader = Der is wat misgien!
errorPageMessage = Der is in flater bard wylst it opladen fan jo bestân.
errorPageLink = Noch in bestân ferstjoere
fileTooBig = It bestân is te grut om op te laden. It moat lytser wêze as { $size }.
linkExpiredAlt
.alt = Keppeling ferrûn
expiredPageHeader = Dizze keppeling is ferrûn of hat nea bestien!
notSupportedHeader = Jo browser wurdt net stipe.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Spitigernôch stipet dizze browser de webtechnology dy't Firefox Send mooglik makket net. Jo moatte in oare browser probearje. Wy rekommandearje Firefox!
notSupportedOutdatedDetail = Spitigernôch stipet dizze ferzje fan Firefox de webtechnology dy't Firefox Send mooflik makket net. Jo moatte jo browser fernije.
updateFirefox = Firefox fernije
downloadFirefoxButtonSub = Fergese download
uploadedFile = Bestân
copyFileList = URL kopiearje
// expiryFileList is used as a column header
expiryFileList = Ferrint oer
deleteFileList = Fuortsmite
nevermindButton = Lit mar
legalHeader = Betingsten en privacy
legalNoticeTestPilot = Firefox Send is op dit stuit in Test Pilot-eksperimint en falt ûnder de <a>Betingsten</a> en <a>Privacybelied</a> fan Test Pilot. Mear ynformaasje oer dit eksperimint en de gegevenssamling stiet<a>hjir</a>.
legalNoticeMozilla = Gebrûk fan de Firefox Send-website falt ek ûnder it <a>Websites Privacybelied</a> en <a>Websites Gebrûksbetingsten</a> fan Mozilla.
deletePopupText = Dit bestân fuortsmite
deletePopupYes = Ja
deletePopupCancel = Annulearje
deleteButtonHover
.title = Fuortsmite
copyUrlHover
.title = URL kopiearje
footerLinkLegal = Juridysk
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Oer Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Betingsten
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webeksperiment
siteFeedback = Komentar
uploadPageHeader = Priwatne, zaklučowane dźělenje datajow
uploadPageExplainer = Pósćelće dataje přez wěsty, priwatny a zaklučowany wotkaz, kotryž awtomatisce spadnje, zo njebychu waše daty na přeco online wostali.
uploadPageLearnMore = Dalše informacije
uploadPageDropMessage = Ćehńće swoju dataju sem, zo byšće ju nahrał
uploadPageSizeMessage = Wužiwajće najlěpje dataje, kotrež su mjeńše hač 1 GB za lěpšu spušćomnosć.
uploadPageBrowseButton = Wubjerće dataju na swojim ličaku
.title = Wubjerće dataju na swojim ličaku
uploadPageMultipleFilesAlert = Nahrawanje wjacorych datajow abo rjadowaka so tuchwilu njepodpěruje.
uploadPageBrowseButtonTitle = Dataju nahrać
uploadingPageHeader = Waša dataja so nahrawa
importingFile = Importuje so...
verifyingFile = Přepruwuje so...
encryptingFile = Zaklučuje so...
decryptingFile = Dešifruje so...
notifyUploadDone = Waše nahraće je dokónčene.
uploadingPageMessage = Hdyž so waša dataja nahrawa, móžeće nastajenja spadnjenja postajić.
uploadingPageCancel = Nahraće přetorhnyć
.title = Nahraće přetorhnyć
uploadCancelNotification = Waše nahraće je so přetorhnyło.
uploadingPageLargeFileMessage = Tuta dataja je wulka a nahrawanje móhło chwilku trać. Budźće sćerpliwy!
uploadingFileNotification = Zdźělić, hdyž nahraće je dokónčene.
uploadSuccessConfirmHeader = Hotowy za słanje
uploadSvgAlt
.alt = Nahrać
uploadSuccessTimingHeader = Wotkaz k wašej dataji po 1 sćehnjenju abo 24 hodźinach spadnje.
copyUrlFormLabelWithName = Kopěrujće a dźělće wotkaz, zo byšće swoju dataju pósłał: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Do mjezyskłada kopěrować
.title = Do mjezyskłada kopěrować
copiedUrl = Kopěrowany!
// Note: Title text for button should be the same.
deleteFileButton = Dataju zhašeć
.title = Dataju zhašeć
// Note: Title text for button should be the same.
sendAnotherFileLink = Druhu dataju pósłać
.title = Druhu dataju pósłać
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Sćahnyć
downloadFileName = { $filename } sćahnyć
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Waš přećel wam dataju z Firefox Send sćele, słužba, kotraž wam zmóžnja, dataje přez wěsty, priwatny a zaklučowany wotkaz dźělić, kotryž awtomatisce spadnje, zo njebychu waše daty na přeco online wostawali.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Sćahnyć
.title = Sćahnyć
downloadNotification = Waše sćehnjenje je dokónčene.
downloadFinish = Sćehnjenje dokónčene
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send wupruwować
.title = Firefox Send wupruwować
downloadingPageProgress = { $filename } ({ $size }) so sćahuje
downloadingPageMessage = Prošu wostajće tutón rajtark wočinjeny, mjeztym zo wašu dataju sćahujemy a dešifrujemy.
errorAltText
.alt = Nahrawanski zmylk
errorPageHeader = Něšto je so nimokuliło!
errorPageMessage = Při nahrawanju dataje je zmylk wustupił.
errorPageLink = Druhu dataju pósłać
fileTooBig = Tuta dataja je přewulka za nahraće. Měła mjeńša hač { $size } być.
linkExpiredAlt
.alt = Wotkaz je spadnjeny
expiredPageHeader = Tutón wotkaz je spadnjeny abo njeje ženje eksistował!
notSupportedHeader = Waš wobhladowak so njepodpěruje.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Bohužel tutón wobhladowak webtechnologiju njepodpěruje, na kotrejž Firefox Send bazuje. Dyrbiće druhi wobhladowak wužiwać. My Firefox doporučemy!
notSupportedOutdatedDetail = Bohužel tuta wersija Firefox webtechnologiju njepodpěruje, na kotrejž Firefox Send bazuje. Dyrbiće swój wobhladowak aktualizować.
updateFirefox = Firefox aktualizować
downloadFirefoxButtonSub = Darmotne sćehnjenje
uploadedFile = Dataja
copyFileList = URL kopěrować
// expiryFileList is used as a column header
expiryFileList = Spadnje za
deleteFileList = Zhašeć
nevermindButton = Wšojedne
legalHeader = Wuměnjenja a priwatnosć
legalNoticeTestPilot = Firefox je tuchwilu eksperiment Test Pilot, a podleži <a>wužiwanskim wuměnjenjam</a> a <a>pokazce priwatnosće</a> Test Pilot. Wjace wo tutym eksperimenće a daty, kotrež hromadźi, <a>tu</a> zhoniće.
legalNoticeMozilla = Tež wužiwanje websydła Firefox Send <a>pokazce priwatnosće za websydła</a> a <a>wužiwanskim wuměnjenjam za websydła</a> Mozilla podleži.
deletePopupText = Tutu dataju zhašeć?
deletePopupYes = Haj
deletePopupCancel = Přetorhnyć
deleteButtonHover
.title = Zhašeć
copyUrlHover
.title = URL kopěrować
footerLinkLegal = Prawniske
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Wo Test Pilot
footerLinkPrivacy = Priwatnosć
footerLinkTerms = Wuměnjenja
footerLinkCookies = Placki

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webes kísérlet
siteFeedback = Visszajelzés
uploadPageHeader = Privát, titkosított fájlmegosztás
uploadPageExplainer = Küldjön át fájlokat biztonságos, privát és titkosított hivatkozáson keresztül, amely automatikusan elévül, hogy ne maradjanak a dolgai örökké online.
uploadPageLearnMore = Tudjon meg többet
uploadPageDropMessage = Dobja ide a fájljait, és kezdjen feltölteni
uploadPageSizeMessage = A megbízható működés érdekében a legjobb, ha a fájlok 1 GB-nál kisebbek maradnak
uploadPageBrowseButton = Válasszon egy fájlt a számítógépén
.title = Válasszon egy fájlt a számítógépén
uploadPageMultipleFilesAlert = Több fájl vagy mappa feltöltése pillanatnyilag nem támogatott.
uploadPageBrowseButtonTitle = Fájl feltöltése
uploadingPageHeader = A fájlja feltöltése
importingFile = Importálás…
verifyingFile = Ellenőrzés…
encryptingFile = Titkosítás…
decryptingFile = Visszafejtés…
notifyUploadDone = A feltöltése befejeződött.
uploadingPageMessage = Ha a fájl feltöltésre került, akkor megadhatja a lejárati beállításokat.
uploadingPageCancel = Feltöltés megszakítása
.title = Feltöltés megszakítása
uploadCancelNotification = A feltöltés megszakításra került.
uploadingPageLargeFileMessage = Ez a fájl nagy, és a feltöltése eltarthat egy ideig. Türelmét kérjük!
uploadingFileNotification = Értesítsen, ha a feltöltés elkészült.
uploadSuccessConfirmHeader = Küldésre kész
uploadSvgAlt
.alt = Feltöltés
uploadSuccessTimingHeader = A fájl hivatkozása lejár 1 letöltés vagy 24 óra múlva.
copyUrlFormLabelWithName = Másolja és ossza meg a hivatkozást a fájl küldéséhez: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Vágólapra másolás
.title = Vágólapra másolás
copiedUrl = Másolva!
// Note: Title text for button should be the same.
deleteFileButton = Fájl törlése
.title = Fájl törlése
// Note: Title text for button should be the same.
sendAnotherFileLink = Még egy fájl küldése
.title = Még egy fájl küldése
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Letöltés
downloadFileName = { $filename } letöltése
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Az ismerőse egy fájlt küld a Firefox Senddel, egy olyan fájlmegosztó szolgáltatással, amely biztonságos, privát és titkosított hivatkozáson keresztül működik, amely automatikusan elévül, így biztosítva hogy a dolga ne maradjon örökre online.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Letöltés
.title = Letöltés
downloadNotification = A letöltés befejeződött.
downloadFinish = A letöltés befejeződött
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Próbálja ki a Firefox Sendet
.title = Próbálja ki a Firefox Sendet
downloadingPageProgress = { $filename } letöltése ({ $size })
downloadingPageMessage = Hagyja nyitva ezt a lapot, amíg lekérésre és visszafejtésre kerül a fájlja.
errorAltText
.alt = Feltöltési hiba
errorPageHeader = Hiba történt!
errorPageMessage = Hiba történt a fájl feltöltésekor.
errorPageLink = Még egy fájl küldése
fileTooBig = Ez a fájl túl nagy a feltöltéshez. Kevesebb mint { $size } kell legyen.
linkExpiredAlt
.alt = A hivatkozás lejárt
expiredPageHeader = Ez a hivatkozás lejárt, vagy sosem létezett!
notSupportedHeader = A böngésző nem támogatott.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Sajnos ez a böngésző nem támogatja a Firefox Send alapját képező webes technológiát. Egy másik böngészőben kell megpróbálnia. Mi a Firefoxot javasoljuk!
notSupportedOutdatedDetail = Sajnos a Firefox ezen verziója nem támogatja a Firefox Send alapját képező technológiát. Frissítenie kell a böngészőjét.
updateFirefox = Firefox frissítése
downloadFirefoxButtonSub = Ingyenes letöltés
uploadedFile = Fájl
copyFileList = URL másolása
// expiryFileList is used as a column header
expiryFileList = Lejár:
deleteFileList = Törlés
nevermindButton = Mindegy
legalHeader = Feltételek és adatvédelem
legalNoticeTestPilot = A Firefox Send pillanatnyilag egy Tesztpilóta kísérlet, és a <a>Szolgáltatási feltételek</a> valamint az <a>Adatvédelmi nyilatkozat</a> vonatkozik rá. Többet tudhat meg a kísérletről, és az adatgyűjtéséről <a>itt</a>.
legalNoticeMozilla = A Firefox Send weboldal használatakor a Mozilla <a>Webhelyekre vonatkozó adatvédelmi nyilatkozata</a> és a <a>Weboldalak felhasználási feltételei</a> is vonatkoznak Önre.
deletePopupText = Törli ezt a fájlt?
deletePopupYes = Igen
deletePopupCancel = Mégse
deleteButtonHover
.title = Törlés
copyUrlHover
.title = URL másolása
footerLinkLegal = Jogi információk
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = A Tesztpilóta névjegye
footerLinkPrivacy = Adatvédelem
footerLinkTerms = Feltételek
footerLinkCookies = Sütik

View File

@@ -0,0 +1,78 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = eksperimen web
siteFeedback = Saran
uploadPageHeader = Pribadi, Berbagi Berkas Terenskripsi
uploadPageLearnMore = Pelajari lebih lanjut
uploadPageBrowseButtonTitle = Unggah berkas
uploadingPageHeader = Mengunggah Berkas Anda
importingFile = Mengimpor…
verifyingFile = Memverifikasi…
encryptingFile = Mengenkripsi...
decryptingFile = Mendekripsi...
notifyUploadDone = Unggahan Anda telah selesai.
uploadingPageMessage = Setelah berkas diunggah, Anda dapat mengatur pilihan kedaluwarsa.
uploadingPageCancel = Batal unggah
.title = Batal unggah
uploadCancelNotification = Unggahan Anda dibatalkan.
uploadingPageLargeFileMessage = Berkas ini berukuran besar dan mungkin perlu beberapa saat untuk mengunggahnya. Silakan tunggu!
uploadingFileNotification = Beri tahu saya ketika unggahan telah selesai.
uploadSuccessConfirmHeader = Siap untuk Dikirim
uploadSvgAlt
.alt = Unggah
uploadSuccessTimingHeader = Tautan ke berkas Anda akan berakhir setelah 1 unduhan atau dalam 24 jam.
copyUrlFormLabelWithName = Salin dan bagikan tautan untuk mengirim berkas Anda: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Salin ke papan klip
.title = Salin ke papan klip
copiedUrl = Tersalin!
// Note: Title text for button should be the same.
deleteFileButton = Hapus berkas
.title = Hapus berkas
// Note: Title text for button should be the same.
sendAnotherFileLink = Kirim berkas lain
.title = Kirim berkas lain
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Unduh
downloadFileName = Unduh { $filename }
downloadFileSize = ({ $size })
downloadNotification = Unduhan Anda telah selesai.
downloadFinish = Unduhan Selesai
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Coba Firefox Send
.title = Coba Firefox Send
downloadingPageProgress = Mengunduh { $filename } ({ $size })
downloadingPageMessage = Sila biarkan tab ini terbuka sementara kami memproses berkas Anda dan mendekripsinya.
errorAltText
.alt = Unggahan bermasalah
errorPageHeader = Terjadi kesalahan!
errorPageMessage = Terjadi kesalahan saat mengunggah berkas.
errorPageLink = Kirim berkas lain
fileTooBig = Berkas terlalu besar untuk diunggah. Harus kurang dari { $size }.
linkExpiredAlt
.alt = Tautan kedaluwarsa
expiredPageHeader = Tautan ini telah kedaluwarsa atau tidak pernah ada!
notSupportedHeader = Peramban Anda tidak mendukung.
updateFirefox = Perbarui Firefox
downloadFirefoxButtonSub = Unduh Gratis
uploadedFile = Berkas
copyFileList = Salin URL
// expiryFileList is used as a column header
expiryFileList = Kedaluwarsa Pada
deleteFileList = Hapus
nevermindButton = Abaikan
legalHeader = Syarat & Privasi
deletePopupText = Hapus berkas ini?
deletePopupYes = Ya
deletePopupCancel = Batal
deleteButtonHover
.title = Hapus
copyUrlHover
.title = Salin URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Tentang Test Pilot
footerLinkPrivacy = Privasi
footerLinkTerms = Ketentuan
footerLinkCookies = Kuki

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = un esperimento web
siteFeedback = Feedback
uploadPageHeader = Condivisione di file riservata e crittata
uploadPageExplainer = Invia file in modo sicuro, riservato e crittato, con un link che scade automaticamente per garantire che i tuoi dati non rimangano online per sempre.
uploadPageLearnMore = Ulteriori informazioni
uploadPageDropMessage = Trascina qui un file per caricarlo
uploadPageSizeMessage = Per evitare problemi è consigliabile caricare file di dimensione inferiore a 1 GB
uploadPageBrowseButton = Seleziona un file sul computer
.title = Seleziona un file sul computer
uploadPageMultipleFilesAlert = Il caricamento di più file o cartelle non è attualmente supportato.
uploadPageBrowseButtonTitle = Carica file
uploadingPageHeader = Caricamento file
importingFile = Importazione in corso…
verifyingFile = Verifica in corso…
encryptingFile = Crittazione in corso…
decryptingFile = Decrittazione in corso…
notifyUploadDone = Caricamento completato.
uploadingPageMessage = È possibile impostare le opzioni di scadenza del file al termine del caricamento.
uploadingPageCancel = Annulla caricamento
.title = Annulla caricamento
uploadCancelNotification = Caricamento annullato.
uploadingPageLargeFileMessage = Si tratta di un file di grandi dimensioni e potrebbe richiedere un po' di tempo.
uploadingFileNotification = Invia una notifica quando il caricamento è completato.
uploadSuccessConfirmHeader = Pronto per linvio
uploadSvgAlt
.alt = Carica
uploadSuccessTimingHeader = Il link al file scadrà dopo 1 download o in 24 ore.
copyUrlFormLabelWithName = Copia e condividi il link per inviare il tuo file: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copia negli appunti
.title = Copia negli appunti
copiedUrl = Copiato
// Note: Title text for button should be the same.
deleteFileButton = Elimina file
.title = Elimina file
// Note: Title text for button should be the same.
sendAnotherFileLink = Invia un altro file
.title = Invia un altro file
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Scarica
downloadFileName = Scarica { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Qualcuno ha utilizzato Firefox Send per inviarti un file. Si tratta di un servizio che permette di condividere file in modo sicuro, riservato e crittato, utilizzando un link che smette di funzionare automaticamente dopo un certo periodo di tempo, garantendo così che i tuoi dati non rimangano online per sempre.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Scarica
.title = Scarica
downloadNotification = Download completato.
downloadFinish = Download completato
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Prova Firefox Send
.title = Prova Firefox Send
downloadingPageProgress = Download in corso di { $filename } ({ $size })
downloadingPageMessage = Mantieni aperta questa scheda mentre il file viene scaricato e decrittato.
errorAltText
.alt = Errore durante il caricamento
errorPageHeader = Si è verificato un errore.
errorPageMessage = Si è verificato un errore durante il caricamento del file.
errorPageLink = Invia un altro file
fileTooBig = Le dimensioni di questo file sono eccessive. Dovrebbe essere inferiore a { $size }.
linkExpiredAlt
.alt = Link scaduto
expiredPageHeader = Questo link è scaduto oppure non è mai esistito.
notSupportedHeader = Il browser in uso non è supportato.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Purtroppo questo browser non supporta le tecnologie web alla base di Firefox Send. Devi utilizzare un altro browser. Ti consigliamo Firefox!
notSupportedOutdatedDetail = Purtroppo questa versione di Firefox non supporta le tecnologie web alla base di Firefox Send. È necessario aggiornare il browser.
updateFirefox = Aggiorna Firefox
downloadFirefoxButtonSub = Download gratuito
uploadedFile = File
copyFileList = Copia indirizzo
// expiryFileList is used as a column header
expiryFileList = Scade in
deleteFileList = Elimina
nevermindButton = No, grazie
legalHeader = Termini di utilizzo e privacy
legalNoticeTestPilot = Firefox Send è attualmente un esperimento di Test Pilot ed è soggetto alle <a>Condizioni di utilizzo</a> e all<a>Informativa sulla privacy</a> di Test Pilot. Per ulteriori informazioni su questo esperimento e i dati raccolti, consulta <a>questa pagina<a>.
legalNoticeMozilla = Lutilizzo del sito di Firefox Send è soggetto all<a>Informativa sulla privacy</a> e le <a>Condizioni di utilizzo</a> dei siti web Mozilla.
deletePopupText = Eliminare questo file?
deletePopupYes = Sì
deletePopupCancel = Annulla
deleteButtonHover
.title = Elimina
copyUrlHover
.title = Copia indirizzo
footerLinkLegal = Note legali
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Informazioni su Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Condizioni di utilizzo
footerLinkCookies = Cookie

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = ウェブ実験
siteFeedback = フィードバック
uploadPageHeader = プライベートな暗号化されたファイル共有
uploadPageExplainer = 安全で、プライベートで、暗号化されたリンクを通じてファイルを送信。あなたのものがずっとオンラインに残らないよう、リンクは自動的に期限切れとなります。
uploadPageLearnMore = 詳しくはこちら
uploadPageDropMessage = ここにファイルをドロップしてアップロードを開始
uploadPageSizeMessage = 確実に処理できるよう、ファイルサイズは 1 GB 以下にすることを推奨します。
uploadPageBrowseButton = コンピューター上のファイルを選択
.title = コンピューター上のファイルを選択
uploadPageMultipleFilesAlert = 今のところ複数ファイルやフォルダーのアップロードには対応していません。
uploadPageBrowseButtonTitle = ファイルをアップロード
uploadingPageHeader = ファイルをアップロードしています
importingFile = インポート中...
verifyingFile = 検証中...
encryptingFile = 暗号化中...
decryptingFile = 復号化中...
notifyUploadDone = アップロードが完了しました。
uploadingPageMessage = ファイルのアップロード完了後に期限を設定できます。
uploadingPageCancel = アップロードを中止
.title = アップロードを中止
uploadCancelNotification = アップロードは中止されました。
uploadingPageLargeFileMessage = このファイルは大きいのでアップロードに多少時間が掛かるかもしれません。しばらくお待ちください。
uploadingFileNotification = アップロード完了時に通知を受け取る
uploadSuccessConfirmHeader = 送信準備完了
uploadSvgAlt
.alt = アップロード
uploadSuccessTimingHeader = ファイルへのリンクは、1 回ダウンロードされた後、もしくは 24 時間以内に期限切れとなります。
copyUrlFormLabelWithName = ファイルを送信するにはこのリンクをコピー、共有してください: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = クリップボードへコピー
.title = クリップボードへコピー
copiedUrl = コピー完了!
// Note: Title text for button should be the same.
deleteFileButton = ファイルを削除
.title = ファイルを削除
// Note: Title text for button should be the same.
sendAnotherFileLink = 他のファイルを送信
.title = 他のファイルを送信
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = ダウンロード
downloadFileName = { $filename } をダウンロード
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = あなたの友人が Firefox Send を通じてファイルを送ってきています。これは、安全で、プライベートで、暗号化されたリンクを通じてファイルを共有できるサービスです。あなたのものがずっとオンラインに残らないよう、リンクは自動的に期限切れとなります。
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = ダウンロード
.title = ダウンロード
downloadNotification = ダウンロードが完了しました。
downloadFinish = ダウンロード完了
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send を試す
.title = Firefox Send を試す
downloadingPageProgress = { $filename } ({ $size }) をダウンロードしています
downloadingPageMessage = ファイルの取得と暗号化が完了するまでこのタブを開いたままにしておいてください。
errorAltText
.alt = アップロードエラー
errorPageHeader = 何か問題が発生しました。
errorPageMessage = ファイルのアップロード中に問題が発生しました。
errorPageLink = 他のファイルを送信
fileTooBig = このファイルは大きすぎるためアップロードできません。上限は { $size } です。
linkExpiredAlt
.alt = リンク期限切れ
expiredPageHeader = このリンクは期限切れとなったか元々存在していません。
notSupportedHeader = お使いのブラウザーには対応していません。
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = 残念ながらお使いのブラウザーは Firefox Send が活用しているウェブ技術に対応していません。他のブラウザーで試してください。私たちは Firefox をお勧めします!
notSupportedOutdatedDetail = 残念ながらお使いのバージョンの Firefox は Firefox Send が活用しているウェブ技術に対応していません。ブラウザーを更新する必要があります。
updateFirefox = Firefox を更新
downloadFirefoxButtonSub = 無料ダウンロード
uploadedFile = ファイル
copyFileList = URL をコピー
// expiryFileList is used as a column header
expiryFileList = 有効期限:
deleteFileList = 削除
nevermindButton = 気にしないでください
legalHeader = 利用規約とプライバシー
legalNoticeTestPilot = Firefox Send は今のところ Test Pilot 実験のひとつであり、Test Pilot <a>利用規約</a> と <a>プライバシー通知</a> が適用されます。この実験とそのデータ収集に関する詳細は <a>こちら</a> をご覧ください。
legalNoticeMozilla = Firefox Send のサイトの利用には、Mozilla の <a>ウェブサイトプライバシー通知</a> と <a>ウェブサイト利用規約</a> も適用されます。
deletePopupText = このファイルを削除しますか?
deletePopupYes = はい
deletePopupCancel = キャンセル
deleteButtonHover
.title = 削除
copyUrlHover
.title = URL をコピー
footerLinkLegal = 法的情報
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Test Pilot について
footerLinkPrivacy = プライバシー
footerLinkTerms = 利用規約
footerLinkCookies = Cookie

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = Tarmit web
siteFeedback = Tikti
uploadPageHeader = Beṭṭu n ifuyla s uwgelhen akked tbaḍnit
uploadPageExplainer = Azen ifuyla s wudem aɣelsant, s tbaḍnit akked uwgelhen, s useqdec n useɣwen ara yemten s wudem awurman akken talqut-ik ur tettɣimi ara srid i lebda.
uploadPageLearnMore = Issin ugar
uploadPageDropMessage = Zuɣeṛ afaylu-ik ar dagi akken ad tebduḍ asali
uploadPageSizeMessage = I ugmuḍ ufrin, yelha ad tesqedceḍ ifuyla daw n 1 GAṬ
uploadPageBrowseButton = Fren afaylu sef uselkim-ik
.title = Fren afaylu seg uselkim-ik
uploadPageMultipleFilesAlert = Asali n ddeqs n ifuyla neɣ ikaramen ur ittusefrak ara yakan.
uploadPageBrowseButtonTitle = Sali ifuyla
uploadingPageHeader = Asali n ufaylu-ik
importingFile = Akter...
verifyingFile = Asenqed...
encryptingFile = Awgelhen...
decryptingFile = Azmek...
notifyUploadDone = Asali n ufaylu yemmed.
uploadingPageMessage = Ticki afaylu-ik yettali, ad tizmired ad ternuḍ iɣewwaṛen n wazen n tagara.
uploadingPageCancel = Sefsex asali
.title = Safsex Asali
uploadCancelNotification = Asali-ik yefsex.
uploadingPageLargeFileMessage = Afaylu meqqer aṭas ihi yezmer ad yawi ddeqs n wakud. Rǧu ihi!
uploadingFileNotification = Lɣu-yid ticki yemmed usali.
uploadSuccessConfirmHeader = Ihegga i walluy
uploadSvgAlt
.alt = Sali
uploadSuccessTimingHeader = Aseɣwen ar ufaylu-ik ad yemmet ticki yuder-d neɣ deffir n 24 n yisragen.
copyUrlFormLabelWithName = Nɣel sakin Bḍu aseɣwen akken ad tazneḍ afaylu-ik: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Sers ɣef afus
.title = Sers ɣef afus
copiedUrl = Yenɣel!
// Note: Title text for button should be the same.
deleteFileButton = Kkes afaylu
.title = Kkes afaylu
// Note: Title text for button should be the same.
sendAnotherFileLink = Azen afaylu-nniḍen
.title = Azen afaylu-nniḍen
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Sider
downloadFileName = Sider { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Amdakel-ik yuzen-ak-d afaylu s Firefox Firefox Send, ameẓlu ara yeǧǧen tuzna n ifuyla s wudem aɣelsan, s tbadnit akked uwgelhen s useqdec n useqwen ara yeùten s wudem awurman akken talqut-ik ur tettɣimi ara srid i lebda.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Sider
.title = Sider
downloadNotification = Asider-ik yemmed.
downloadFinish = Asider yemmed
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Ɛreḍ Firefox Send
.title = Ɛreḍ Firefox Send
downloadingPageProgress = Asider n { $filename } ({ $size })
downloadingPageMessage = Eǧǧ iccer-agi yeldi ticki nettnadi afaylu akken ad newgelhen.
errorAltText
.alt = Tuccḍa n tuzna
errorPageHeader = Yella wayen yeḍran!
errorPageMessage = Teḍra-d tuccḍa deg usali n ufaylu.
errorPageLink = Azen afaylu-nniḍen
fileTooBig = Afaylu-agi meqqeṛ aṭas. Yessefk ad yili daw n { $size }.
linkExpiredAlt
.alt = Aseɣwen yemmut
expiredPageHeader = Aseɣwen-agi yemmut neɣ wurǧin yella seg tazwara!
notSupportedHeader = Iminig-ik ur ittusefrak ara
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Ad nesḥissef imi iminig-ik ur isefrak ara tatiknulujit web iseqdac Firefox Send. Yessefk ad tesqedceḍ iminig-nniḍen. Seqdec Firefox!
notSupportedOutdatedDetail = Ad nesḥissef imilqem-agi n Firefox Firefox ur isefrak ara titiknulujiyin web yettwaseqdacen di Firefox Send. Yessefk ad tleqmeḍ iminig-ik.
updateFirefox = Leqqem Firefox
downloadFirefoxButtonSub = Asider ilelli
uploadedFile = Afaylu
copyFileList = Nɣel URL
// expiryFileList is used as a column header
expiryFileList = Ad ifak di
deleteFileList = Kkes
nevermindButton = Wicqa
legalHeader = Tiwtilin &tabaḍnit
legalNoticeTestPilot = Firefox Send yettwasekyad akka tura am tarmit Test Pilot, ihi ad yili daw n <a>n tewtilin n useqdec </a> n Test Pilot akked <a>Tasertit n tbaḍnit</a>. Tzemreḍ ad teẓreḍ ugar ɣeef tarmit-agi akked ulqaḍ n isefka<a> dagihere</a>.
legalNoticeMozilla = Aseqdec n usmel n Firefox Send yella daw n <a> ilugan tbaḍnit n yismal web </a> n Mozilla akked <a> Tiwtilin n useqdec n yismal Web</a> n Mozilla.
deletePopupText = Kkes afaylu-agi?
deletePopupYes = Ih
deletePopupCancel = Sefsex
deleteButtonHover
.title = Kkes
copyUrlHover
.title = Nɣel URL.
footerLinkLegal = Usḍif
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Ɣef Test Pilot
footerLinkPrivacy = Tabaḍnit
footerLinkTerms = Tiwtilin
footerLinkCookies = Inagan n tuqqna

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimen web
siteFeedback = Maklum balas
uploadPageHeader = Peribadi, Perkongsian Fail Dienkrip
uploadPageExplainer = Hantar fail melalui pautan yang selamat, peribadi dan dienkrip, yang akan luput secara automatik untuk memastikan fail anda itu tidak terus berada dalam talian selama-lamanya.
uploadPageLearnMore = Ketahui selanjutnya
uploadPageDropMessage = Letakkan fail anda di sini untuk mulakan memuat naik
uploadPageSizeMessage = Untuk operasi yang paling selamat, lebih baik pastikan fail anda itu kurang 1GB
uploadPageBrowseButton = Pilih fail dalam komputer anda
.title = Pilih fail dalam komputer anda
uploadPageMultipleFilesAlert = Memuat naik pelbagai fail atau satu folder masih belum disokong.
uploadPageBrowseButtonTitle = Muat naik fail
uploadingPageHeader = Memuat naik Fail Anda
importingFile = Mengimport…
verifyingFile = Mengesahkan...
encryptingFile = Mengenkripsi...
decryptingFile = Mengenkripsi...
notifyUploadDone = Muat naik anda sudah siap.
uploadingPageMessage = Setelah siap fail anda dimuat naik, akan boleh tetapkan pilihan luput.
uploadingPageCancel = Batal muat naik
.title = Batal muat naik
uploadCancelNotification = Muat naik anda dibatalkan.
uploadingPageLargeFileMessage = Fail ini besar dan mungkin mengambil masa untuk dimuat naik. Tunggu!
uploadingFileNotification = Maklumkan saya apabila muat naik selesai.
uploadSuccessConfirmHeader = Sedia untuk Hantar
uploadSvgAlt
.alt = Muat naik
uploadSuccessTimingHeader = Pautan ke fail anda akan luput selepas 1 muat turun atau dalam 24 jam.
copyUrlFormLabelWithName = Salin dan kongsi pautan untuk menghantar fail anda: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Salin ke Klipbod
.title = Salin ke Klipbod
copiedUrl = Disalin!
// Note: Title text for button should be the same.
deleteFileButton = Hapus fail
.title = Hapus fail
// Note: Title text for button should be the same.
sendAnotherFileLink = Hantar fail lain
.title = Hantar fail lain
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Muat turun
downloadFileName = Muat turun { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Rakan anda menghantar satu fail kepada anda menggunakan Firefox Send, satu perkhidmatan yang membolehkan anda berkongsi fail dengan pautan yang selamat, peribadi dan dienkrip, yang secara automatik akan luput bagi memastikan fail anda tidak terus berada dalam talian selama-lamanya.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Muat turun
.title = Muat turun
downloadNotification = Muat turun anda sudah siap.
downloadFinish = Muat turun Selesai
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Cuba Firefox Send
.title = Cuba Firefox Send
downloadingPageProgress = Memuat turun { $filename } ({ $size })
downloadingPageMessage = Sila biarkan tab ini terbuka semasa kami mengambil fail anda dan menghuraikannya.
errorAltText
.alt = Ralat memuat naik
errorPageHeader = Ada sesuatu yang tidak kena!
errorPageMessage = Ada ralat semasa memuat naik fail.
errorPageLink = Hantar fail lain
fileTooBig = Fail terlalu besar untuk dimuat naik. Perlu kurang daripada { $size }.
linkExpiredAlt
.alt = Pautan sudah luput
expiredPageHeader = Pautan ini sudah luput atau pun tidak pernah wujud!
notSupportedHeader = Pelayar anda tidak disokong.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Malangnya, pelayar ini tidak menyokong teknologi web yang melaksanakan Firefox Send. Anda perlu cuba pelayar lain. Kami syorkan Firefox!
notSupportedOutdatedDetail = Malangnya versi Firefox ini tidak menyokong teknologi web yang menguasakan Firefox Send. Anda perlu mengemaskini pelayar anda.
updateFirefox = Kemaskini Firefox
downloadFirefoxButtonSub = Muat turun Percuma
uploadedFile = Fail
copyFileList = Salin URL
// expiryFileList is used as a column header
expiryFileList = Luput Pada
deleteFileList = Hapus
nevermindButton = Tak apalah
legalHeader = Terma & Privasi
legalNoticeTestPilot = Firefox Send adalah eksperimen Ujian Perintis, dan tertakluk kepada <a>Terma Perkhidmatan</a> dan <a>Privacy Notice</a> Ujian Perintis. Anda boleh ketahui selanjutnya perihal eksperimen ini dan pengumpulan data <a>di sini</a>.
legalNoticeMozilla = Penggunaan laman web Firefox Send juga tertakluk kepada <a>Notis Privasi Laman web</a> dan <a>Terma Penggunaan Laman web</a> Mozilla.
deletePopupText = Hapus fail ini?
deletePopupYes = Ya
deletePopupCancel = Batal
deleteButtonHover
.title = Hapus
copyUrlHover
.title = Salin URL
footerLinkLegal = Perundangan
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Perihal Ujian Perintis
footerLinkPrivacy = Privasi
footerLinkTerms = Terma
footerLinkCookies = Kuki

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = netteksperiment
siteFeedback = Tilbakemelding
uploadPageHeader = Privat, kryptert fildeling
uploadPageExplainer = Send filer gjennom en sikker, privat og kryptert lenke som automatisk utløper, for å sikre at ting ikke forblir på nettet for alltid.
uploadPageLearnMore = Les mer
uploadPageDropMessage = Slipp din fil her for å starte opplastingen
uploadPageSizeMessage = For den mest problemfrie bruken, er det best å holde filen under 1 GB
uploadPageBrowseButton = Velg en fil på din datamaskin
.title = Velg en fil på din datamaskin
uploadPageMultipleFilesAlert = Opplasting av flere filer eller en mappe støttes ikke for øyeblikket.
uploadPageBrowseButtonTitle = Last opp fil
uploadingPageHeader = Laster opp din fil
importingFile = Importerer…
verifyingFile = Verifiserer...
encryptingFile = Krypterer...
decryptingFile = Dekrypterer...
notifyUploadDone = Opplastingen din er ferdig.
uploadingPageMessage = Når filopplastingen din er ferdig, kan du angi utløpsalternativer.
uploadingPageCancel = Avbryt opplasting
.title = Avbryt opplasting
uploadCancelNotification = Din opplasting ble avbrutt
uploadingPageLargeFileMessage = Denne filen er stor, og det kan ta litt tid å laste opp. Vent litt!
uploadingFileNotification = Varsle meg når opplastingen er ferdig.
uploadSuccessConfirmHeader = Klar til å sende
uploadSvgAlt
.alt = Last opp
uploadSuccessTimingHeader = Lenken til filen din utløper etter 1 nedlasting eller om 24 timer.
copyUrlFormLabelWithName = Kopier og del linken for å sende filen: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Kopier til utklippstavle
.title = Kopier til utklippstavle
copiedUrl = Kopiert!
// Note: Title text for button should be the same.
deleteFileButton = Slett fil
.title = Slett fil
// Note: Title text for button should be the same.
sendAnotherFileLink = Send en annen fil
.title = Send en annen fil
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Last ned
downloadFileName = Last ned { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Din venn sender deg en fil med Firefox Send, en tjeneste som lar deg dele filer med en sikker, privat og kryptert lenke, som automatisk utløper, for å sikre at ting ikke forblir på nettet for alltid.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Last ned
.title = Last ned
downloadNotification = Nedlastingen er fullført.
downloadFinish = Nedlastingen er fullført.
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Prøv Firefox Send
.title = Prøv Firefox Send
downloadingPageProgress = Laster ned { $filename } ({ $size })
downloadingPageMessage = La denne fanen være åpen mens vi henter filen og dekrypterer den.
errorAltText
.alt = Opplastingsfeil
errorPageHeader = Det oppstod en feil.
errorPageMessage = Det har oppstått en feil under opplasting av filen.
errorPageLink = Send en annen fil
fileTooBig = Filen er for stor til å laste opp. Det må være mindre enn { $size }.
linkExpiredAlt
.alt = Lenke utløpt
expiredPageHeader = Denne lenken er utløpt eller har aldri eksistert i utgangspunktet!
notSupportedHeader = Din nettleser er ikke støttet.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Dessverre støtter denne nettleseren ikke webteknologien som driver Firefox Send. Du må prøve en annen nettleser. Vi anbefaler Firefox!
notSupportedOutdatedDetail = Dessverre støtter ikke denne versjonen av Firefox netteknologien som driver Firefox Send. Du trenger å oppdatere nettleseren din.
updateFirefox = Oppdater Firefox
downloadFirefoxButtonSub = Gratis nedlasting
uploadedFile = Fil
copyFileList = Kopier URL
// expiryFileList is used as a column header
expiryFileList = Utløper om
deleteFileList = Slett
nevermindButton = Glem det
legalHeader = Vilkår og personvern
legalNoticeTestPilot = Firefox Send er for øyeblikket et Test Pilot-eksperiment, og er underlagt Test Pilots <a>tjenestevilkår</a> og <a>personvernbestemmelser</a>. Du kan lære mer om dette eksperimentet og datainnsamlingen <a>her</a>.
legalNoticeMozilla = Bruk av Firefox Send-nettsiden er også underlagt Mozillas <a>personvernbestemmelser for nettsider</a> og <a>brukervilkår for nettsider</a>.
deletePopupText = Slette denne filen?
deletePopupYes = Ja
deletePopupCancel = Avbryt
deleteButtonHover
.title = Slett
copyUrlHover
.title = Kopier URL
footerLinkLegal = Juridisk informasjon
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Om Test Pilot
footerLinkPrivacy = Personvern
footerLinkTerms = Vilkår
footerLinkCookies = Infokapsler

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webexperiment
siteFeedback = Feedback
uploadPageHeader = Privé, versleuteld bestanden delen
uploadPageExplainer = Stuur bestanden via een veilige, private en versleutelde koppeling die automatisch verloopt, zodat u zeker weet dat uw zaken niet onbeperkt online blijven.
uploadPageLearnMore = Meer info
uploadPageDropMessage = Sleep uw bestand hiernaartoe om het te uploaden
uploadPageSizeMessage = Voor de meest betrouwbare werking kunt u uw bestand het beste onder de 1 GB houden
uploadPageBrowseButton = Selecteer een bestand op uw computer
.title = Selecteer een bestand op uw computer
uploadPageMultipleFilesAlert = Het uploaden van meerdere bestanden of een map wordt momenteel niet ondersteund.
uploadPageBrowseButtonTitle = bestand uploaden
uploadingPageHeader = Uw bestand wordt geüpload
importingFile = Importeren…
verifyingFile = Verifiëren…
encryptingFile = Versleutelen…
decryptingFile = Ontcijferen…
notifyUploadDone = Uw upload is voltooid.
uploadingPageMessage = Zodra uw bestand wordt geüpload, kunt u vervalopties instellen.
uploadingPageCancel = Uploaden annuleren
.title = Uploaden annuleren
uploadCancelNotification = Uw upload is geannuleerd.
uploadingPageLargeFileMessage = Dit bestand is groot en het uploaden kan even duren. Even geduld…
uploadingFileNotification = Mij waarschuwen zodra het uploaden is voltooid
uploadSuccessConfirmHeader = Gereed voor verzending
uploadSvgAlt
.alt = Uploaden
uploadSuccessTimingHeader = De koppeling naar uw bestand zal na 1 download of 24 uur verlopen.
copyUrlFormLabelWithName = Kopieer en deel de koppeling om uw bestand te verzenden: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Kopiëren naar klembord
.title = Kopiëren naar klembord
copiedUrl = Gekopieerd!
// Note: Title text for button should be the same.
deleteFileButton = Bestand verwijderen
.title = Bestand verwijderen
// Note: Title text for button should be the same.
sendAnotherFileLink = Nog een bestand verzenden
.title = Nog een bestand verzenden
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Downloaden
downloadFileName = { $filename } downloaden
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Uw vriend(in) stuurt u een bestand met Firefox Send, een dienst waarmee u bestanden kunt verzenden met een veilige, private en versleutelde koppeling die automatisch verloopt, zodat u zeker weet dat uw zaken niet onbeperkt online blijven.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Downloaden
.title = Downloaden
downloadNotification = Uw download is voltooid.
downloadFinish = Downloaden voltooid
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Send proberen
.title = Firefox Send proberen
downloadingPageProgress = { $filename } ({ $size }) wordt gedownload
downloadingPageMessage = Laat dit tabblad geopend terwijl uw bestand wordt opgehaald en ontcijferd.
errorAltText
.alt = Uploadfout
errorPageHeader = Er is iets misgegaan!
errorPageMessage = Er is een fout opgetreden bij het uploaden van het bestand.
errorPageLink = Nog een bestand verzenden
fileTooBig = Dat bestand is te groot om te worden geüpload. Het moet kleiner zijn dan { $size }.
linkExpiredAlt
.alt = Koppeling verlopen
expiredPageHeader = Deze koppeling is verlopen of heeft überhaupt nooit bestaan!
notSupportedHeader = Uw browser wordt niet ondersteund.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Helaas ondersteunt deze browser de webtechnologie die Firefox Send gebruikt niet. U dient een andere browser te proberen. Firefox wordt aanbevolen!
notSupportedOutdatedDetail = Helaas ondersteunt deze versie van Firefox de webtechnologie die Firefox Send gebruikt niet. U dient uw browser bij te werken.
updateFirefox = Firefox bijwerken
downloadFirefoxButtonSub = Gratis download
uploadedFile = Bestand
copyFileList = URL kopiëren
// expiryFileList is used as a column header
expiryFileList = Verloopt over
deleteFileList = Verwijderen
nevermindButton = Maakt niet uit
legalHeader = Voorwaarden en privacy
legalNoticeTestPilot = Firefox Send is momenteel een Test Pilot-experiment en onderhevig aan de <a>Servicevoorwaarden</a> en <a>Privacyverklaring</a> van Test Pilot. <a>Hier</a> vindt u meer info over dit experiment en de gegevensverzameling ervan.
legalNoticeMozilla = Gebruik van de Firefox Send-website is ook onderhevig aan de <a>Privacyverklaring voor websites</a> en <a>Servicevoorwaarden voor websites</a> van Mozilla.
deletePopupText = Dit bestand verwijderen?
deletePopupYes = Ja
deletePopupCancel = Annuleren
deleteButtonHover
.title = Verwijderen
copyUrlHover
.title = URL kopiëren
footerLinkLegal = Juridisch
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Over Test Pilot
footerLinkPrivacy = Privacy
footerLinkTerms = Voorwaarden
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = netteksperiment
siteFeedback = Tilbakemelding
uploadPageHeader = Privat, kryptert fildeling
uploadPageExplainer = Send filer gjennom ei sikker, privat og kryptert lenke som automatisk går ut, for å sikre at ting ikkje vert verande på nettet for alltid.
uploadPageLearnMore = Les meir
uploadPageDropMessage = Slepp fila di her for å starte opplastinga
uploadPageSizeMessage = For mest problemfrie bruk, er det best å halde fila under 1 GB
uploadPageBrowseButton = Vel ei fil på datamaskina di
.title = Vel ei fil på datamaskina di
uploadPageMultipleFilesAlert = Opplasting av fleire filer eller ei mappe er for tida ikkje støtta.
uploadPageBrowseButtonTitle = Last opp fil
uploadingPageHeader = Lastar opp fila di
importingFile = Importerer…
verifyingFile = Stadfestar…
encryptingFile = Krypterer…
decryptingFile = Dekrypterer...
notifyUploadDone = Opplastinga di er ferdig.
uploadingPageMessage = Når filopplastinga di er ferdig, kan du spesifisere utgått-alternativ.
uploadingPageCancel = Avbryt opplasting
.title = Avbryt opplasting
uploadCancelNotification = Opplastinga di vart avbroten
uploadingPageLargeFileMessage = Denne fila er stor, og det kan ta litt tid å laste henne opp. Ver tolmodig!
uploadingFileNotification = Varsle meg når opplastinga er ferdig.
uploadSuccessConfirmHeader = Klår til å senda
uploadSvgAlt
.alt = Last opp
uploadSuccessTimingHeader = Lenka til fila di går ut etter 1 nedlasting eller om 24 timar.
copyUrlFormLabelWithName = Kopier og del lenka for å sende fila: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Kopier til utklippstavla
.title = Kopier til utklippstavla
copiedUrl = Kopiert!
// Note: Title text for button should be the same.
deleteFileButton = Slett fil
.title = Slett fil
// Note: Title text for button should be the same.
sendAnotherFileLink = Send ei anna fil
.title = Send ei anna fil
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Last ned
downloadFileName = Last ned { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Vennen din sender deg eni fil med Firefox Send, ei teneste som lar deg dele filer med ei sikker, privat og kryptert lenke, som automatisk går ut, for å sikre at ting ikkje vert verande på nettet for alltid.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Last ned
.title = Last ned
downloadNotification = Nedlastinga er fullført.
downloadFinish = Nedlastinga er fullført.
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Prøv Firefox Send
.title = Prøv Firefox Send
downloadingPageProgress = Lastar ned { $filename } ({ $size })
downloadingPageMessage = La denne fana vere open mens vi hentar filen og dekrypterar henne.
errorAltText
.alt = Opplastingsfeil
errorPageHeader = Noko gjekk gale!
errorPageMessage = Dett oppstod ein feil under opplasting av fila.
errorPageLink = Send ei anna fil
fileTooBig = Fila er for stor, og kan ikkje lastast opp. Ho må vere mindre enn { $size }.
linkExpiredAlt
.alt = Lenka har gått ut
expiredPageHeader = Denne lenka har gått ut eller har aldri eksistert i utgangspunktet!
notSupportedHeader = Nettlesaren din er ikkje støtta.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Diverre støttar denne nettlesaren ikkje webteknologien som driv Firefox Send. Du må prøve ein annan nettleser. Vi tilrår Firefox!
notSupportedOutdatedDetail = Dessverre støttar ikkje denne versjonen av Firefox nett-teknologien som driv Firefox Send. Du må å oppdatere nettlesaren din.
updateFirefox = Oppdater Firefox
downloadFirefoxButtonSub = Gratis nedlasting
uploadedFile = Fil
copyFileList = Kopier URL
// expiryFileList is used as a column header
expiryFileList = Går ut om
deleteFileList = Slett
nevermindButton = Gløym det
legalHeader = Vilkår og personvern
legalNoticeTestPilot = Firefox Send er for tida eit Test Pilot-eksperiment, og er underlagt <a>tenestevilkåra</a> og <a>personvernvilkåra</a> til Test Pilot. Du kan lære meir om dette eksperimentet og datainnsamlinga <a>her</a>.
legalNoticeMozilla = Bruk av Firefox Send-nettsida er også underlagt Mozillas <a>personvernvilkår for nettsider</a> og <a>brukarvilkår for nettsider</a>.
deletePopupText = Slette denne fila?
deletePopupYes = Ja
deletePopupCancel = Avbryt
deleteButtonHover
.title = Slett
copyUrlHover
.title = Kopier URL
footerLinkLegal = Juridisk informasjon
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Om Test Pilot
footerLinkPrivacy = Personvern
footerLinkTerms = Vilkår
footerLinkCookies = Infokapslar

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experimento web
siteFeedback = Opinião
uploadPageHeader = Compartilhamento de arquivos privados e criptografados
uploadPageExplainer = Envie arquivos por meio de um link seguro, privado e criptografado que expira automaticamente para garantir que as suas coisas não permaneçam on-line para sempre.
uploadPageLearnMore = Saiba mais
uploadPageDropMessage = Arraste o arquivo para cá para iniciar o envio
uploadPageSizeMessage = Para uma operação mais confiável, é melhor manter seu arquivo menor que 1GB
uploadPageBrowseButton = Selecione um arquivo em seu computador
.title = Selecione um arquivo em seu computador
uploadPageMultipleFilesAlert = Enviar múltiplos arquivos ou uma pasta ainda não é suportado.
uploadPageBrowseButtonTitle = Enviar arquivo
uploadingPageHeader = Enviando seu arquivo
importingFile = Importando…
verifyingFile = Verificando…
encryptingFile = Criptografando…
decryptingFile = Descriptografando…
notifyUploadDone = Arquivo enviado.
uploadingPageMessage = Uma vez que seu arquivo seja enviado você poderá definir opções de expiração.
uploadingPageCancel = Cancelar envio
.title = Cancelar envio
uploadCancelNotification = Você cancelou o envio.
uploadingPageLargeFileMessage = Esse arquivo é grande e pode demorar para ser enviado. Aguarde!
uploadingFileNotification = Me avise quando completar o envio.
uploadSuccessConfirmHeader = Pronto para enviar
uploadSvgAlt
.alt = Enviado
uploadSuccessTimingHeader = O link para o seu arquivo expirará após 1 download ou em 24 horas.
copyUrlFormLabelWithName = Copie e compartilhe o link para enviar o seu arquivo: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copiar para área de transferência
.title = Copiar para área de transferência
copiedUrl = Copiado!
// Note: Title text for button should be the same.
deleteFileButton = Excluir arquivo
.title = Excluir arquivo
// Note: Title text for button should be the same.
sendAnotherFileLink = Enviar outro arquivo
.title = Enviar outro arquivo
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Download
downloadFileName = Download { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Seu amigo está te enviando um arquivo através do Firefox Send, um serviço que permite compartilhar arquivos com segurança, privacidade e um link encriptado que automaticamente expira para garantir que suas coisas não permaneçam on-line eternamente.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Download
.title = Download
downloadNotification = Seu download terminou.
downloadFinish = Download completo
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Experimente o Firefox Send
.title = Experimente o Firefox Send
downloadingPageProgress = Baixando { $filename } ({ $size })
downloadingPageMessage = Por favor deixe essa aba aberta enquanto buscamos seu arquivo e o decriptamos.
errorAltText
.alt = Erro no envio
errorPageHeader = Oops, ocorreu um erro!
errorPageMessage = Houve um erro ao enviar o arquivo.
errorPageLink = Enviar outro arquivo
fileTooBig = Esse arquivo é muito grande. Ele deve ser menor que { $size }.
linkExpiredAlt
.alt = Link expirou
expiredPageHeader = Esse link expirou, ou talvez nunca tenha existido!
notSupportedHeader = Seu navegador não tem suporte.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Infelizmente esse navegador não suporta a tecnologia utilizada pelo Firefox Send. Tente com outro navegador. Nós recomendamos o Firefox! ;-)
notSupportedOutdatedDetail = Infelizmente esta versão do Firefox não suporta a tecnologia web que faz o Firefox Send funcionar. Você precisa atualizar o seu navegador.
updateFirefox = Atualizar o Firefox
downloadFirefoxButtonSub = Download gratuito
uploadedFile = Arquivo
copyFileList = Copiar URL
// expiryFileList is used as a column header
expiryFileList = Expira em
deleteFileList = Excluir
nevermindButton = Esqueça
legalHeader = Termos e privacidade
legalNoticeTestPilot = Firefox Send é um experimento do Test Pilot, e sujeito aos <a>Termos de Serviço</a> e <a>Políticas de Privacidade</a> do Test Pilot. Você pode aprender mais sobre esse experimento e a coleta de dados <a>aqui</a>.
legalNoticeMozilla = O uso do site Firefox Send também está sujeito a <a>Política de Privacidade</a> e <a>Websites Terms of Use</a> da Mozilla.
deletePopupText = Excluir este arquivo
deletePopupYes = Sim
deletePopupCancel = Cancelar
deleteButtonHover
.title = Excluir
copyUrlHover
.title = Copiar URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Sobre o Test Pilot
footerLinkPrivacy = Privacidade
footerLinkTerms = Termos
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experiência web
siteFeedback = Feedback
uploadPageHeader = Partilha de ficheiros privada e encriptada
uploadPageExplainer = Envie ficheiros através de uma ligação segura, privada e encriptada que automaticamente expira para garantir que as suas coisas não fiquem online para sempre.
uploadPageLearnMore = Saber mais
uploadPageDropMessage = Largue o seu ficheiro aqui para começar a carregar
uploadPageSizeMessage = Para uma operação mais confiável, é melhor manter o seu ficheiro abaixo de 1GB
uploadPageBrowseButton = Selecione um ficheiro no seu computador
.title = Selecione um ficheiro no seu computador
uploadPageMultipleFilesAlert = Carregar múltiplos ficheiros ou uma pasta não é atualmente suportado.
uploadPageBrowseButtonTitle = Carregar ficheiro
uploadingPageHeader = A carregar o seu ficheiro
importingFile = A importar...
verifyingFile = A verificar...
encryptingFile = A encriptar...
decryptingFile = A desencriptar...
notifyUploadDone = O seu carregamento terminou.
uploadingPageMessage = Assim que o seu ficheiro carregar irá poder definir as opções de expiração.
uploadingPageCancel = Cancelar carregamento
.title = Cancelar carregamento
uploadCancelNotification = O seu carregamento foi cancelado.
uploadingPageLargeFileMessage = Este ficheiro é grande e pode demorar um pouco a carregar. Fique onde está!
uploadingFileNotification = Notificar-me quando o carregamento estiver completo.
uploadSuccessConfirmHeader = Pronto para enviar
uploadSvgAlt
.alt = Carregar
uploadSuccessTimingHeader = A ligação para o seu ficheiro irá expirar depois de 1 descarga ou em 24 horas.
copyUrlFormLabelWithName = Copie e partilhe a ligação para enviar o seu ficheiro: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Copiar para a área de transferência
.title = Copiar para a área de transferência
copiedUrl = Copiado!
// Note: Title text for button should be the same.
deleteFileButton = Apagar ficheiro
.title = Apagar ficheiro
// Note: Title text for button should be the same.
sendAnotherFileLink = Enviar outro ficheiro
.title = Enviar outro ficheiro
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Descarregar
downloadFileName = Descarregar { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = O seu amigo está a enviar-lhe um ficheiro com o Firefox Send, um serviço que lhe permite partilhar ficheiro com uma ligação segura, privada e encriptada que automaticamente expira para garantir que as suas coisas não fiquem online para sempre.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Descarregar
.title = Descarregar
downloadNotification = A sua descarga foi completada.
downloadFinish = Descarga completada
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Tentar o Firefox Send
.title = Tentar o Firefox Send
downloadingPageProgress = A descarregar { $filename } ({ $size })
downloadingPageMessage = Por favor deixe este separador aberto enquanto obtemos o seu ficheiro e o desencriptamos.
errorAltText
.alt = Erro ao carregar
errorPageHeader = Algo correu mal.
errorPageMessage = Houve um erro ao carregar o ficheiro.
errorPageLink = Enviar outro ficheiro
fileTooBig = Esse ficheiro é muito grande para carregar. Deve ser menor do que { $size }.
linkExpiredAlt
.alt = Ligação expirada
expiredPageHeader = Esta ligação expirou ou nunca existiu em primeiro lugar!
notSupportedHeader = O seu navegador não é suportado.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Infelizmente este navegador não suporta a tecnologia web que faz o Firefox Send funcionar. Irá precisar de tentar outro navegador. Nós recomendamos o Firefox!
notSupportedOutdatedDetail = Infelizmente esta versão do Firefox não suporta a tecnologia web que faz o Firefox Send funcionar. Precisa de atualizar o seu navegador.
updateFirefox = Atualizar o Firefox
downloadFirefoxButtonSub = Descarga gratuita
uploadedFile = Ficheiro
copyFileList = Copiar URL
// expiryFileList is used as a column header
expiryFileList = Expira em
deleteFileList = Apagar
nevermindButton = Esquecer
legalHeader = Termos e privacidade
legalNoticeTestPilot = O Firefox Send é atualmente uma experiência do Test Pilot, e sujeita aos <a>Termos de serviço</a> e <a>Aviso de privacidade</a> do Test Pilot. Pode saber mais acerca desta experiência e a sua recolha de dados <a>aqui</a>.
legalNoticeMozilla = A utilização do website do Firefox Send está também sujeita ao <a>Aviso de privacidade dos websites</a> e <a>Termos de serviço dos websites</a> da Mozilla.
deletePopupText = Apagar este ficheiro?
deletePopupYes = Sim
deletePopupCancel = Cancelar
deleteButtonHover
.title = Apagar
copyUrlHover
.title = Copiar URL
footerLinkLegal = Legal
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Acerca do Test Pilot
footerLinkPrivacy = Privacidade
footerLinkTerms = Termos
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = веб-эксперимент
siteFeedback = Отзывы
uploadPageHeader = Приватный, зашифрованный обмен файлами
uploadPageExplainer = Отсылайте файлы, используя безопасные, приватные и зашифрованные ссылки, которые автоматически просрочатся, чтобы ваш материал не остался онлайн навсегда.
uploadPageLearnMore = Подробнее
uploadPageDropMessage = Перетащите свой файл сюда, чтобы начать загрузку
uploadPageSizeMessage = Для более надёжной работы сервиса, размер вашего файла не должен превышать 1ГБ.
uploadPageBrowseButton = Выбрать файл с моего компьютера
.title = Выбрать файл с моего компьютера
uploadPageMultipleFilesAlert = Загрузка нескольких файлов или папок в настоящее время не поддерживается.
uploadPageBrowseButtonTitle = Загрузить файл
uploadingPageHeader = Загрузка вашего файла
importingFile = Импортирование...
verifyingFile = Проверка...
encryptingFile = Шифрование...
decryptingFile = Расшифровка...
notifyUploadDone = Ваша загрузка завершена.
uploadingPageMessage = Как только вы загрузите свой файл, вы сможете установить срок хранения.
uploadingPageCancel = Отменить загрузку
.title = Отменить загрузку
uploadCancelNotification = Ваша загрузка была отменена.
uploadingPageLargeFileMessage = Этот файл довольно большой и его загрузка может занять продолжительное время. Держитесь!
uploadingFileNotification = Оповестить меня, когда загрузка завершится.
uploadSuccessConfirmHeader = Готов к отправке
uploadSvgAlt
.alt = Загрузить
uploadSuccessTimingHeader = Ссылка на ваш файл просрочится после 1 загрузки файла или через 24 часа.
copyUrlFormLabelWithName = Скопировать и поделиться ссылкой на отправку вашего файла: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Скопировать в буфер обмена
.title = Скопировать в буфер обмена
copiedUrl = Скопировано!
// Note: Title text for button should be the same.
deleteFileButton = Удалить файл
.title = Удалить файл
// Note: Title text for button should be the same.
sendAnotherFileLink = Отправить другой файл
.title = Отправить другой файл
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Загрузить
downloadFileName = Загрузить { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Ваш друг отправил вам файл с помощью Firefox Send, сервиса, который позволяет вам делиться файлами, используя безопасные, приватные и зашифрованные ссылки, которые автоматически просрачиваются, чтобы ваши файлы не остались в онлайне навсегда.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Скачать
.title = Скачать
downloadNotification = Ваша загрузка завершена.
downloadFinish = Загрузка завершена
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Попробовать Firefox Send
.title = Попробовать Firefox Send
downloadingPageProgress = Загрузка { $filename } ({ $size })
downloadingPageMessage = Пожалуйста, оставьте эту вкладку открытой, пока мы загружаем ваш файл и расшифровываем его.
errorAltText
.alt = Ошибка загрузки
errorPageHeader = Что-то пошло не так!
errorPageMessage = Произошла ошибка при загрузке файла.
errorPageLink = Отправить другой файл.
fileTooBig = Этот файл слишком большой для загрузки. Он должен быть меньше { $size }.
linkExpiredAlt
.alt = Ссылка просрочена
expiredPageHeader = Это ссылка просрочена или никогда не существовала!
notSupportedHeader = Ваш браузер не поддерживается.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = К сожалению, этот браузер не поддерживает веб-технологию, благодаря которой работает Firefox Send. Ваш нужно попробовать использовать другой браузер. Мы рекомендуем Firefox!
notSupportedOutdatedDetail = К сожалению, эта версия Firefox не поддерживает веб-технологию, благодаря которой работает Firefox Send. Ваш нужно обновить свой браузер.
updateFirefox = Обновить Firefox
downloadFirefoxButtonSub = Бесплатная загрузка
uploadedFile = Файл
copyFileList = Скопировать URL
// expiryFileList is used as a column header
expiryFileList = Просрочится через
deleteFileList = Удалить
nevermindButton = Неважно
legalHeader = Условия и конфиденциальность
legalNoticeTestPilot = Firefox Send в настоящее время является экспериментом Лётчика-испытателя, и поэтому подпадает под <a>условия службы</a> и <a>уведомление о приватности</a> Лётчика-испытателя. Вы можете узнать больше об этом эксперименте и его сборе данных <a>здесь</a>.
legalNoticeMozilla = Использование сайта Firefox Send также подпадает под <a>уведомление о конфиденциальности веб-сайтов</a> и <a>правила использования веб-сайтов</a> Mozilla.
deletePopupText = Удалить этот файл?
deletePopupYes = Да
deletePopupCancel = Отмена
deleteButtonHover
.title = Удалить
copyUrlHover
.title = Скопировать URL
footerLinkLegal = Права
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = О программе Лётчика-испытателя
footerLinkPrivacy = Приватность
footerLinkTerms = Условия
footerLinkCookies = Куки

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = experiment pre web
siteFeedback = Spätná väzba
uploadPageHeader = Súkromné a šifrované zdieľanie súborov
uploadPageExplainer = Odosielajte súbory pomocou bezpečného, súkromného a šifrovaného odkazu, ktorého platnosť automaticky vyprší. Vďaka tomu máte istotu, že vaše súbory nezostanú na internete naveky.
uploadPageLearnMore = Ďalšie informácie
uploadPageDropMessage = Presunutím súboru sem začnete nahrávanie
uploadPageSizeMessage = Pre zaistenie čo najväčšej spoľahlivosti vám odporúčame nahrávať súbory menšie než 1GB.
uploadPageBrowseButton = Vyberte súbor vo vašom počítači
.title = Vyberte súbor vo vašom počítači
uploadPageMultipleFilesAlert = Nahrávanie viacerých súborov alebo priečinkov momentálne nie je podporované.
uploadPageBrowseButtonTitle = Nahrať súbor
uploadingPageHeader = Nahrávanie vášho súboru
importingFile = Importuje sa…
verifyingFile = Overuje sa…
encryptingFile = Šifruje sa…
decryptingFile = Dešifruje sa…
notifyUploadDone = Vaše nahrávanie sa dokončilo.
uploadingPageMessage = Po nahratí súboru budete môcť nastaviť vypršanie platnosti.
uploadingPageCancel = Zrušiť nahrávanie
.title = Zrušiť nahrávanie
uploadCancelNotification = Vaše nahrávanie bolo zrušené.
uploadingPageLargeFileMessage = Tento súbor je veľký. Nahrávanie tak môže chvíľu trvať.
uploadingFileNotification = Upozorniť ma na ukončenie nahrávania
uploadSuccessConfirmHeader = Pripravené na odoslanie
uploadSvgAlt
.alt = Nahrať
uploadSuccessTimingHeader = Platnosť odkazu vyprší po 1 prevzatí alebo po uplynutí 24 hodín.
copyUrlFormLabelWithName = Skopírovaním a zdieľaním odkazu odošlete váš súbor: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Kopírovať do schránky
.title = Kopírovať do schránky
copiedUrl = Skopírované!
// Note: Title text for button should be the same.
deleteFileButton = Odstrániť súbor
.title = Odstrániť súbor
// Note: Title text for button should be the same.
sendAnotherFileLink = Odoslať ďalší súbor
.title = Odoslať ďalší súbor
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Prevziať
downloadFileName = Prevziať { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Váš priateľ vám odoslal súbor pomocou služby Firefox Sync - táto vám umožňuje zdieľať súbory pomocou bezpečného, súkromného a zašifrovaného odkazu, ktorého platnosť automaticky vyprší. Vďaka tomu máte istotu, že vaše súbory neostanú na internete naveky.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Prevziať
.title = Prevziať
downloadNotification = Vaše preberanie bolo dokončené.
downloadFinish = Preberanie bolo dokončené
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Vyskúšajte Firefox Send
.title = Vyskúšajte Firefox Send
downloadingPageProgress = Preberá sa { $filename } ({ $size })
downloadingPageMessage = Prosím, ponechajte túto kartu otvorenú zatiaľ čo váš súbor prevezmeme a dešifrujeme.
errorAltText
.alt = Pri nahrávaní sa vyskytla chyba
errorPageHeader = Vyskytol sa problém.
errorPageMessage = Pri nahrávaní súboru nastala chyba.
errorPageLink = Odošlite ďalší súbor
fileTooBig = Súbor je príliš veľký. Mal by byť menší než { $size }.
linkExpiredAlt
.alt = Platnosť odkazu vypršala
expiredPageHeader = Platnosť tohto odkazu vypršala alebo daný odkaz nikdy neexistoval.
notSupportedHeader = Váš prehliadač nie je podporovaný.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Žiaľ, tento prehliadač nepodporuje webovú technológiu, ktorá poháňa službu Firefox Send. Budete musieť vyskúšať iný prehliadač. My vám odporúčame Firefox!
notSupportedOutdatedDetail = Žiaľ, táto verzia Firefoxu nepodporuje webovú technológiu, ktorá poháňa Firefox Send. Budete musieť aktualizovať svoj prehliadač.
updateFirefox = Aktualizovať Firefox
downloadFirefoxButtonSub = Prevziať zadarmo
uploadedFile = Súbor
copyFileList = Kopírovať adresu URL
// expiryFileList is used as a column header
expiryFileList = Platnosť vyprší
deleteFileList = Odstrániť
nevermindButton = Zrušiť
legalHeader = Podmienky používania a súkromie
legalNoticeTestPilot = Firefox Send je v súčasnosti experimentom projektu Test Pilot a vzťahujú sa naň <a>podmienky používania</a> a <a>zásady ochrany súkromia</a> Test Pilotu. Viac sa o zbieraní údajov experimentami dozviete <a>tu</a>.
legalNoticeMozilla = Na použitie webovej stránky služby Firefox Send sa vzťahujú <a>zásady ochrany súkromia na webových stránkach</a> a <a>podmienky použitia webových stránok</a> Mozilly.
deletePopupText = Naozaj chcete odstrániť tento súbor?
deletePopupYes = Áno
deletePopupCancel = Zrušiť
deleteButtonHover
.title = Odstrániť
copyUrlHover
.title = Skopírovať adresu URL
footerLinkLegal = Právne informácie
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = O projekte Test Pilot
footerLinkPrivacy = Súkromie
footerLinkTerms = Podmienky používania
footerLinkCookies = Cookies

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = spletni poskus
siteFeedback = Povratne informacije
uploadPageHeader = Zasebno, šifrirano deljenje datotek
uploadPageExplainer = Pošljite datoteke preko varne, zasebne in šifrirane povezave, ki samodejno poteče, kar vam zagotavlja, da vaše datoteke ne bodo ostale za vedno na spletu.
uploadPageLearnMore = Več o tem
uploadPageDropMessage = Tukaj spustite datoteko za začetek nalaganja
uploadPageSizeMessage = Za zanesljivo delovanje je najbolje, da datoteka ne presega 1 GB
uploadPageBrowseButton = Izberite datoteko na računalniku
.title = Izberite datoteko na računalniku
uploadPageMultipleFilesAlert = Nalaganje več datotek ali map trenutno ni podprto.
uploadPageBrowseButtonTitle = Naloži datoteko
uploadingPageHeader = Nalaganje datoteke
importingFile = Uvažanje …
verifyingFile = Preverjanje …
encryptingFile = Šifriranje ...
decryptingFile = Dešifriranje ...
notifyUploadDone = Nalaganje je končano.
uploadingPageMessage = Ko bo vaša datoteka naložena, boste lahko nastavili možnosti poteka.
uploadingPageCancel = Prekliči nalaganje
.title = Prekliči nalaganje
uploadCancelNotification = Nalaganje je preklicano.
uploadingPageLargeFileMessage = Datoteka je velika in lahko traja nekaj časa, da se naloži. Počakajte trenutek!
uploadingFileNotification = Obvesti me, ko bo nalaganje končano.
uploadSuccessConfirmHeader = Pripravljeno za pošiljanje
uploadSvgAlt
.alt = Naloži
uploadSuccessTimingHeader = Povezava do vaše datoteke bo potekla po enem prenosu ali v 24 urah.
copyUrlFormLabelWithName = Kopirajte in delite to povezavo, da pošljete datoteko: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Kopiraj v odložišče
.title = Kopiraj v odložišče
copiedUrl = Kopirano!
// Note: Title text for button should be the same.
deleteFileButton = Izbriši datoteko
.title = Izbriši datoteko
// Note: Title text for button should be the same.
sendAnotherFileLink = Pošlji drugo datoteko
.title = Pošlji drugo datoteko
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Prenesi
downloadFileName = Prenesi { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Prijatelj vam pošilja datoteko preko storitve Firefox Send, ki vam omogoča deljenje datotek preko varne, zasebne in šifrirane povezave, ki samodejno poteče, kar vam zagotavlja, da vaše stvari ne ostanejo na spletu za vedno.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Prenesi
.title = Prenesi
downloadNotification = Vaš prenos je končan.
downloadFinish = Prenos končan
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Preskusite Firefox Send
.title = Preskusite Firefox Send
downloadingPageProgress = Prenašanje { $filename } ({ $size })
downloadingPageMessage = Medtem ko pridobivamo vašo datoteko in jo dešifriramo, pustite ta zavihek odprt.
errorAltText
.alt = Napaka pri nalaganju
errorPageHeader = Prišlo je do težave!
errorPageMessage = Pri nalaganju vaše datoteke je prišlo do napake.
errorPageLink = Pošlji drugo datoteko
fileTooBig = Ta datoteka je prevelika za nalaganje. Največja možna velikost je { $size }.
linkExpiredAlt
.alt = Povezava je potekla
expiredPageHeader = Ta povezava je potekla ali pa sploh ni obstajala!
notSupportedHeader = Vaš brskalnik ni podprt.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Ta brskalnik na žalost ne podpira tehnologije, na kateri temelji Firefox Send. Uporabiti boste morali drug brskalnik. Priporočamo Firefox!
notSupportedOutdatedDetail = Ta brskalnik žal ne podpira tehnologije, na kateri temelji Firefox Send. Svoj brskalnik boste morali posodobiti.
updateFirefox = Posodobi Firefox
downloadFirefoxButtonSub = Brezplačen prenos
uploadedFile = Datoteka
copyFileList = Kopiraj spletni naslov
// expiryFileList is used as a column header
expiryFileList = Poteče
deleteFileList = Izbriši
nevermindButton = Pozabi
legalHeader = Pogoji in zasebnost
legalNoticeTestPilot = Firefox Send je trenutno poskus projekta Test Pilot ter zanj veljajo <a>pogoji uporabe</a> in <a>obvestilo o zasebnosti</a> Test Pilota. Več o tem poskusu in njegovem zbiranju podatkov lahko izveste <a>tukaj</a>.
legalNoticeMozilla = Za uporabo spletne strani Firefox Send veljajo Mozillini <a>obvestilo o zasebnosti za spletne strani</a> in <a>pogoji uporabe spletnih strani</a>.
deletePopupText = Izbrišem to datoteko?
deletePopupYes = Da
deletePopupCancel = Prekliči
deleteButtonHover
.title = Izbriši
copyUrlHover
.title = Kopiraj spletni naslov
footerLinkLegal = Pravno obvestilo
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = O programu Test Pilot
footerLinkPrivacy = Zasebnost
footerLinkTerms = Pogoji
footerLinkCookies = Piškotki

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = веб експеримент
siteFeedback = Повратне информације
uploadPageHeader = Приватно и шифровано дељење датотека
uploadPageExplainer = Шаљите датотеке преко безбедне, приватне и шифроване везе која самостално истиче да ваше ствари не би остале на нету заувек.
uploadPageLearnMore = Сазнајте више
uploadPageDropMessage = Превуците ваше датотеке овде да бисте кренули са отпремањем
uploadPageSizeMessage = За бољи рад предлажемо да датотека не буде већа од 1GB
uploadPageBrowseButton = Изаберите датотеку на рачунару
.title = Изаберите датотеку на рачунару
uploadPageMultipleFilesAlert = Отпремање фасцикли или више датотека тренутно није подржано.
uploadPageBrowseButtonTitle = Отпреми датотеку
uploadingPageHeader = Ваша датотека се отпрема
importingFile = Увозим…
verifyingFile = Потврђујем…
encryptingFile = Шифрујем…
decryptingFile = Дешифрујем…
notifyUploadDone = Ваше отпремање је завршено.
uploadingPageMessage = Након што се ваша датотека отпреми, моћи ћете да подесите опције истека.
uploadingPageCancel = Откажи отпремање
.title = Откажи отпремање
uploadCancelNotification = Ваше отпремање је отказано.
uploadingPageLargeFileMessage = Ово је велика датотека и отпремање може потрајати. Будите стрпљиви!
uploadingFileNotification = Обавести ме када се отпремање заврши.
uploadSuccessConfirmHeader = Спреман за слање
uploadSvgAlt
.alt = Отпреми
uploadSuccessTimingHeader = Веза ка вашој датотеци ће истећи након једног преузимања или након 24 сата.
copyUrlFormLabelWithName = Ископирајте и поделите везу да бисте послали вашу датотеку: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Копирај у оставу
.title = Копирај у оставу
copiedUrl = Ископирано!
// Note: Title text for button should be the same.
deleteFileButton = Обриши датотеку
.title = Обриши датотеку
// Note: Title text for button should be the same.
sendAnotherFileLink = Пошаљи другу датотеку
.title = Пошаљи другу датотеку
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Преузми
downloadFileName = Преузимање датотеке { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Ваш пријатељ вам је послао датотеку преко услуге Firefox Send која вам омогућава да делите датотеке преко безбедне, приватне и шифроване везе која самостално истиче да ваше ствари не би остале на нету заувек.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Преузми
.title = Преузми
downloadNotification = Ваше преузимање је завршено.
downloadFinish = Преузимање је завршено.
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Испробајте Firefox Send
.title = Испробајте Firefox Send
downloadingPageProgress = Преузимам датотеку { $filename } ({ $size })
downloadingPageMessage = Оставите овај језичак отвореним док не добавимо вашу датотеку и док је не дешифрујемо.
errorAltText
.alt = Грешка при отпремању
errorPageHeader = Нешто је пошло наопако!
errorPageMessage = Догодила се грешка приликом отпремања датотеке.
errorPageLink = Пошаљи другу датотеку
fileTooBig = Та датотека је превелика за отпремање. Треба да буде мања од { $size }.
linkExpiredAlt
.alt = Веза је истекла
expiredPageHeader = Веза је или истекла, или никада није ни постојала!
notSupportedHeader = Ваш прегледач није подржан.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Нажалост, овај прегледач не подржава веб технологију која омогућава Firefox Send. Мораћете да пробате са другим прегледачем. Ми предлажемо Firefox!
notSupportedOutdatedDetail = Нажалост, ово издање Firefox-a не подржава веб технологију која омогућава Firefox Send. Мораћете да ажурирате ваш прегледач.
updateFirefox = Ажурирај Firefox
downloadFirefoxButtonSub = Бесплатно преузимање
uploadedFile = Датотека
copyFileList = URL за копирање
// expiryFileList is used as a column header
expiryFileList = Истиче за
deleteFileList = Брисање
nevermindButton = Занемари
legalHeader = Услови и приватност
legalNoticeTestPilot = Firefox Send је тренутно Тест Пилот експеримент и подложан је <a>условима коришћења</a> Тест Пилота и <a>обавештењем о приватности</a>. Можете сазнати више о овом експерименту и о његовом сакупљању података <a>овде</a>.
legalNoticeMozilla = Коришћење Firefox Send веб сајта подлеже Mozilla-ином <a>обавештењу о приватности на веб сајтовима</a> и <a>условима коришћења веб сајтова</a>.
deletePopupText = Обрисати ову датотеку?
deletePopupYes = Да
deletePopupCancel = Откажи
deleteButtonHover
.title = Обриши
copyUrlHover
.title = Ископирај URL
footerLinkLegal = Правни подаци
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = О Тест Пилоту
footerLinkPrivacy = Приватност
footerLinkTerms = Услови
footerLinkCookies = Колачићи

View File

@@ -0,0 +1,96 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = webbexperiment
siteFeedback = Återkoppling
uploadPageHeader = Privat, krypterad fildelning
uploadPageExplainer = Skicka filer via en säker, privat och krypterad länk som automatiskt upphör för att säkerställa att dina saker inte förblir på nätet för alltid.
uploadPageLearnMore = Läs mer
uploadPageDropMessage = Släpp filen här för att börja ladda upp
uploadPageSizeMessage = För den mest tillförlitliga driften är det bäst att hålla din fil under 1 GB
uploadPageBrowseButton = Välj en fil på din dator
.title = Välj en fil på din dator
uploadPageMultipleFilesAlert = Överföring av flera filer eller en mapp stöds för närvarande inte.
uploadPageBrowseButtonTitle = Ladda upp fil
uploadingPageHeader = Överför din fil
importingFile = Importerar…
verifyingFile = Verifierar…
encryptingFile = Krypterar…
decryptingFile = Avkodar…
notifyUploadDone = Din uppladdning har slutförts.
uploadingPageMessage = När din filuppladdning är klar kommer du att kunna ange alternativ för upphörande.
uploadingPageCancel = Avbryt uppladdning
.title = Avbryt uppladdning
uploadCancelNotification = Din uppladdning avbröts.
uploadingPageLargeFileMessage = Den här filen är stor och kan ta ett tag att ladda upp. Ha tålamod!
uploadingFileNotification = Meddela mig när uppladdningen är klar.
uploadSuccessConfirmHeader = Klar för att skicka
uploadSvgAlt
.alt = Ladda upp
uploadSuccessTimingHeader = Länken till din fil upphör att gälla efter 1 nedladdning eller om 24 timmar.
copyUrlFormLabelWithName = Kopiera och dela länken för att skicka din fil: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = Kopiera till urklipp
.title = Kopiera till urklipp
copiedUrl = Kopierad!
// Note: Title text for button should be the same.
deleteFileButton = Ta bort fil
.title = Ta bort fil
// Note: Title text for button should be the same.
sendAnotherFileLink = Skicka en annan fil
.title = Skicka en annan fil
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = Ladda ner
downloadFileName = Ladda ner { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Din vän skickar dig en fil med Firefox Send, en tjänst som låter dig dela filer med en säker, privat och krypterad länk som automatiskt upphör för att säkerställa att dina saker inte förblir på nätet för alltid.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Ladda ner
.title = Ladda ner
downloadNotification = Din nedladdning har slutförts.
downloadFinish = Nedladdning klar
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Testa Firefox Send
.title = Testa Firefox Send
downloadingPageProgress = Laddar ner { $filename } ({ $size })
downloadingPageMessage = Lämna den här fliken öppen medan vi laddar ner din fil och dekrypterar den.
errorAltText
.alt = Uppladdningsfel
errorPageHeader = Något gick fel!
errorPageMessage = Det har uppstått ett fel vid uppladdning av filen.
errorPageLink = Skicka en annan fil
fileTooBig = Den filen är för stor för att ladda upp. Det ska vara mindre än { $size }.
linkExpiredAlt
.alt = Länk upphörd
expiredPageHeader = Den här länken har upphört eller har aldrig existerat i första hand!
notSupportedHeader = Din webbläsare stöds inte.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Tyvärr stöder inte webbläsaren den webbteknologi som används av Firefox Send. Du måste försöka med en annan webbläsare. Vi rekommenderar Firefox!
notSupportedOutdatedDetail =
Tyvärr stödjer den här versionen av Firefox inte webbtekniken som driver Firefox Send. Du måste uppdatera din webbläsare.
updateFirefox = Uppdatera Firefox
downloadFirefoxButtonSub = Gratis nedladdning
uploadedFile = Fil
copyFileList = Kopiera URL
// expiryFileList is used as a column header
expiryFileList = Upphör
deleteFileList = Ta bort
nevermindButton = Glöm det
legalHeader = Villkor och sekretess
legalNoticeTestPilot = Firefox Send är för närvarande ett Test Pilot experiment och omfattas av Test Pilots <a>användarvillkor</a> och <a>sekretesspolicy</a>. Du kan läsa dig mer om detta experiment och dess datainsamling <a>här</a>.
legalNoticeMozilla = Användning av webbplatsen för Firefox Send är också föremål för Mozillas <a>sekretesspolicy för webbplatser</a> och <a>användarvillkor för webbplatser</a>.
deletePopupText = Ta bort den här filen?
deletePopupYes = Ja
deletePopupCancel = Avbryt
deleteButtonHover
.title = Ta bort
copyUrlHover
.title = Kopiera URL
footerLinkLegal = Juridisk information
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Om Test Pilot
footerLinkPrivacy = Sekretess
footerLinkTerms = Villkor
footerLinkCookies = Kakor

View File

@@ -0,0 +1,91 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = web deneyi
siteFeedback = Görüş bildir
uploadPageHeader = Kişiye özel, şifrelenmiş dosya paylaşımı
uploadPageExplainer = Dosyalarınızı güvenli, size özel, şifrelenmiş ve otomatik olarak silinen bir bağlantıyla gönderin. Özel dosyalarınız sonsuza dek internette kalmasın.
uploadPageLearnMore = Daha fazla bilgi alın
uploadPageDropMessage = Yüklemeyi başlatmak için dosyanızı buraya bırakın
uploadPageSizeMessage = Sorun yaşamamak adına dosyanızın 1 GBden küçük olmasını öneririz
uploadPageBrowseButton = Bilgisayarınızdan bir dosya seçin
.title = Bilgisayarınızdan bir dosya seçin
uploadPageMultipleFilesAlert = Birden fazla dosya veya klasör yükleme şimdilik desteklenmiyor.
uploadPageBrowseButtonTitle = Dosyayı yükle
uploadingPageHeader = Dosyanız yükleniyor
importingFile = İçe aktarılıyor…
verifyingFile = Doğrulanıyor…
encryptingFile = Şifreleniyor…
decryptingFile = Şifre çözülüyor…
notifyUploadDone = Yüklemeniz tamamlandı.
uploadingPageMessage = Dosyanız yüklendikten sonra zaman aşımını ayarlayabileceksiniz.
uploadingPageCancel = Yüklemeyi iptal et
.title = Yüklemeyi iptal et
uploadCancelNotification = Yüklemeniz iptal edildi.
uploadingPageLargeFileMessage = Bu dosya büyük olduğu için yüklenmesi zaman alabilir. Sayfayı kapatmayın!
uploadingFileNotification = Yükleme bitince bana haber ver.
uploadSuccessConfirmHeader = Göndermeye hazır
uploadSvgAlt
.alt = Yükle
uploadSuccessTimingHeader = Dosyanız 1 kez indirildikten veya 24 saat geçtikten sonra linkiniz geçersiz olacaktır.
copyUrlFormLabelWithName = { $filename } dosyanızı başkasına göndermek için aşağıdaki linki kopyalayın.
// Note: Title text for button should be the same.
copyUrlFormButton = Panoya kopyala
copiedUrl = Kopyalandı!
// Note: Title text for button should be the same.
deleteFileButton = Dosyayı sil
// Note: Title text for button should be the same.
sendAnotherFileLink = Başka bir dosya daha gönder
.title = Başka bir dosya daha gönder
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = İndir
downloadFileName = { $filename } dosyasını indir
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = Arkadaşınız size Firefox Send ile bir dosya gönderdi. Firefox Send; dosyalarınızı güvenli, size özel, şifrelenmiş ve otomatik olarak silinen bir bağlantıyla paylaşmayı sağlar. Böylece özel dosyalarınız sonsuza dek internette kalmaz.
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = İndir
.title = İndir
downloadNotification = İndirme tamamlandı.
downloadFinish = İndirme tamamlandı
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = Firefox Sendi deneyin
downloadingPageProgress = { $filename } indiriliyor ({ $size })
downloadingPageMessage = Dosyanız indirilip şifresi çözülürken lütfen bu sekmeyi açık bırakın.
errorAltText
.alt = Yükleme hatası
errorPageHeader = Bir şeyler ters gitti!
errorPageMessage = Dosyanız yüklenirken bir hata oluştu.
errorPageLink = Başka bir dosya gönder
fileTooBig = Dosyanız çok büyük. En fazla { $size } boyutunda olmalı.
linkExpiredAlt
.alt = Bağlantı zaman aşımına uğramış
expiredPageHeader = Bu bağlantı zaman aşımına uğramış veya böyle bir bağlantı hiç yoktu.
notSupportedHeader = Tarayıcınız desteklenmiyor.
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = Ne yazık ki tarayıcınız Firefox Send için gereken web teknolojilerini desteklemiyor. Başka bir tarayıcıyla deneyebilirsiniz. Önerimiz tabii ki Firefox!
notSupportedOutdatedDetail = Kullandığınız Firefox sürümü Firefox Send için gereken web teknolojilerini desteklemiyor. Tarayıcınızı güncellemeniz gerekiyor.
updateFirefox = Firefoxu güncelle
downloadFirefoxButtonSub = Ücretsiz indirin
uploadedFile = Dosya
copyFileList = Adresi kopyala
// expiryFileList is used as a column header
expiryFileList = Bitiş süresi
deleteFileList = Sil
nevermindButton = Boş ver
legalHeader = Şart ve Koşullar
legalNoticeTestPilot = Firefox Send bir Test Pilotu deneyidir ve Test Pilotu <a>Hizmet Koşulları</a> ile <a>Gizlilik Bildirimi</a>ne tabidir. Bu deney ve topladığı veriler hakkında daha fazla bilgi almak isterseniz <a>buraya</a> bakabilirsiniz.
legalNoticeMozilla = Firefox Sendi kullanmak Mozillanın <a>Web Siteleri Gizlilik Bildirimi</a> ve <a>Web Siteleri Kullanım Koşulları</a>na da tabidir.
deletePopupText = Bu dosya silinsin mi?
deletePopupYes = Evet
deletePopupCancel = Vazgeç
deleteButtonHover
.title = Sil
copyUrlHover
.title = Adresi kopyala
footerLinkLegal = Yasal Bilgiler
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = Test Pilotu hakkında
footerLinkPrivacy = Gizlilik
footerLinkTerms = Şartlar
footerLinkCookies = Çerezler

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = Web 实验
siteFeedback = 反馈
uploadPageHeader = 私密、安全的文件分享服务
uploadPageExplainer = 通过一个安全、私密且受加密的链接发送文件,链接到期后文件将从网上彻底抹去。
uploadPageLearnMore = 详细了解
uploadPageDropMessage = 拖放您的文件到此处以开始上传
uploadPageSizeMessage = 为保证运行稳定,建议文件大小不超过 1GB
uploadPageBrowseButton = 选择一个您电脑上的文件
.title = 选择一个您电脑上的文件
uploadPageMultipleFilesAlert = 目前不支持上传多个文件或上传文件夹。
uploadPageBrowseButtonTitle = 上传文件
uploadingPageHeader = 正在上传您的文件
importingFile = 正在导入…
verifyingFile = 正在验证…
encryptingFile = 正在加密…
decryptingFile = 正在解密…
notifyUploadDone = 您的上传已完成。
uploadingPageMessage = 在文件上传后,您可以设定过期选项。
uploadingPageCancel = 取消上传
.title = 取消上传
uploadCancelNotification = 您的上传已取消。
uploadingPageLargeFileMessage = 此文件较大,可能要花费一些时间。请稍候。
uploadingFileNotification = 上传完成后通知我。
uploadSuccessConfirmHeader = 准备好发送
uploadSvgAlt
.alt = 上传
uploadSuccessTimingHeader = 您的文件的链接将在首次下载或 24 小时后过期。
copyUrlFormLabelWithName = 复制并分享链接以发送您的文件:{ $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = 复制到剪贴板
.title = 复制到剪贴板
copiedUrl = 已复制!
// Note: Title text for button should be the same.
deleteFileButton = 删除文件
.title = 删除文件
// Note: Title text for button should be the same.
sendAnotherFileLink = 发送其他文件
.title = 发送其他文件
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = 下载
downloadFileName = 下载 { $filename }
downloadFileSize = ({ $size })
// Firefox Send is a brand name and should not be localized.
downloadMessage = 您的朋友使用 Firefox Send 向您发送一个文件。该服务允许用户以安全、私密、受加密的链接分享一个文件,链接到期后文件将从网上彻底抹去。
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = 下载
.title = 下载
downloadNotification = 您的下载已完成。
downloadFinish = 下载完成
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = 尝试 Firefox Send
.title = 尝试 Firefox Send
downloadingPageProgress = 正在下载 { $filename } ({ $size })
downloadingPageMessage = 在我们获取您的文件并解密的期间,请不要关闭此网页。
errorAltText
.alt = 上传出错
errorPageHeader = 我们遇到错误。
errorPageMessage = 上传文件时发生错误。
errorPageLink = 发送其他文件
fileTooBig = 此文件太大。文件大小上限为 { $size }。
linkExpiredAlt
.alt = 链接已过期
expiredPageHeader = 此链接已过期或者从未生效。
notSupportedHeader = 不支持您的浏览器。
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = 很可惜,您的浏览器不支持 Firefox Send 所使用的 Web 技术。请改用其他浏览器。我们推荐使用 Firefox
notSupportedOutdatedDetail = 很可惜,此版本的 Firefox 不支持 Firefox Send 所使用的 Web 技术。您需要更新浏览器才能使用它。
updateFirefox = 更新 Firefox
downloadFirefoxButtonSub = 免费下载
uploadedFile = 文件
copyFileList = 复制网址
// expiryFileList is used as a column header
expiryFileList = 过期时间
deleteFileList = 删除
nevermindButton = 没关系
legalHeader = 条款和隐私
legalNoticeTestPilot = Firefox Send 目前是一个 Test Pilot 实验,并遵守 Test Pilot <a>服务条款</a>和<a>隐私声明</a>。您可以在<a>这里</a>了解此实验及数据收集的有关信息。
legalNoticeMozilla = 使用 Firefox Send 网站亦受到 Mozilla <a>网站隐私声明</a>和<a>网站使用条款</a>的约束。
deletePopupText = 删除此文件?
deletePopupYes = 是
deletePopupCancel = 取消
deleteButtonHover
.title = 删除
copyUrlHover
.title = 复制网址
footerLinkLegal = 法律
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = 关于 Test Pilot
footerLinkPrivacy = 隐私
footerLinkTerms = 条款
footerLinkCookies = Cookie

View File

@@ -0,0 +1,94 @@
// Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteSubtitle = 網頁實驗
siteFeedback = 意見回饋
uploadPageHeader = 私密、有加密的檔案分享服務
uploadPageExplainer = 透過安全、隱私、加密過的管道來傳送檔案,而且鏈結會自動過期,可確保您的東西不會在網路上無限停留。
uploadPageLearnMore = 了解更多
uploadPageDropMessage = 將檔案放到此處開始上傳
uploadPageSizeMessage = 為了讓系統能最穩定地執行,請盡量將檔案控制在 1GB 以下。
uploadPageBrowseButton = 選擇您電腦上的檔案
.title = 選擇您電腦上的檔案
uploadPageMultipleFilesAlert = 目前暫不支援上傳多個檔案或資料夾。
uploadPageBrowseButtonTitle = 上傳檔案
uploadingPageHeader = 正在上傳檔案
importingFile = 匯入中…
verifyingFile = 驗證中…
encryptingFile = 加密中…
decryptingFile = 解密中…
notifyUploadDone = 已完成上傳。
uploadingPageMessage = 檔案上傳後,即可設定過期時間。
uploadingPageCancel = 取消上傳
.title = 取消上傳
uploadCancelNotification = 已取消上傳。
uploadingPageLargeFileMessage = 這個檔案有點大,可能需要花點時間上傳,再等會兒!
uploadingFileNotification = 上傳完成時通知我。
uploadSuccessConfirmHeader = 準備好傳送
uploadSvgAlt
.alt = 上傳
uploadSuccessTimingHeader = 您的檔案鏈結將會在首次下載,或 24 小時後失效。
copyUrlFormLabelWithName = 複製並分享鏈結來傳送您的檔案: { $filename }
// Note: Title text for button should be the same.
copyUrlFormButton = 複製到剪貼簿
.title = 複製到剪貼簿
copiedUrl = 已複製!
// Note: Title text for button should be the same.
deleteFileButton = 刪除檔案
.title = 刪除檔案
// Note: Title text for button should be the same.
sendAnotherFileLink = 傳送另一個檔案
.title = 傳送另一個檔案
// Alternative text used on the download link/button (indicates an action).
downloadAltText
.alt = 下載
downloadFileName = 下載 { $filename }
downloadFileSize = { $size }
// Firefox Send is a brand name and should not be localized.
downloadMessage = 您的朋友正透過 Firefox Send 傳送檔案給您。這是一個可讓您透過安全、隱密、並且會將鏈結加密過,自動失效以確保檔案不會在網路上無限停留的檔案分享服務。
// Text and title used on the download link/button (indicates an action).
downloadButtonLabel = 下載
.title = 下載
downloadNotification = 下載完成。
downloadFinish = 下載完成
// Firefox Send is a brand name and should not be localized. Title text for button should be the same.
sendYourFilesLink = 試用 Firefox Send
.title = 試用 Firefox Send
downloadingPageProgress = 正在下載 { $filename }{ $size }
downloadingPageMessage = 請保留此分頁開啟,我們將取回這個檔案並進行解密。
errorAltText
.alt = 上傳錯誤
errorPageHeader = 有些東西不對勁!
errorPageMessage = 上傳檔案時發生錯誤。
errorPageLink = 傳送另一個檔案
fileTooBig = 檔案太大無法上傳。檔案大小限制為 { $size }。
linkExpiredAlt
.alt = 鏈結已過期
expiredPageHeader = 鏈結已失效,或根本不存在!
notSupportedHeader = 不支援您的瀏覽器。
// Firefox Send is a brand name and should not be localized.
notSupportedDetail = 很可惜,您使用的瀏覽器並不支援 Firefox Send 所需的 Web 技術。請改用其他瀏覽器,我們推薦使用 Firefox
notSupportedOutdatedDetail = 很可惜,此版本的 Firefox 不支援 Firefox Send 所需的 Web 技術。請更新瀏覽器後再使用。
updateFirefox = 更新 Firefox
downloadFirefoxButtonSub = 免費下載
uploadedFile = 檔案
copyFileList = 複製網址
// expiryFileList is used as a column header
expiryFileList = 失效於
deleteFileList = 刪除
nevermindButton = 沒關係
legalHeader = 使用條款及隱私權
legalNoticeTestPilot = Firefox Send 目前是一個 Test Pilot 實驗,依照 Test Pilot 的<a>服務條款</a>及<a>隱私權公告</a>提供服務。您可以在<a>此處</a>了解實驗內容,以及所收集資料的詳細資訊。
legalNoticeMozilla = 使用 Firefox Send 網站時,亦受到 Mozilla 的<a>網站隱私權公告</a>以及<a>網站使用條款</a>約束。
deletePopupText = 真的要刪除這個檔案嗎?
deletePopupYes = 好的,刪除
deletePopupCancel = 不要刪除
deleteButtonHover
.title = 刪除
copyUrlHover
.title = 複製網址
footerLinkLegal = 法律資訊
// Test Pilot is a proper name and should not be localized.
footerLinkAbout = 關於 Test Pilot
footerLinkPrivacy = 隱私權
footerLinkTerms = 使用條款
footerLinkCookies = Cookie

View File

@@ -1,17 +1,15 @@
/*** index.html ***/
html {
background: url('resources/send_bg.svg');
font-family: -apple-system,
BlinkMacSystemFont,
'SF Pro Text',
Helvetica,
Arial,
sans-serif;
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', Helvetica,
Arial, sans-serif;
font-weight: 200;
background-size: 100%;
background-size: 110%;
background-repeat: no-repeat;
background-position: center top;
height: 100%;
max-width: 1440px;
margin: auto;
}
body {
@@ -37,6 +35,19 @@ body {
align-items: center;
}
.send-logo h1 {
transition: color 50ms;
}
.send-logo h1:hover {
color: #0297f8;
}
.send-logo > a {
display: flex;
flex-direction: row;
}
.site-title {
color: #3e3d40;
font-size: 32px;
@@ -44,6 +55,8 @@ body {
margin: 0;
position: relative;
top: -1px;
letter-spacing: 1px;
margin-left: 8px;
}
.site-subtitle {
@@ -58,16 +71,16 @@ body {
transition: color 50ms;
}
.send-logo:hover a {
.site-subtitle a:hover {
color: #0297f8;
}
.feedback {
background-color: #0297f8;
background-image: url('resources/feedback.svg');
background-position: 4px 6px;
background-position: 2px 4px;
background-repeat: no-repeat;
background-size: 14px;
background-size: 18px;
border-radius: 3px;
border: 1px solid #0297f8;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
@@ -78,11 +91,21 @@ body {
font-size: 12px;
line-height: 12px;
opacity: 0.9;
padding: 6px 6px 5px 20px;
padding: 5px;
overflow: hidden;
min-width: 12px;
max-width: 12px;
text-indent: 17px;
transition: all 250ms ease-in-out;
white-space: nowrap;
}
.feedback:hover,
.feedback:focus {
min-width: 30px;
max-width: 300px;
text-indent: 2px;
padding: 5px 5px 5px 20px;
background-color: #0287e8;
}
@@ -97,6 +120,8 @@ body {
justify-content: flex-start;
max-width: 630px;
margin: 0 auto;
padding: 0 20px;
box-sizing: border-box;
width: 96%;
}
@@ -112,6 +137,7 @@ a {
}
/** page-one **/
.title {
font-size: 33px;
line-height: 40px;
@@ -119,6 +145,7 @@ a {
text-align: center;
max-width: 520px;
font-family: 'SF Pro Display', sans-serif;
word-wrap: break-word;
}
.description {
@@ -163,6 +190,10 @@ a {
text-decoration: none;
}
.link:hover {
color: #0287e8;
}
#upload-text {
font-size: 22px;
color: #737373;
@@ -208,6 +239,7 @@ th {
height: 40px;
border-top: 1px solid rgba(0, 148, 251, 0.1);
padding: 0 19px;
white-space: nowrap;
}
td {
@@ -249,33 +281,39 @@ tbody {
/* The actual popup (appears on top) */
.popup .popuptext {
visibility: hidden;
min-width: 115px;
min-width: 204px;
min-height: 105px;
background-color: #fff;
color: #000;
border: 1px solid #0297f8;
border: 1px solid #d7d7db;
padding: 15px 24px;
box-sizing: content-box;
text-align: center;
border-radius: 5px;
padding: 7px 8px;
position: absolute;
z-index: 1;
bottom: 8px;
right: -28px;
bottom: 20px;
left: -40px;
transition: opacity 0.5s;
opacity: 0;
outline: 0;
box-shadow: 3px 3px 7px #888;
box-shadow: 3px 3px 7px rgba(136, 136, 136, 0.3);
}
/* Popup arrow */
.popup .popuptext::after {
content: "";
position: absolute;
top: 100%;
right: 30px;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #0297f8 transparent transparent;
bottom: -11px;
left: 20px;
background-color: #fff;
display: block;
width: 20px;
height: 20px;
transform: rotate(45deg);
border-radius: 0 0 5px;
border-right: 1px solid #d7d7db;
border-bottom: 1px solid #d7d7db;
}
.popup .show {
@@ -284,15 +322,39 @@ tbody {
}
.popup-message {
margin-bottom: 4px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
border-bottom: 1px #ebebeb solid;
color: #0c0c0d;
font-size: 15px;
font-weight: normal;
padding-bottom: 15px;
white-space: nowrap;
width: calc(100% + 48px);
margin-left: -24px;
}
.popup-action {
margin-top: 15px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.popup-yes {
color: #fff;
background-color: #0297f8;
border-radius: 5px;
padding: 2px 11px;
padding: 5px 25px;
font-weight: normal;
cursor: pointer;
min-width: 94px;
box-sizing: border-box;
white-space: nowrap;
margin-left: 12px;
}
.popup-yes:hover {
@@ -301,9 +363,19 @@ tbody {
.popup-no {
color: #4a4a4a;
border-radius: 6px;
padding: 3px 5px;
background-color: #fbfbfb;
border: 1px #c1c1c1 solid;
border-radius: 5px;
padding: 5px 25px;
font-weight: normal;
min-width: 94px;
box-sizing: border-box;
cursor: pointer;
white-space: nowrap;
}
.popup-no:hover {
background-color: #efeff1;
}
/** upload-progress **/
@@ -313,12 +385,19 @@ tbody {
justify-content: center;
align-items: center;
text-align: center;
position: relative;
}
.percentage {
position: absolute;
letter-spacing: -0.78px;
font-family: 'Segoe UI', 'SF Pro Text', sans-serif;
top: 53px;
left: 246.75px;
width: 98.5px;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.percent-number {
@@ -379,6 +458,8 @@ tbody {
margin-top: 60px;
margin-bottom: 10px;
color: #0c0c0d;
max-width: 614px;
word-wrap: break-word;
}
#link {
@@ -391,8 +472,9 @@ tbody {
font-family: 'SF Pro Display', sans-serif;
letter-spacing: 0;
line-height: 23px;
padding-left: 5px;
padding-right: 5px;
font-weight: 300;
padding-left: 10px;
padding-right: 10px;
}
#link:disabled {
@@ -414,6 +496,10 @@ tbody {
white-space: nowrap;
}
#copy-btn:hover {
background-color: #0287e8;
}
#copy-btn:disabled {
background: #05a700;
border: 1px solid #05a700;
@@ -433,6 +519,10 @@ tbody {
color: #313131;
}
#delete-file:hover {
background: #efeff1;
}
.send-new {
font-size: 15px;
margin: auto;
@@ -442,6 +532,12 @@ tbody {
text-decoration: underline;
}
.send-new:hover,
.send-new:focus,
.send-new:active {
color: #0287e8;
}
/* upload-error */
#upload-error {
display: flex;
@@ -457,8 +553,7 @@ tbody {
}
#upload-error-img {
margin-bottom: 90px;
margin-top: 5px;
margin: 51px 0 71px;
}
/* unsupported-browser */
@@ -477,13 +572,13 @@ tbody {
margin: 0 auto 23px;
}
#firefox-logo {
.firefox-logo {
width: 70px;
}
#dl-firefox {
#dl-firefox,
#update-firefox {
margin-bottom: 181px;
width: 260px;
height: 80px;
background: #12bc00;
border-radius: 3px;
@@ -498,14 +593,15 @@ tbody {
justify-content: center;
align-items: center;
line-height: 1;
padding: 0 25px;
}
#dl-firefox-text {
.unsupported-button-text {
text-align: left;
margin-left: 20.4px;
}
#dl-firefox-text > span {
.unsupported-button-text > span {
font-family: 'Fira Sans';
font-weight: 300;
font-size: 18px;
@@ -528,6 +624,10 @@ tbody {
cursor: pointer;
}
#download-btn:hover {
background-color: #0287e8;
}
#download-btn:disabled {
background: #47b04b;
cursor: auto;
@@ -555,12 +655,7 @@ tbody {
}
#download-progress {
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
width: 590px;
}
#download-progress[hidden] {
@@ -577,10 +672,14 @@ tbody {
right: 0;
bottom: 0;
left: 0;
font-size: 15px;
font-size: 13px;
display: flex;
align-items: flex-end;
padding: 50px 10px 10px;
flex-direction: row;
justify-content: space-between;
padding: 50px 31px 41px;
width: 100%;
box-sizing: border-box;
}
.mozilla-logo {
@@ -589,9 +688,22 @@ tbody {
margin-bottom: -5px;
}
.legal-links {
width: 81vw;
display: flex;
align-items: center;
flex-direction: row;
}
.legal-links > a {
margin-right: 30px;
color: #858585;
opacity: 0.9;
white-space: nowrap;
margin-right: 2vw;
}
.legal-links > a:hover {
opacity: 1;
}
.legal-links > a:visited {
@@ -600,12 +712,16 @@ tbody {
.social-links {
display: flex;
justify-content: flex-end;
flex: 1;
justify-content: space-between;
width: 94px;
}
.social-links > a {
margin-left: 30px;
opacity: 0.9;
}
.social-links > a:hover {
opacity: 1;
}
.github,
@@ -615,7 +731,19 @@ tbody {
margin-bottom: -5px;
}
@media (max-device-width: 768px) {
@media (max-device-width: 992px), (max-width: 992px) {
.popup .popuptext {
left: auto;
right: -40px;
}
.popup .popuptext::after {
left: auto;
right: 36px;
}
}
@media (max-device-width: 768px), (max-width: 768px) {
.description {
margin: 0 auto 25px;
}
@@ -628,17 +756,38 @@ tbody {
font-size: 18px;
}
.footer {
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
max-width: 630px;
margin: auto;
}
.mozilla-logo {
margin-left: -7px;
}
.legal-links {
flex-direction: column;
margin: auto;
width: 100%;
max-width: 100%;
}
.legal-links > * {
display: block;
padding: 10px 0;
align-self: flex-start;
}
.social-links {
margin-top: 20px;
align-self: flex-start;
}
}
@media (max-device-width: 520px) {
@media (max-device-width: 520px), (max-width: 520px) {
.header {
flex-direction: column;
justify-content: flex-start;
@@ -646,6 +795,10 @@ tbody {
.feedback {
margin-top: 10px;
min-width: 30px;
max-width: 300px;
text-indent: 2px;
padding: 5px 5px 5px 20px;
}
#copy {

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 239 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

6
scripts/.eslintrc.yml Normal file
View File

@@ -0,0 +1,6 @@
rules:
node/shebang: off
security/detect-child-process: off
no-console: off
no-process-exit: off

49
scripts/get-prod-locales.js Executable file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env node
const cp = require('child_process');
const { promisify } = require('util');
const fs = require('fs');
const pkg = require('../package.json');
const availableLanguages = pkg.availableLanguages.sort();
const exec = promisify(cp.exec);
const arrayDiff = (current, package) =>
current.filter(locale => !package.includes(locale));
const cmd = 'compare-locales l10n.toml . `ls public/locales` --data=json';
exec(cmd)
.then(({ stdout }) => JSON.parse(stdout))
.then(({ summary }) => {
const locales = Object.keys(summary)
.filter(locale => {
const loc = summary[locale];
const hasMissing = loc.hasOwnProperty('missing');
const hasErrors = loc.hasOwnProperty('errors');
return !hasMissing && !hasErrors;
})
.sort();
if (locales.join(',') !== availableLanguages.join(',')) {
const missingLanguages = arrayDiff(locales, availableLanguages);
console.log('current 100%:', JSON.stringify(locales));
console.log('package.json:', JSON.stringify(availableLanguages));
console.log('missing prod:', JSON.stringify(missingLanguages));
if (process.argv.includes('--write')) {
const pkgPath = require.resolve('../package.json');
pkg.availableLanguages = locales;
const str = JSON.stringify(pkg, null, 2) + '\n';
console.log('Updating /package.json availableLanguages');
fs.writeFileSync(pkgPath, str, 'utf-8');
}
} else {
console.log('Production locales are up to date!');
}
})
.catch(err => {
console.error(err);
process.exit(1);
});

51
scripts/lint-locales.js Normal file
View File

@@ -0,0 +1,51 @@
#!/usr/bin/env node
const cp = require('child_process');
const { promisify } = require('util');
const pkg = require('../package.json');
const conf = require('../server/config');
const exec = promisify(cp.exec);
const cmd = `compare-locales l10n.toml . ${getLocales()} --data=json`;
console.log(cmd);
exec(cmd)
.then(({ stdout }) => JSON.parse(stdout))
.then(({ details }) => filterErrors(details))
.then(results => {
if (results.length) {
results.forEach(({ locale, data }) => {
console.log(locale);
data.forEach(msg => console.log(`- ${msg}`));
console.log('');
});
process.exit(2);
}
})
.catch(err => {
console.error(err);
process.exit(1);
});
function filterErrors(details) {
return Object.keys(details)
.sort()
.map(locale => {
const data = details[locale]
.filter(item => item.hasOwnProperty('error'))
.map(({ error }) => error);
return { locale, data };
})
.filter(({ data }) => data.length);
}
function getLocales() {
// If we're in a "production" env (or passed the `--production` flag), only
// check the locales from the package.json file's `availableLanguages` array.
if (conf.env === 'production' || process.argv.includes('--production')) {
return pkg.availableLanguages.sort().join(' ');
}
// Lint all the locales.
return '`ls public/locales`';
}

View File

@@ -14,7 +14,7 @@ const filename = path.join(__dirname, '..', 'public', 'version.json');
const filedata = {
commit,
source: pkg.homepage,
version: pkg.version
version: process.env.CIRCLE_TAG || `v${pkg.version}`
};
fs.writeFileSync(filename, JSON.stringify(filedata, null, 2) + '\n');

View File

@@ -46,6 +46,11 @@ const conf = convict({
format: Number,
default: 86400,
env: 'EXPIRE_SECONDS'
},
l10n_dev: {
format: Boolean,
default: false,
env: 'L10N_DEV'
}
});

View File

@@ -9,6 +9,8 @@ const conf = require('./config.js');
const storage = require('./storage.js');
const Raven = require('raven');
const crypto = require('crypto');
const fs = require('fs');
const version = require('../public/version.json');
if (conf.sentry_dsn) {
Raven.config(conf.sentry_dsn).install();
@@ -22,11 +24,30 @@ const STATIC_PATH = path.join(__dirname, '../public');
const app = express();
function allLangs() {
return fs
.readdirSync(path.join(STATIC_PATH, 'locales'))
.map(function(f) {
return f.split('.')[0];
})
.join(',');
}
function prodLangs() {
return require('../package.json').availableLanguages.join(',');
}
const availableLanguages = conf.l10n_dev ? allLangs() : prodLangs();
app.engine(
'handlebars',
exphbs({
defaultLayout: 'main',
partialsDir: 'views/partials/'
partialsDir: 'views/partials/',
helpers: {
availableLanguages,
l10nDev: conf.l10n_dev
}
})
);
app.set('view engine', 'handlebars');
@@ -45,20 +66,16 @@ app.use(
connectSrc: [
"'self'",
'https://sentry.prod.mozaws.net',
'https://www.google-analytics.com',
'https://ssl.google-analytics.com'
'https://www.google-analytics.com'
],
imgSrc: [
"'self'",
'https://www.google-analytics.com',
'https://ssl.google-analytics.com'
],
scriptSrc: ["'self'", 'https://ssl.google-analytics.com'],
imgSrc: ["'self'", 'https://www.google-analytics.com'],
scriptSrc: ["'self'"],
styleSrc: ["'self'", 'https://code.cdn.mozilla.net'],
fontSrc: ["'self'", 'https://code.cdn.mozilla.net'],
formAction: ["'none'"],
frameAncestors: ["'none'"],
objectSrc: ["'none'"]
objectSrc: ["'none'"],
reportUri: '/__cspreport__'
}
})
);
@@ -76,15 +93,24 @@ app.get('/', (req, res) => {
res.render('index');
});
app.get('/unsupported', (req, res) => {
res.render('unsupported');
app.get('/unsupported/:reason', (req, res) => {
const outdated = req.params.reason === 'outdated';
res.render('unsupported', {
outdated: outdated
});
});
app.get('/legal', (req, res) => {
res.render('legal');
});
app.get('/jsconfig.js', (req, res) => {
res.set('Content-Type', 'application/javascript');
res.render('jsconfig', {
trackerId: conf.analytics_id,
dsn: conf.sentry_id,
googleAnalyticsId: conf.analytics_id,
sentryId: conf.sentry_id,
version: version.version,
commit: version.commit,
maxFileSize: conf.max_file_size,
expireSeconds: conf.expire_seconds,
layout: false
@@ -113,10 +139,10 @@ app.get('/download/:id', (req, res) => {
return;
}
storage.filename(id).then(filename => {
storage
.length(id)
.then(contentLength => {
storage
.filename(id)
.then(filename => {
return storage.length(id).then(contentLength => {
storage.ttl(id).then(timeToExpiry => {
res.render('download', {
filename: decodeURIComponent(filename),
@@ -125,11 +151,11 @@ app.get('/download/:id', (req, res) => {
timeToExpiry: timeToExpiry
});
});
})
.catch(() => {
res.status(404).render('notfound');
});
});
})
.catch(() => {
res.status(404).render('notfound');
});
});
app.get('/assets/download/:id', (req, res) => {

View File

@@ -27,7 +27,6 @@ if (conf.s3_bucket) {
length: awsLength,
get: awsGet,
set: awsSet,
aad: aad,
setField: setField,
delete: awsDelete,
forceDelete: awsForceDelete,
@@ -44,7 +43,6 @@ if (conf.s3_bucket) {
length: localLength,
get: localGet,
set: localSet,
aad: aad,
setField: setField,
delete: localDelete,
forceDelete: localForceDelete,
@@ -66,11 +64,10 @@ function quit() {
function metadata(id) {
return new Promise((resolve, reject) => {
redis_client.hgetall(id, (err, reply) => {
if (!err) {
resolve(reply);
} else {
reject(err);
if (err || !reply) {
return reject(err);
}
resolve(reply);
});
});
}
@@ -78,11 +75,10 @@ function metadata(id) {
function ttl(id) {
return new Promise((resolve, reject) => {
redis_client.ttl(id, (err, reply) => {
if (!err) {
resolve(reply * 1000);
} else {
reject(err);
if (err || !reply) {
return reject(err);
}
resolve(reply * 1000);
});
});
}
@@ -90,11 +86,10 @@ function ttl(id) {
function filename(id) {
return new Promise((resolve, reject) => {
redis_client.hget(id, 'filename', (err, reply) => {
if (!err) {
resolve(reply);
} else {
reject(err);
if (err || !reply) {
return reject();
}
resolve(reply);
});
});
}
@@ -115,18 +110,6 @@ function setField(id, key, value) {
redis_client.hset(id, key, value);
}
function aad(id) {
return new Promise((resolve, reject) => {
redis_client.hget(id, 'aad', (err, reply) => {
if (!err) {
resolve(reply);
} else {
reject();
}
});
});
}
function localLength(id) {
return new Promise((resolve, reject) => {
try {

View File

@@ -2,21 +2,21 @@ const webdriver = require('selenium-webdriver');
const path = require('path');
const until = webdriver.until;
const driver = new webdriver.Builder()
.forBrowser('firefox')
.build();
const driver = new webdriver.Builder().forBrowser('firefox').build();
driver.get(path.join('file:///', __dirname, '/frontend.test.html'));
driver.wait(until.titleIs('Mocha Tests'), 10000);
driver.wait(until.titleMatches(/^[0-1]$/), 10000);
driver.wait(until.titleIs('Mocha Tests'));
driver.wait(until.titleMatches(/^[0-1]$/));
driver.getTitle().then(title => {
driver.quit().then(() => {
if (title === '0') {
console.log('Frontend tests have passed.');
} else {
throw new Error('Frontend tests are failing. ' +
'Please open the frontend.test.html file in a browser.');
throw new Error(
'Frontend tests are failing. ' +
'Please open the frontend.test.html file in a browser.'
);
}
})
})
});
});

View File

@@ -9,7 +9,7 @@ window.Raven = {
captureException: function(err) {
console.error(err, err.stack);
}
}
};
window.FakeFile = FakeFile;
window.FileSender = require('../../frontend/src/fileSender');

View File

@@ -15,83 +15,84 @@ let originalBlob;
describe('File Sender', function() {
before(function() {
server.respondImmediately = true;
server.respondWith(
'POST',
'/upload',
function(request) {
const reader = new FileReader();
reader.readAsArrayBuffer(request.requestBody.get('data'));
server.respondImmediately = true;
server.respondWith('POST', '/upload', function(request) {
const reader = new FileReader();
reader.readAsArrayBuffer(request.requestBody.get('data'));
reader.onload = function(event) {
file = this.result;
}
reader.onload = function(event) {
file = this.result;
};
const responseObj = JSON.parse(request.requestHeaders['X-File-Metadata']);
request.respond(
200,
{'Content-Type': 'application/json'},
JSON.stringify({url: 'some url',
id: responseObj.id,
delete: responseObj.delete})
)
}
)
})
const responseObj = JSON.parse(request.requestHeaders['X-File-Metadata']);
request.respond(
200,
{ 'Content-Type': 'application/json' },
JSON.stringify({
url: 'some url',
id: responseObj.id,
delete: responseObj.delete
})
);
});
});
it('Should get a loading event emission', function() {
const file = new FakeFile('hello_world.txt', ['This is some data.'])
const fs = new FileSender(file);
let testLoading = true;
const file = new FakeFile('hello_world.txt', ['This is some data.']);
const fs = new FileSender(file);
let testLoading = true;
fs.on('loading', isStillLoading => {
assert(!(!testLoading && isStillLoading));
testLoading = isStillLoading;
fs.on('loading', isStillLoading => {
assert(!(!testLoading && isStillLoading));
testLoading = isStillLoading;
});
return fs
.upload()
.then(info => {
assert(info);
assert(!testLoading);
})
return fs.upload()
.then(info => {
assert(info);
assert(!testLoading);
})
.catch(err => {
console.log(err, err.stack);
assert.fail();
});
})
.catch(err => {
console.log(err, err.stack);
assert.fail();
});
});
it('Should get a hashing event emission', function() {
const file = new FakeFile('hello_world.txt', ['This is some data.'])
const file = new FakeFile('hello_world.txt', ['This is some data.']);
const fs = new FileSender(file);
let testHashing = true;
fs.on('hashing', isStillHashing => {
assert(!(!testHashing && isStillHashing));
testHashing = isStillHashing;
})
assert(!(!testHashing && isStillHashing));
testHashing = isStillHashing;
});
return fs.upload()
.then(info => {
assert(info);
assert(!testHashing);
})
.catch(err => {
console.log(err, err.stack);
assert.fail();
});
})
return fs
.upload()
.then(info => {
assert(info);
assert(!testHashing);
})
.catch(err => {
console.log(err, err.stack);
assert.fail();
});
});
it('Should get a encrypting event emission', function() {
const file = new FakeFile('hello_world.txt', ['This is some data.'])
const file = new FakeFile('hello_world.txt', ['This is some data.']);
const fs = new FileSender(file);
let testEncrypting = true;
fs.on('encrypting', isStillEncrypting => {
assert(!(!testEncrypting && isStillEncrypting));
testEncrypting = isStillEncrypting;
})
});
return fs.upload()
return fs
.upload()
.then(info => {
assert(info);
assert(!testEncrypting);
@@ -100,67 +101,68 @@ describe('File Sender', function() {
console.log(err, err.stack);
assert.fail();
});
})
});
it('Should encrypt a file properly', function(done) {
const newFile = new FakeFile('hello_world.txt', ['This is some data.'])
const newFile = new FakeFile('hello_world.txt', ['This is some data.']);
const fs = new FileSender(newFile);
fs.upload().then(info => {
const key = info.secretKey;
secretKey = info.secretKey;
const IV = info.fileId;
encryptedIV = info.fileId;
const readRaw = new FileReader;
const readRaw = new FileReader();
readRaw.onload = function(event) {
const rawArray = new Uint8Array(this.result);
originalBlob = rawArray;
window.crypto.subtle.digest('SHA-256', rawArray).then(hash => {
fileHash = hash;
window.crypto.subtle.importKey(
'jwk',
{
kty: 'oct',
k: key,
alg: 'A128GCM',
ext: true,
},
{
name: 'AES-GCM'
},
true,
['encrypt', 'decrypt']
)
.then(cryptoKey => {
window.crypto.subtle.encrypt(
window.crypto.subtle
.importKey(
'jwk',
{
name: 'AES-GCM',
iv: hexToArray(IV),
additionalData: hash,
tagLength: 128
kty: 'oct',
k: key,
alg: 'A128GCM',
ext: true
},
cryptoKey,
rawArray
{
name: 'AES-GCM'
},
true,
['encrypt', 'decrypt']
)
.then(encrypted => {
assert(new Uint8Array(encrypted).toString() ===
new Uint8Array(file).toString());
done();
})
})
})
}
.then(cryptoKey => {
window.crypto.subtle
.encrypt(
{
name: 'AES-GCM',
iv: hexToArray(IV),
additionalData: hash,
tagLength: 128
},
cryptoKey,
rawArray
)
.then(encrypted => {
assert(
new Uint8Array(encrypted).toString() ===
new Uint8Array(file).toString()
);
done();
});
});
});
};
readRaw.readAsArrayBuffer(newFile);
})
})
});
});
});
describe('File Receiver', function() {
class FakeXHR {
constructor() {
this.response = file;
@@ -169,19 +171,19 @@ describe('File Receiver', function() {
static setup() {
FakeXHR.prototype.open = sinon.spy();
FakeXHR.prototype.send = function () {
FakeXHR.prototype.send = function() {
this.onload();
}
};
FakeXHR.prototype.originalXHR = window.XMLHttpRequest;
FakeXHR.prototype.getResponseHeader = function () {
FakeXHR.prototype.getResponseHeader = function() {
return JSON.stringify({
aad: arrayToHex(new Uint8Array(fileHash)),
filename: 'hello_world.txt',
id: encryptedIV
})
}
});
};
window.XMLHttpRequest = FakeXHR;
}
@@ -191,38 +193,47 @@ describe('File Receiver', function() {
window.XMLHttpRequest.prototype.originalXHR.restore();
}
}
const cb = function(done) {
if (file === undefined ||
encryptedIV === undefined ||
fileHash === undefined ||
secretKey === undefined) {
assert.fail('Please run file sending tests before trying to receive the files.');
if (
file === undefined ||
encryptedIV === undefined ||
fileHash === undefined ||
secretKey === undefined
) {
assert.fail(
'Please run file sending tests before trying to receive the files.'
);
done();
}
FakeXHR.setup();
done();
}
};
before(cb)
before(cb);
after(function() {
FakeXHR.restore();
})
});
it('Should decrypt properly', function() {
const fr = new FileReceiver();
location.hash = secretKey;
return fr.download().then(([decrypted, name]) => {
assert(name);
assert(new Uint8Array(decrypted).toString() ===
new Uint8Array(originalBlob).toString())
}).catch(err => {
console.log(err, err.stack);
assert.fail();
})
})
return fr
.download()
.then(([decrypted, name]) => {
assert(name);
assert(
new Uint8Array(decrypted).toString() ===
new Uint8Array(originalBlob).toString()
);
})
.catch(err => {
console.log(err, err.stack);
assert.fail();
});
});
it('Should emit decrypting events', function() {
const fr = new FileReceiver();
@@ -237,17 +248,20 @@ describe('File Receiver', function() {
fr.on('safe', isSafe => {
assert(isSafe);
})
});
return fr.download().then(([decrypted, name]) => {
assert(decrypted);
assert(name);
assert(!testDecrypting);
}).catch(err => {
console.log(err, err.stack);
assert.fail();
})
})
return fr
.download()
.then(([decrypted, name]) => {
assert(decrypted);
assert(name);
assert(!testDecrypting);
})
.catch(err => {
console.log(err, err.stack);
assert.fail();
});
});
it('Should emit hashing events', function() {
const fr = new FileReceiver();
@@ -262,99 +276,109 @@ describe('File Receiver', function() {
fr.on('safe', isSafe => {
assert(isSafe);
})
});
return fr.download().then(([decrypted, name]) => {
assert(decrypted);
assert(name);
assert(!testHashing);
}).catch(err => {
assert.fail();
})
})
return fr
.download()
.then(([decrypted, name]) => {
assert(decrypted);
assert(name);
assert(!testHashing);
})
.catch(err => {
assert.fail();
});
});
it('Should catch fraudulent checksums', function(done) {
// Use the secret key and file hash of the previous file to encrypt,
// which has a different hash than this one (different strings).
const newFile = new FakeFile('hello_world.txt',
['This is some data, with a changed hash.'])
const newFile = new FakeFile('hello_world.txt', [
'This is some data, with a changed hash.'
]);
const readRaw = new FileReader();
readRaw.onload = function(event) {
const plaintext = new Uint8Array(this.result);
window.crypto.subtle.importKey(
'jwk',
{
kty: 'oct',
k: secretKey,
alg: 'A128GCM',
ext: true
},
{
name: 'AES-GCM'
},
true,
['encrypt', 'decrypt']
)
.then(key => {
// The file hash used here is the hash of the fake
// file from the previous test; it's a phony checksum.
return window.crypto.subtle.encrypt(
window.crypto.subtle
.importKey(
'jwk',
{
name: 'AES-GCM',
iv: hexToArray(encryptedIV),
additionalData: fileHash,
tagLength: 128
kty: 'oct',
k: secretKey,
alg: 'A128GCM',
ext: true
},
key,
plaintext
{
name: 'AES-GCM'
},
true,
['encrypt', 'decrypt']
)
})
.then(encrypted => {
file = encrypted;
const fr = new FileReceiver();
location.hash = secretKey;
fr.on('unsafe', isUnsafe => {
assert(isUnsafe)
.then(key => {
// The file hash used here is the hash of the fake
// file from the previous test; it's a phony checksum.
return window.crypto.subtle.encrypt(
{
name: 'AES-GCM',
iv: hexToArray(encryptedIV),
additionalData: fileHash,
tagLength: 128
},
key,
plaintext
);
})
.then(encrypted => {
file = encrypted;
const fr = new FileReceiver();
location.hash = secretKey;
fr.on('safe', () => {
// This event should not be emitted.
assert.fail();
})
fr.on('unsafe', isUnsafe => {
assert(isUnsafe);
});
fr.download().then(() => {
assert.fail();
done();
}).catch(err => {
assert(1);
done();
})
})
}
fr.on('safe', () => {
// This event should not be emitted.
assert.fail();
});
fr
.download()
.then(() => {
assert.fail();
done();
})
.catch(err => {
assert(1);
done();
});
});
};
readRaw.readAsArrayBuffer(newFile);
})
});
it('Should not decrypt with an incorrect checksum', function() {
FakeXHR.prototype.getResponseHeader = function () {
FakeXHR.prototype.getResponseHeader = function() {
return JSON.stringify({
aad: 'some_bad_hashz',
filename: 'hello_world.txt',
id: encryptedIV
})
}
});
};
const fr = new FileReceiver();
location.hash = secretKey;
return fr.download().then(([decrypted, name]) => {
assert(decrypted);
assert(name);
assert.fail();
}).catch(err => {
assert(1);
})
})
})
return fr
.download()
.then(([decrypted, name]) => {
assert(decrypted);
assert(name);
assert.fail();
})
.catch(err => {
assert(1);
});
});
});

View File

@@ -4,7 +4,6 @@ const proxyquire = require('proxyquire');
const request = require('supertest');
const fs = require('fs');
const logStub = {};
logStub.info = sinon.stub();
logStub.error = sinon.stub();
@@ -38,17 +37,21 @@ describe('Server integration tests', function() {
storage.flushall();
storage.quit();
server.close();
})
});
function upload() {
return request(server).post('/upload')
.field('fname', 'test_upload.txt')
.set('X-File-Metadata', JSON.stringify({
aad: '11111',
id: '111111111111111111111111',
filename: 'test_upload.txt'
}))
.attach('file', './test/test_upload.txt')
return request(server)
.post('/upload')
.field('fname', 'test_upload.txt')
.set(
'X-File-Metadata',
JSON.stringify({
aad: '11111',
id: '111111111111111111111111',
filename: 'test_upload.txt'
})
)
.attach('file', './test/test_upload.txt');
}
it('Responds with a 200 when the service is up', function() {
@@ -56,115 +59,123 @@ describe('Server integration tests', function() {
});
it('Rejects with a 404 when a file id is not valid', function() {
return request(server).post('/upload/123')
.field('fname', 'test_upload.txt')
.set('X-File-Metadata', JSON.stringify({
'silly': 'text'
}))
.attach('file', './test/test_upload.txt')
.expect(404)
})
return request(server)
.post('/upload/123')
.field('fname', 'test_upload.txt')
.set(
'X-File-Metadata',
JSON.stringify({
silly: 'text'
})
)
.attach('file', './test/test_upload.txt')
.expect(404);
});
it('Accepts a file and stores it when properly uploaded', function(done) {
upload().then(res => {
assert(res.body.hasOwnProperty('delete'));
uuid = res.body.delete;
assert(res.body.hasOwnProperty('url'));
assert(res.body.hasOwnProperty('id'));
fileId = res.body.id;
fs.access('./static/' + fileId, fs.constants.F_OK, err => {
if (err) {
done(new Error('The file does not exist'));
} else {
done();
}
})
})
})
assert(res.body.hasOwnProperty('delete'));
uuid = res.body.delete;
assert(res.body.hasOwnProperty('url'));
assert(res.body.hasOwnProperty('id'));
fileId = res.body.id;
fs.access('./static/' + fileId, fs.constants.F_OK, err => {
if (err) {
done(new Error('The file does not exist'));
} else {
done();
}
});
});
});
it('Responds with a 200 if a file exists', function() {
return request(server).get('/exists/' + fileId)
.expect(200)
})
return request(server).get('/exists/' + fileId).expect(200);
});
it('Exists in the redis server', function() {
return storage.exists(fileId)
.then(() => assert(1))
.catch(err => assert.fail())
})
return storage
.exists(fileId)
.then(() => assert(1))
.catch(err => assert.fail());
});
it('Fails delete if the delete token does not match', function() {
return request(server).post('/delete/' + fileId)
.send({ delete_token: 11 })
.expect(404);
})
return request(server)
.post('/delete/' + fileId)
.send({ delete_token: 11 })
.expect(404);
});
it('Fails delete if the id is invalid', function() {
return request(server).post('/delete/1')
.expect(404);
})
return request(server).post('/delete/1').expect(404);
});
it('Successfully deletes if the id is valid and the delete token matches', function(done) {
request(server).post('/delete/' + fileId)
.send({ delete_token: uuid })
.expect(200)
.then(() => {
fs.access('./static/' + fileId, fs.constants.F_OK, err => {
if (err) {
done();
} else {
done(new Error('The file does not exist'));
}
})
})
})
it('Successfully deletes if the id is valid and the delete token matches', function(
done
) {
request(server)
.post('/delete/' + fileId)
.send({ delete_token: uuid })
.expect(200)
.then(() => {
fs.access('./static/' + fileId, fs.constants.F_OK, err => {
if (err) {
done();
} else {
done(new Error('The file does not exist'));
}
});
});
});
it('Responds with a 404 if a file does not exist', function() {
return request(server).get('/exists/notfound')
.expect(404)
})
return request(server).get('/exists/notfound').expect(404);
});
it('Uploads properly after a delete', function(done) {
upload().then(res => {
assert(res.body.hasOwnProperty('delete'));
uuid = res.body.delete;
assert(res.body.hasOwnProperty('url'));
assert(res.body.hasOwnProperty('id'));
fileId = res.body.id;
fs.access('./static/' + fileId, fs.constants.F_OK, err => {
if (err) {
done(new Error('The file does not exist'));
} else {
done();
}
})
})
})
assert(res.body.hasOwnProperty('delete'));
uuid = res.body.delete;
assert(res.body.hasOwnProperty('url'));
assert(res.body.hasOwnProperty('id'));
fileId = res.body.id;
fs.access('./static/' + fileId, fs.constants.F_OK, err => {
if (err) {
done(new Error('The file does not exist'));
} else {
done();
}
});
});
});
it('Responds with a 200 for the download page', function() {
return request(server).get('/download/' + fileId)
.expect(200);
})
return request(server).get('/download/' + fileId).expect(200);
});
it('Downloads a file properly', function() {
return request(server).get('/assets/download/' + fileId)
.then(res => {
assert(res.header.hasOwnProperty('content-disposition'));
assert(res.header.hasOwnProperty('content-type'))
assert(res.header.hasOwnProperty('content-length'))
assert(res.header.hasOwnProperty('x-file-metadata'))
assert.equal(res.header['content-disposition'], 'attachment; filename=test_upload.txt')
assert.equal(res.header['content-type'], 'application/octet-stream')
})
})
return request(server).get('/assets/download/' + fileId).then(res => {
assert(res.header.hasOwnProperty('content-disposition'));
assert(res.header.hasOwnProperty('content-type'));
assert(res.header.hasOwnProperty('content-length'));
assert(res.header.hasOwnProperty('x-file-metadata'));
assert.equal(
res.header['content-disposition'],
'attachment; filename=test_upload.txt'
);
assert.equal(res.header['content-type'], 'application/octet-stream');
});
});
it('The file is deleted after one download', function() {
assert(!fs.existsSync('./static/' + fileId));
})
});
it('No longer exists in the redis server', function() {
return storage.exists(fileId)
.then(() => assert.fail())
.catch(err => assert(1))
})
return storage
.exists(fileId)
.then(() => assert.fail())
.catch(err => assert(1));
});
});

View File

@@ -110,9 +110,9 @@ describe('Testing Set using aws', function() {
it('Should pass when the file is successfully uploaded', function() {
const buf = Buffer.alloc(10);
sinon.stub(crypto, 'randomBytes').returns(buf);
s3Stub.upload.returns({promise: () => Promise.resolve()});
s3Stub.upload.returns({ promise: () => Promise.resolve() });
return storage
.set('123', {on: sinon.stub()}, 'Filename.moz', {})
.set('123', { on: sinon.stub() }, 'Filename.moz', {})
.then(() => {
assert(expire.calledOnce);
assert(expire.calledWith('123', 86400));
@@ -121,9 +121,9 @@ describe('Testing Set using aws', function() {
});
it('Should fail if there was an error during uploading', function() {
s3Stub.upload.returns({promise: () => Promise.reject()});
s3Stub.upload.returns({ promise: () => Promise.reject() });
return storage
.set('123', {on: sinon.stub()}, 'Filename.moz', 'url.com')
.set('123', { on: sinon.stub() }, 'Filename.moz', 'url.com')
.then(_reply => assert.fail())
.catch(err => assert(1));
});

View File

@@ -35,5 +35,5 @@
</div>
</div>
<a class="send-new" data-l10n-id="sendYourFilesLink"></a>
<a class="send-new" data-l10n-id="sendYourFilesLink" target="_blank"></a>
</div>

View File

@@ -21,10 +21,10 @@
<thead>
<tr>
<!-- htmllint attr-bans="false" -->
<th width="35%" data-l10n-id="sentFilesTitle1"></th>
<th width="25%" data-l10n-id="sentFilesTitle2"></th>
<th width="21%" data-l10n-id="sentFilesTitle3"></th>
<th width="12%" data-l10n-id="sentFilesTitle4"></th>
<th width="35%" data-l10n-id="uploadedFile"></th>
<th width="25%" data-l10n-id="copyFileList"></th>
<th width="21%" data-l10n-id="expiryFileList"></th>
<th width="12%" data-l10n-id="deleteFileList"></th>
<!-- htmllint tag-bans="$previous" -->
</tr>
</thead>
@@ -55,7 +55,7 @@
<div id="share-link" hidden="true">
<div class="title" data-l10n-id="uploadSuccessTimingHeader"></div>
<div id="share-window">
<div id="copy-text" data-l10n-id="copyUrlFormLabel"></div>
<div id="copy-text"></div>
<div id="copy">
<input id="link" type="url" value="" readonly/>
<button id="copy-btn" data-l10n-id="copyUrlFormButton"></button>

View File

@@ -1,8 +1,28 @@
{{#if dsn}}
window.dsn = '{{{dsn}}}';
{{!-- This file should be es5 only --}}
var isIE = /trident\/7\.|msie/i.test(navigator.userAgent);
var isUnsupportedPage = /\/unsupported/.test(location.pathname);
if (isIE && !isUnsupportedPage) {
window.location.replace('/unsupported/ie');
}
{{#if sentryId}}
var RAVEN_CONFIG = {
release: '{{{version}}}',
tags: {
commit: '{{{commit}}}'
},
dataCallback: function (data) {
var hash = window.location.hash;
if (hash) {
return JSON.parse(JSON.stringify(data).replace(new RegExp(hash.slice(1), 'g'), ''));
}
return data;
}
}
var SENTRY_ID = '{{{sentryId}}}';
{{/if}}
{{#if trackerId}}
window.trackerId = '{{{trackerId}}}';
{{#if googleAnalyticsId}}
var GOOGLE_ANALYTICS_ID = '{{{googleAnalyticsId}}}';
{{/if}}
const MAXFILESIZE = {{{maxFileSize}}};
const EXPIRE_SECONDS = {{{expireSeconds}}};
var MAXFILESIZE = {{{maxFileSize}}};
var EXPIRE_SECONDS = {{{expireSeconds}}};

View File

@@ -8,15 +8,19 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="defaultLanguage" content="en-US">
<meta name="availableLanguages" content="en-US">
<link rel="localization" href="/locales/send.{locale}.ftl">
<meta name="availableLanguages" content="{{availableLanguages}}">
<link rel="icon" type="image/png" href="/resources/favicon-32x32.png" sizes="32x32" />
<link rel="localization" href="/locales/{locale}/send.ftl">
<script src="/polyfill.min.js"></script>
<script defer src="/l20n.min.js"></script>
</head>
<body>
<header class="header">
<header class="header">
<div class="send-logo">
<img src="/resources/send_logo.svg" alt="Send"/>
<h1 class="site-title">Send</h1>
<a href="/">
<img src="/resources/send_logo.svg" alt="Send"/><h1 class="site-title">Send</h1>
</a>
<div class="site-subtitle">
<a href="https://testpilot.firefox.com" target="_blank">Firefox Test Pilot</a>
<div data-l10n-id="siteSubtitle">web experiment</div>
@@ -32,13 +36,13 @@
<a href="https://www.mozilla.org"><img class="mozilla-logo" src="/resources/mozilla-logo.svg"/></a>
<a href="https://www.mozilla.org/about/legal" data-l10n-id="footerLinkLegal"></a>
<a href="https://testpilot.firefox.com/about" data-l10n-id="footerLinkAbout"></a>
<a href="https://testpilot.firefox.com/privacy" data-l10n-id="footerLinkPrivacy"></a>
<a href="https://testpilot.firefox.com/terms" data-l10n-id="footerLinkTerms"></a>
<a href="https://www.mozilla.org/en-US/privacy/websites/#cookies" data-l10n-id="footerLinkCookies"></a>
<a href="/legal" data-l10n-id="footerLinkPrivacy"></a>
<a href="/legal" data-l10n-id="footerLinkTerms"></a>
<a href="https://www.mozilla.org/privacy/websites/#cookies" data-l10n-id="footerLinkCookies"></a>
</div>
<div class="social-links">
<a href="https://github.com/mozilla/send" target="_blank"><img class="github" src="/resources/github-icon.svg"/></a>
<a href="https://twitter.com/FxTestPilot" target="_blank"><img class="twitter" src="/resources/twitter-icon.svg"/></a>
<a href="https://github.com/mozilla/send" target="_blank" rel="noreferrer noopener"><img class="github" src="/resources/github-icon.svg"/></a>
<a href="https://twitter.com/FxTestPilot" target="_blank" rel="noreferrer noopener"><img class="twitter" src="/resources/twitter-icon.svg"/></a>
</div>
</div>
</body>

12
views/legal.handlebars Normal file
View File

@@ -0,0 +1,12 @@
<div id="legal">
<div class="title" data-l10n-id="legalHeader"></div>
<div class="description" data-l10n-id="legalNoticeTestPilot">
<a href="https://testpilot.firefox.com/terms"></a>
<a href="https://testpilot.firefox.com/privacy"></a>
<a href="https://testpilot.firefox.com/experiments/send"></a>
</div>
<div class="description" data-l10n-id="legalNoticeMozilla">
<a href="https://www.mozilla.org/privacy/websites/"></a>
<a href="https://www.mozilla.org/about/legal/terms/mozilla/"></a>
</div>
</div>

View File

@@ -1,11 +1,19 @@
<div id="unsupported-browser">
<div class="title" data-l10n-id="notSupportedHeader"></div>
<div class="description" data-l10n-id="notSupportedDetail"></div>
<a id="dl-firefox" href="https://www.mozilla.org/firefox/new/?scene=2" target="_blank">
<img src="/resources/firefox_logo-only.svg" id="firefox-logo" alt="Firefox"/>
<div id="dl-firefox-text">Firefox<br>
<span data-l10n-id="downloadFirefoxButtonSub"></span>
</div>
</a>
<div class="unsupported-description" data-l10n-id="uploadPageExplainer"></div>
<div class="title" data-l10n-id="notSupportedHeader">Your browser is not supported.</div>
{{#if outdated}}
<div class="description" data-l10n-id="notSupportedOutdatedDetail">Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.</div>
<a id="update-firefox" href="https://support.mozilla.org/kb/update-firefox-latest-version">
<img src="/resources/firefox_logo-only.svg" class="firefox-logo" alt="Firefox"/>
<div class="unsupported-button-text" data-l10n-id="updateFirefox">Update Firefox</div>
</a>
{{else}}
<div class="description" data-l10n-id="notSupportedDetail">Unfortunately this browser does not support the web technology that powers Firefox Send. Youll need to try another browser. We recommend Firefox!</div>
<a id="dl-firefox" href="https://www.mozilla.org/firefox/new/?scene=2" target="_blank">
<img src="/resources/firefox_logo-only.svg" class="firefox-logo" alt="Firefox"/>
<div class="unsupported-button-text">Firefox<br>
<span data-l10n-id="downloadFirefoxButtonSub">Free Download</span>
</div>
</a>
{{/if}}
<div class="unsupported-description" data-l10n-id="uploadPageExplainer">Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.</div>
</div>