Compare commits

...

97 Commits

Author SHA1 Message Date
timvisee
dbe374bdc6 Bump version to 3.3.0 2020-10-18 15:57:36 +02:00
timvisee
48ab1cdd4e Add latest release version badge to README 2020-10-18 15:55:37 +02:00
timvisee
54150702da Update dependencies 2020-10-18 15:51:58 +02:00
Tim Visée
981f86946b Merge branch 'password-preview' into 'master'
Add password preview

See merge request timvisee/send!6
2020-10-18 13:50:17 +00:00
George Raptis
b5865f00e9 toggle preview image src instead of havingtwo images
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:42:32 +02:00
George Raptis
7797f485f2 make color dimmer
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:42:22 +02:00
George Raptis
db169cb9f0 Add password preview
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:42:14 +02:00
Tim Visée
f999c4c44f Merge branch 'favicon-progress' into 'master'
Show upload progress in favicon

See merge request timvisee/send!5
2020-10-18 13:38:37 +00:00
Ashesh Vidyut
e9b50b7682 query selector fix + revert favicon in case of cancel and complete
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:21 +02:00
Ashesh Vidyut
a3e8646ea7 constants at the top
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:18 +02:00
Ashesh Vidyut
a6a3cae5e9 pr comment changes and progress line starts from top instead of right
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:15 +02:00
Ashesh Vidyut
8d80ba1f69 fix var name
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:13 +02:00
Ashesh Vidyut
e5f76a7b1f converted division to multiplication and calculating radius inside func
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:10 +02:00
Ashesh Vidyut
acf82a4e3e varaible name changed to more meaningful
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:07 +02:00
Ashesh Vidyut
0acdf3a720 changed 100/100 to 1
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:04 +02:00
Ashesh Vidyut
305dd2f5ef color changed to #0090ed
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:02 +02:00
Ashesh Vidyut
e53571e219 removed unwanted comment
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:31:00 +02:00
Ashesh Vidyut
0eda8d2082 removed unsed code
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:30:57 +02:00
Ashesh Vidyut
1cd4adfc2a made variable name more relevant
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:30:54 +02:00
Ashesh Vidyut
0460bd2e97 favicon progress bar
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:30:43 +02:00
okyanusoz
60146541f2 Fixed a typo in encryption documentation
Co-authored-by: timvisee <tim@visee.me>
2020-10-18 15:20:34 +02:00
timvisee
79d314146b Improve README fork header 2020-10-16 18:54:19 +02:00
timvisee
72d12c3d80 Add fork description and goals to top of README 2020-10-16 18:49:33 +02:00
timvisee
1469464c43 Bump version to 3.2.1 2020-10-16 18:18:19 +02:00
Danny Coates
7cdef4bbfc added qr code to copyDialog
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 18:16:14 +02:00
timvisee
24aa1f2e17 Add badges to README 2020-10-16 16:42:40 +02:00
timvisee
7a4a4fc849 Bump version to 3.2.0 2020-10-16 16:37:39 +02:00
timvisee
97be1737cb Remove siteFeedback key as removed in Mozilla's commits 2020-10-16 16:36:00 +02:00
Tim Visée
ba33e022b0 Merge branch 'apply-mozilla-patches' into 'master'
Apply Mozilla patches

See merge request timvisee/send!3
2020-10-16 14:17:59 +00:00
timvisee
0d6b3731ef Update dependencies 2020-10-16 16:14:01 +02:00
timvisee
0be4a65904 Merge branch 'master' into apply-mozilla-patches 2020-10-16 16:11:57 +02:00
Tim Visée
54c182ab0d Merge branch '2-fix-puppeteer-timeouts-on-ci' into 'master'
Resolve "Fix puppeteer timeouts on CI"

Closes #2

See merge request timvisee/send!4
2020-10-16 14:10:56 +00:00
timvisee
b2e9907551 Increase default puppeteer timeout to 60 seconds
Fixes https://gitlab.com/timvisee/send/-/issues/2
2020-10-16 16:05:51 +02:00
Victor Ibragimov
3b4a4d82e8 Pontoon: Update Russian (ru) localization of Firefox Send
Co-authored-by: Victor Ibragimov <victor.ibragimov@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:53:02 +02:00
వీవెన్
5747f55876 Pontoon: Update Telugu (te) localization of Firefox Send
Co-authored-by: వీవెన్ <veeven@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:59 +02:00
robbp
636a239e86 Pontoon: Update Romanian (ro) localization of Firefox Send
Co-authored-by: robbp <robbpaun@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:56 +02:00
Jim Spentzos
f9a1583078 Pontoon: Update Greek (el) localization of Firefox Send
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:52 +02:00
Mark Heijl
0dfbe3566a Pontoon: Update Dutch (nl) localization of Firefox Send
Co-authored-by: Mark Heijl <markh@babelzilla.org>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:48 +02:00
వీవెన్
98b84ba05f Pontoon: Update Telugu (te) localization of Firefox Send
Co-authored-by: వీవెన్ <veeven@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:45 +02:00
Abdulrasheed Idris
4ad4a65924 Pontoon: Update Yoruba (yo) localization of Firefox Send
Co-authored-by: Abdulrasheed Idris <Abdulrash6211@gmail.com>
Co-authored-by: biobell2000 <biobell2000@gmail.com>
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:41 +02:00
Adaobi
6e07ecf643 Pontoon: Update Igbo (ig) localization of Firefox Send
Co-authored-by: Adaobi <ada_okeke60@ymail.com>
Co-authored-by: Umegbewe <nwebedujunior55@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:37 +02:00
Danny Coates
a39cfaf3d3 remove signin modal from privacy page. fixes #1508
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:34 +02:00
Kim YoungCheon
97e3d78ba8 Pontoon: Update Korean (ko) localization of Firefox Send
Co-authored-by: Kim YoungCheon <circcc@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:31 +02:00
Danny Coates
28c48f51d1 set downloadMetadata.status to 404 on unfound downloads. fixes #1501
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:28 +02:00
Danny Coates
239fba452a fixed dark-theme password input style. fixes #1504
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:25 +02:00
Danny Coates
3631bc8f39 restrict "share" to mobile, fixes #1505
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:22 +02:00
Danny Coates
189f4cfb9b fix main section height. fixes #1499
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:18 +02:00
Abelardo Ayala Rodríguez
deb2d41de8 Pontoon: Update Guarani (gn) localization of Firefox Send
Co-authored-by: Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:14 +02:00
Danny Coates
ab53f9cf3e give 404 and error pages the loggedin/ok treatment
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:12 +02:00
Danny Coates
facb61a9b5 updated @google-cloud/storage
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:09 +02:00
Danny Coates
d8ac413064 handle unknown errors in getMetadata
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:06 +02:00
Danny Coates
e0f51c7fde exlude puppeteer from docker build
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:52:02 +02:00
Danny Coates
c44c4ba41c support edge 18 maybe
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:59 +02:00
Danny Coates
4e9625ef36 added downloadConfirm string to noStream page
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:56 +02:00
Danny Coates
4413fc75a3 show "OK" button on complete page when logged in instead of "Try Firefox Send"
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:52 +02:00
Danny Coates
d13fda1419 🤷
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:48 +02:00
Gery Escalier
7f7ba0e33f Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Co-authored-by: Gery Escalier <geryescalier@yahoo.com>
Co-authored-by: jlG <jlg.l10n.es@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:45 +02:00
timvisee
86c5553f58 Update package-lock.json 2020-10-16 15:51:43 +02:00
jlG
7e173ec23d Pontoon: Update Spanish (Spain) (es-ES) localization of Firefox Send
Co-authored-by: Paulina Rodriguez <pauli.rodriguez.c@gmail.com>
Co-authored-by: Gery Escalier <geryescalier@yahoo.com>
Co-authored-by: jlG <jlg.l10n.es@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:39 +02:00
వీవెన్
3ae6f9bd5a Pontoon: Update Telugu (te) localization of Firefox Send
Co-authored-by: వీవెన్ <veeven@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:33 +02:00
Danny Coates
b5ef1785ab replaced fxa-geodb with load balancer header
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:28 +02:00
Abelardo Ayala Rodríguez
4b1b7cb821 Pontoon: Update Guarani (gn) localization of Firefox Send
Co-authored-by: Abelardo Ayala Rodríguez <abe_aya@hotmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:51:07 +02:00
ZiriSut
b0b75f5daa Pontoon: Update Kabyle (kab) localization of Firefox Send
Co-authored-by: ZiriSut <rgebbid@gmail.com>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:50:56 +02:00
Enol
e2562aec17 Pontoon: Update Asturian (ast) localization of Firefox Send
Co-authored-by: Enol <enolp@softastur.org>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:50:46 +02:00
Danny Coates
f64e772145 added hmac auth to report route
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:50:36 +02:00
Enol
bc0ccc8e5d Pontoon: Update Asturian (ast) localization of Firefox Send
Co-authored-by: Enol <enolp@softastur.org>
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:48:02 +02:00
Danny Coates
e909a3bae8 refactored storage, style tweaks
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:47:56 +02:00
Danny Coates
abc58518ea minor style tweaks and refresh token fixes
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:47:46 +02:00
Danny Coates
4f273eca03 added oauth refresh token support
Co-authored-by: timvisee <tim@visee.me>
2020-10-16 15:46:24 +02:00
timvisee
b15c017dcd Bump version to 3.1.1 2020-10-15 21:02:25 +02:00
timvisee
bfaac8f66d Update dependencies 2020-10-15 21:00:06 +02:00
timvisee
4ffc65274b Merge branch 'dependabot/npm_and_yarn/lodash-4.17.20' 2020-10-15 20:57:47 +02:00
timvisee
1d492cd0df Merge branch 'master' into dependabot/npm_and_yarn/lodash-4.17.20 2020-10-15 20:57:09 +02:00
timvisee
b4594c5280 Merge branch 'dependabot/npm_and_yarn/elliptic-6.5.3' 2020-10-15 20:54:44 +02:00
dependabot[bot]
aa47df79f9 Bump lodash from 4.17.15 to 4.17.20
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-15 18:51:55 +00:00
dependabot[bot]
7533ab1930 Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-15 18:49:21 +00:00
timvisee
f10b2d5064 Bump version to 3.1.0 2020-10-15 20:06:52 +02:00
timvisee
7463aeccf5 Update package.json configuration with new fork details 2020-10-15 20:05:07 +02:00
timvisee
2d35cd33c9 Add Docker instructions to use new registry for production images 2020-10-15 20:03:15 +02:00
timvisee
beb194f3e0 Update Docker documentation to use our image registry 2020-10-15 20:00:36 +02:00
timvisee
175040acec Release Docker image for each version tag 2020-10-15 19:54:03 +02:00
timvisee
9e5da3270c Do not run before_script in Docker release job on GitLab CI 2020-10-15 19:24:44 +02:00
timvisee
c6cab13e6a Publish Docker image for each master commit on local registry 2020-10-15 19:16:49 +02:00
timvisee
dd9d6c1660 Do not cache node modules on GitLab CI 2020-10-15 19:01:37 +02:00
Tim Visée
0dd4f8d2cc Merge branch 'remove-mozilla-branding' into 'master'
Remove Mozilla branding

See merge request timvisee/send!2
2020-10-15 17:00:32 +00:00
timvisee
f035132b95 Add based on Mozilla's Firefox Send notice in README 2020-10-15 18:54:57 +02:00
timvisee
561ed3994e Remove Firefox branding from app name in documentation and other files 2020-10-15 18:52:41 +02:00
timvisee
e77d2b3722 Remove Firefox branding from app name in locale files 2020-10-15 18:49:59 +02:00
timvisee
45d5f41731 Remove Firefox branding from app name in front-end 2020-10-15 18:48:54 +02:00
timvisee
505eb8c585 Remove Firefox branding from wordmark logo 2020-10-15 18:26:07 +02:00
timvisee
ce04f162a4 Remove promo banner 2020-10-15 18:26:07 +02:00
timvisee
47cf99140a Update footer links, remove Mozilla links, update source URL 2020-10-15 18:26:06 +02:00
timvisee
c6fc1483f6 Remove Mozilla logo from footer 2020-10-15 18:25:52 +02:00
timvisee
2c8ea3ecc8 Enable node module caching on GitLab CI 2020-10-15 17:34:08 +02:00
Tim Visée
24172a4665 Merge branch 'gitlab-ci' into 'master'
Add GitLab CI configuration

See merge request timvisee/send!1
2020-10-15 15:31:39 +00:00
timvisee
daa5a3c5f1 Add GitLab CI configuration with single test job 2020-10-15 17:23:17 +02:00
timvisee
806ebbe160 Update dependencies 2020-10-15 16:42:39 +02:00
150 changed files with 6145 additions and 2247 deletions

View File

@@ -4,4 +4,5 @@ firefox
coverage
android/app/build
app/locale.js
app/capabilities.js
app/capabilities.js
app/qrcode.js

71
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,71 @@
image: "node:12-slim"
stages:
- test
- artifact
- release
before_script:
# Install dependencies
- apt-get update
- apt-get install -y git python3 build-essential libxtst6
# Prepare Chrome for puppeteer
- apt-get install -y wget gnupg
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
- apt-get update
- apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 --no-install-recommends
test:
stage: test
script:
- npm ci
- npm run lint
- npm test
# Release Docker image artifact for easy testing
artifact-docker:
stage: artifact
image: docker:latest
services:
- docker:dind
only:
- master
before_script: []
script:
- export IMG_NAME=registry.gitlab.com/timvisee/send:master-$CI_COMMIT_SHA
# Login in to registry
- 'docker login registry.gitlab.com -u $DOCKER_USER -p $DOCKER_PASS'
# Build and push image, report image name
- docker build -t $IMG_NAME .
- docker push $IMG_NAME
- 'echo Docker image artifact published, available as:'
- 'echo " docker pull $IMG_NAME"'
# Release public Docker image
release-docker:
stage: release
image: docker:latest
services:
- docker:dind
only:
- /^v(\d+\.)*\d+$/
before_script: []
script:
- export IMG_NAME=registry.gitlab.com/timvisee/send:$CI_COMMIT_REF_NAME
- export IMG_NAME_LATEST=registry.gitlab.com/timvisee/send:latest
# Login in to registry
- 'docker login registry.gitlab.com -u $DOCKER_USER -p $DOCKER_PASS'
# Build and push image, report image name
- docker build -t $IMG_NAME .
- docker tag $IMG_NAME $IMG_NAME_LATEST
- docker push $IMG_NAME
- docker push $IMG_NAME_LATEST
- 'echo Docker image artifact published, available as:'
- 'echo " docker pull $IMG_NAME_LATEST"'
- 'echo " docker pull $IMG_NAME"'

View File

@@ -1,7 +1,7 @@
##
# Firefox Send - Mozilla
# Send
#
# License https://github.com/mozilla/send/blob/master/LICENSE
# License https://gitlab.com/timvisee/send/blob/master/LICENSE
##
@@ -16,13 +16,12 @@ RUN set -x \
--home /app \
--uid 10001 \
app
RUN npm i -g npm
COPY --chown=app:app . /app
USER app
WORKDIR /app
RUN set -x \
# Build
&& npm ci \
&& PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm ci \
&& npm run build

View File

@@ -1,6 +1,57 @@
# [![Firefox Send](./assets/icon.svg)](https://send.firefox.com/) Firefox Send
# [![Send](./assets/icon.svg)](https://gitlab.com/timvisee/send/) Send
[![CircleCI](https://img.shields.io/circleci/project/github/mozilla/send.svg)](https://circleci.com/gh/mozilla/send)
[![Build status on GitLab CI][gitlab-ci-master-badge]][gitlab-ci-link]
[![Latest release][release-badge]][release-link]
[![Docker image][docker-image-badge]][docker-image-link]
[![Project license][repo-license-badge]](LICENSE)
[docker-image-badge]: https://img.shields.io/badge/docker-latest-blue.svg
[docker-image-link]: https://gitlab.com/timvisee/send/container_registry/eyJuYW1lIjoidGltdmlzZWUvc2VuZCIsInRhZ3NfcGF0aCI6Ii90aW12aXNlZS9zZW5kL3JlZ2lzdHJ5L3JlcG9zaXRvcnkvMTQxODUwNC90YWdzP2Zvcm1hdD1qc29uIiwiaWQiOjE0MTg1MDQsImNsZWFudXBfcG9saWN5X3N0YXJ0ZWRfYXQiOm51bGx9
[gitlab-ci-link]: https://gitlab.com/timvisee/send/pipelines
[gitlab-ci-master-badge]: https://gitlab.com/timvisee/send/badges/master/pipeline.svg
[release-badge]: https://img.shields.io/github/v/tag/timvisee/send
[release-link]: https://gitlab.com/timvisee/send/-/
[repo-license-badge]: https://img.shields.io/github/license/timvisee/send.svg
A fork of Mozilla's [Firefox Send][mozilla-send].
Mozilla discontinued Send, this fork is a community effort to keep the project
up-to-date and alive.
- Forked [at][fork-commit] Mozilla's last publicly hosted version
- _Mozilla_ & _Firefox_ branding [is][remove-branding-pr] removed so you can legally self-host
- Kept compatible with [`ffsend`][ffsend] (CLI for Send)
- Dependencies have been updated
- Mozilla's [changes][mozilla-patches] since the fork have been selectively [merged][mozilla-patches-pr]
- Mozilla's experimental report feature, download tokens, trust warnings and FxA changes are not included
Find an up-to-date Docker image here: [docs/docker.md](docs/docker.md)
The original project by Mozilla can be found [here][mozilla-send].
The [`mozilla-master`][branch-mozilla-master] branch holds the `master` branch
as left by Mozilla.
The [`send-v3`][branch-send-v3] branch holds the commit tree of Mozilla's last
publicly hosted version, which this fork is based on.
The [`send-v4`][branch-send-v4] branch holds the commit tree of Mozilla's last
experimental version which was still a work in progress (featuring file
reporting, download tokens, trust warnings and FxA changes), this has
selectively been merged into this fork.
Please consider to [donate][donate] to allow me to keep working on this.
Thanks [Mozilla][mozilla] for building this amazing tool!
[branch-mozilla-master]: https://gitlab.com/timvisee/send/-/tree/mozilla-master
[branch-send-v3]: https://gitlab.com/timvisee/send/-/tree/send-v3
[branch-send-v4]: https://gitlab.com/timvisee/send/-/tree/send-v4
[donate]: https://timvisee.com/donate
[ffsend]: https://github.com/timvisee/ffsend
[fork-commit]: https://gitlab.com/timvisee/send/-/commit/3e9be676413a6e1baaf6a354c180e91899d10bec
[mozilla-patches-pr]: https://gitlab.com/timvisee/send/-/merge_requests/3
[mozilla-patches]: https://gitlab.com/timvisee/send/-/compare/3e9be676413a6e1baaf6a354c180e91899d10bec...mozilla-master
[mozilla-send]: https://github.com/mozilla/send
[mozilla]: https://mozilla.org/
[remove-branding-pr]: https://gitlab.com/timvisee/send/-/merge_requests/2
---
**Docs:** [FAQ](docs/faq.md), [Encryption](docs/encryption.md), [Build](docs/build.md), [Docker](docs/docker.md), [Metrics](docs/metrics.md), [More](docs/)
@@ -70,7 +121,7 @@ The server is configured with environment variables. See [server/config.js](serv
## Localization
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.
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.
see also [docs/localization.md](docs/localization.md)
@@ -108,4 +159,6 @@ The android implementation is contained in the `android` directory, and can be v
[Mozilla Public License Version 2.0](LICENSE)
[qrcode.js](https://github.com/kazuhikoarase/qrcode-generator) licensed under MIT
---

View File

@@ -61,7 +61,10 @@ async function fetchWithAuth(url, params, keychain) {
const result = {};
params = params || {};
const h = await keychain.authHeader();
params.headers = new Headers({ Authorization: h });
params.headers = new Headers({
Authorization: h,
'Content-Type': 'application/json'
});
const response = await fetch(url, params);
result.response = response;
result.ok = response.ok;

View File

@@ -77,6 +77,7 @@ async function polyfillStreams() {
export default async function getCapabilities() {
const browser = browserName();
const isMobile = /mobi|android/i.test(navigator.userAgent);
const serviceWorker = 'serviceWorker' in navigator && browser !== 'edge';
let crypto = await checkCrypto();
const nativeStreams = checkStreams();
@@ -91,14 +92,15 @@ export default async function getCapabilities() {
account = false;
}
const share =
typeof navigator.share === 'function' && locale().startsWith('en'); // en until strings merge
isMobile &&
typeof navigator.share === 'function' &&
locale().startsWith('en'); // en until strings merge
const standalone =
window.matchMedia('(display-mode: standalone)').matches ||
navigator.standalone;
const mobileFirefox =
browser === 'firefox' && /mobile/i.test(navigator.userAgent);
const mobileFirefox = browser === 'firefox' && isMobile;
return {
account,

View File

@@ -1,13 +1,14 @@
import FileSender from './fileSender';
import FileReceiver from './fileReceiver';
import { copyToClipboard, delay, openLinksInNewTab, percent } from './utils';
import * as metrics from './metrics';
import { bytes, locale } from './utils';
import okDialog from './ui/okDialog';
import FileReceiver from './fileReceiver';
import FileSender from './fileSender';
import copyDialog from './ui/copyDialog';
import faviconProgressbar from './ui/faviconProgressbar';
import okDialog from './ui/okDialog';
import shareDialog from './ui/shareDialog';
import signupDialog from './ui/signupDialog';
import surveyDialog from './ui/surveyDialog';
import { bytes, locale } from './utils';
import { copyToClipboard, delay, openLinksInNewTab, percent } from './utils';
export default function(state, emitter) {
let lastRender = 0;
@@ -29,6 +30,7 @@ export default function(state, emitter) {
if (updateTitle) {
emitter.emit('DOMTitleChange', percent(state.transfer.progressRatio));
}
faviconProgressbar.updateFavicon(state.transfer.progressRatio);
render();
}
@@ -36,7 +38,8 @@ export default function(state, emitter) {
document.addEventListener('blur', () => (updateTitle = true));
document.addEventListener('focus', () => {
updateTitle = false;
emitter.emit('DOMTitleChange', 'Firefox Send');
emitter.emit('DOMTitleChange', 'Send');
faviconProgressbar.updateFavicon(0);
});
checkFiles();
});
@@ -49,8 +52,8 @@ export default function(state, emitter) {
state.user.login(email);
});
emitter.on('logout', () => {
state.user.logout();
emitter.on('logout', async () => {
await state.user.logout();
metrics.loggedOut({ trigger: 'button' });
emitter.emit('pushState', '/');
});
@@ -83,6 +86,7 @@ export default function(state, emitter) {
emitter.on('cancel', () => {
state.transfer.cancel();
faviconProgressbar.updateFavicon(0);
});
emitter.on('addFiles', async ({ files }) => {
@@ -161,6 +165,7 @@ export default function(state, emitter) {
state.storage.totalUploads += 1;
const duration = Date.now() - start;
metrics.completedUpload(archive, duration);
faviconProgressbar.updateFavicon(0);
state.storage.addFile(ownedFile);
// TODO integrate password into /upload request
@@ -178,6 +183,12 @@ export default function(state, emitter) {
//cancelled. do nothing
metrics.cancelledUpload(archive, err.duration);
render();
} else if (err.message === '401') {
const refreshed = await state.user.refresh();
if (refreshed) {
return emitter.emit('upload');
}
emitter.emit('pushState', '/error');
} else {
// eslint-disable-next-line no-console
console.error(err);
@@ -229,6 +240,9 @@ export default function(state, emitter) {
if (!file.requiresPassword) {
return emitter.emit('pushState', '/404');
}
} else {
console.error(e);
return emitter.emit('pushState', '/error');
}
}
@@ -255,6 +269,7 @@ export default function(state, emitter) {
duration,
password_protected: file.requiresPassword
});
faviconProgressbar.updateFavicon(0);
} catch (err) {
if (err.message === '0') {
// download cancelled

View File

@@ -1,7 +1,7 @@
import Nanobus from 'nanobus';
import Keychain from './keychain';
import { delay, bytes, streamToArrayBuffer } from './utils';
import { downloadFile, metadata, getApiUrl } from './api';
import { downloadFile, metadata, getApiUrl, reportLink } from './api';
import { blobStream } from './streams';
import Zip from './zip';
@@ -53,6 +53,10 @@ export default class FileReceiver extends Nanobus {
this.state = 'ready';
}
async reportLink(reason) {
await reportLink(this.fileInfo.id, this.keychain, reason);
}
sendMessageToSw(msg) {
return new Promise((resolve, reject) => {
const channel = new MessageChannel();

View File

@@ -187,19 +187,6 @@ footer li:hover {
@apply bg-white;
}
.mozilla-logo {
background-image: url('../assets/mozilla-logo.svg');
background-repeat: no-repeat;
background-size: 100px, 48px;
overflow: hidden;
text-indent: 120%;
white-space: nowrap;
display: inline-block;
height: 32px;
width: 100px;
flex-shrink: 0;
}
#password-msg::after {
content: '\200b';
}
@@ -296,7 +283,7 @@ select {
@apply m-auto;
@apply py-8;
min-height: 36rem;
min-height: 42rem;
max-height: 42rem;
width: calc(100% - 3rem);
}
@@ -338,11 +325,6 @@ select {
@apply bg-grey-90;
}
.mozilla-logo {
background-color: white;
border: 1px solid white;
}
@screen md {
.main > section {
@apply border;

1076
app/qrcode.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,10 @@ module.exports = function(app = choo({ hash: true })) {
app.route('/oauth', function(state, emit) {
emit('authenticate', state.query.code, state.query.state);
});
app.route('/login', body(require('./ui/home')));
app.route('/login', function(state, emit) {
emit('replaceState', '/');
setTimeout(() => emit('render'));
});
app.route('*', body(require('./ui/notFound')));
return app;
};

View File

@@ -9,7 +9,7 @@ import contentDisposition from 'content-disposition';
let noSave = false;
const map = new Map();
const IMAGES = /.*\.(png|svg|jpg)$/;
const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)$/;
const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)(#\w+)?$/;
const DOWNLOAD_URL = /\/api\/download\/([A-Fa-f0-9]{4,})/;
const FONT = /\.woff2?$/;

View File

@@ -54,12 +54,17 @@ class Account extends Component {
createElement() {
if (!this.enabled) {
return html`
<div></div>
<send-account></send-account>
`;
}
const user = this.state.user;
const translate = this.state.translate;
this.setLocal();
if (user.loginRequired && !this.local.loggedIn) {
return html`
<send-account></send-account>
`;
}
if (!this.local.loggedIn) {
return html`
<send-account>

View File

@@ -30,6 +30,12 @@ function password(state) {
return html`
<div class="mb-2 px-1">
<input
id="autocomplete-decoy"
class="hidden"
type="password"
value="lol"
/>
<div class="checkbox inline-block mr-3">
<input
id="add-password"
@@ -42,19 +48,36 @@ function password(state) {
${state.translate('addPassword')}
</label>
</div>
<input
id="password-input"
class="${state.archive.password
? ''
: 'invisible'} border rounded focus:border-blue-60 leading-normal my-1 py-1 px-2 h-8 dark:bg-grey-80"
autocomplete="off"
maxlength="${MAX_LENGTH}"
type="password"
oninput="${inputChanged}"
onfocus="${focused}"
placeholder="${state.translate('unlockInputPlaceholder')}"
value="${state.archive.password || ''}"
/>
<div class="relative inline-block my-1">
<input
id="password-input"
class="${state.archive.password
? ''
: 'invisible'} border rounded focus:border-blue-60 leading-normal py-1 pl-2 pr-8 h-8 dark:bg-grey-80"
autocomplete="off"
maxlength="${MAX_LENGTH}"
type="password"
oninput="${inputChanged}"
onfocus="${focused}"
placeholder="${state.translate('unlockInputPlaceholder')}"
value="${state.archive.password || ''}"
/>
<button
id="password-preview-button"
type="button"
class="${state.archive.password
? ''
: 'invisible'} absolute top-0 right-0 w-8 h-8"
onclick="${onPasswordPreviewButtonclicked}"
>
<img
src="${assets.get('eye.svg')}"
width="22"
height="22"
class="m-auto"
/>
</button>
</div>
<label
id="password-msg"
for="password-input"
@@ -63,15 +86,36 @@ function password(state) {
</div>
`;
function onPasswordPreviewButtonclicked(event) {
event.preventDefault();
const input = document.getElementById('password-input');
const eyeIcon = event.currentTarget.querySelector('img');
if (input.type === 'password') {
input.type = 'text';
eyeIcon.src = assets.get('eye-off.svg');
} else {
input.type = 'password';
eyeIcon.src = assets.get('eye.svg');
}
input.focus();
}
function togglePasswordInput(event) {
event.stopPropagation();
const checked = event.target.checked;
const input = document.getElementById('password-input');
const passwordPreviewButton = document.getElementById(
'password-preview-button'
);
if (checked) {
input.classList.remove('invisible');
passwordPreviewButton.classList.remove('invisible');
input.focus();
} else {
input.classList.add('invisible');
passwordPreviewButton.classList.add('invisible');
input.value = '';
document.getElementById('password-msg').textContent = '';
state.archive.password = null;
@@ -267,7 +311,7 @@ module.exports = function(state, emit, archive) {
try {
await navigator.share({
title: state.translate('-send-brand'),
text: `Download "${archive.name}" with Firefox Send: simple, safe file sharing`,
text: `Download "${archive.name}" with Send: simple, safe file sharing`,
//state.translate('shareMessage', { name }),
url: archive.url
});

View File

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

View File

@@ -1,5 +1,6 @@
const html = require('choo/html');
const { copyToClipboard } = require('../utils');
const qr = require('./qr');
module.exports = function(name, url) {
const dialog = function(state, emit, close) {
@@ -16,13 +17,23 @@ module.exports = function(name, url) {
${state.translate('copyLinkDescription')} <br />
${name}
</p>
<input
type="text"
id="share-url"
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1 dark:bg-grey-80"
value="${url}"
readonly="true"
/>
<div class="flex flex-row items-center justify-center w-full">
<input
type="text"
id="share-url"
class="block w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1 dark:bg-grey-80"
value="${url}"
readonly="true"
/>
<button
id="qr-btn"
class="w-16 m-1 p-1"
onclick="${toggleQR}"
title="QR code"
>
${qr(url)}
</button>
</div>
<button
class="btn rounded-lg w-full flex-shrink-0 focus:outline"
onclick="${copy}"
@@ -40,6 +51,19 @@ module.exports = function(name, url) {
</send-copy-dialog>
`;
function toggleQR(event) {
event.stopPropagation();
const shareUrl = document.getElementById('share-url');
const qrBtn = document.getElementById('qr-btn');
if (shareUrl.classList.contains('hidden')) {
shareUrl.classList.replace('hidden', 'block');
qrBtn.classList.replace('w-48', 'w-16');
} else {
shareUrl.classList.replace('block', 'hidden');
qrBtn.classList.replace('w-16', 'w-48');
}
}
function copy(event) {
event.stopPropagation();
copyToClipboard(url);

View File

@@ -55,9 +55,13 @@ module.exports = function(state, emit) {
let content = '';
if (!state.fileInfo) {
state.fileInfo = createFileInfo(state);
if (!state.fileInfo.nonce) {
if (downloadMetadata.status === 404) {
return notFound(state);
}
if (!state.fileInfo.nonce) {
// coming from something like the browser back button
return location.reload();
}
}
if (!state.transfer && !state.fileInfo.requiresPassword) {

View File

@@ -2,6 +2,7 @@ const html = require('choo/html');
const assets = require('../../common/assets');
module.exports = function(state) {
const btnText = state.user.loggedIn ? 'okButton' : 'sendYourFilesLink';
return html`
<div
id="download-complete"
@@ -10,13 +11,18 @@ module.exports = function(state) {
<h1 class="text-center text-3xl font-bold my-2">
${state.translate('downloadFinish')}
</h1>
<img src="${assets.get('completed.svg')}" class="my-12 h-48" />
<p class="text-grey-80 leading-normal dark:text-grey-40">
<img src="${assets.get('completed.svg')}" class="my-8 h-48" />
<p
class="text-grey-80 leading-normal dark:text-grey-40 ${state.user
.loggedIn
? 'hidden'
: ''}"
>
${state.translate('trySendDescription')}
</p>
<p class="my-5">
<a href="/" class="btn rounded-lg flex items-center mt-4" role="button"
>${state.translate('sendYourFilesLink')}</a
>${state.translate(btnText)}</a
>
</p>
</div>

View File

@@ -21,6 +21,12 @@ module.exports = function(state, emit) {
onsubmit="${checkPassword}"
data-no-csrf
>
<input
id="autocomplete-decoy"
class="hidden"
type="password"
value="lol"
/>
<input
id="password-input"
class="w-full border-l border-t border-b rounded-l-lg rounded-r-none ${invalid
@@ -63,8 +69,13 @@ module.exports = function(state, emit) {
const input = document.getElementById('password-input');
const btn = document.getElementById('password-btn');
label.classList.add('invisible');
input.classList.remove('border-red');
btn.classList.remove('bg-red', 'hover:bg-red', 'focus:bg-red');
input.classList.remove('border-red', 'dark:border-red-40');
btn.classList.remove(
'bg-red',
'hover:bg-red',
'focus:bg-red',
'dark:bg-red-40'
);
}
function checkPassword(event) {

View File

@@ -3,6 +3,7 @@ const assets = require('../../common/assets');
const modal = require('./modal');
module.exports = function(state, emit) {
const btnText = state.user.loggedIn ? 'okButton' : 'sendYourFilesLink';
return html`
<main class="main">
${state.modal && modal(state, emit)}
@@ -13,12 +14,17 @@ module.exports = function(state, emit) {
${state.translate('errorPageHeader')}
</h1>
<img class="my-12 h-48" src="${assets.get('error.svg')}" />
<p class="max-w-md text-center text-grey-80 leading-normal">
<p
class="max-w-md text-center text-grey-80 leading-normal dark:text-grey-40 ${state
.user.loggedIn
? 'hidden'
: ''}"
>
${state.translate('trySendDescription')}
</p>
<p class="my-5">
<a href="/" class="btn rounded-lg flex items-center" role="button"
>${state.translate('sendYourFilesLink')}</a
>${state.translate(btnText)}</a
>
</p>
</section>

View File

@@ -0,0 +1,41 @@
const { platform } = require('../utils');
const assets = require('../../common/assets');
const size = 32;
const loaderWidth = 5;
const loaderColor = '#0090ed';
function drawCircle(canvas, context, color, lineWidth, outerWidth, percent) {
canvas.width = canvas.height = outerWidth;
context.translate(outerWidth * 0.5, outerWidth * 0.5);
context.rotate(-Math.PI * 0.5);
const radius = (outerWidth - lineWidth) * 0.5;
context.beginPath();
context.arc(0, 0, radius, 0, Math.PI * 2 * percent, false);
context.strokeStyle = color;
context.lineCap = 'square';
context.lineWidth = lineWidth;
context.stroke();
}
function drawNewFavicon(progressRatio) {
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
drawCircle(canvas, context, '#efefef', loaderWidth, size, 1);
drawCircle(canvas, context, loaderColor, loaderWidth, size, progressRatio);
return canvas.toDataURL();
}
module.exports.updateFavicon = function(progressRatio) {
if (platform() === 'web') {
const link = document.querySelector("link[rel='icon'][sizes='32x32']");
const progress = progressRatio * 100;
if (progress === 0 || progress === 100) {
link.type = 'image/png';
link.href = assets.get('favicon-32x32.png');
return;
}
link.href = drawNewFavicon(progressRatio);
}
};

View File

@@ -1,7 +1,5 @@
const html = require('choo/html');
const Component = require('choo/component');
const version = require('../../package.json').version;
const { browserName } = require('../utils');
class Footer extends Component {
constructor(name, state) {
@@ -15,44 +13,19 @@ class Footer extends Component {
createElement() {
const translate = this.state.translate;
const browser = browserName();
const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`;
return html`
<footer
class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-60 dark:text-grey-40 md:items-center justify-between"
>
<a class="mozilla-logo m-2" href="https://www.mozilla.org/">
Mozilla
</a>
<div></div>
<ul
class="flex flex-col md:flex-row items-start md:items-center md:justify-end"
>
<li class="m-2">
<a href="https://www.mozilla.org/about/legal/terms/services/#send">
${translate('footerLinkLegal')}
</a>
</li>
<li class="m-2">
<a href="/legal"> ${translate('footerLinkPrivacy')} </a>
</li>
<li class="m-2">
<a href="https://www.mozilla.org/privacy/websites/#cookies">
${translate('footerLinkCookies')}
</a>
</li>
<li class="m-2">
<a href="https://github.com/mozilla/send">GitHub </a>
</li>
<li class="m-2">
<a
href="${feedbackUrl}"
rel="noreferrer noopener"
class="feedback-link"
alt="Feedback"
target="_blank"
>
${translate('siteFeedback')}
</a>
<a href="https://gitlab.com/timvisee/send">Source</a>
</li>
</ul>
</footer>

View File

@@ -33,7 +33,7 @@ class Header extends Component {
alt="${this.state.translate('title')}"
src="${assets.get('icon.svg')}"
/>
<svg class="w-48 md:w-64">
<svg viewBox="66 0 340 64" class="w-48 md:w-64">
<use xlink:href="${assets.get('wordmark.svg')}#logo" />
</svg>
</a>

View File

@@ -2,6 +2,7 @@ const html = require('choo/html');
const modal = require('./modal');
module.exports = function(state, emit) {
state.modal = null;
return html`
<main class="main">
${state.modal && modal(state, emit)}
@@ -24,7 +25,7 @@ module.exports = function(state, emit) {
>
<span
>describes how we handle that information. Below are the top
things you should know about Firefox Send. You can also view the
things you should know about Send. You can also view the
code</span
>
<a

View File

@@ -6,7 +6,7 @@ module.exports = function(state, emit) {
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8 dark:bg-grey-90"
>
<div
class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center"
class="h-full w-full max-h-screen absolute top-0 flex justify-center md:items-center"
>
<div class="w-full">
${state.modal(state, emit, close)}

View File

@@ -19,9 +19,9 @@ module.exports = function(state, emit) {
<form class="md:w-128" onsubmit=${submit}>
<fieldset class="border rounded p-4 my-4" onchange=${optionChanged}>
<div class="flex items-center mb-2">
<img class="mr-3 flex-shrink-0" src="${assets.get(
'blue_file.svg'
)}"/>
<svg class="h-8 w-6 mr-3 flex-shrink-0 text-white dark:text-grey-90">
<use xlink:href="${assets.get('blue_file.svg')}#icon"/>
</svg>
<p class="flex-grow">
<h1 class="text-base font-medium word-break-all">${
archive.name
@@ -55,6 +55,11 @@ module.exports = function(state, emit) {
value="${state.translate('copyLinkButton')}"
title="${state.translate('copyLinkButton')}"
type="submit" />
<p
class="text-grey-80 leading-normal dark:text-grey-40 font-semibold text-center md:my-8 md:text-left"
>
${state.translate('downloadConfirmDescription')}
</p>
</form>
</div>
`;
@@ -64,6 +69,7 @@ module.exports = function(state, emit) {
const choice = event.target.value;
const button = event.currentTarget.nextElementSibling;
let title = button.title;
console.error(choice, title);
switch (choice) {
case 'copy':
title = state.translate('copyLinkButton');

View File

@@ -3,6 +3,7 @@ const assets = require('../../common/assets');
const modal = require('./modal');
module.exports = function(state, emit) {
const btnText = state.user.loggedIn ? 'okButton' : 'sendYourFilesLink';
return html`
<main class="main">
${state.modal && modal(state, emit)}
@@ -13,12 +14,17 @@ module.exports = function(state, emit) {
${state.translate('expiredTitle')}
</h1>
<img src="${assets.get('notFound.svg')}" class="my-12" />
<p class="max-w-md text-center text-grey-80 leading-normal">
<p
class="max-w-md text-center text-grey-80 leading-normal dark:text-grey-40 ${state
.user.loggedIn
? 'hidden'
: ''}"
>
${state.translate('trySendDescription')}
</p>
<p class="my-5">
<a href="/" class="btn rounded-lg flex items-center" role="button"
>${state.translate('sendYourFilesLink')}</a
>${state.translate(btnText)}</a
>
</p>
</section>

View File

@@ -1,40 +0,0 @@
const html = require('choo/html');
const Component = require('choo/component');
const assets = require('../../common/assets');
class Promo extends Component {
constructor(name, state) {
super(name);
this.state = state;
}
update() {
return false;
}
createElement() {
return html`
<send-promo
class="w-full flex-row items-center content-center justify-center bg-white text-grey-80 px-4 py-3 flex border-b border-grey-banner leading-normal dark:bg-grey-90 dark:text-grey-20 dark:border-grey-80"
>
<div class="flex items-center mx-auto">
<img
src="${assets.get('master-logo.svg')}"
class="w-6 h-6"
alt="Firefox"
/>
<span class="ml-2 sm:ml-4 text-xs sm:text-base">
${`Like Firefox Send? You'll love our new full-device VPN. `}
<a
class="underline link-blue"
href="https://vpn.mozilla.org/?utm_source=send.firefox.com&utm_medium=referral&utm_content=Try+Firefox+Private+Network&utm_campaign=top-bar"
>${`Get it today`}</a
>
</span>
</div>
</send-promo>
`;
}
}
module.exports = Promo;

10
app/ui/qr.js Normal file
View File

@@ -0,0 +1,10 @@
const raw = require('choo/html/raw');
const qrcode = require('../qrcode');
module.exports = function(url) {
const gen = qrcode(5, 'L');
gen.addData(url);
gen.make();
const qr = gen.createSvgTag({ scalable: true });
return raw(qr);
};

View File

@@ -1,22 +1,19 @@
const html = require('choo/html');
const assets = require('../../common/assets');
const { bytes, platform } = require('../utils');
const { bytes } = require('../utils');
const { canceledSignup, submittedSignup } = require('../metrics');
module.exports = function(trigger) {
return function(state, emit, close) {
const DAYS = Math.floor(state.LIMITS.MAX_EXPIRE_SECONDS / 86400);
const hidden = platform() === 'android' ? 'hidden' : '';
let submitting = false;
return html`
<send-signup-dialog
class="flex flex-col lg:flex-row justify-center px-8 md:px-24 w-full h-full"
class="flex flex-col justify-center my-16 md:my-0 px-8 md:px-24 w-full h-full"
>
<img src="${assets.get('master-logo.svg')}" class="h-16 mt-1 mb-4" />
<section
class="flex flex-col flex-shrink-0 self-center lg:mx-6 lg:max-w-xs"
>
<h1 class="text-3xl font-bold text-center lg:text-left">
<section class="flex flex-col flex-shrink-0 self-center">
<h1 class="text-3xl font-bold text-center">
${state.translate('accountBenefitTitle')}
</h1>
<ul
@@ -32,17 +29,14 @@ module.exports = function(trigger) {
${state.translate('accountBenefitTimeLimit', { count: DAYS })}
</li>
<li>${state.translate('accountBenefitSync')}</li>
<li>${state.translate('accountBenefitMoz')}</li>
</ul>
</section>
<section
class="flex flex-col flex-grow m-4 md:self-center md:w-128 lg:max-w-xs"
>
<section class="flex flex-col flex-grow m-4 md:self-center md:w-128">
<form onsubmit=${submitEmail} data-no-csrf>
<input
id="email-input"
type="email"
class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-70 leading-loose dark:bg-grey-80 dark:text-white"
class="hidden border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-70 leading-loose dark:bg-grey-80 dark:text-white"
placeholder=${state.translate('emailPlaceholder')}
/>
<input
@@ -53,13 +47,17 @@ module.exports = function(trigger) {
type="submit"
/>
</form>
<button
class="my-3 link-blue font-medium"
title="${state.translate('deletePopupCancel')}"
onclick=${cancel}
>
${state.translate('deletePopupCancel')}
</button>
${state.user.loginRequired
? ''
: html`
<button
class="my-3 link-blue font-medium"
title="${state.translate('deletePopupCancel')}"
onclick=${cancel}
>
${state.translate('deletePopupCancel')}
</button>
`}
</section>
</send-signup-dialog>
`;

View File

@@ -17,8 +17,8 @@ module.exports = function() {
Tell us what you think.
</h1>
<p class="font-normal leading-normal text-grey-80 px-4">
Love Firefox Send? Take a quick survey to let us know how we can make
it better.
Love Send? Take a quick survey to let us know how we can make it
better.
</p>
<a
class="btn rounded-lg w-full flex-shrink-0 focus:outline my-5"

View File

@@ -76,6 +76,10 @@ export default class User {
return this.info.access_token;
}
get refreshToken() {
return this.info.refresh_token;
}
get maxSize() {
return this.loggedIn
? this.limits.MAX_FILE_SIZE
@@ -135,6 +139,7 @@ export default class User {
const code_challenge = await preparePkce(this.storage);
const options = {
action: 'email',
access_type: 'offline',
client_id: this.authConfig.client_id,
code_challenge,
code_challenge_method: 'S256',
@@ -192,12 +197,69 @@ export default class User {
});
const userInfo = await infoResponse.json();
userInfo.access_token = auth.access_token;
userInfo.refresh_token = auth.refresh_token;
userInfo.fileListKey = await getFileListKey(this.storage, auth.keys_jwe);
this.info = userInfo;
this.storage.remove('pkceVerifier');
}
logout() {
async refresh() {
if (!this.refreshToken) {
return false;
}
try {
const tokenResponse = await fetch(this.authConfig.token_endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
client_id: this.authConfig.client_id,
grant_type: 'refresh_token',
refresh_token: this.refreshToken
})
});
if (tokenResponse.ok) {
const auth = await tokenResponse.json();
const info = { ...this.info, access_token: auth.access_token };
this.info = info;
return true;
}
} catch (e) {
console.error(e);
}
await this.logout();
return false;
}
async logout() {
try {
if (this.refreshToken) {
await fetch(this.authConfig.revocation_endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
refresh_token: this.refreshToken
})
});
}
if (this.bearerToken) {
await fetch(this.authConfig.revocation_endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
token: this.bearerToken
})
});
}
} catch (e) {
console.error(e);
// oh well, we tried
}
this.storage.clearLocalFiles();
this.info = {};
}
@@ -211,6 +273,14 @@ export default class User {
const key = b64ToArray(this.info.fileListKey);
const sha = await crypto.subtle.digest('SHA-256', key);
const kid = arrayToB64(new Uint8Array(sha)).substring(0, 16);
const retry = async () => {
const refreshed = await this.refresh();
if (refreshed) {
return await this.syncFileList();
} else {
return { incoming: true };
}
};
try {
const encrypted = await getFileList(this.bearerToken, kid);
const decrypted = await streamToArrayBuffer(
@@ -219,8 +289,7 @@ export default class User {
list = JSON.parse(textDecoder.decode(decrypted));
} catch (e) {
if (e.message === '401') {
this.logout();
return { incoming: true };
return retry(e);
}
}
changes = await this.storage.merge(list);
@@ -236,7 +305,9 @@ export default class User {
);
await setFileList(this.bearerToken, kid, encrypted);
} catch (e) {
//
if (e.message === '401') {
return retry(e);
}
}
return changes;
}

View File

@@ -142,12 +142,16 @@ function openLinksInNewTab(links, should = true) {
function browserName() {
try {
// order of these matters
if (/firefox/i.test(navigator.userAgent)) {
return 'firefox';
}
if (/edge/i.test(navigator.userAgent)) {
return 'edge';
}
if (/edg/i.test(navigator.userAgent)) {
return 'edgium';
}
if (/trident/i.test(navigator.userAgent)) {
return 'ie';
}

1
assets/eye-off.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#8795a1" d="M256.1 144.8c56.2 0 101.9 45.3 101.9 101.1 0 13.1-2.6 25.5-7.3 37l59.5 59c30.8-25.5 55-58.4 69.9-96-35.3-88.7-122.3-151.6-224.2-151.6-28.5 0-55.8 5.1-81.1 14.1l44 43.7c11.6-4.6 24.1-7.3 37.3-7.3zM52.4 89.7l46.5 46.1 9.4 9.3c-33.9 26-60.4 60.8-76.3 100.8 35.2 88.7 122.2 151.6 224.1 151.6 31.6 0 61.7-6.1 89.2-17l8.6 8.5 59.7 59 25.9-25.7L78.2 64 52.4 89.7zM165 201.4l31.6 31.3c-1 4.2-1.6 8.7-1.6 13.1 0 33.5 27.3 60.6 61.1 60.6 4.5 0 9-.6 13.2-1.6l31.6 31.3c-13.6 6.7-28.7 10.7-44.8 10.7-56.2 0-101.9-45.3-101.9-101.1 0-15.8 4.1-30.7 10.8-44.3zm87.8-15.7l64.2 63.7.4-3.2c0-33.5-27.3-60.6-61.1-60.6l-3.5.1z"/></svg>

After

Width:  |  Height:  |  Size: 701 B

1
assets/eye.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#8795a1" d="M256 105c-101.8 0-188.4 62.4-224 151 35.6 88.6 122.2 151 224 151s188.4-62.4 224-151c-35.6-88.6-122.2-151-224-151zm0 251.7c-56 0-101.8-45.3-101.8-100.7S200 155.3 256 155.3 357.8 200.6 357.8 256 312 356.7 256 356.7zm0-161.1c-33.6 0-61.1 27.2-61.1 60.4s27.5 60.4 61.1 60.4 61.1-27.2 61.1-60.4-27.5-60.4-61.1-60.4z"/></svg>

After

Width:  |  Height:  |  Size: 406 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 578.55 185.54"><path d="M503.5 117.21c0 4.92 2.37 8.82 9 8.82 7.8 0 16.11-5.6 16.61-18.31a80.86 80.86 0 0 0-11-1c-7.83-.01-14.61 2.19-14.61 10.49z"/><path d="M0 0v185.54h578.55V0zm163.78 139.93h-32V96.87c0-13.22-4.41-18.31-13.05-18.31-10.51 0-14.75 7.46-14.75 18.14v26.64h10.12v16.61h-32V96.87c0-13.22-4.4-18.31-13.05-18.31-10.51 0-14.75 7.46-14.75 18.14v26.64h14.54v16.61H22.22v-16.61h10.17V80.09h-11V63.48h32.87V75c4.58-8.13 12.55-13.05 23.22-13.05 11 0 21.19 5.26 24.92 16.45 4.24-10.17 12.88-16.45 24.92-16.45 13.73 0 26.28 8.31 26.28 26.45v34.94h10.17zm48.65 1.69c-23.56 0-39.84-14.41-39.84-38.82 0-22.38 13.56-40.86 41-40.86s40.86 18.48 40.86 39.84c.02 24.42-17.61 39.85-42.02 39.85zm121.72-1.69h-66.8l-2.2-11.53 42-48.32h-23.9l-3.39 11.87-15.77-1.69 2.71-26.79H334L335.69 75l-42.4 48.34H318l3.56-11.87 17.29 1.69zm41.36 0h-22.89v-27.46h22.89zm0-49h-22.89V63.48h22.89zm12 49L420.6 23.34h21.53l-33.06 116.59zm44.42 0L465 23.34h21.53l-33.04 116.59zm113.92 1.69c-10.17 0-15.76-5.94-16.78-15.26-4.41 7.8-12.21 15.26-24.58 15.26-11 0-23.56-5.94-23.56-21.87 0-18.82 18.14-23.22 35.6-23.22a100.23 100.23 0 0 1 12.55.68v-2.54c0-7.8-.17-17.12-12.55-17.12-4.58 0-8.14.34-11.7 2.2L502 90.6l-17.46-1.87 3.39-19.83c13.39-5.43 20.17-7 32.72-7 16.45 0 30.35 8.48 30.35 25.94v33.23c0 4.41 1.69 5.94 5.26 5.94a11.5 11.5 0 0 0 3.22-.51l.17 11.53a29.57 29.57 0 0 1-13.77 3.6z"/><path d="M213.27 78.73c-11.19 0-18.14 8.3-18.14 22.72 0 13.22 6.1 23.39 18 23.39 11.36 0 18.82-9.15 18.82-23.73-.03-15.43-8.33-22.38-18.68-22.38z"/></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="logo" viewBox="66 0 340 64">
<path d="M84,48h5.83V35.87H103.3V30.45H89.83V23.51H103.3V18H84Zm23.57,0h5.79V25.81h-5.79Zm2.88-32.12a3.46,3.46,0,0,0-2.59,1,3.62,3.62,0,0,0-1,2.65,3.57,3.57,0,0,0,1,2.59,3.52,3.52,0,0,0,2.61,1,3.46,3.46,0,0,0,3.65-3.26c0-.12,0-.23,0-.35a3.71,3.71,0,0,0-1-2.65,3.5,3.5,0,0,0-2.67-1Zm19.14,9.53a7.22,7.22,0,0,0-3.72.93,5.82,5.82,0,0,0-2.4,2.89V25.81h-5.59V48h5.63V36.29a5.27,5.27,0,0,1,1.31-4,4.94,4.94,0,0,1,3.49-1.21,6.33,6.33,0,0,1,1.73.23,4,4,0,0,1,1.23.55l2-5.59a7.51,7.51,0,0,0-1.66-.61,8.11,8.11,0,0,0-2-.26Zm23.94,3.19a11.15,11.15,0,0,0-3.61-2.37,12.08,12.08,0,0,0-4.6-.86,11.62,11.62,0,0,0-8.3,3.37,11.17,11.17,0,0,0-2.44,3.67,11.59,11.59,0,0,0-.89,4.54,12.24,12.24,0,0,0,.83,4.52,10.52,10.52,0,0,0,2.36,3.66,10.93,10.93,0,0,0,3.71,2.44,12.75,12.75,0,0,0,4.85.88,12.15,12.15,0,0,0,6.12-1.39,13.25,13.25,0,0,0,4.11-3.74L151,40.6a6.23,6.23,0,0,1-2.18,2.15,6.36,6.36,0,0,1-3.33.8,6.7,6.7,0,0,1-4.13-1.25,6,6,0,0,1-2.23-3.43h17.62V36.74a11.71,11.71,0,0,0-.87-4.56,10.5,10.5,0,0,0-2.35-3.59Zm-14.21,5.85a6.38,6.38,0,0,1,2.26-3.12,6.11,6.11,0,0,1,3.74-1.15,6.26,6.26,0,0,1,3.73,1.08,5.56,5.56,0,0,1,2.1,3.19ZM167,16.08a6.05,6.05,0,0,0-2.91,1.54,6.15,6.15,0,0,0-1.56,2.89,18.1,18.1,0,0,0-.48,4.52v.78H158.4v5.1h3.65V48h5.63V30.91H173v-5.1h-5.3V24.75a13.34,13.34,0,0,1,.12-2,2,2,0,0,1,.6-1.19,2.45,2.45,0,0,1,1.33-.57,15.25,15.25,0,0,1,2.34-.15H173V15.63h-1.48A19.06,19.06,0,0,0,167,16.08Zm27.4,12.65a12,12,0,0,0-16.72,0,10.87,10.87,0,0,0-2.46,3.67,11.61,11.61,0,0,0-.89,4.5,11.46,11.46,0,0,0,7.07,10.64,11.73,11.73,0,0,0,4.64.9,12,12,0,0,0,4.66-.9,11.26,11.26,0,0,0,3.72-2.49,11.83,11.83,0,0,0,2.46-3.67,11.31,11.31,0,0,0,.9-4.48A11.43,11.43,0,0,0,194.4,28.73ZM191.7,39.3a5.88,5.88,0,0,1-1.29,2,6.53,6.53,0,0,1-1.93,1.31,6,6,0,0,1-4.76,0,6.34,6.34,0,0,1-1.93-1.31,6.06,6.06,0,0,1-1.3-2,6.48,6.48,0,0,1,0-4.86,5.76,5.76,0,0,1,1.3-2,6.08,6.08,0,0,1,1.93-1.32,6,6,0,0,1,4.76,0,6.37,6.37,0,0,1,1.93,1.32,5.73,5.73,0,0,1,1.29,2A6.39,6.39,0,0,1,191.7,39.3Zm29.47-13.49h-6.65l-4.68,6.57-4.64-6.57h-6.74l7.84,10.8L198,48h6.82l5-6.94L214.89,48h6.86l-8.46-11.34Zm34,7.46a12.88,12.88,0,0,0-3.37-1.44c-1.25-.34-2.46-.63-3.63-.88l-3.08-.7a10.64,10.64,0,0,1-2.51-.86A4.54,4.54,0,0,1,240.87,28a3.61,3.61,0,0,1-.62-2.19,4.8,4.8,0,0,1,1.58-3.7c1.06-1,2.73-1.44,5-1.44a9.84,9.84,0,0,1,5.07,1.17,10.47,10.47,0,0,1,3.39,3.23l2.79-2.18A15.22,15.22,0,0,0,253.45,19a13.8,13.8,0,0,0-6.59-1.44,12.13,12.13,0,0,0-4.14.66A10.33,10.33,0,0,0,239.53,20a7.53,7.53,0,0,0-2.05,2.63,7.41,7.41,0,0,0-.72,3.24,6.7,6.7,0,0,0,.84,3.53,7.06,7.06,0,0,0,2.2,2.22A11.11,11.11,0,0,0,242.86,33c1.13.32,2.29.6,3.47.84l3.26.74a12.63,12.63,0,0,1,2.8,1,5.86,5.86,0,0,1,2,1.56,3.88,3.88,0,0,1,.74,2.42,5.2,5.2,0,0,1-1.81,4.09A7.83,7.83,0,0,1,248,45.2a11,11,0,0,1-9.89-5.38l-3,2.34a15.86,15.86,0,0,0,5.23,4.54,16.06,16.06,0,0,0,7.7,1.7,12.58,12.58,0,0,0,4.38-.72,10.14,10.14,0,0,0,3.3-2,8.79,8.79,0,0,0,2.1-2.85,8.09,8.09,0,0,0,.74-3.39,6.94,6.94,0,0,0-1-3.8,7.71,7.71,0,0,0-2.42-2.37Zm27.51-4.72a10.53,10.53,0,0,0-3.58-2.34,11.89,11.89,0,0,0-4.49-.84,11.6,11.6,0,0,0-4.62.9,11.35,11.35,0,0,0-3.66,2.46A11.84,11.84,0,0,0,263,37a12.21,12.21,0,0,0,.82,4.51,10.53,10.53,0,0,0,2.36,3.64,11.24,11.24,0,0,0,3.7,2.42,12.41,12.41,0,0,0,4.82.88A11.68,11.68,0,0,0,280.82,47,12.84,12.84,0,0,0,285,42.82l-2.88-1.69a7.85,7.85,0,0,1-7.43,4.27,9,9,0,0,1-3.22-.53,8.21,8.21,0,0,1-2.55-1.5,8,8,0,0,1-1.78-2.28,7.79,7.79,0,0,1-.87-2.91h19.59V36.66a11.75,11.75,0,0,0-.86-4.54,10.92,10.92,0,0,0-2.35-3.57ZM266.4,35.22a8.88,8.88,0,0,1,1-2.73,8.55,8.55,0,0,1,1.79-2.18,8,8,0,0,1,2.44-1.43,8.31,8.31,0,0,1,3-.52,7.45,7.45,0,0,1,7.84,6.86ZM308.82,28a8.11,8.11,0,0,0-3-2,10.89,10.89,0,0,0-3.92-.67,9.06,9.06,0,0,0-4.58,1.14,8.76,8.76,0,0,0-3.14,3V25.82h-3.29V48h3.37V35.67a7.92,7.92,0,0,1,.53-2.93,7,7,0,0,1,1.48-2.3,6.46,6.46,0,0,1,2.22-1.5,7,7,0,0,1,2.75-.54,6.33,6.33,0,0,1,5,1.93A7.46,7.46,0,0,1,308,35.51V48h3.41V35.34a12.46,12.46,0,0,0-.66-4.19A8.68,8.68,0,0,0,308.82,28Zm27-12.42v14.1a8.14,8.14,0,0,0-1.58-1.83,10.08,10.08,0,0,0-2-1.36,10.39,10.39,0,0,0-2.3-.84,10.22,10.22,0,0,0-2.4-.28,11.63,11.63,0,0,0-4.4.84,11.09,11.09,0,0,0-3.59,2.38,11.3,11.3,0,0,0-2.42,3.65,12.81,12.81,0,0,0,0,9.32,11.56,11.56,0,0,0,2.4,3.66,10.58,10.58,0,0,0,3.59,2.38,11.77,11.77,0,0,0,4.42.84,9.69,9.69,0,0,0,2.4-.31,11,11,0,0,0,2.3-.86,9.72,9.72,0,0,0,2-1.37,8.75,8.75,0,0,0,1.58-1.85v4h3.33V15.59Zm-.37,24.58a8.3,8.3,0,0,1-10.85,4.47h0a7.68,7.68,0,0,1-2.6-1.76,7.88,7.88,0,0,1-1.73-2.67,8.93,8.93,0,0,1-.62-3.35,8.67,8.67,0,0,1,.62-3.3A8,8,0,0,1,322,30.89a8.17,8.17,0,0,1,2.6-1.79,8.27,8.27,0,0,1,6.51,0,8.64,8.64,0,0,1,2.63,1.81,7.85,7.85,0,0,1,1.72,2.67,8.67,8.67,0,0,1,.62,3.26,8.86,8.86,0,0,1-.65,3.33Z" fill="currentColor"/>
<symbol id="logo">
<path d="m 105.17,33.27 c -1.04895,-0.638175 -2.18377,-1.123082 -3.37,-1.44 -1.25,-0.34 -2.46,-0.63 -3.63,-0.88 l -3.08,-0.7 C 94.22073,30.069182 93.37751,29.78027 92.58,29.39 91.90449,29.074134 91.31719,28.596738 90.87,28 c -0.43741,-0.644047 -0.65489,-1.412243 -0.62,-2.19 -0.0406,-1.405196 0.53693,-2.75754 1.58,-3.7 1.06,-1 2.73,-1.44 5,-1.44 1.76437,-0.07198 3.51559,0.332147 5.07,1.17 1.35935,0.80694 2.51833,1.911219 3.39,3.23 l 2.79,-2.18 c -1.26761,-1.5933 -2.84201,-2.916072 -4.63,-3.89 -2.04373,-1.017745 -4.30804,-1.512526 -6.59,-1.44 -1.40785,-0.02195 -2.80876,0.201387 -4.14,0.66 -1.16063,0.399115 -2.24085,1.001871 -3.19,1.78 -0.8713,0.712445 -1.5718,1.611145 -2.05,2.63 -0.4819,1.011666 -0.72807,2.119452 -0.72,3.24 -0.05,1.231532 0.24064,2.452997 0.84,3.53 0.55827,0.895068 1.31002,1.653654 2.2,2.22 0.94422,0.612326 1.97599,1.077636 3.06,1.38 1.13,0.32 2.29,0.6 3.47,0.84 l 3.26,0.74 c 0.96945,0.22193 1.90929,0.557589 2.8,1 0.77256,0.367753 1.45522,0.900225 2,1.56 0.51019,0.701297 0.77072,1.553301 0.74,2.42 0.0438,1.566414 -0.62122,3.069031 -1.81,4.09 -1.52512,1.147855 -3.41702,1.699065 -5.32,1.55 -4.03416,0.15747 -7.83041,-1.90763 -9.89,-5.38 l -3,2.34 c 1.3876,1.880136 3.1735,3.430427 5.23,4.54 2.3855,1.197767 5.03194,1.782045 7.7,1.7 1.49114,0.02151 2.97422,-0.222285 4.38,-0.72 1.21788,-0.44929 2.33816,-1.128248 3.3,-2 0.88604,-0.797749 1.60053,-1.767412 2.1,-2.85 0.48895,-1.06318 0.74142,-2.219779 0.74,-3.39 0.0397,-1.336553 -0.30755,-2.656119 -1,-3.8 -0.62101,-0.95962 -1.44763,-1.769154 -2.42,-2.37 z m 27.51,-4.72 c -1.0207,-1.016684 -2.23916,-1.813109 -3.58,-2.34 -1.42831,-0.567565 -2.95311,-0.852828 -4.49,-0.84 -1.58532,-0.01887 -3.15769,0.287432 -4.62,0.9 -1.3691,0.572827 -2.61257,1.408599 -3.66,2.46 -2.1451,2.217513 -3.33989,5.184759 -3.33,8.27 -0.0138,1.54162 0.26439,3.071916 0.82,4.51 0.5255,1.363982 1.32922,2.603618 2.36,3.64 1.06096,1.043663 2.31862,1.866239 3.7,2.42 1.53222,0.610739 3.17082,0.909903 4.82,0.88 2.13421,0.08534 4.25095,-0.416179 6.12,-1.45 1.69947,-1.049265 3.13073,-2.480527 4.18,-4.18 l -2.88,-1.69 c -1.41279,2.768876 -4.32635,4.443291 -7.43,4.27 -1.09666,0.02103 -2.18793,-0.158593 -3.22,-0.53 -0.93382,-0.341463 -1.79784,-0.849713 -2.55,-1.5 -0.72694,-0.645531 -1.33013,-1.418157 -1.78,-2.28 -0.47812,-0.903522 -0.77374,-1.892313 -0.87,-2.91 h 19.59 v -1.52 c 0.0166,-1.555338 -0.27566,-3.098506 -0.86,-4.54 -0.54053,-1.333176 -1.33916,-2.54641 -2.35,-3.57 z m -16.28,6.67 c 0.18109,-0.958759 0.51895,-1.881119 1,-2.73 0.47186,-0.820757 1.07675,-1.557447 1.79,-2.18 0.72195,-0.61779 1.5482,-1.102022 2.44,-1.43 0.95944,-0.356614 1.97651,-0.532906 3,-0.52 4.04346,-0.224227 7.5255,2.82256 7.84,6.86 z M 158.82,28 c -0.83726,-0.883328 -1.8626,-1.566885 -3,-2 -1.25447,-0.462049 -2.58329,-0.689169 -3.92,-0.67 -1.60057,-0.03131 -3.18086,0.362037 -4.58,1.14 -1.28188,0.720594 -2.36173,1.752297 -3.14,3 v -3.65 h -3.29 V 48 h 3.37 V 35.67 c -0.0102,-1.001391 0.16968,-1.995625 0.53,-2.93 0.3373,-0.856524 0.84023,-1.638106 1.48,-2.3 0.62704,-0.649648 1.38331,-1.160636 2.22,-1.5 0.87089,-0.363534 1.8063,-0.547214 2.75,-0.54 1.87023,-0.128793 3.70135,0.578019 5,1.93 1.22147,1.441484 1.85048,3.292756 1.76,5.18 V 48 h 3.41 V 35.34 c 0.0211,-1.424123 -0.20214,-2.84132 -0.66,-4.19 -0.40985,-1.176324 -1.06809,-2.250653 -1.93,-3.15 z m 27,-12.42 v 14.1 c -0.43264,-0.685249 -0.96517,-1.302051 -1.58,-1.83 -0.60967,-0.53196 -1.28117,-0.98858 -2,-1.36 -0.73088,-0.369676 -1.5029,-0.651634 -2.3,-0.84 -0.78611,-0.187908 -1.59174,-0.281898 -2.4,-0.28 -1.50724,-0.0078 -3.00162,0.277523 -4.4,0.84 -1.34071,0.551089 -2.56038,1.35967 -3.59,2.38 -1.03697,1.047216 -1.85907,2.287165 -2.42,3.65 -1.17023,2.996466 -1.17023,6.323534 0,9.32 0.55964,1.361695 1.37424,2.603955 2.4,3.66 1.02081,1.031107 2.2428,1.841226 3.59,2.38 1.40561,0.561607 2.90636,0.846817 4.42,0.84 0.80981,-0.0026 1.6161,-0.106786 2.4,-0.31 0.79636,-0.199929 1.56783,-0.488392 2.3,-0.86 0.72123,-0.371416 1.39312,-0.831661 2,-1.37 0.61025,-0.540083 1.14205,-1.162767 1.58,-1.85 v 4 h 3.33 V 15.59 Z m -0.37,24.58 c -1.76276,4.229524 -6.6195,6.23041 -10.85,4.47 v 0 c -0.97862,-0.401365 -1.86378,-1.000551 -2.6,-1.76 -0.7522,-0.76312 -1.34086,-1.671634 -1.73,-2.67 -0.41974,-1.066531 -0.63023,-2.203893 -0.62,-3.35 -0.0103,-1.129892 0.20027,-2.250911 0.62,-3.3 0.39328,-0.993283 0.98151,-1.897738 1.73,-2.66 0.74207,-0.76001 1.62521,-1.368023 2.6,-1.79 2.07874,-0.890012 4.43126,-0.890012 6.51,0 0.98149,0.434716 1.87338,1.048526 2.63,1.81 0.74927,0.763509 1.33458,1.672102 1.72,2.67 0.41464,1.036611 0.62516,2.14355 0.62,3.26 -1.3e-4,1.141508 -0.22084,2.272237 -0.65,3.33 z" fill="currentColor"/>
</symbol>
<use xlink:href="#logo"/>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -2,4 +2,5 @@ last 2 chrome versions
last 2 firefox versions
last 2 safari versions
last 2 edge versions
edge 18
firefox esr

View File

@@ -20,7 +20,7 @@ class AndroidIndexPlugin {
const page = html`
<html lang="en-US">
<head>
<title>Firefox Send</title>
<title>Send</title>
<meta charset="utf-8" />
<meta
name="viewport"

View File

@@ -7,7 +7,7 @@
Adapted from [this spreadsheet](https://airtable.com/shrkcBPOLkvNFOrpp)
- [ ] It should look and feel of an Android App
- [ ] It should look and feel like the Firefox Send Web Client
- [ ] It should look and feel like the Send Web Client
### Main Screen
- [ ] It should clearly Indicate the name of the product
@@ -59,7 +59,7 @@ Adapted from [this spreadsheet](https://airtable.com/shrkcBPOLkvNFOrpp)
- [ ] It should allow users to opt into notifications when their link is downloaded
## Annotations on Mobile Spec
This document tracks differences between the UX spec for Firefox Send and the intended MVP.
This document tracks differences between the UX spec for Send and the intended MVP.
[Spec Link](https://mozilla.invisionapp.com/share/GNN6KKOQ5XS)

View File

@@ -1,5 +1,5 @@
## Requirements
This document describes how to do a full deployment of Firefox Send on your own Linux server. You will need:
This document describes how to do a full deployment of Send on your own Linux server. You will need:
* A working (and ideally somewhat recent) installation of NodeJS and NPM
* GIT
@@ -12,14 +12,14 @@ For Debian/Ubuntu systems this probably just means something like this:
## Building
* We assume an already configured virtual-host on your webserver with an existing empty htdocs folder
* First, remove that htdocs folder - we will replace it with Firefox Send's version now
* First, remove that htdocs folder - we will replace it with Send's version now
* git clone https://github.com/mozilla/send.git htdocs
* Make now sure you are NOT root but rather the user your webserver is serving files under (e.g. "su www-data" or whoever the owner of your htdocs folder is)
* npm install
* npm run build
## Running
To have a permanently running version of Firefox Send as a background process:
To have a permanently running version of Send as a background process:
* Create a file "run.sh" with:
```
@@ -29,11 +29,11 @@ nohup su www-data -c "npm run prod" 2>/dev/null &
* chmod +x run.sh
* ./run.sh
Now the Firefox Send backend should be running on port 1443. You can check with:
Now the Send backend should be running on port 1443. You can check with:
* telnet localhost 1443
## Reverse Proxy
Of course, we don't want to expose the service on port 1443. Instead we want our normal webserver to forward all requests to Firefox send ("Reverse proxy").
Of course, we don't want to expose the service on port 1443. Instead we want our normal webserver to forward all requests to Send ("Reverse proxy").
# Apache webserver

View File

@@ -1,6 +1,12 @@
## Setup
Run `docker build -t send:latest .` to create an image or `docker-compose up` to run a full testable stack. *We don't recommend using docker-compose for production.*
Use `registry.gitlab.com/timvisee/send:latest` from [`timvisee/send`'s registry](https://gitlab.com/timvisee/send/container_registry) for the latest Docker image.
```bash
docker pull registry.gitlab.com/timvisee/send:latest
```
Or run `docker build -t send:latest .` to create an image locally or `docker-compose up` to run a full testable stack. *We don't recommend using docker-compose for production.*
## Environment variables:
@@ -24,5 +30,5 @@ $ docker run --net=host -e 'NODE_ENV=production' \
-e 'SENTRY_CLIENT=https://51e23d7263e348a7a3b90a5357c61cb2@sentry.prod.mozaws.net/168' \
-e 'SENTRY_DSN=https://51e23d7263e348a7a3b90a5357c61cb2:65e23d7263e348a7a3b90a5357c61c44@sentry.prod.mozaws.net/168' \
-e 'BASE_URL=https://send.firefox.com' \
mozilla/send:latest
registry.gitlab.com/timvisee/send:latest
```

View File

@@ -1,6 +1,6 @@
# File Encryption
Send use 128-bit AES-GCM encryption via the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) to encrypt files in the browser before uploading them to the server. The code is in [app/keychain.js](../app/keychain.js).
Send uses 128-bit AES-GCM encryption via the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) to encrypt files in the browser before uploading them to the server. The code is in [app/keychain.js](../app/keychain.js).
## Steps

View File

@@ -1,4 +1,4 @@
## How big of a file can I transfer with Firefox Send?
## How big of a file can I transfer with Send?
There is a 2.5GB file size limit built in to Send(1GB for non-signed in users), however, in practice you may
be unable to send files that large. Send encrypts and decrypts the files in
@@ -17,9 +17,9 @@ Many browsers support this standard and should work fine, but some have not
implemented it yet (mobile browsers lag behind on this, in
particular).
## Why does Firefox Send require JavaScript?
## Why does Send require JavaScript?
Firefox Send uses JavaScript to:
Send uses JavaScript to:
- Encrypt and decrypt files locally on the client instead of the server.
- Render the user interface.

View File

@@ -2,7 +2,7 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Firefox Send</title>
<title>Send</title>
<link href="index.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
</head>
@@ -14,4 +14,4 @@
<script src="ios.js"></script>
</body>
</html>

5005
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,13 @@
{
"name": "firefox-send",
"name": "send",
"description": "File Sharing Experiment",
"version": "3.0.22",
"version": "3.3.0",
"author": "Mozilla (https://mozilla.org)",
"repository": "mozilla/send",
"homepage": "https://github.com/mozilla/send/",
"contributors": [
"Tim Visee <3a4fb3964f@sinenomine.email> (https://timvisee.com)"
],
"repository": "gitlab:timvisee/send",
"homepage": "https://gitlab.com/timvisee/send/",
"license": "MPL-2.0",
"private": true,
"scripts": {
@@ -61,41 +64,41 @@
"node": "^12.16.3"
},
"devDependencies": {
"@babel/core": "^7.7.2",
"@babel/plugin-proposal-class-properties": "^7.7.0",
"@babel/core": "^7.12.3",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "^7.7.1",
"@babel/preset-env": "^7.12.1",
"@dannycoates/webcrypto-liner": "^0.1.37",
"@fullhuman/postcss-purgecss": "^1.3.0",
"@mattiasbuelens/web-streams-polyfill": "0.2.1",
"@sentry/browser": "^5.8.0",
"@sentry/browser": "^5.26.0",
"asmcrypto.js": "^0.22.0",
"babel-loader": "^8.0.6",
"babel-plugin-istanbul": "^5.2.0",
"base64-js": "^1.3.1",
"content-disposition": "^0.5.3",
"copy-webpack-plugin": "^5.0.5",
"copy-webpack-plugin": "^5.1.2",
"core-js": "^3.4.0",
"crc": "^3.8.0",
"cross-env": "^6.0.3",
"css-loader": "^3.2.0",
"css-loader": "^3.6.0",
"css-mqpacker": "^7.0.0",
"cssnano": "^4.1.10",
"eslint": "^6.6.0",
"eslint-config-prettier": "^6.5.0",
"eslint-config-prettier": "^6.13.0",
"eslint-plugin-mocha": "^6.2.1",
"eslint-plugin-node": "^10.0.0",
"eslint-plugin-security": "^1.4.0",
"expose-loader": "^0.7.5",
"extract-loader": "^3.1.0",
"extract-loader": "^3.2.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fast-text-encoding": "^1.0.0",
"fast-text-encoding": "^1.0.3",
"file-loader": "^4.2.0",
"git-rev-sync": "^1.12.0",
"html-loader": "^0.5.5",
"http_ece": "^1.1.0",
"husky": "^3.0.9",
"intl-pluralrules": "^1.1.1",
"intl-pluralrules": "^1.2.2",
"lint-staged": "^9.4.2",
"mocha": "^6.2.2",
"morgan": "^1.9.1",
@@ -120,12 +123,12 @@
"stylelint-no-unsupported-browser-features": "^3.0.2",
"svgo": "^1.3.2",
"svgo-loader": "^2.2.1",
"tailwindcss": "^1.1.3",
"tailwindcss": "^1.9.4",
"val-loader": "^1.1.1",
"webpack": "4.38.0",
"webpack-cli": "^3.3.10",
"webpack-cli": "^3.3.12",
"webpack-dev-middleware": "^3.7.2",
"webpack-dev-server": "^3.9.0",
"webpack-dev-server": "^3.11.0",
"webpack-manifest-plugin": "^2.2.0",
"webpack-unassert-loader": "^1.2.0"
},
@@ -133,23 +136,22 @@
"@dannycoates/express-ws": "^5.0.3",
"@fluent/bundle": "^0.13.0",
"@fluent/langneg": "^0.3.0",
"@google-cloud/storage": "^4.1.1",
"@sentry/node": "^5.8.0",
"aws-sdk": "^2.568.0",
"@google-cloud/storage": "^5.1.2",
"@sentry/node": "^5.26.0",
"aws-sdk": "^2.773.0",
"body-parser": "^1.19.0",
"choo": "^7.0.0",
"cldr-core": "^35.1.0",
"configstore": "github:dannycoates/configstore#master",
"convict": "^5.2.0",
"express": "^4.17.1",
"fxa-geodb": "^1.0.4",
"helmet": "^3.21.2",
"helmet": "^3.23.3",
"mkdirp": "^0.5.1",
"mozlog": "^2.2.0",
"node-fetch": "^2.6.0",
"node-fetch": "^2.6.1",
"redis": "^2.8.0",
"selenium-standalone": "^6.15.6",
"ua-parser-js": "^0.7.20"
"selenium-standalone": "^6.20.1",
"ua-parser-js": "^0.7.22"
},
"availableLanguages": [
"en-US",

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Comentarios
title = Send
importingFile = Se ye importando…
encryptingFile = Se ye cifrando…
decryptingFile = Se ye descifrando…
@@ -20,13 +18,13 @@ unlockButtonLabel = Desblocar
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Preba Firefox Send
sendYourFilesLink = Preba Send
errorPageHeader = I ha habiu bell problema!
fileTooBig = Ixe fichero ye masiau gran pa cargar-lo. Ha de tener menos de { $size }
linkExpiredAlt = Lo vinclo ye caducau
notSupportedHeader = Lo suyo navegador no ye compatible
notSupportedLink = Per qué no ye compatible lo mío navegador?
notSupportedOutdatedDetail = Esta versión de Firefox no admite la tecnolochía web con que funciona lo Firefox Send. Habrás d'esviellar lo navegador.
notSupportedOutdatedDetail = Esta versión de Firefox no admite la tecnolochía web con que funciona lo Send. Habrás d'esviellar lo navegador.
updateFirefox = Esviellar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Borrar
@@ -34,8 +32,8 @@ footerLinkLegal = Aviso legal
footerLinkPrivacy = Privacidat
footerLinkCookies = Cookies
passwordTryAgain = La contrasenya ye incorrecta. Torne-lo a intentar.
javascriptRequired = Firefox Send necesita JavaScript
whyJavascript = Per qué Firefox Send necesita JavaScript?
javascriptRequired = Send necesita JavaScript
whyJavascript = Per qué Send necesita JavaScript?
enableJavascript = Activa JavaScript y torna-lo a intentar.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } min
@@ -48,8 +46,7 @@ passwordSetError = No s'ha puesto definir la clau
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = فَيَرفُكس سِنْد
siteFeedback = الانطباعات
importingFile = يستورد…
encryptingFile = يعمّي…
decryptingFile = يفك التعمية…
@@ -56,8 +54,7 @@ passwordSetError = يجب ألا تُضبط كلمة السر هذه
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Comentarios
title = Send
importingFile = Importando...
encryptingFile = Cifrando...
decryptingFile = Descifrando...
@@ -20,13 +18,13 @@ unlockButtonLabel = Desbloquiar
downloadButtonLabel = Baxar
downloadFinish = Completóse la descarga
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Probar Firefox Send
sendYourFilesLink = Probar Send
errorPageHeader = ¡Asocedió daqué malo!
fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }.
linkExpiredAlt = Caducó l'enllaz
notSupportedHeader = El to restolador nun ta sofitáu.
notSupportedLink = ¿Por qué'l mio restolador nun ta sofitáu?
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar el restolador.
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Send. Vas precisar anovar el restolador.
updateFirefox = Anovar Firefox
deletePopupCancel = Encaboxar
deleteButtonHover = Desaniciar
@@ -34,8 +32,8 @@ footerLinkLegal = Llegal
footerLinkPrivacy = Privacidá
footerLinkCookies = Cookies
passwordTryAgain = La contraseña ye incorreuta. Volvi tentalo.
javascriptRequired = Firefox Send rique JavaScript
whyJavascript = ¿Por qué Firefox Send rique JavaScript?
javascriptRequired = Send rique JavaScript
whyJavascript = ¿Por qué Send rique JavaScript?
enableJavascript = Activa JavaScript y volvi tentalo, por favor.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Nun pudo afitase esta contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
@@ -109,7 +106,7 @@ tooManyArchives =
*[other] Namái se permiten { $count } archivos
}
expiredTitle = Esti enllaz caducó.
notSupportedDescription = { -send-brand } nun va funcionar con esti restolador. { -send-short-brand } funciona meyor cola versión última de { -firefox } y cola versión actual de la mayoría de restoladores.
notSupportedDescription = { -send-brand } nun va funcionar con esti restolador. { -send-short-brand } funciona meyor cola última versión de { -firefox } y l'actual de la mayoría de restoladores.
downloadFirefox = Baxar { -firefox }
legalTitle = Avisu de privacidá de { -send-short-brand }
legalDateStamp = Versión 1.0, con data del 12 de marzu de 2019
@@ -133,8 +130,8 @@ accountBenefitLargeFiles = Comparti ficheros d'hasta { $size }
accountBenefitDownloadCount = Comparti ficheros con más xente
accountBenefitTimeLimit =
{ $count ->
[one] Caltén activos los enllaces demientres 1 día
*[other] Caltén activos los enllaces demientres { $count } díes
[one] Caltién activos los enllaces demientres 1 día
*[other] Caltién activos los enllaces demientres { $count } díes
}
accountBenefitSync = Xestiona los ficheros compartíos dende cualesquier preséu
accountBenefitMoz = Deprendi más tocante a otros servicios de { -mozilla }

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Geri dönüş
title = Send
importingFile = İdxal edilir…
encryptingFile = Şifrələnir...
decryptingFile = Şifrə açılır...
@@ -20,13 +18,13 @@ unlockButtonLabel = Aç
downloadButtonLabel = Endir
downloadFinish = Endirmə Tamamlandı
fileSizeProgress = ({ $partialSize } / { $totalSize })
sendYourFilesLink = Firefox Send Yoxla
sendYourFilesLink = Send Yoxla
errorPageHeader = Nəsə səhv getdi!
fileTooBig = Fayl yükləmək üçün çox böyükdür. Fayl { $size }-dan az olmalıdır.
linkExpiredAlt = Keçidin vaxtı çıxıb
notSupportedHeader = Səyyahınız dəstəklənmir.
notSupportedLink = Səyyahım niyə dəstəklənmir?
notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz.
notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz.
updateFirefox = Firefox-u Yenilə
deletePopupCancel = Ləğv et
deleteButtonHover = Sil
@@ -34,8 +32,8 @@ footerLinkLegal = Hüquqi
footerLinkPrivacy = Məxfilik
footerLinkCookies = Çərəzlər
passwordTryAgain = Səhv parol. Təkrar yoxlayın.
javascriptRequired = Firefox Send üçün JavaScript lazımdır
whyJavascript = Firefox Send niyə JavaScript tələb edir?
javascriptRequired = Send üçün JavaScript lazımdır
whyJavascript = Send niyə JavaScript tələb edir?
enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } saat { $minutes } dəq
@@ -48,8 +46,7 @@ passwordSetError = Parol qurula bilmədi
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Nikan uelis tikijkuilos tein tiknemilijtos
title = Send
importingFile = Mokalakijtok…
encryptingFile = Motatijtok…
decryptingFile = Kichiujtok se uelis kiixtajtoltis ya…
@@ -18,13 +16,13 @@ unlockButtonLabel = Xikajchiua tein amo kikaua maj tekiti
downloadButtonLabel = Xiktemoui
downloadFinish = Nochi motemouij ya
fileSizeProgress = ({ $partialSize } itech { $totalSize })
sendYourFilesLink = Xikejeko Firefox Send
sendYourFilesLink = Xikejeko Send
errorPageHeader = ¡Tensa amo kuali kisak!
fileTooBig = Nejin tajkuilol semi ueyi. Moneki amo panos { $size }
linkExpiredAlt = Nejin tein tikpatskilij amo tekititok ya
notSupportedHeader = Monavegador amo kualtia.
notSupportedLink = ¿Keyej nonavegador amo kualtia?
notSupportedOutdatedDetail = Tetayokoltij, Firefox tein tikuitok amo kiselia tepostekitilis tecnología web tein ika tekiti Firefox Send. Moneki tikyankuilis monavegador.
notSupportedOutdatedDetail = Tetayokoltij, Firefox tein tikuitok amo kiselia tepostekitilis tecnología web tein ika tekiti Send. Moneki tikyankuilis monavegador.
updateFirefox = Maj Firefox moyankuili
deletePopupCancel = Maj motsakuili uan amo tami tein kichiujtok
deleteButtonHover = Maj majchiua
@@ -32,8 +30,8 @@ footerLinkLegal = Keniuj motekitiltis
footerLinkPrivacy = Keniuj tikyekpiaj tein tikseliaj
footerLinkCookies = Cookies
passwordTryAgain = Amo yektik ichtakatajtol. Oksepa xikijkuilo.
javascriptRequired = Firefox Send kineki maj moajsi JavaScript
whyJavascript = ¿Keyej Firefox Send kineki maj moajsi JavaScript?
javascriptRequired = Send kineki maj moajsi JavaScript
whyJavascript = ¿Keyej Send kineki maj moajsi JavaScript?
enableJavascript = Se kualtakayot, xikaua maj peua tekiti JavaScript uan oksepa xikejeko.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -46,8 +44,7 @@ passwordSetError = Nejin ichtakatajtol amo uel kiixtaliani
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Xiktitani
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Водгук
title = Send
importingFile = Імпартаванне...
encryptingFile = Зашыфроўка...
decryptingFile = Расшыфроўка...
@@ -22,13 +20,13 @@ unlockButtonLabel = Разблакаваць
downloadButtonLabel = Сцягнуць
downloadFinish = Сцягванне скончана
fileSizeProgress = ({ $partialSize } з { $totalSize })
sendYourFilesLink = Паспрабуйце Firefox Send
sendYourFilesLink = Паспрабуйце Send
errorPageHeader = Нешта пайшло не так!
fileTooBig = Гэты файл надта вялікі. Ён мусіць быць меншым за { $size }
linkExpiredAlt = Тэрмін дзеяння спасылкі сышоў
notSupportedHeader = Ваш браўзер не падтрымліваецца.
notSupportedLink = Чаму мой браўзер не падтрымліваецца?
notSupportedOutdatedDetail = На жаль, гэтая версія Firefox не падтрымлівае вэб-тэхналогію, што забяспечвае працу Firefox Send. Вам трэба абнавіць свой браўзер.
notSupportedOutdatedDetail = На жаль, гэтая версія Firefox не падтрымлівае вэб-тэхналогію, што забяспечвае працу Send. Вам трэба абнавіць свой браўзер.
updateFirefox = Абнавіць Firefox
deletePopupCancel = Скасаваць
deleteButtonHover = Выдаліць
@@ -36,8 +34,8 @@ footerLinkLegal = Прававыя звесткі
footerLinkPrivacy = Прыватнасць
footerLinkCookies = Кукі
passwordTryAgain = Некарэктны пароль. Паспрабуйце зноў.
javascriptRequired = Для Firefox Send неабходны JavaScript
whyJavascript = Чаму для Firefox Send неабходны JavaScript?
javascriptRequired = Для Send неабходны JavaScript
whyJavascript = Чаму для Send неабходны JavaScript?
enableJavascript = Калі ласка, уключыце JavaScript і паспрабуйце зноў.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } г. { $minutes } хв.
@@ -50,8 +48,7 @@ passwordSetError = Гэты пароль немагчыма паставіць
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = প্রতিক্রিয়া
title = Send
importingFile = ইম্পোর্ট হচ্ছে...
encryptingFile = ইনক্রিপট হচ্ছে...
decryptingFile = ডিক্রিপট হচ্ছে...
@@ -20,13 +18,13 @@ unlockButtonLabel = আনলক করুন
downloadButtonLabel = ডাউনলোড
downloadFinish = ডাউনলোড সম্পন্ন
fileSizeProgress = ({ $totalSize } এর { $partialSize })
sendYourFilesLink = Firefox Send পরখ করে দেখুন
sendYourFilesLink = Send পরখ করে দেখুন
errorPageHeader = কোন সমস্যা হয়েছে!
fileTooBig = ফাইলটি আপলোড করার জন্যে খুব বড়। এটি { $size } এর চেয়ে কম হওয়া উচিত।
linkExpiredAlt = লিঙ্ক মেয়াদউত্তীর্ণ হয়েছে
notSupportedHeader = আপনার ব্রাউজার সমর্থিত নয়।
notSupportedLink = আমার ব্রাউজার কেন সমর্থিত নয়?
notSupportedOutdatedDetail = দুর্ভাগ্যবশত Firefox এই সংস্করণটি ওয়েব প্রযুক্তিকে সমর্থন করে না যা Firefox Send কে সমর্থন করে। আপনাকে আপনার ব্রাউজারটি আপডেট করতে হবে।
notSupportedOutdatedDetail = দুর্ভাগ্যবশত Firefox এই সংস্করণটি ওয়েব প্রযুক্তিকে সমর্থন করে না যা Send কে সমর্থন করে। আপনাকে আপনার ব্রাউজারটি আপডেট করতে হবে।
updateFirefox = Firefox হালনাগাদ করুন
deletePopupCancel = বাতিল
deleteButtonHover = মুছে ফেলুন
@@ -34,8 +32,8 @@ footerLinkLegal = আইনগত
footerLinkPrivacy = গোপনীয়তা
footerLinkCookies = কুকি
passwordTryAgain = ভুল পাসওয়ার্ড। আবার চেষ্টা করুন।
javascriptRequired = Firefox Send এর জাভাস্ক্রিপ্ট প্রয়োজন।
whyJavascript = কেন Firefox Send এর জাভাস্ক্রিপ্ট প্রয়োজন?
javascriptRequired = Send এর জাভাস্ক্রিপ্ট প্রয়োজন।
whyJavascript = কেন Send এর জাভাস্ক্রিপ্ট প্রয়োজন?
enableJavascript = জাভাস্ক্রিপ্ট সক্রিয় করুন এবং আবার চেষ্টা করুন।
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ঘ { $minutes }মি
@@ -48,8 +46,7 @@ passwordSetError = এই পাসওয়ার্ড সেট করা য
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = প্রেরণ
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Roit hoc'h ali
title = Send
importingFile = Oc'h enporzhiañ …
encryptingFile = Oc'h enrinegañ..
decryptingFile = Oc'h ezrinegañ...
@@ -26,13 +24,13 @@ unlockButtonLabel = Dibrennañ
downloadButtonLabel = Pellgargañ
downloadFinish = Pellgargadur echu
fileSizeProgress = ({ $partialSize } war { $totalSize })
sendYourFilesLink = Esaeit Firefox Send
sendYourFilesLink = Esaeit Send
errorPageHeader = Degouezhet ez eus bet ur fazi!
fileTooBig = Re vras eo ar restr-mañ evit e pellgas. Rankout a ra bezañ nebeutoc'h eget { $size }
linkExpiredAlt = Ere diamzeret
notSupportedHeader = N'eo ket skoret ho merdeer.
notSupportedLink = Perak n'eo ket skoret ma merdeer?
notSupportedOutdatedDetail = Siwazh n'eo ket skoret ar c'halvezerezhioù implijet evit Firefox Send gant an handelv-mañ eus Firefox. Ret e vo deoc'h hizivaat ho merdeer.
notSupportedOutdatedDetail = Siwazh n'eo ket skoret ar c'halvezerezhioù implijet evit Send gant an handelv-mañ eus Firefox. Ret e vo deoc'h hizivaat ho merdeer.
updateFirefox = Hizivaat Firefox
deletePopupCancel = Nullañ
deleteButtonHover = Dilemel
@@ -40,8 +38,8 @@ footerLinkLegal = Lezennel
footerLinkPrivacy = Buhez prevez
footerLinkCookies = Toupinoù
passwordTryAgain = Ger-tremen direizh. Klaskit en-dro.
javascriptRequired = Firefox Send a azgoulenn Javascript
whyJavascript = Perak e azgoulenn Firefox Send Javascript?
javascriptRequired = Send a azgoulenn Javascript
whyJavascript = Perak e azgoulenn Send Javascript?
enableJavascript = Gweredekait Javascript ha klaskit en-dro.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }e { $minutes }m
@@ -54,8 +52,7 @@ passwordSetError = N'haller ket despizañ ar ger-tremen
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,7 +1,5 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
title = Send
siteSubtitle = web eksperiment
siteFeedback = Povratne informacije
uploadPageHeader = Privatno, šifrovano dijeljenje datoteka
uploadPageExplainer = Pošaljite datoteke putem sigurne, privatne i šifrovane veze koja automatski ističe kako bi se osiguralo da vaše stvari ne ostaju na mreži zauvijek.
uploadPageLearnMore = Saznajte više
@@ -57,16 +55,14 @@ unlockInputLabel = Unesite lozinku
unlockInputPlaceholder = Lozinka
unlockButtonLabel = Otključaj
downloadFileTitle = Preuzmi šifrovanu datoteku
# Firefox Send is a brand name and should not be localized.
downloadMessage = Vaš prijatelj vam je poslao datoteku preko usluge Firefox Send koja vam omogućava da dijelite datoteke preko sigurne, privatne i šifrovane veze koja samostalno ističe da vaše stvari ne ostanu zauvijek na internetu.
downloadMessage = Vaš prijatelj vam je poslao datoteku preko usluge Send koja vam omogućava da dijelite datoteke preko sigurne, privatne i šifrovane veze koja samostalno ističe da vaše stvari ne ostanu zauvijek na internetu.
# Text and title used on the download link/button (indicates an action).
downloadButtonLabel = Preuzmi
downloadNotification = Vaše preuzimanje je završeno.
downloadFinish = Preuzimanje završeno
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } od { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Probajte Firefox Send
sendYourFilesLink = Probajte Send
downloadingPageProgress = Preuzimanje { $filename } ({ $size })
downloadingPageMessage = Ostavite ovaj tab otvorenim dok ne dobavimo vašu datoteku i dok je ne dešifrujemo.
errorAltText = Greška pri otpremanju
@@ -77,10 +73,9 @@ fileTooBig = Ta datoteka je prevelika za otpremanje. Treba biti manja od { $size
linkExpiredAlt = Veza istekla
expiredPageHeader = Veza je istekla ili nikad nije postojala!
notSupportedHeader = Vaš pretraživač nije podržan.
# Firefox Send is a brand name and should not be localized.
notSupportedDetail = Ovaj pretraživač nažalost ne podržava web tehnologiju koja omogućava Firefox Send. Trebate probati drugi pretraživač. Preporučujemo Firefox!
notSupportedDetail = Ovaj pretraživač nažalost ne podržava web tehnologiju koja omogućava Send. Trebate probati drugi pretraživač. Preporučujemo Firefox!
notSupportedLink = Zašto moj pretraživač nije podržan?
notSupportedOutdatedDetail = Nažalost ova verzija Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morate ažurirati vaš pretraživač.
notSupportedOutdatedDetail = Nažalost ova verzija Firefoxa ne podržava web tehnologiju koja omogućava Send. Morate ažurirati vaš pretraživač.
updateFirefox = Ažuriraj Firefox
downloadFirefoxButtonSub = Besplatno preuzimanje
uploadedFile = Datoteka
@@ -90,8 +85,8 @@ expiryFileList = Ističe za
deleteFileList = Izbriši
nevermindButton = Zanemari
legalHeader = Uslovi i privatnost
legalNoticeTestPilot = Firefox Send je trenutno Test Pilot eksperiment i podržan je <a>uslovima korištenja</a> i <a>obavještenjem o privatnosti</a>. Možete saznati više o ovom eksperimentu i o njegovom sakupljanju podataka <a>ovdje</a>.
legalNoticeMozilla = Korištenje Firefox Send web stranice podlaže Mozillinom <a>obavještenju o privatnosti na web stranicama</a> i <a>uslovima korištenja web stranica</a>.
legalNoticeTestPilot = Send je trenutno Test Pilot eksperiment i podržan je <a>uslovima korištenja</a> i <a>obavještenjem o privatnosti</a>. Možete saznati više o ovom eksperimentu i o njegovom sakupljanju podataka <a>ovdje</a>.
legalNoticeMozilla = Korištenje Send web stranice podlaže Mozillinom <a>obavještenju o privatnosti na web stranicama</a> i <a>uslovima korištenja web stranica</a>.
deletePopupText = Izbrisati ovu datoteku?
deletePopupYes = Da
deletePopupCancel = Otkaži
@@ -108,8 +103,8 @@ addPasswordButton = Dodaj lozinku
changePasswordButton = Promijeni
passwordTryAgain = Netačna lozinka. Pokušajte ponovo.
reportIPInfringement = Prijavite IP prekršaj
javascriptRequired = Firefox Send zahtjeva JavaScript
whyJavascript = Zašto Firefox Send zahtjeva JavaScript?
javascriptRequired = Send zahtjeva JavaScript
whyJavascript = Zašto Send zahtjeva JavaScript?
enableJavascript = Molimo omogućite JavaScript i pokušajte ponovo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Comentaris
title = Send
importingFile = S'està important…
encryptingFile = S'està xifrant…
decryptingFile = S'està desxifrant…
@@ -20,13 +18,13 @@ unlockButtonLabel = Desbloca
downloadButtonLabel = Baixa
downloadFinish = Ha acabat la baixada
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Proveu el Firefox Send
sendYourFilesLink = Proveu el Send
errorPageHeader = Hi ha hagut un problema
fileTooBig = Aquest fitxer és massa gros per pujar-lo. Ha de tenir menys de { $size }.
linkExpiredAlt = L'enllaç ha caducat
notSupportedHeader = El vostre navegador no és compatible.
notSupportedLink = Per què el meu navegador no és compatible?
notSupportedOutdatedDetail = Aquesta versió del Firefox no admet la tecnologia web amb què funciona el Firefox Send. Haureu d'actualitzar el navegador.
notSupportedOutdatedDetail = Aquesta versió del Firefox no admet la tecnologia web amb què funciona el Send. Haureu d'actualitzar el navegador.
updateFirefox = Actualitza el Firefox
deletePopupCancel = Cancel·la
deleteButtonHover = Suprimeix
@@ -34,8 +32,8 @@ footerLinkLegal = Avís legal
footerLinkPrivacy = Privadesa
footerLinkCookies = Galetes
passwordTryAgain = La contrasenya és incorrecta. Torneu-ho a provar.
javascriptRequired = El Firefox Send necessita JavaScript
whyJavascript = Per què el Firefox Send necessita JavaScript?
javascriptRequired = El Send necessita JavaScript
whyJavascript = Per què el Send necessita JavaScript?
enableJavascript = Activeu el JavaScript i torneu-ho a provar.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } min
@@ -48,9 +46,8 @@ passwordSetError = No s'ha pogut definir la contrasenya
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-short-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Compartició de fitxers senzilla i privada

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Rutzijol
title = Send
importingFile = Tajin nijik…
encryptingFile = Tajin newäx rusik'ixik…
decryptingFile = Tajin netamäx rusik'ixik...
@@ -20,13 +18,13 @@ unlockButtonLabel = Titzij chik
downloadButtonLabel = Tiqasäx
downloadFinish = Xtz'aqät qasanïk
fileSizeProgress = ({ $partialSize } richin { $totalSize })
sendYourFilesLink = Titojtob'ëx Firefox Send
sendYourFilesLink = Titojtob'ëx Send
errorPageHeader = ¡K'o ri man ütz ta xub'än!
fileTooBig = Yalan nïm re yakb'äl re' richin nijotob'äx. K'o ta chi man nik'o ta chi re ri { $size }.
linkExpiredAlt = Xk'is ruq'ijul ri ximonel
notSupportedHeader = Man koch'el ta ri awokik'amaya'l.
notSupportedLink = ¿Achike ruma man nikoch' taq ri wokik'amaya'l?
notSupportedOutdatedDetail = K'ayew ruma re ruwäch Firefox re' man nuköch' ta ri ajk'amaya'l na'ob'äl nrajo' ri Firefox Send. Rajowaxik nak'ëx ri awokik'amaya'l.
notSupportedOutdatedDetail = K'ayew ruma re ruwäch Firefox re' man nuköch' ta ri ajk'amaya'l na'ob'äl nrajo' ri Send. Rajowaxik nak'ëx ri awokik'amaya'l.
updateFirefox = Tik'ex ri Firefox
deletePopupCancel = Tiq'at
deleteButtonHover = Tiyuj
@@ -34,8 +32,8 @@ footerLinkLegal = Taqanel tzijol
footerLinkPrivacy = Ichinanem
footerLinkCookies = Taq kaxlanwey
passwordTryAgain = Itzel ri ewan tzij. Tatojtob'ej chik.
javascriptRequired = K'atzinel JavaScript chi re ri Firefox Send
whyJavascript = ¿Achike ruma toq ri Firefox Send nrajo' JavaScript?
javascriptRequired = K'atzinel JavaScript chi re ri Send
whyJavascript = ¿Achike ruma toq ri Send nrajo' JavaScript?
enableJavascript = Titz'ij JavaScript richin nitojtob'ëx chik.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }r { $minutes }ch
@@ -48,8 +46,7 @@ passwordSetError = Man tikirel ta ninuk' re ewan tzij re'
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Titaq
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = ڕەخنەوپێشنیار
title = Send
importingFile = هاوردەکردن...
encryptingFile = بەهێماکردن...
decryptingFile = هێمالابردن...
@@ -26,7 +24,7 @@ fileTooBig = ئەم پەڕگەیە زۆر گەورەیە بۆ بارکردن. پ
linkExpiredAlt = بەستەر بەسەرچووە
notSupportedHeader = وێبگەڕەکەت پشتگیری ناکرێت
notSupportedLink = بۆ وێبگەڕەکەم پشتگیری ناکرێت؟
notSupportedOutdatedDetail = بەداخەوە ئەم وەشانەی Firefox پشتگیری ئەو جۆرە تەکنەلۆژییە ناکات کە پێویستە بۆ Firefox Send. پێویستە وێبگەڕەکەت نوێبکەیتەوە.
notSupportedOutdatedDetail = بەداخەوە ئەم وەشانەی Firefox پشتگیری ئەو جۆرە تەکنەلۆژییە ناکات کە پێویستە بۆ Send. پێویستە وێبگەڕەکەت نوێبکەیتەوە.
updateFirefox = فاەرفۆکس نوێبکەرەوە
deletePopupCancel = پاشگەزبوونەوە
deleteButtonHover = سڕینەوە
@@ -48,8 +46,7 @@ passwordSetError = ناتوانرێت وشەی تێپەڕ دابنرێت
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Zpětná vazba
title = Send
importingFile = Probíhá import…
encryptingFile = Probíhá šifrování…
decryptingFile = Probíhá dešifrování…
@@ -22,13 +20,13 @@ unlockButtonLabel = Odemknout
downloadButtonLabel = Stáhnout
downloadFinish = Stahování dokončeno
fileSizeProgress = ({ $partialSize } z { $totalSize })
sendYourFilesLink = Vyzkoušet Firefox Send
sendYourFilesLink = Vyzkoušet Send
errorPageHeader = Nastala chyba!
fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }.
linkExpiredAlt = Platnost odkazu vypršela
notSupportedHeader = Váš prohlížeč není podporován.
notSupportedLink = Proč není můj prohlížeč podporovaný?
notSupportedOutdatedDetail = Tato verze Firefoxu bohužel nepodporuje webovou technologii, která pohání Firefox Send. Musíte aktualizovat svůj prohlížeč.
notSupportedOutdatedDetail = Tato verze Firefoxu bohužel nepodporuje webovou technologii, která pohání Send. Musíte aktualizovat svůj prohlížeč.
updateFirefox = Aktualizovat Firefox
deletePopupCancel = Zrušit
deleteButtonHover = Smazat
@@ -36,8 +34,8 @@ footerLinkLegal = Právní informace
footerLinkPrivacy = Soukromí
footerLinkCookies = Cookies
passwordTryAgain = Špatné heslo. Zkuste to znovu.
javascriptRequired = Firefox Send vyžaduje povolený JavaScript
whyJavascript = Proč Firefox Send vyžaduje povolený JavaScript?
javascriptRequired = Send vyžaduje povolený JavaScript
whyJavascript = Proč Send vyžaduje povolený JavaScript?
enableJavascript = Povolte JavaScript a zkuste to znovu.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } m
@@ -50,16 +48,15 @@ passwordSetError = Toto heslo nemohlo být nastaveno
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand =
{ $case ->
*[nom] Firefox Send
[gen] Firefoxu Send
[dat] Firefoxu Send
[acc] Firefox Send
[voc] Firefoxe Send
[loc] Firefoxu Send
[ins] Firefoxem Send
*[nom] Send
[gen] Send
[dat] Send
[acc] Send
[voc] Send
[loc] Send
[ins] Send
}
-send-short-brand =
{ $case ->

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Adborth
title = Send
importingFile = Mewnforio…
encryptingFile = Wrthi'n amgryptio…
decryptingFile = Wrthi'n dadgryptio…
@@ -28,13 +26,13 @@ unlockButtonLabel = Datgloi
downloadButtonLabel = Llwytho i Lawr
downloadFinish = Llwytho wedi Gorffen
fileSizeProgress = ({ $partialSize } o { $totalSize })
sendYourFilesLink = Rhowch gynnig ar Firefox Send
sendYourFilesLink = Rhowch gynnig ar Send
errorPageHeader = Aeth rhywbeth o'i le!
fileTooBig = Mae'r ffeil yn rhy fawr i'w llwytho. Dylai fod yn llai na { $size }.
linkExpiredAlt = Mae'r ddolen wedi dod i ben
notSupportedHeader = Nid yw eich porwr yn cael ei gynnal.
notSupportedLink = Pam nad yw fy mhorwr yn cael ei gynnal?
notSupportedOutdatedDetail = Yn anffodus, nid yw'r fersiwn yma o Firefox yn cynnal y technoleg gwe sy'n gyrru Firefox Send. Bydd angen i chi ddiweddaru eich porwr.
notSupportedOutdatedDetail = Yn anffodus, nid yw'r fersiwn yma o Firefox yn cynnal y technoleg gwe sy'n gyrru Send. Bydd angen i chi ddiweddaru eich porwr.
updateFirefox = Diweddaru Firefox
deletePopupCancel = Diddymu
deleteButtonHover = Dileu
@@ -42,8 +40,8 @@ footerLinkLegal = Cyfreithiol
footerLinkPrivacy = Preifatrwydd
footerLinkCookies = Cwcis
passwordTryAgain = Cyfrinair anghywir. Ceisiwch eto.
javascriptRequired = Mae Firefox Send angen JavaScript
whyJavascript = Pam fod Firefox Send angen JavaScript?
javascriptRequired = Mae Send angen JavaScript
whyJavascript = Pam fod Send angen JavaScript?
enableJavascript = Galluogwch JavaScript a cheisio eto.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }a { $minutes }m
@@ -56,8 +54,7 @@ passwordSetError = Nid oedd modd gosod y cyfrinair hwn
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Anfon
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Feedback
title = Send
importingFile = Importerer…
encryptingFile = Krypterer…
decryptingFile = Dekrypterer…
@@ -20,13 +18,13 @@ unlockButtonLabel = Lås op
downloadButtonLabel = Hent
downloadFinish = Hentning fuldført
fileSizeProgress = ({ $partialSize } af { $totalSize })
sendYourFilesLink = Prøv Firefox Send
sendYourFilesLink = Prøv Send
errorPageHeader = Der gik noget galt!
fileTooBig = Den fil er for stor at uploade. Den skal være mindre end { $size }.
linkExpiredAlt = Link er udløbet
notSupportedHeader = Din browser understøttes ikke.
notSupportedLink = Hvorfor understøttes min browser ikke?
notSupportedOutdatedDetail = Desværre understøtter denne version af Firefox ikke den webteknologi, som driver Firefox Send. Du skal opdatere din browser.
notSupportedOutdatedDetail = Desværre understøtter denne version af Firefox ikke den webteknologi, som driver Send. Du skal opdatere din browser.
updateFirefox = Opdater Firefox
deletePopupCancel = Annuller
deleteButtonHover = Slet
@@ -34,8 +32,8 @@ footerLinkLegal = Juridisk
footerLinkPrivacy = Privatliv
footerLinkCookies = Cookies
passwordTryAgain = Forkert adgangskode. Prøv igen.
javascriptRequired = Firefox Send kræver JavaScript
whyJavascript = Hvorfor kræver Firefox Send JavaScript?
javascriptRequired = Send kræver JavaScript
whyJavascript = Hvorfor kræver Send JavaScript?
enableJavascript = Aktiver JavaScript og prøv igen.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } t { $minutes } m
@@ -48,8 +46,7 @@ passwordSetError = Adgangskoden kunne ikke sættes
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Feedback
title = Send
importingFile = Wird importiert…
encryptingFile = Wird verschlüsselt…
decryptingFile = Wird entschlüsselt…
@@ -20,13 +18,13 @@ unlockButtonLabel = Entsperren
downloadButtonLabel = Herunterladen
downloadFinish = Download abgeschlossen
fileSizeProgress = ({ $partialSize } von { $totalSize })
sendYourFilesLink = Firefox Send ausprobieren
sendYourFilesLink = Send ausprobieren
errorPageHeader = Ein Fehler ist aufgetreten!
fileTooBig = Die Datei ist zu groß zum Hochladen. Sie sollte maximal { $size } groß sein.
linkExpiredAlt = Link abgelaufen
notSupportedHeader = Dein Browser wird nicht unterstützt.
notSupportedLink = Warum wird mein Browser nicht unterstützt?
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Firefox Send basiert. Du musst deinen Browser aktualisieren.
notSupportedOutdatedDetail = Leider unterstützt diese Firefox-Version die Web-Technologie nicht, auf der Send basiert. Du musst deinen Browser aktualisieren.
updateFirefox = Firefox aktualisieren
deletePopupCancel = Abbrechen
deleteButtonHover = Löschen
@@ -34,8 +32,8 @@ footerLinkLegal = Rechtliches
footerLinkPrivacy = Datenschutz
footerLinkCookies = Cookies
passwordTryAgain = Falsches Passwort. Versuche es nochmal.
javascriptRequired = Firefox Send benötigt JavaScript
whyJavascript = Warum benötigt Firefox Send JavaScript?
javascriptRequired = Send benötigt JavaScript
whyJavascript = Warum benötigt Send JavaScript?
enableJavascript = Bitte aktiviere JavaScript und versuche es erneut.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Dieses Passwort konnte nicht eingerichtet werden
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Komentar
title = Send
importingFile = Importěrujo se...
encryptingFile = Koděrujo se...
decryptingFile = Dešifrěrujo se...
@@ -24,13 +22,13 @@ unlockButtonLabel = Wótwóriś
downloadButtonLabel = Ześěgnuś
downloadFinish = Ześěgnjenje dokóńcone
fileSizeProgress = ({ $partialSize } z { $totalSize })
sendYourFilesLink = Firefox Send wopytaś
sendYourFilesLink = Send wopytaś
errorPageHeader = Něco njejo se raźiło!
fileTooBig = Toś ta dataja jo pśewjelika za nagraśe. Měła mjeńša ako { $size } byś.
linkExpiredAlt = Wótkaz spadnjony
notSupportedHeader = Waš wobglědowak se njepódpěra.
notSupportedLink = Cogodla se mój wobglědowak njepódpěra?
notSupportedOutdatedDetail = Bóžko toś ta wersija Firefox webtechnologiju njepódpěra, na kótarejž Firefox Send bazěrujo. Musyśo swój wobglědowak aktualizěrowaś.
notSupportedOutdatedDetail = Bóžko toś ta wersija Firefox webtechnologiju njepódpěra, na kótarejž Send bazěrujo. Musyśo swój wobglědowak aktualizěrowaś.
updateFirefox = Firefox aktualizěrowaś
deletePopupCancel = Pśetergnuś
deleteButtonHover = Wulašowaś
@@ -38,8 +36,8 @@ footerLinkLegal = Pšawniske
footerLinkPrivacy = Priwatnosć
footerLinkCookies = Cookieje
passwordTryAgain = Wopacne gronidło. Wopytajśo hyšći raz.
javascriptRequired = Firefox Send JavaScript trjeba
whyJavascript = Cogodla Firefox Send JavaScript trjeba?
javascriptRequired = Send JavaScript trjeba
whyJavascript = Cogodla Send JavaScript trjeba?
enableJavascript = Pšosym zmóžniśo JavaScript a wopytajśo hyšći raz.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } góź. { $minutes } min.
@@ -52,8 +50,7 @@ passwordSetError = Toś to gronidło njedajo se nastajiś
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Σχόλια
title = Send
importingFile = Εισαγωγή…
encryptingFile = Κρυπτογράφηση…
decryptingFile = Αποκρυπτογράφηση…
@@ -20,13 +18,13 @@ unlockButtonLabel = Ξεκλείδωμα
downloadButtonLabel = Λήψη
downloadFinish = Η λήψη ολοκληρώθηκε
fileSizeProgress = ({ $partialSize } από { $totalSize })
sendYourFilesLink = Δοκιμάστε το Firefox Send
sendYourFilesLink = Δοκιμάστε το Send
errorPageHeader = Κάτι πήγε στραβά!
fileTooBig = Αυτό το αρχείο είναι πολύ μεγάλο για μεταφόρτωση. Πρέπει να είναι μικρότερο από { $size }.
linkExpiredAlt = Ο σύνδεσμος έληξε
notSupportedHeader = Το πρόγραμμα περιήγησής σας δεν υποστηρίζεται.
notSupportedLink = Γιατί δεν υποστηρίζεται το πρόγραμμα περιήγησής μου;
notSupportedOutdatedDetail = Δυστυχώς, αυτή η έκδοση του Firefox δεν υποστηρίζει την τεχνολογία ιστού στην οποία βασίζεται το Firefox Send. Πρέπει να ενημερώσετε το πρόγραμμα περιήγησής σας.
notSupportedOutdatedDetail = Δυστυχώς, αυτή η έκδοση του Firefox δεν υποστηρίζει την τεχνολογία ιστού στην οποία βασίζεται το Send. Πρέπει να ενημερώσετε το πρόγραμμα περιήγησής σας.
updateFirefox = Ενημέρωση Firefox
deletePopupCancel = Ακύρωση
deleteButtonHover = Διαγραφή
@@ -34,8 +32,8 @@ footerLinkLegal = Νομικά
footerLinkPrivacy = Απόρρητο
footerLinkCookies = Cookies
passwordTryAgain = Λάθος κωδικός πρόσβασης. Δοκιμάστε ξανά.
javascriptRequired = Το Firefox Send απαιτεί JavaScript
whyJavascript = Γιατί το Firefox Send απαιτεί JavaScript;
javascriptRequired = Το Send απαιτεί JavaScript
whyJavascript = Γιατί το Send απαιτεί JavaScript;
enableJavascript = Παρακαλώ ενεργοποιήστε το JavaScript και δοκιμάστε ξανά.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ώ { $minutes }λ
@@ -48,8 +46,7 @@ passwordSetError = Δεν ήταν δυνατός ο ορισμός αυτού
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
@@ -140,7 +137,7 @@ accountBenefitSync = Διαχειριστείτε τα διαμοιρασμέν
accountBenefitMoz = Μάθετε για τις άλλες υπηρεσίες της { -mozilla }
signOut = Αποσύνδεση
okButton = OK
downloadingTitle = Λήψη
downloadingTitle = Γίνεται λήψη
noStreamsWarning = Αυτό το πρόγραμμα περιήγησης ενδέχεται να μην μπορέσει να αποκρυπτογραφήσει αρχεία αυτού του μεγέθους.
noStreamsOptionCopy = Αντιγράψτε το σύνδεσμο για άνοιγμα σε άλλο πρόγραμμα περιήγησης
noStreamsOptionFirefox = Δοκιμάστε το αγαπημένο μας πρόγραμμα περιήγησης

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Feedback
title = Send
importingFile = Importing…
encryptingFile = Encrypting…
decryptingFile = Decrypting…
@@ -20,13 +18,13 @@ unlockButtonLabel = Unlock
downloadButtonLabel = Download
downloadFinish = Download Complete
fileSizeProgress = ({ $partialSize } of { $totalSize })
sendYourFilesLink = Try Firefox Send
sendYourFilesLink = Try Send
errorPageHeader = Something went wrong!
fileTooBig = That file is too big to upload. It should be less than { $size }.
linkExpiredAlt = Link expired
notSupportedHeader = Your browser is not supported.
notSupportedLink = Why is my browser not supported?
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Send. Youll need to update your browser.
updateFirefox = Update Firefox
deletePopupCancel = Cancel
deleteButtonHover = Delete
@@ -34,8 +32,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Privacy
footerLinkCookies = Cookies
passwordTryAgain = Incorrect password. Try again.
javascriptRequired = Firefox Send requires JavaScript
whyJavascript = Why does Firefox Send require JavaScript?
javascriptRequired = Send requires JavaScript
whyJavascript = Why does Send require JavaScript?
enableJavascript = Please enable JavaScript and try again.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = This password could not be set
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Feedback
title = Send
importingFile = Importing…
encryptingFile = Encrypting…
decryptingFile = Decrypting…
@@ -20,13 +18,13 @@ unlockButtonLabel = Unlock
downloadButtonLabel = Download
downloadFinish = Download Complete
fileSizeProgress = ({ $partialSize } of { $totalSize })
sendYourFilesLink = Try Firefox Send
sendYourFilesLink = Try Send
errorPageHeader = Something went wrong!
fileTooBig = That file is too big to upload. It should be less than { $size }.
linkExpiredAlt = Link expired
notSupportedHeader = Your browser is not supported.
notSupportedLink = Why is my browser not supported?
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Send. Youll need to update your browser.
updateFirefox = Update Firefox
deletePopupCancel = Cancel
deleteButtonHover = Delete
@@ -34,8 +32,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Privacy
footerLinkCookies = Cookies
passwordTryAgain = Incorrect password. Try again.
javascriptRequired = Firefox Send requires JavaScript
whyJavascript = Why does Firefox Send require JavaScript?
javascriptRequired = Send requires JavaScript
whyJavascript = Why does Send require JavaScript?
enableJavascript = Please enable JavaScript and try again.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = This password could not be set
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Feedback
title = Send
importingFile = Importing…
encryptingFile = Encrypting…
decryptingFile = Decrypting…
@@ -18,13 +16,13 @@ unlockButtonLabel = Unlock
downloadButtonLabel = Download
downloadFinish = Download complete
fileSizeProgress = ({ $partialSize } of { $totalSize })
sendYourFilesLink = Try Firefox Send
sendYourFilesLink = Try Send
errorPageHeader = Something went wrong!
fileTooBig = That file is too big to upload. It should be less than { $size }
linkExpiredAlt = Link expired
notSupportedHeader = Your browser is not supported.
notSupportedLink = Why is my browser not supported?
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. Youll need to update your browser.
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Send. Youll need to update your browser.
updateFirefox = Update Firefox
deletePopupCancel = Cancel
deleteButtonHover = Delete
@@ -32,8 +30,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Privacy
footerLinkCookies = Cookies
passwordTryAgain = Incorrect password. Try again.
javascriptRequired = Firefox Send requires JavaScript
whyJavascript = Why does Firefox Send require JavaScript?
javascriptRequired = Send requires JavaScript
whyJavascript = Why does Send require JavaScript?
enableJavascript = Please enable JavaScript and try again.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -46,8 +44,7 @@ passwordSetError = This password could not be set
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
@@ -143,5 +140,4 @@ shareLinkDescription = Share the link to your file:
shareLinkButton = Share link
# $name is the name of the file
shareMessage = Download “{ $name }” with { -send-brand }: simple, safe file sharing
trailheadPromo = There is a way to protect your privacy. Join Firefox.
learnMore = Learn more.

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Opinión
title = Send
importingFile = Importando…
encryptingFile = Cifrando…
decryptingFile = Descifrando…
@@ -20,13 +18,13 @@ unlockButtonLabel = Desbloquear
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Probá Firefox Send
sendYourFilesLink = Probá Send
errorPageHeader = ¡Algo falló!
fileTooBig = El archivo es demasiado grande para subir. Debería tener menos de { $size }.
linkExpiredAlt = Enlace explirado
notSupportedHeader = El navegador no está soportado.
notSupportedLink = ¿Por qué mi navegador no está soportado?
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox no soporta la tecnología web que necesita Firefox Send. Necesitás actualizar el navegador.
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox no soporta la tecnología web que necesita Send. Necesitás actualizar el navegador.
updateFirefox = Actualizar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Borrar
@@ -34,8 +32,8 @@ footerLinkLegal = Legales
footerLinkPrivacy = Privacidad
footerLinkCookies = Cookies
passwordTryAgain = Contraseña incorrecta. Intentá nuevamente.
javascriptRequired = Firefox Send requiere JavaScript
whyJavascript = ¿Por qué Firefox Send requiere Java Script?
javascriptRequired = Send requiere JavaScript
whyJavascript = ¿Por qué Send requiere Java Script?
enableJavascript = Por favor habilite JavaScript y pruebe de nuevo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = h { $hours } m { $minutes }
@@ -48,8 +46,7 @@ passwordSetError = No se pudo establecer la contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Comentarios
title = Send
importingFile = Importando…
encryptingFile = Cifrando…
decryptingFile = Descifrando…
@@ -20,13 +18,13 @@ unlockButtonLabel = Desbloquear
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Probar Firefox Send
sendYourFilesLink = Probar Send
errorPageHeader = ¡Algo se fue a las pailas!
fileTooBig = Ese archivo es muy grande para ser subido. Debiera tener un tamaño menor a { $size }.
linkExpiredAlt = Enlace expirado
notSupportedHeader = Tu navegador no está soportado.
notSupportedLink = ¿Por qué mi navegador no es soportado?
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Firefox Send. Deberás actualizar tu navegador.
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Send. Deberás actualizar tu navegador.
updateFirefox = Actualizar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Eliminar
@@ -34,8 +32,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Privacidad
footerLinkCookies = Cookies
passwordTryAgain = Contraseña incorrecta. Vuelve a intentarlo.
javascriptRequired = Firefox Send requiere JavaScript.
whyJavascript = ¿Por qué Firefox Send requiere JavaScript?
javascriptRequired = Send requiere JavaScript.
whyJavascript = ¿Por qué Send requiere JavaScript?
enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Esta contraseña no pudo ser establecida
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,9 +1,7 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Comentario
title = Send
importingFile = Importando...
encryptingFile = Encriptando...
decryptingFile = Desencriptando...
encryptingFile = Cifrando...
decryptingFile = Descifrando...
downloadCount =
{ $num ->
[one] 1 descarga
@@ -20,22 +18,22 @@ unlockButtonLabel = Desbloquear
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Prueba Firefox Send
errorPageHeader = ¡Se produjo un error!
sendYourFilesLink = Prueba Send
errorPageHeader = ¡Se ha producido un error!
fileTooBig = Ese archivo es muy grande. Debería ocupar menos de { $size }.
linkExpiredAlt = Enlace caducado
notSupportedHeader = Tu navegador no está admitido.
notSupportedLink = ¿Por qué no se admite mi navegador?
notSupportedOutdatedDetail = Lamentablemente, esta versión de Firefox no admite la tecnología web que impulsa Firefox Send. Tendrás que actualizar tu navegador.
notSupportedHeader = Tu navegador no es compatible.
notSupportedLink = ¿Por qué mi navegador no es compatible?
notSupportedOutdatedDetail = Lamentablemente, esta versión de Firefox no admite la tecnología web que impulsa Send. Tendrás que actualizar tu navegador.
updateFirefox = Actualizar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Eliminar
footerLinkLegal = Legal
footerLinkPrivacy = Privacidad
footerLinkCookies = Cookies
passwordTryAgain = Contraseña incorrecta. Inténtelo de nuevo.
javascriptRequired = Firefox Send requiere JavaScript
whyJavascript = ¿Por qué Firefox Send requiere JavaScript?
passwordTryAgain = Contraseña incorrecta. Inténtalo de nuevo.
javascriptRequired = Send requiere JavaScript
whyJavascript = ¿Por qué Send requiere JavaScript?
enableJavascript = Por favor, activa JavaScript y vuelve a intentarlo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = No se ha podido establecer la contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Enviar
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Comentario
title = Send
importingFile = Importando...
encryptingFile = Encriptando…
decryptingFile = Desencriptando…
@@ -20,13 +18,13 @@ unlockButtonLabel = Desbloquear
downloadButtonLabel = Descargar
downloadFinish = Descarga completa
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Prueba Firefox Send
sendYourFilesLink = Prueba Send
errorPageHeader = ¡Algo salió mal!
fileTooBig = Ese archivo es muy grande. Debería ocupar menos de { $size }.
linkExpiredAlt = Enlace caducado
notSupportedHeader = Tu navegador no está soportado.
notSupportedLink = ¿Por qué mi navegador no tiene soporte?
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Firefox Send. Deberás actualizar tu navegador.
notSupportedOutdatedDetail = Lamentablemente esta versión de Firefox no soporta la tecnología web que potencia a Send. Deberás actualizar tu navegador.
updateFirefox = Actualizar Firefox
deletePopupCancel = Cancelar
deleteButtonHover = Eliminar
@@ -34,8 +32,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Privacidad
footerLinkCookies = Cookies
passwordTryAgain = Contraseña incorrecta. Intenta de nuevo.
javascriptRequired = Firefox Send requiere JavaScript
whyJavascript = ¿Por qué Firefox Send requiere JavaScript?
javascriptRequired = Send requiere JavaScript
whyJavascript = ¿Por qué Send requiere JavaScript?
enableJavascript = Por favor, habilita JavaScript e intenta de nuevo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = No se ha podido establecer la contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Enviar
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Tagasiside
title = Send
importingFile = Importimine...
encryptingFile = Krüptimine…
decryptingFile = Dekrüptimine...
@@ -20,13 +18,13 @@ unlockButtonLabel = Ava
downloadButtonLabel = Laadi alla
downloadFinish = Allalaadimine lõpetati
fileSizeProgress = ({ $partialSize }/{ $totalSize })
sendYourFilesLink = Proovi Firefox Send'i
sendYourFilesLink = Proovi Send'i
errorPageHeader = Midagi läks valesti!
fileTooBig = Fail on üleslaadimiseks liiga suur. See peaks olema väiksem kui { $size }.
linkExpiredAlt = Link on aegunud
notSupportedHeader = Sinu brauser pole toetatud.
notSupportedLink = Miks mu brauser toetatud pole?
notSupportedOutdatedDetail = Kahjuks ei toeta see Firefoxi versioon veebitehnoloogiaid, mis teevad Firefox Sendi toimimise võimalikuks. Sa pead oma brauserit uuendama.
notSupportedOutdatedDetail = Kahjuks ei toeta see Firefoxi versioon veebitehnoloogiaid, mis teevad Sendi toimimise võimalikuks. Sa pead oma brauserit uuendama.
updateFirefox = Uuenda Firefox
deletePopupCancel = Loobu
deleteButtonHover = Kustuta
@@ -34,8 +32,8 @@ footerLinkLegal = Õiguslik teave
footerLinkPrivacy = Privaatsusest
footerLinkCookies = Küpsistest
passwordTryAgain = Vale parool. Palun proovi uuesti.
javascriptRequired = Firefox Send'i kasutamiseks tuleb JavaScript lubada
whyJavascript = Miks Firefox Send JavaScripti vajab?
javascriptRequired = Send'i kasutamiseks tuleb JavaScript lubada
whyJavascript = Miks Send JavaScripti vajab?
enableJavascript = Palun luba JavaScript ja proovi uuesti.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }t { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Parooli muutmine ebaõnnestus
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Iritzia
title = Send
importingFile = Inportatzen…
encryptingFile = Zifratzen...
decryptingFile = Deszifratzen...
@@ -20,13 +18,13 @@ unlockButtonLabel = Desblokeatu
downloadButtonLabel = Deskargatu
downloadFinish = Deskarga burututa
fileSizeProgress = ({ $totalSize } / { $partialSize })
sendYourFilesLink = Probatu Firefox Send
sendYourFilesLink = Probatu Send
errorPageHeader = Zerbait gaizki joan da!
fileTooBig = Fitxategia handiegia da kargatzeko. { $size } baino txikiagoa izan behar du.
linkExpiredAlt = Lotura iraungi da
notSupportedHeader = Zure nabigatzailea ez da onartzen.
notSupportedLink = Zergatik ez da nire nabigatzailea onartzen?
notSupportedOutdatedDetail = Zoritxarrez Firefox bertsio honek ez du Firefox Send-ek behar duen web teknologia onartzen. Zure nabigatzailea eguneratu behar duzu.
notSupportedOutdatedDetail = Zoritxarrez Firefox bertsio honek ez du Send-ek behar duen web teknologia onartzen. Zure nabigatzailea eguneratu behar duzu.
updateFirefox = Eguneratu Firefox
deletePopupCancel = Utzi
deleteButtonHover = Ezabatu
@@ -34,8 +32,8 @@ footerLinkLegal = Lege-oharra
footerLinkPrivacy = Pribatutasuna
footerLinkCookies = Cookieak
passwordTryAgain = Pasahitz okerra. Saiatu berriro.
javascriptRequired = JavaScript beharrezkoa da Firefox Send erabiltzeko.
whyJavascript = Zergatik behar du Firefox Send-ek JavasScript?
javascriptRequired = JavaScript beharrezkoa da Send erabiltzeko.
whyJavascript = Zergatik behar du Send-ek JavasScript?
enableJavascript = Gaitu JavaScript eta saiatu berriro.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Pasahitz hau ezin da ezarri
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = بازخورد
title = Send
importingFile = در حال وارد کردن…
encryptingFile = در حال رمزنگاری…
decryptingFile = در حال رمزگشایی…
@@ -20,13 +18,13 @@ unlockButtonLabel = باز کردن
downloadButtonLabel = بارگیری
downloadFinish = بارگیری کامل شد
fileSizeProgress = ({ $partialSize } از { $totalSize })
sendYourFilesLink = Firefox Send را امتحان کنید
sendYourFilesLink = Send را امتحان کنید
errorPageHeader = خطایی رخ داد!
fileTooBig = این پرونده بسیار حجیم است. حجم آن می‌بایستی کم تر { $size } باشد.
linkExpiredAlt = پیوند منقضی شده است
notSupportedHeader = مرورگر شما پشتیبانی نمی‌شود.
notSupportedLink = چرا از مرورگر من پشتیبانی نمی‌شود؟
notSupportedOutdatedDetail = متاسفانه این نسخه از فایرفاکس این تکنولوژی وب که به Firefox Send قدرت می‌بخشد را پشتیبانی نمی‌کند. شما نیاز دارید تا مرورگر خود را بروز کنید.
notSupportedOutdatedDetail = متاسفانه این نسخه از فایرفاکس این تکنولوژی وب که به Send قدرت می‌بخشد را پشتیبانی نمی‌کند. شما نیاز دارید تا مرورگر خود را بروز کنید.
updateFirefox = بروزرسانی فایرفاکس
deletePopupCancel = انصراف
deleteButtonHover = حذف
@@ -34,8 +32,8 @@ footerLinkLegal = ملاحظات حقوقی
footerLinkPrivacy = حریم‌خصوصی
footerLinkCookies = کوکی‌ها
passwordTryAgain = کلمه عبور اشتباه است. مجدد تلاش کنید.
javascriptRequired = Firefox Send نیازمند جاوااسکریپت است
whyJavascript = چرا Firefox Send جاوااسکریپت لازم داد؟
javascriptRequired = Send نیازمند جاوااسکریپت است
whyJavascript = چرا Send جاوااسکریپت لازم داد؟
enableJavascript = لطفا جاوااسکریپت را فعال کنید و مجددا تلاش کنید.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ساعت { $minutes }دقیقه
@@ -48,8 +46,7 @@ passwordSetError = امکان ثبت این گذواژه نیست
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = ارسال
-firefox = فایرفاکس
-mozilla = موزیلا

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Palaute
title = Send
importingFile = Tuodaan…
encryptingFile = Salataan...
decryptingFile = Puretaan salausta...
@@ -20,13 +18,13 @@ unlockButtonLabel = Avaa
downloadButtonLabel = Lataa
downloadFinish = Lataus valmis
fileSizeProgress = { $partialSize } / { $totalSize }
sendYourFilesLink = Kokeile Firefox Send -palvelua
sendYourFilesLink = Kokeile Send -palvelua
errorPageHeader = Jokin meni pieleen!
fileTooBig = Tämä tiedosto on liian suuri ladattavaksi. Sen pitäisi olla pienempi kuin { $size }.
linkExpiredAlt = Linkki on vanhentunut
notSupportedHeader = Selaintasi ei tueta.
notSupportedLink = Miksi selaintani ei tueta?
notSupportedOutdatedDetail = Valitettavasti tämä Firefoxin versio ei tue Firefox Sendiä käyttävää web-tekniikkaa. Sinun on päivitettävä selaimesi.
notSupportedOutdatedDetail = Valitettavasti tämä Firefoxin versio ei tue Sendiä käyttävää web-tekniikkaa. Sinun on päivitettävä selaimesi.
updateFirefox = Päivitä Firefox
deletePopupCancel = Peruuta
deleteButtonHover = Poista
@@ -35,7 +33,7 @@ footerLinkPrivacy = Tietosuoja
footerLinkCookies = Evästeet
passwordTryAgain = Väärä salasana. Yritä uudelleen.
javascriptRequired = Firefox-Send vaatii JavaScriptin
whyJavascript = Miksi Firefox Send vaatii JavaScriptin?
whyJavascript = Miksi Send vaatii JavaScriptin?
enableJavascript = Ota JavaScript käyttöön ja yritä uudelleen.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } t { $minutes } min
@@ -48,8 +46,7 @@ passwordSetError = Tätä salasanaa ei voitu asettaa
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Votre avis
title = Send
importingFile = Importation…
encryptingFile = Chiffrement…
decryptingFile = Déchiffrement…
@@ -20,13 +18,13 @@ unlockButtonLabel = Déverrouiller
downloadButtonLabel = Télécharger
downloadFinish = Téléchargement terminé
fileSizeProgress = ({ $partialSize } sur { $totalSize })
sendYourFilesLink = Essayer Firefox Send
sendYourFilesLink = Essayer Send
errorPageHeader = Une erreur sest produite.
fileTooBig = Ce fichier est trop volumineux pour être envoyé. Sa taille doit être inférieure à { $size }.
linkExpiredAlt = Le lien a expiré
notSupportedHeader = Votre navigateur nest pas pris en charge.
notSupportedLink = Pourquoi mon navigateur nest-il pas pris en charge ?
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.
notSupportedOutdatedDetail = Malheureusement, cette version de Firefox ne prend pas en charge les technologies web utilisées par Send. Vous devez mettre à jour votre navigateur.
updateFirefox = Mettre à jour Firefox
deletePopupCancel = Annuler
deleteButtonHover = Supprimer
@@ -34,8 +32,8 @@ footerLinkLegal = Mentions légales
footerLinkPrivacy = Confidentialité
footerLinkCookies = Cookies
passwordTryAgain = Mot de passe incorrect. Veuillez réessayer.
javascriptRequired = Firefox Send nécessite JavaScript
whyJavascript = Pourquoi Firefox Send nécessite-t-il JavaScript ?
javascriptRequired = Send nécessite JavaScript
whyJavascript = Pourquoi Send nécessite-t-il JavaScript ?
enableJavascript = Veuillez activer JavaScript puis réessayer.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } min
@@ -48,8 +46,7 @@ passwordSetError = Ce mot de passe na pas pu être défini
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Kommentaar
title = Send
importingFile = Ymportearje…
encryptingFile = Fersiferje…
decryptingFile = Untsiferje…
@@ -20,13 +18,13 @@ unlockButtonLabel = Deblokkearje
downloadButtonLabel = Downloade
downloadFinish = Download foltôge
fileSizeProgress = ({ $partialSize } fan { $totalSize })
sendYourFilesLink = Firefox Send probearje
sendYourFilesLink = Send probearje
errorPageHeader = Der is wat misgien!
fileTooBig = It bestân is te grut om op te laden. It moat lytser wêze as { $size }.
linkExpiredAlt = Keppeling ferrûn
notSupportedHeader = Jo browser wurdt net stipe.
notSupportedLink = Wêrom wurdt myn browser net stipe?
notSupportedOutdatedDetail = Spitigernôch stipet dizze ferzje fan Firefox de webtechnology dy't Firefox Send mooflik makket net. Jo moatte jo browser fernije.
notSupportedOutdatedDetail = Spitigernôch stipet dizze ferzje fan Firefox de webtechnology dy't Send mooflik makket net. Jo moatte jo browser fernije.
updateFirefox = Firefox fernije
deletePopupCancel = Annulearje
deleteButtonHover = Fuortsmite
@@ -34,8 +32,8 @@ footerLinkLegal = Juridysk
footerLinkPrivacy = Privacy
footerLinkCookies = Cookies
passwordTryAgain = Net krekt wachtwurd. Probearje it opnij.
javascriptRequired = Firefox Send fereasket JavaScript.
whyJavascript = Werom hat Firefox Send JavaScript nedich?
javascriptRequired = Send fereasket JavaScript.
whyJavascript = Werom hat Send JavaScript nedich?
enableJavascript = Skeakelje JavaScript yn en probearje nochris.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }o { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Dit wachtwurd koe net ynsteld wurde
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Jeejey
title = Send
importingFile = Ojegueruhína…
encryptingFile = Moãmby…
decryptingFile = Ñemoão…
@@ -20,13 +18,13 @@ unlockButtonLabel = Mbojera
downloadButtonLabel = Mboguejy
downloadFinish = Oguejypáma
fileSizeProgress = ({ $partialSize } rehe { $totalSize })
sendYourFilesLink = Eipuru Firefox Send
sendYourFilesLink = Eipuru Send
errorPageHeader = ¡Oiko jejavy!
fileTooBig = Marandurenda tuichaiterei ehupi hag̃ua. Michĩvevaerã { $size } gui.
linkExpiredAlt = Juajuha ndoikóiva
notSupportedHeader = Ne kundaha ndorekói pytyvõ.
notSupportedLink = ¿Mbaére che kundahára ndorekói ñepytyvõ?
notSupportedOutdatedDetail = Ko Firefox rembiapo ndaipuakái ñanduti rembipurupyahu oikotevẽva Firefox Send. Embohekopyahúke ne kundahára.
notSupportedOutdatedDetail = Ko Firefox rembiapo ndaipuakái ñanduti rembipurupyahu oikotevẽva Send. Embohekopyahúke ne kundahára.
updateFirefox = Firefox mbohekopyahu
deletePopupCancel = Heja
deleteButtonHover = Mboguete
@@ -34,8 +32,8 @@ footerLinkLegal = Añetegua
footerLinkPrivacy = Ñemigua
footerLinkCookies = Kookie
passwordTryAgain = Ñeẽñemi ndoikóiva. Ehaãjey.
javascriptRequired = Firefox Send oikotevẽ JavaScript
whyJavascript = ¿Mbaére Firefox Send oikotevẽ JavaScript?
javascriptRequired = Send oikotevẽ JavaScript
whyJavascript = ¿Mbaére Send oikotevẽ JavaScript?
enableJavascript = Ikatúpa embojuruja JavaScript ha ehaãjey uperire.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } h { $minutes } m
@@ -48,12 +46,11 @@ passwordSetError = Ndaikatúi oikóvo ko ñeẽñemi
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
introTitle = Marandurenda ñemoambue hasy'ỹ ha ñemiguáva
introTitle = Marandurenda ñemoambue hasyỹ ha ñemiguáva
introDescription = { -send-brand } omoherakuãkuaa marandurenda papapýpe ñepyrũ guive opa peve ha juajuha opareíva ijehegui. Ikatu oreko ñemihápe emoherakuãva ha ehecháta mbaéicha ne mbaekuéra noĩri ñandutípe opa ára.
notifyUploadEncryptDone = Ne marandurenda oñemoã ha ikatúma emondo
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
@@ -137,7 +134,7 @@ accountBenefitTimeLimit =
*[other] Eguereko juajuha hendyhápe { $count } ára
}
accountBenefitSync = Eñangareko marandurenda moherakuãmbyrére oimeraẽ mbaeoka guive.
accountBenefitMoz = Eikuaa ambue { -mozilla } mba'epytyvõrã
accountBenefitMoz = Eikuaa ambue { -mozilla } mbaepytyvõrã
signOut = Emboty tembiapo
okButton = OK
downloadingTitle = Oñemboguejyhína
@@ -150,6 +147,6 @@ downloadFirefoxPromo = Ipyahúva { -firefox } omeẽse ndéve { -send-short-b
shareLinkDescription = Emoherakuã juajuha ne mbaeoka ndive:
shareLinkButton = Emoherakuã juajuha
# $name is the name of the file
shareMessage = Emboguejy “{ $name }” { -send-brand } ndive: emoherakuã marandurenda tasy'ỹ ha tekorosãme
shareMessage = Emboguejy “{ $name }” { -send-brand } ndive: emoherakuã marandurenda tasyỹ ha tekorosãme
trailheadPromo = Mbaéichapa emoãta ne ñemigua. Eipuru Firefox.
learnMore = Kuaave.

View File

@@ -1,7 +1,5 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Molawo
title = Molawo
siteSubtitle = web yimontalo
siteFeedback = Potunu
uploadPageLearnMore = Pobalajariya po'olo
uploadPageBrowseButton = Tulawota berkas to delomo komputermu
uploadPageBrowseButton1 = Tulawota berkas u detohulo
@@ -42,8 +40,7 @@ downloadNotification = U pilopohulimu ma yilapato.
downloadFinish = Mopohuli Yilapato
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } meyalo { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Yimontali Firefox Molawo
sendYourFilesLink = Yimontali Molawo
downloadingPageProgress = Modetohu { $filename } ({ $size })
downloadFirefoxButtonSub = Pereyi Mopohuli
uploadedFile = Berkas

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = משוב
title = Send
importingFile = מתבצע ייבוא…
encryptingFile = מתבצעת הצפנה...
decryptingFile = מתבצע פענוח...
@@ -21,13 +19,13 @@ unlockButtonLabel = שחרור נעילה
downloadButtonLabel = הורדה
downloadFinish = ההורדה הושלמה
fileSizeProgress = ({ $partialSize } מתוך { $totalSize })
sendYourFilesLink = נסו את Firefox Send
sendYourFilesLink = נסו את Send
errorPageHeader = משהו השתבש!
fileTooBig = הקובץ הזה גדול מידי להעלאה. עליו להיות קטן מ־{ $size }.
linkExpiredAlt = הקישור פג
notSupportedHeader = הדפדפן שלך לא נתמך.
notSupportedLink = למה אין תמיכה בדפדפן שלי?
notSupportedOutdatedDetail = לצערנו גרסת Firefox זו לא תומכת בטכנולוגית הרשת שמפעילה את Firefox Send. יש לעדכן את הגרסה של הדפדפן שלך.
notSupportedOutdatedDetail = לצערנו גרסת Firefox זו לא תומכת בטכנולוגית הרשת שמפעילה את Send. יש לעדכן את הגרסה של הדפדפן שלך.
updateFirefox = עדכון Firefox
deletePopupCancel = ביטול
deleteButtonHover = מחיקה
@@ -35,8 +33,8 @@ footerLinkLegal = מידע משפטי
footerLinkPrivacy = פרטיות
footerLinkCookies = קובצי עוגיות
passwordTryAgain = סיסמה שגויה. נא לנסות שוב.
javascriptRequired = ל־Firefox Send דרוש JavaScript
whyJavascript = למה ל־Firefox Send דרוש JavaScript?
javascriptRequired = ל־Send דרוש JavaScript
whyJavascript = למה ל־Send דרוש JavaScript?
enableJavascript = נא להפעיל JavaScript ולנסות שוב.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } שע׳ { $minutes } דק׳
@@ -49,8 +47,7 @@ passwordSetError = לא ניתן להגדיר את הססמה הזאת
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Povratne informacije
title = Send
importingFile = Uvoz…
encryptingFile = Šifriranje …
decryptingFile = Dešifriranje …
@@ -22,13 +20,13 @@ unlockButtonLabel = Otključaj
downloadButtonLabel = Preuzmi
downloadFinish = Preuzimanje je završeno.
fileSizeProgress = ({ $partialSize } od { $totalSize })
sendYourFilesLink = Isprobaj Firefox Send
sendYourFilesLink = Isprobaj Send
errorPageHeader = Dogodila se neka greška!
fileTooBig = Datoteka je prevelika za prijenos. Mora biti manja od { $size }.
linkExpiredAlt = Poveznica je istekla
notSupportedHeader = Tvoj preglednik nije podržan.
notSupportedLink = Zašto moj preglednik nije podržan?
notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morat ćeš ažurirati preglednik.
notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Send. Morat ćeš ažurirati preglednik.
updateFirefox = Ažuriraj Firefox
deletePopupCancel = Odustani
deleteButtonHover = Obriši
@@ -36,8 +34,8 @@ footerLinkLegal = Pravni podaci
footerLinkPrivacy = Privatnost
footerLinkCookies = Kolačići
passwordTryAgain = Netočna lozinka. Pokušaj ponovo.
javascriptRequired = Za Firefox Send potreban je JavaScript
whyJavascript = Zašto je za Firefox Send potreban JavaScript?
javascriptRequired = Za Send potreban je JavaScript
whyJavascript = Zašto je za Send potreban JavaScript?
enableJavascript = Aktiviraj JavaScript i pokušaj ponovo.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }s { $minutes }m
@@ -50,8 +48,7 @@ passwordSetError = Lozinku nije moguće postaviti
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Komentar
title = Send
importingFile = Importuje so...
encryptingFile = Zaklučuje so...
decryptingFile = Dešifruje so...
@@ -24,13 +22,13 @@ unlockButtonLabel = Wotewrěć
downloadButtonLabel = Sćahnyć
downloadFinish = Sćehnjenje dokónčene
fileSizeProgress = ({ $partialSize } z { $totalSize })
sendYourFilesLink = Firefox Send wupruwować
sendYourFilesLink = Send wupruwować
errorPageHeader = Něšto je so nimokuliło!
fileTooBig = Tuta dataja je přewulka za nahraće. Měła mjeńša hač { $size } być.
linkExpiredAlt = Wotkaz je spadnjeny
notSupportedHeader = Waš wobhladowak so njepodpěruje.
notSupportedLink = Čehodla so mój wobhladowak njepodpěruje?
notSupportedOutdatedDetail = Bohužel tuta wersija Firefox webtechnologiju njepodpěruje, na kotrejž Firefox Send bazuje. Dyrbiće swój wobhladowak aktualizować.
notSupportedOutdatedDetail = Bohužel tuta wersija Firefox webtechnologiju njepodpěruje, na kotrejž Send bazuje. Dyrbiće swój wobhladowak aktualizować.
updateFirefox = Firefox aktualizować
deletePopupCancel = Přetorhnyć
deleteButtonHover = Zhašeć
@@ -38,8 +36,8 @@ footerLinkLegal = Prawniske
footerLinkPrivacy = Priwatnosć
footerLinkCookies = Placki
passwordTryAgain = Wopačne hesło. Prošu spytajće hišće raz.
javascriptRequired = Firefox Send JavaScript trjeba
whyJavascript = Čehodla Firefox Send JavaScript trjeba?
javascriptRequired = Send JavaScript trjeba
whyJavascript = Čehodla Send JavaScript trjeba?
enableJavascript = Prošu zmóžńće JavaScript a spytajće hišće raz.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } hodź. { $minutes } mjeń.
@@ -52,8 +50,7 @@ passwordSetError = Tute hesło njeda so nastajić
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Visszajelzés
title = Send
importingFile = Importálás…
encryptingFile = Titkosítás…
decryptingFile = Visszafejtés…
@@ -20,13 +18,13 @@ unlockButtonLabel = Feloldás
downloadButtonLabel = Letöltés
downloadFinish = A letöltés befejeződött
fileSizeProgress = ({ $partialSize } / { $totalSize })
sendYourFilesLink = Próbálja ki a Firefox Sendet
sendYourFilesLink = Próbálja ki a Sendet
errorPageHeader = Hiba történt!
fileTooBig = Ez a fájl túl nagy a feltöltéshez. Kevesebb mint { $size } kell legyen.
linkExpiredAlt = A hivatkozás lejárt
notSupportedHeader = A böngésző nem támogatott.
notSupportedLink = Miért nem támogatott a böngészőm?
notSupportedOutdatedDetail = Sajnos a Firefox ezen verziója nem támogatja a Firefox Send alapját képező technológiát. Frissítenie kell a böngészőjét.
notSupportedOutdatedDetail = Sajnos a Firefox ezen verziója nem támogatja a Send alapját képező technológiát. Frissítenie kell a böngészőjét.
updateFirefox = Firefox frissítése
deletePopupCancel = Mégse
deleteButtonHover = Törlés
@@ -34,8 +32,8 @@ footerLinkLegal = Jogi információk
footerLinkPrivacy = Adatvédelem
footerLinkCookies = Sütik
passwordTryAgain = Helytelen jelszó. Próbálja meg újra.
javascriptRequired = A Firefox Sendhez JavaScript szükséges
whyJavascript = Miért van szükség JavaScriptre a Firefox Sendhez?
javascriptRequired = A Sendhez JavaScript szükséges
whyJavascript = Miért van szükség JavaScriptre a Sendhez?
enableJavascript = Kérjük engedélyezze a JavaScriptet, majd próbálkozzon újra.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ó { $minutes }p
@@ -48,8 +46,7 @@ passwordSetError = Ez a jelszó nem állítható be
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Ka olna' max jant'oj yab u t'ojnal alwa'
title = Send
importingFile = k'wajat i chiyál...
encryptingFile = K'wajat i tsinat dheyál...
decryptingFile = K'wajat i exal ki wila'...
@@ -18,13 +16,13 @@ unlockButtonLabel = Ka japiy
downloadButtonLabel = Ka pa'ba'
downloadFinish = Tala' pa'iyits
fileSizeProgress = { $partialSize } xi ti { $totalSize }
sendYourFilesLink = Ka eyendha' Firefox Send
sendYourFilesLink = Ka eyendha' Send
errorPageHeader = ¡Yab kalej alwa'!
fileTooBig = Tekedh pulik axi a le' ka kadh'ba', kwa'al kin alemna' { $size }
linkExpiredAlt = Yabats u awil ki ela'
notSupportedHeader = Yab u awil ka japiyat k'al axi NAVEGADOR
notSupportedLink = ¿Jale' ti u NAVEGADOR yab in japiyal?
notSupportedOutdatedDetail = Yab u awil ka eyendha' Firefox Send kom an NAVEGADOR Firefox biyalits. Ka Pa'ba' axi it.
notSupportedOutdatedDetail = Yab u awil ka eyendha' Send kom an NAVEGADOR Firefox biyalits. Ka Pa'ba' axi it.
updateFirefox = Ka itmedha' Firefox
deletePopupCancel = Ka kuba'
deleteButtonHover = Ka pakuw
@@ -32,8 +30,8 @@ footerLinkLegal = Axi walkadh ka t'ajan
footerLinkPrivacy = Tsinataláb
footerLinkCookies = Cookies
passwordTryAgain = Yab ja' an tsinat japixtaláb. Ka exa' junil.
javascriptRequired = Firefox Send in yejenchal JavaScript
whyJavascript = ¿Jale' Firefox Send in yejenchal JavaScript?
javascriptRequired = Send in yejenchal JavaScript
whyJavascript = ¿Jale' Send in yejenchal JavaScript?
enableJavascript = Ka lek'wtsiy JavaScript ani ka exa' junil.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -46,8 +44,7 @@ passwordSetError = Axi tsinat japixtaláb yab u awil ka eyendha'
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
@@ -94,7 +91,7 @@ trySendDescription = Ka eyendha' { -send-brand } abal ka abna' a t'ojlabil, yab
tooManyFiles =
{ $count ->
*[other]
Expidh u awil ka k'adhba' 1 i t'ojláb
Expidh u awil ka k'adhba' 1 i t'ojláb
Expidh u awil ka k'adhba' { $count } i t'ojláb.
}
# count will always be > 10

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Արձագանք
title = Send
importingFile = Ներմուծում...
encryptingFile = Գաղտնագրում…
decryptingFile = Վերծանում…
@@ -20,13 +18,13 @@ unlockButtonLabel = Ապակողպել
downloadButtonLabel = Ներբեռնել
downloadFinish = Ներբեռնումն ավարտված է
fileSizeProgress = ({ $partialSize }-ը { $totalSize })-ից
sendYourFilesLink = Փորձել Firefox Send-ը
sendYourFilesLink = Փորձել Send-ը
errorPageHeader = Ինչ-որ բան այն չէ
fileTooBig = Այդ ֆայլը չափազանց մեծ է վերբեռնելու համար: Այն պետք է լինի ավելի քիչ, քան { $size }-ը
linkExpiredAlt = Հղումն ավարտված է
notSupportedHeader = Ձեր զննարկիչը չի աջակցվում:
notSupportedLink = Ինչու իմ զննարկիչը չի աջակցվում:
notSupportedOutdatedDetail = Դժբախտաբար, Firefox- ի այս տարբերակը չի աջակցում այն վեբ տեխնոլոգիան, որը պետք է Firefox Send-ի համար: Դուք պետք է թարմացնեք ձեր զննարկիչը:
notSupportedOutdatedDetail = Դժբախտաբար, Firefox- ի այս տարբերակը չի աջակցում այն վեբ տեխնոլոգիան, որը պետք է Send-ի համար: Դուք պետք է թարմացնեք ձեր զննարկիչը:
updateFirefox = Թարմացնել Firefox-ը
deletePopupCancel = Չեղարկել
deleteButtonHover = Ջնջել
@@ -34,8 +32,8 @@ footerLinkLegal = Իրավական
footerLinkPrivacy = Գաղտնիություն
footerLinkCookies = Cookie-ներ
passwordTryAgain = Սխալ գաղտնաբառ. Կրկին փորձեք:
javascriptRequired = Firefox Send-ը պահանջում է JavaScript
whyJavascript = Ինչո՞ւ է Firefox Send-ը պահանջում JavaScript.
javascriptRequired = Send-ը պահանջում է JavaScript
whyJavascript = Ինչո՞ւ է Send-ը պահանջում JavaScript.
enableJavascript = Խնդրում ենք միացնել JavaScript-ը և կրկին փորձել:
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }ժ { $minutes }ր
@@ -48,8 +46,7 @@ passwordSetError = Այս գաղտնաբառը հնարավոր չէ սահմա
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Ուղարկել
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Reaction
title = Send
importingFile = Importation…
encryptingFile = Cryptation...
decryptingFile = Decryptation…
@@ -20,13 +18,13 @@ unlockButtonLabel = Disblocar
downloadButtonLabel = Discargar
downloadFinish = Discargamento completate
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Proba Firefox Send
sendYourFilesLink = Proba Send
errorPageHeader = Un error occurreva!
fileTooBig = Iste file es troppo grande pro incargar. Illo debe esser inferior a { $size }.
linkExpiredAlt = Ligamine expirate
notSupportedHeader = Tu navigator non es supportate
notSupportedLink = Proque non es mi navigator supportate?
notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologia web que actiona Firefox Send. Tu debe actualisar tu navigator.
notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologia web que actiona Send. Tu debe actualisar tu navigator.
updateFirefox = Actualisar Firefox
deletePopupCancel = Cancellar
deleteButtonHover = Deler
@@ -34,8 +32,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Confidentialitate
footerLinkCookies = Cookies
passwordTryAgain = Contrasigno incorrecte. Retenta.
javascriptRequired = Firefox Send require JavaScript
whyJavascript = Proque Firefox Send require JavaScript?
javascriptRequired = Send require JavaScript
whyJavascript = Proque Send require JavaScript?
enableJavascript = Por favor activa JavaScript e tenta novemente.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Iste contrasigno non ha potite esser establite
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Saran
title = Send
importingFile = Mengimpor…
encryptingFile = Mengenkripsi...
decryptingFile = Mendekripsi...
@@ -18,13 +16,13 @@ unlockButtonLabel = Buka
downloadButtonLabel = Unduh
downloadFinish = Unduhan Selesai
fileSizeProgress = ({ $partialSize } dari { $totalSize })
sendYourFilesLink = Coba Firefox Send
sendYourFilesLink = Coba Send
errorPageHeader = Terjadi kesalahan!
fileTooBig = Berkas terlalu besar untuk diunggah. Harus kurang dari { $size }.
linkExpiredAlt = Tautan kedaluwarsa
notSupportedHeader = Peramban Anda tidak mendukung.
notSupportedLink = Mengapa peramban saya tidak didukung?
notSupportedOutdatedDetail = Sayangnya Firefox versi ini tidak mendukung teknologi web yang menggerakkan Firefox Send. Anda perlu memperbarui peramban Anda.
notSupportedOutdatedDetail = Sayangnya Firefox versi ini tidak mendukung teknologi web yang menggerakkan Send. Anda perlu memperbarui peramban Anda.
updateFirefox = Perbarui Firefox
deletePopupCancel = Batal
deleteButtonHover = Hapus
@@ -32,8 +30,8 @@ footerLinkLegal = Legal
footerLinkPrivacy = Privasi
footerLinkCookies = Kuki
passwordTryAgain = Sandi salah. Silakan coba lagi.
javascriptRequired = Firefox Send membutuhkan JavaScript.
whyJavascript = Mengapa Firefox Send membutuhkan JavaScript?
javascriptRequired = Send membutuhkan JavaScript.
whyJavascript = Mengapa Send membutuhkan JavaScript?
enableJavascript = Silakan aktifkan JavaScript dan coba lagi.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }j { $minutes }m
@@ -46,8 +44,7 @@ passwordSetError = Tidak bisa menyetel sandi ini
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Zipu
siteFeedback = Nzaghachi
title = Zipu
importingFile = Mbubata…
encryptingFile = ezoro ezo...
decryptingFile = Kpebie
@@ -20,17 +18,22 @@ unlockButtonLabel = imeghe
downloadButtonLabel = budata
downloadFinish = Mbudata zuru ezu
fileSizeProgress = ({ $partialSize } nke { $totalSize })
sendYourFilesLink = Firefox Zipu
sendYourFilesLink = Zipu
errorPageHeader = Onwere ihe na-adighi mma
fileTooBig = Failu a ebuka ibulite. Ọ kwẹsịghi ịkalị { $size }
linkExpiredAlt = Njiko jedebe
notSupportedHeader = Adighi akwado ihe nchogharị gị
notSupportedLink = Gịnị kpatara na akwadoghị ihe nchọgharị m?
notSupportedOutdatedDetail = Ọ dị nwute na ụdị Firefox a anaghị akwado teknụzụ weebụ na-eji Firefox Zipụ. Ikwesiri imelite ihe nchọgharị gị.
notSupportedOutdatedDetail = Ọ dị nwute na ụdị Firefox a anaghị akwado teknụzụ weebụ na-eji Zipụ. Ikwesiri imelite ihe nchọgharị gị.
updateFirefox = Melite Firefox
deletePopupCancel = Kagbuo
deleteButtonHover = Hichapụ
whyJavascript = Kedu ihe kpatara Firefox Send jiri chọ JavaScript?
footerLinkLegal = n'Iwu
footerLinkPrivacy = nzuzo
footerLinkCookies = Kuki ga
passwordTryAgain = okwuntughe ezighi ezi.Nwaa ọzọ
javascriptRequired = Zipu chọrọ
whyJavascript = Kedu ihe kpatara Zipu jiri chọ JavaScript?
enableJavascript = Biko họrọ JavaScript ma nwaa ọzọ
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -43,12 +46,12 @@ passwordSetError = Enweghị ike ịtọ paswọọdụ a
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Zipu
-send-short-brand = Zipu, Ziga
-firefox = Firefox
-mozilla = Mozilla
introTitle = Mfe, nkekọrịta faịlụ nkeonwe
introDescription = na-ahapu gị ịkekọrịta faịlụ na izo ya na njedebe na njedebe na-akwụsị na akpaghị aka. Yabụ ị nwere ike idobe ihe ị na -eche ma hụ na ngwongwo gị agaghị adị n'ịntanetị ruo mgbe ebighi ebi.
notifyUploadEncryptDone = Failu gi zoro ezo ma di njikere iziga
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
archiveExpiryInfo = Ọ ga-agwu mgbe { $downloadCount } ma ọ bụ { $timespan } gasịrị
@@ -62,4 +65,27 @@ timespanWeeks =
[one] 1 izu
*[other] izu { $num }
}
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $Number } { $nkeji }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = { $nha }
# the next line after the colon contains a file name
copyLinkDescription = Detuo njikọ ahụ iji kee faịlụ gị
copyLinkButton = Detuo njikọ
downloadTitle = Budata faịlụ gasi
downloadDescription = Nkekọrịta faịlụ a site na site na iji zoo njedebe na-njedebe yana otu njikọ na-akwụsị na-akpaghị aka.
trySendDescription = Gbalịa maka nyefe faịlụ dị mfe.
expiredTitle = Njikọ a emebiela.
notSupportedDescription = agaghị eji ihe nchọgharị a rụọ ọrụ. na arụ ọrụ kacha mma na ụdị nke , ọ ga-arụkwa ụdị nke ihe nchọgharị ka ugbu a.
downloadFirefox = Budata
legalTitle = Nkwupụta Nzuzo
legalDateStamp = 1.dị 1.0, akara ụbọchị Maachi 12, 2019
okButton = O

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Feedback
title = Send
importingFile = Importazione in corso…
encryptingFile = Crittazione in corso…
decryptingFile = Decrittazione in corso…
@@ -20,13 +18,13 @@ unlockButtonLabel = Sblocca
downloadButtonLabel = Scarica
downloadFinish = Download completato
fileSizeProgress = ({ $partialSize } di { $totalSize })
sendYourFilesLink = Prova Firefox Send
sendYourFilesLink = Prova Send
errorPageHeader = Si è verificato un errore.
fileTooBig = Le dimensioni di questo file sono eccessive. Dovrebbe essere inferiore a { $size }.
linkExpiredAlt = Link scaduto
notSupportedHeader = Il browser in uso non è supportato.
notSupportedLink = Perché questo browser non risulta supportato?
notSupportedOutdatedDetail = Purtroppo questa versione di Firefox non supporta le tecnologie web alla base di Firefox Send. È necessario aggiornare il browser.
notSupportedOutdatedDetail = Purtroppo questa versione di Firefox non supporta le tecnologie web alla base di Send. È necessario aggiornare il browser.
updateFirefox = Aggiorna Firefox
deletePopupCancel = Annulla
deleteButtonHover = Elimina
@@ -34,8 +32,8 @@ footerLinkLegal = Note legali
footerLinkPrivacy = Privacy
footerLinkCookies = Cookie
passwordTryAgain = Password errata, riprovare.
javascriptRequired = Firefox Send richiede JavaScript
whyJavascript = Perché Firefox Send richiede JavaScript?
javascriptRequired = Send richiede JavaScript
whyJavascript = Perché Send richiede JavaScript?
enableJavascript = Attiva JavaScript e riprova.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Impossibile impostare la password
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Aq'a yol sti'
title = Send
importingFile = Eq'otzan
encryptingFile = La muj isik'lele
decryptingFile = Ni jaj ve't isik'lele'
@@ -20,7 +18,7 @@ unlockButtonLabel = Eesa ikach'ub'al
downloadButtonLabel = Eq'o ku'tzan
downloadFinish = Eq'o ku'tzan kaajayil
fileSizeProgress = ({ $partialSize }tetz{ $totalSize })
sendYourFilesLink = B'anb'e ve't u Firefox Send
sendYourFilesLink = B'anb'e ve't u Send
errorPageHeader = At ma'l kam valexh kat eli!
notSupportedHeader = U chukb'al aq'one' ye' ni toleb'e'.
notSupportedLink = Kam q'ii uve' ye' kuxh ni toleb' u chukb'al vaq'one'?
@@ -36,8 +34,7 @@ expiresMinutes = { $minutes }m
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Aq'b'en
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = フィードバック
title = Send
importingFile = インポート中...
encryptingFile = 暗号化中...
decryptingFile = 復号化中...
@@ -18,13 +16,13 @@ unlockButtonLabel = ロック解除
downloadButtonLabel = ダウンロード
downloadFinish = ダウンロード完了
fileSizeProgress = ({ $partialSize } / { $totalSize })
sendYourFilesLink = Firefox Send を試す
sendYourFilesLink = Send を試す
errorPageHeader = 何か問題が発生しました。
fileTooBig = このファイルは大きすぎるためアップロードできません。上限は { $size } です。
linkExpiredAlt = リンク期限切れ
notSupportedHeader = お使いのブラウザーには対応していません。
notSupportedLink = なぜ私のブラウザーには対応していないのでしょうか?
notSupportedOutdatedDetail = 残念ながらお使いのバージョンの Firefox は Firefox Send が活用しているウェブ技術に対応していません。ブラウザーを更新する必要があります。
notSupportedOutdatedDetail = 残念ながらお使いのバージョンの Firefox は Send が活用しているウェブ技術に対応していません。ブラウザーを更新する必要があります。
updateFirefox = Firefox を更新
deletePopupCancel = キャンセル
deleteButtonHover = 削除
@@ -32,8 +30,8 @@ footerLinkLegal = 法的情報
footerLinkPrivacy = プライバシー
footerLinkCookies = Cookie
passwordTryAgain = パスワードが正しくありません。再度入力してください。
javascriptRequired = Firefox Send を使うには JavaScript が必要です
whyJavascript = Firefox Send が JavaScript を必要とする理由
javascriptRequired = Send を使うには JavaScript が必要です
whyJavascript = Send が JavaScript を必要とする理由
enableJavascript = JavaScript を有効にして再度試してください。
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } 時間 { $minutes } 分
@@ -46,8 +44,7 @@ passwordSetError = このパスワードは設定できませんでした
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = გამოხმაურება
title = Send
importingFile = გადმოტანა...
encryptingFile = დაშიფვრა...
decryptingFile = გაშიფვრა...
@@ -20,13 +18,13 @@ unlockButtonLabel = გახსნა
downloadButtonLabel = ჩამოტვირთვა
downloadFinish = ჩამოტვირთვა დასრულდა
fileSizeProgress = ({ $partialSize } { $totalSize }-იდან)
sendYourFilesLink = გამოცადეთ Firefox Send
sendYourFilesLink = გამოცადეთ Send
errorPageHeader = რაღაც ხარვეზია!
fileTooBig = ფაილი ზედმეტად დიდია. უნდა იყოს { $size } ზომაზე ნაკლები.
linkExpiredAlt = ბმული ვადაგასულია
notSupportedHeader = თქვენი ბრაუზერი არაა მხარდაჭერილი.
notSupportedLink = რატომ არაა ჩემი ბრაუზერი მხარდაჭერილი?
notSupportedOutdatedDetail = სამწუხაროდ, Firefox-ის ამ ვერსიას არ გააჩნია ის ტექნოლოგია, რომელიც აუცილებელია Firefox Send-ის მუშაობისთვის. გესაჭიროებათ, ბრაუზერის განახლება.
notSupportedOutdatedDetail = სამწუხაროდ, Firefox-ის ამ ვერსიას არ გააჩნია ის ტექნოლოგია, რომელიც აუცილებელია Send-ის მუშაობისთვის. გესაჭიროებათ, ბრაუზერის განახლება.
updateFirefox = Firefox-ის განახლება
deletePopupCancel = გაუქმება
deleteButtonHover = წაშლა
@@ -34,8 +32,8 @@ footerLinkLegal = სამართლებრივი საკითხე
footerLinkPrivacy = პირადულობა
footerLinkCookies = ფუნთუშები
passwordTryAgain = პაროლი არასწორია. სცადეთ ხელახლა.
javascriptRequired = Firefox Send საჭიროებს JavaScript-ს
whyJavascript = რატომ საჭიროებს Firefox Send JavaScript-ს?
javascriptRequired = Send საჭიროებს JavaScript-ს
whyJavascript = რატომ საჭიროებს Send JavaScript-ს?
enableJavascript = გთხოვთ ჩართოთ JavaScript და სცადოთ ხელახლა.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }სთ { $minutes }წთ
@@ -48,8 +46,7 @@ passwordSetError = ამ პაროლის დაყენება ვე
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Tikti
title = Send
importingFile = Akter...
encryptingFile = Awgelhen...
decryptingFile = Azmek...
@@ -20,13 +18,13 @@ unlockButtonLabel = Serreḥ
downloadButtonLabel = Sider
downloadFinish = Asider yemmed
fileSizeProgress = ({ $partialSize } seg { $totalSize })
sendYourFilesLink = Ɛreḍ Firefox Send
sendYourFilesLink = Ɛreḍ Send
errorPageHeader = Yella wayen yeḍran!
fileTooBig = Afaylu-agi meqqer aṭas. Yessefk ad yili daw n { $size }.
linkExpiredAlt = Aseɣwen yemmut
notSupportedHeader = Iminig-ik ur ittusefrak ara
notSupportedLink = Ayγer iminig inu ur yettwasefrek ara?
notSupportedOutdatedDetail = Ad nesḥissef imilqem-agi n Firefox Firefox ur isefrak ara titiknulujiyin web yettwaseqdacen di Firefox Send. Yessefk ad tleqmeḍ iminig-ik.
notSupportedOutdatedDetail = Ad nesḥissef imilqem-agi n Firefox Firefox ur isefrak ara titiknulujiyin web yettwaseqdacen di Send. Yessefk ad tleqmeḍ iminig-ik.
updateFirefox = Leqqem Firefox
deletePopupCancel = Sefsex
deleteButtonHover = Kkes
@@ -34,8 +32,8 @@ footerLinkLegal = Usḍif
footerLinkPrivacy = Tabaḍnit
footerLinkCookies = Inagan n tuqqna
passwordTryAgain = Yir awal uffir. Ɛreḍ tikelt nniḍen.
javascriptRequired = Firefox Send yesra JavaScript
whyJavascript = Ayɣer firefox Send yesra JavaScript?
javascriptRequired = Send yesra JavaScript
whyJavascript = Ayɣer Send yesra JavaScript?
enableJavascript = Ma ulac aɣilif rmed JavaScript sakin ɛreḍ tikkelt nniḍen.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }Isragen { $minutes }Tisdatin
@@ -48,8 +46,7 @@ passwordSetError = Awal-agi uffir ur izmir ara ad ittwabaded
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
@@ -76,7 +73,7 @@ timespanWeeks =
fileCount =
{ $num ->
[one] 1 n ufaylu
*[other] { $num } n ifuyla
*[other] { $num } n yifuyla
}
# byte abbreviation
bytes = B

View File

@@ -1,6 +1,5 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = 사용자 의견
# Send is a brand name and should not be localized.
title = Send
importingFile = 가져오는 중…
encryptingFile = 암호화 중…
decryptingFile = 복호화 중…
@@ -12,13 +11,13 @@ unlockButtonLabel = 잠금 해제
downloadButtonLabel = 다운로드
downloadFinish = 다운로드 완료
fileSizeProgress = ({ $partialSize } / { $totalSize })
sendYourFilesLink = Firefox Send 써보기
sendYourFilesLink = Send 써보기
errorPageHeader = 오류가 발생했습니다!
fileTooBig = 파일의 크기가 너무 큽니다. { $size } 보다 작아야 합니다.
linkExpiredAlt = 링크가 만료됨
notSupportedHeader = 이 브라우저는 지원되지 않습니다.
notSupportedLink = 왜 이 브라우저는 지원이 되지 않나요?
notSupportedOutdatedDetail = 안타깝게도 사용중인 Firefox 버전에서는 Firefox Send에 사용되는 웹 기술을 지원하지 않습니다. 브라우저 업데이트가 필요합니다.
notSupportedOutdatedDetail = 안타깝게도 사용중인 Firefox 버전에서는 Send에 사용되는 웹 기술을 지원하지 않습니다. 브라우저 업데이트가 필요합니다.
updateFirefox = Firefox 업데이트
deletePopupCancel = 아니오
deleteButtonHover = 삭제
@@ -26,8 +25,8 @@ footerLinkLegal = 법적 정보
footerLinkPrivacy = 개인정보 보호
footerLinkCookies = 쿠키
passwordTryAgain = 비밀번호가 맞지 않습니다. 다시 시도해 주세요.
javascriptRequired = Firefox Send는 JavaScript를 필요로 합니다
whyJavascript = 왜 Firefox Send에 JavaScript가 필요하죠?
javascriptRequired = Send는 JavaScript를 필요로 합니다
whyJavascript = 왜 Send에 JavaScript가 필요하죠?
enableJavascript = JavaScript를 활성화하고 다시 시도해 주세요.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }시간 { $minutes }분
@@ -40,8 +39,7 @@ passwordSetError = 이 비밀번호를 설정할 수 없었습니다
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla
@@ -97,7 +95,7 @@ tooManyArchives =
expiredTitle = 이 링크는 만료되었습니다.
notSupportedDescription = { -send-brand }는 이 브라우저와 작동하지 않습니다. { -send-short-brand }는 최신 { -firefox }와 가장 잘 작동하며, 대부분의 최신 웹 브라우저와도 잘 작동합니다.
downloadFirefox = { -firefox } 다운로드
legalTitle = { -send-short-brand } 개인정보 보호 공지
legalTitle = { -send-short-brand } 개인정보처리방침
legalDateStamp = 버전 1.0, 2019년 3월 12일자
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
expiresDaysHoursMinutes = { $days }일 { $hours }시간 { $minutes }분

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Pateikti atsiliepimą
title = Send
importingFile = Importuojama…
encryptingFile = Šifruojama…
decryptingFile = Iššifruojama…
@@ -22,13 +20,13 @@ unlockButtonLabel = Atrakinti
downloadButtonLabel = Parsisiųsti
downloadFinish = Parsiuntimas baigtas
fileSizeProgress = ({ $partialSize } iš { $totalSize })
sendYourFilesLink = Išbandyti „Firefox Send“
sendYourFilesLink = Išbandyti „Send“
errorPageHeader = Nutiko kažkas negero!
fileTooBig = Pasirinktas failas yra per didelis, kad jį būtų galima įkelti. Failo dydis neturėtų viršyti { $size }
linkExpiredAlt = Saitas nebegalioja
notSupportedHeader = Jūsų naršyklė nepalaikoma.
notSupportedLink = Kodėl mano naršyklė nepalaikoma?
notSupportedOutdatedDetail = Deja, šioje „Firefox“ naršyklės laidoje nepalaikoma „Firefox Send“ veikti reikalinga technologija. Jeigu norite naudotis šia paslauga, turėsite atnaujinti savo naršyklę.
notSupportedOutdatedDetail = Deja, šioje „Firefox“ naršyklės laidoje nepalaikoma „Send“ veikti reikalinga technologija. Jeigu norite naudotis šia paslauga, turėsite atnaujinti savo naršyklę.
updateFirefox = Atnaujinti „Firefox“
deletePopupCancel = Atsisakyti
deleteButtonHover = Šalinti
@@ -36,8 +34,8 @@ footerLinkLegal = Teisinė informacija
footerLinkPrivacy = Privatumas
footerLinkCookies = Slapukai
passwordTryAgain = Slaptažodis netinka. Bandykite dar kartą.
javascriptRequired = „Firefox Send“ veikimui būtina įgalinti „JavaScript“ palaikymą
whyJavascript = Kodėl „Firefox Send“ neveikia išjungus „JavaScript“?
javascriptRequired = „Send“ veikimui būtina įgalinti „JavaScript“ palaikymą
whyJavascript = Kodėl „Send“ neveikia išjungus „JavaScript“?
enableJavascript = Įgalinkit „JavaScript“ ir bandykite dar kartą.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours } val. { $minutes } min.
@@ -50,8 +48,7 @@ passwordSetError = Slaptažodžio nustatyti nepavyko
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla =

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Tu'un jianininu
title = Send
importingFile = Nasia´a…
encryptingFile = Encriptando...
decryptingFile = Desencriptando…
@@ -19,13 +17,13 @@ unlockButtonLabel = Nkasɨ
downloadButtonLabel = Xinuu
downloadFinish = Nnɨ´ɨ xinuu
fileSizeProgress = ({ $partialSize } de { $totalSize })
sendYourFilesLink = Ni´i Firefox Send
sendYourFilesLink = Ni´i Send
errorPageHeader = ¡Iyo iin ntu nkene va´a!
fileTooBig = Archivo ya´a ka´nu. Nejia chunku´va { $size }
linkExpiredAlt = Nnɨ´ɨ enlace
notSupportedHeader = Ntu íyo tiñu nuu ka̱a̱ nánuku ya´a.
notSupportedLink = ¿Navi ntu satiñu nuu ka̱a̱ nánuku ya´a?
notSupportedOutdatedDetail = Tuni Firefox ya´a ntu satiñu vii jii Firefox Send. Nejika xinunu a jíía ka̱a̱ nánuku.
notSupportedOutdatedDetail = Tuni Firefox ya´a ntu satiñu vii jii Send. Nejika xinunu a jíía ka̱a̱ nánuku.
updateFirefox = Naxi´ñá Firefox
deletePopupCancel = Nkuvi-ka
deleteButtonHover = Xita
@@ -33,8 +31,8 @@ footerLinkLegal = Tu´un nichi
footerLinkPrivacy = Tu´un xitu a kumiji noo´o
footerLinkCookies = Cookies
passwordTryAgain = Contraseña ntu vatu. Nachu´un tuku.
javascriptRequired = Firefox Send ni´i JavaScript
whyJavascript = ¿Navi Firefox Send ni´i JavaScript?
javascriptRequired = Send ni´i JavaScript
whyJavascript = ¿Navi Send ni´i JavaScript?
enableJavascript = Kua´a jia´a JavaScript jee nachu´un tuku.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -47,8 +45,7 @@ passwordSetError = Ntu nkuvi sá´á contraseña
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
siteFeedback = Tu'un meu
title = Send
importingFile = Ndakiin…
encryptingFile = Ndasami tu'un…
decryptingFile = Nchiko tu'un…
@@ -20,13 +18,13 @@ unlockButtonLabel = Kuna
downloadButtonLabel = Snuù
downloadFinish = Ntsinu snui
fileSizeProgress = ({ $partialSize } ña { $totalSize })
sendYourFilesLink = Kuachu'un Firefox Send
sendYourFilesLink = Kuachu'un Send
errorPageHeader = ¡Yee ña va'a!
fileTooBig = Kanu tutu yo. Tsini ñu'u koi tana { $size }.
linkExpiredAlt = Ntoo enlace
notSupportedHeader = Kue ku kuni página.
notSupportedLink = ¿Chanu kue ku kuncheuña?
notSupportedOutdatedDetail = Firefox kue ku kuni página web takua kuachu'un Firefox Send. tsiniñu'u ndu tsa'a navegador.
notSupportedOutdatedDetail = Firefox kue ku kuni página web takua kuachu'un Send. tsiniñu'u ndu tsa'a navegador.
updateFirefox = Ndu tsa'a Firefox
deletePopupCancel = Kunchatu
deleteButtonHover = Stoò
@@ -34,8 +32,8 @@ footerLinkLegal = Aviso legal
footerLinkPrivacy = Ña meu
footerLinkCookies = Cookies
passwordTryAgain = Kue vaa ni chau sivi siki. Chai tuku.
javascriptRequired = Firefox Send tsiniñui JavaScript
whyJavascript = ¿Chanu Firefox Send tsiniñui JavaScript?
javascriptRequired = Send tsiniñui JavaScript
whyJavascript = ¿Chanu Send tsiniñui JavaScript?
enableJavascript = Saá ña mani katsi JavaScript chá kitsa tuku.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m
@@ -48,8 +46,7 @@ passwordSetError = Ma ku ntanii tu'un see
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = Firefox Send
-send-brand = Send
-send-short-brand = Send
-firefox = Firefox
-mozilla = Mozilla

View File

@@ -1,6 +1,4 @@
# Firefox Send is a brand name and should not be localized.
title = ഫയർഫോക്സ് സെൻഡ്
siteFeedback = പ്രതികരണം
importingFile = ഇറക്കുമതി ചെയ്യുന്നു...
encryptingFile = എൻക്രിപ്റ്റ് ചെയ്യുന്നു...
decryptingFile = ഡീക്രിപ്റ്റ് ചെയ്യുന്നു...
@@ -48,7 +46,6 @@ passwordSetError = ഈ രഹസ്യവാക്ക് ക്രമീകര
## Send version 2 strings
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
-send-brand = ഫയർഫോക്സ് സെൻഡ്
-send-short-brand = സെൻഡ്
-firefox = ഫയർഫോക്സ്

View File

@@ -1,7 +1,5 @@
# Firefox Send is a brand name and should not be localized.
title = Firefox Send
title = 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
@@ -53,16 +51,14 @@ unlockInputLabel = Masukkan Kata Laluan
unlockInputPlaceholder = Kata laluan
unlockButtonLabel = Buka
downloadFileTitle = Muat turun Fail Enkripsi
# 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.
downloadMessage = Rakan anda menghantar satu fail kepada anda menggunakan 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
downloadNotification = Muat turun anda sudah siap.
downloadFinish = Muat turun Selesai
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
fileSizeProgress = ({ $partialSize } daripada { $totalSize })
# Firefox Send is a brand name and should not be localized.
sendYourFilesLink = Cuba Firefox Send
sendYourFilesLink = Cuba Send
downloadingPageProgress = Memuat turun { $filename } ({ $size })
downloadingPageMessage = Sila biarkan tab ini terbuka semasa kami mengambil fail anda dan menghuraikannya.
errorAltText = Ralat memuat naik
@@ -73,10 +69,9 @@ fileTooBig = Fail terlalu besar untuk dimuat naik. Perlu kurang daripada { $size
linkExpiredAlt = 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!
notSupportedDetail = Malangnya, pelayar ini tidak menyokong teknologi web yang melaksanakan Send. Anda perlu cuba pelayar lain. Kami syorkan Firefox!
notSupportedLink = Kenapa pelayar saya tidak disokong?
notSupportedOutdatedDetail = Malangnya versi Firefox ini tidak menyokong teknologi web yang menguasakan Firefox Send. Anda perlu mengemaskini pelayar anda.
notSupportedOutdatedDetail = Malangnya versi Firefox ini tidak menyokong teknologi web yang menguasakan Send. Anda perlu mengemaskini pelayar anda.
updateFirefox = Kemaskini Firefox
downloadFirefoxButtonSub = Muat turun Percuma
uploadedFile = Fail
@@ -86,8 +81,8 @@ expiryFileList = Luput Pada
deleteFileList = Buang
nevermindButton = Tak apalah
legalHeader = Terma & Privasi
legalNoticeTestPilot = Firefox Send adalah eksperimen Ujian Perintis, dan tertakluk kepada <a>Terma Perkhidmatan</a> dan <a>Notis Privasi</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.
legalNoticeTestPilot = Send adalah eksperimen Ujian Perintis, dan tertakluk kepada <a>Terma Perkhidmatan</a> dan <a>Notis Privasi</a> Ujian Perintis. Anda boleh ketahui selanjutnya perihal eksperimen ini dan pengumpulan data <a>di sini</a>.
legalNoticeMozilla = Penggunaan laman web Send juga tertakluk kepada <a>Notis Privasi Laman web</a> dan <a>Terma Penggunaan Laman web</a> Mozilla.
deletePopupText = Buang fail ini?
deletePopupYes = Ya
deletePopupCancel = Batal
@@ -104,8 +99,8 @@ addPasswordButton = Tambah Kata laluan
changePasswordButton = Tukar
passwordTryAgain = Kata laluan tidak betul. Cuba lagi.
reportIPInfringement = Lapor Pencerobohan IP
javascriptRequired = Firefox Send perlukan JavaScript
whyJavascript = Kenapa Firefox Send perlukan JavaScript?
javascriptRequired = Send perlukan JavaScript
whyJavascript = Kenapa Send perlukan JavaScript?
enableJavascript = Sila dayakan JavaScript dan cuba lagi.
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
expiresHoursMinutes = { $hours }h { $minutes }m

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