Compare commits
266 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a9a75794e | ||
|
|
89469e3c9c | ||
|
|
01110b4ec1 | ||
|
|
b54cd58602 | ||
|
|
6cc00be4b5 | ||
|
|
b40594f0ee | ||
|
|
01f4ceca23 | ||
|
|
471c9e8559 | ||
|
|
f45960263f | ||
|
|
0ee9cc69a8 | ||
|
|
2a3db78f97 | ||
|
|
e5f9265979 | ||
|
|
00416b5063 | ||
|
|
deec85be14 | ||
|
|
6342203256 | ||
|
|
949fbb68c3 | ||
|
|
222c21ddf9 | ||
|
|
ae20e55c50 | ||
|
|
765da48b0c | ||
|
|
3769a17300 | ||
|
|
cad853b196 | ||
|
|
804128b7c8 | ||
|
|
e136b9dc63 | ||
|
|
b4ffb8cf01 | ||
|
|
e24c1103b3 | ||
|
|
07202e684a | ||
|
|
ca774258d6 | ||
|
|
93d48c5787 | ||
|
|
aa65f20afa | ||
|
|
f3caa9841c | ||
|
|
4c6663948b | ||
|
|
c5a4f920c4 | ||
|
|
c6cbb727da | ||
|
|
830337b403 | ||
|
|
c11f8a059e | ||
|
|
6fd1ed18a1 | ||
|
|
0338382fdf | ||
|
|
aac2b8e6f4 | ||
|
|
40a111a2e9 | ||
|
|
cbb0b86712 | ||
|
|
51465a2797 | ||
|
|
fa99c75313 | ||
|
|
0b4bd40b32 | ||
|
|
c5b2dc826b | ||
|
|
1f7a58ea41 | ||
|
|
ca6e2963e3 | ||
|
|
9f019f100d | ||
|
|
5e91a72cd9 | ||
|
|
01d7383ae0 | ||
|
|
74234fa03c | ||
|
|
49b24294b1 | ||
|
|
5feb07a251 | ||
|
|
28b69c4f14 | ||
|
|
19e5fd269e | ||
|
|
52d708bf3f | ||
|
|
bb66a1bfa5 | ||
|
|
d31b1ebfcd | ||
|
|
4385d29aa0 | ||
|
|
111e1d5ed3 | ||
|
|
27d48f2ec3 | ||
|
|
1a6ddf7e75 | ||
|
|
cd8d01db29 | ||
|
|
dc8f56bc57 | ||
|
|
efb04397f7 | ||
|
|
19b34e8d39 | ||
|
|
b7c7e0ef27 | ||
|
|
b02c5ed4a9 | ||
|
|
59fb485ba6 | ||
|
|
71b22458ba | ||
|
|
ecb9391439 | ||
|
|
aaf341bd81 | ||
|
|
35ef24a40f | ||
|
|
3973f0552c | ||
|
|
767cc166b1 | ||
|
|
f24ad20ffe | ||
|
|
a1f915806a | ||
|
|
669212a9b7 | ||
|
|
59f6e51636 | ||
|
|
2515ba274d | ||
|
|
6c2fbfe6ff | ||
|
|
26fdb271dd | ||
|
|
4504c5cd74 | ||
|
|
2746556dfa | ||
|
|
e57fc1c2d8 | ||
|
|
097d3c8377 | ||
|
|
43c728d5d4 | ||
|
|
3dffb8da15 | ||
|
|
c49dbd6d6d | ||
|
|
356112e8cc | ||
|
|
ad0d862d92 | ||
|
|
2ca007af1a | ||
|
|
0a42c887d2 | ||
|
|
f54a95c965 | ||
|
|
eec8da890a | ||
|
|
32a58d85a3 | ||
|
|
1252aaed30 | ||
|
|
060ff1cae4 | ||
|
|
1c2955ed9e | ||
|
|
5e5bce8745 | ||
|
|
e43ba60792 | ||
|
|
e94fe58965 | ||
|
|
a21412844a | ||
|
|
666ca8e87b | ||
|
|
71ceffd9b4 | ||
|
|
cdbd669af2 | ||
|
|
027043edb7 | ||
|
|
e4a1f8e86b | ||
|
|
dfd5eb9b1e | ||
|
|
e3ee840b64 | ||
|
|
b8bd13c704 | ||
|
|
6238299a0a | ||
|
|
d40ddc3d3b | ||
|
|
d2746db969 | ||
|
|
95057ef503 | ||
|
|
aec2ec30d5 | ||
|
|
4d36b3d6e9 | ||
|
|
6b89197cfd | ||
|
|
dd2ebdd2de | ||
|
|
c479d326ed | ||
|
|
8434d91891 | ||
|
|
f9c761ea99 | ||
|
|
b14f5f16d0 | ||
|
|
4fbc8e0c89 | ||
|
|
ad2a1715b5 | ||
|
|
ac8f826612 | ||
|
|
c1aaa9d6e5 | ||
|
|
eac95ffff7 | ||
|
|
8121761cc8 | ||
|
|
7c720cd7cc | ||
|
|
4c2f809502 | ||
|
|
d42523651c | ||
|
|
b9775e0471 | ||
|
|
d2f37204e0 | ||
|
|
846dad6662 | ||
|
|
c966010ed3 | ||
|
|
e77fea09bc | ||
|
|
b63291c7d3 | ||
|
|
2ccc044a27 | ||
|
|
4144850f9d | ||
|
|
18630aadf9 | ||
|
|
605fff519e | ||
|
|
0b7ff9551d | ||
|
|
2c9716e01e | ||
|
|
cdde3fe654 | ||
|
|
3537667187 | ||
|
|
66086c460d | ||
|
|
a203a8de67 | ||
|
|
2bba9c53ed | ||
|
|
37af4d33fc | ||
|
|
107f40c8c9 | ||
|
|
cb325022dc | ||
|
|
b62b439218 | ||
|
|
47972fe2a1 | ||
|
|
7ad937266f | ||
|
|
2f34dffab4 | ||
|
|
4a956c0247 | ||
|
|
23ce7a1f84 | ||
|
|
66a8ad2e4f | ||
|
|
e8e2e31b59 | ||
|
|
7259c46d1c | ||
|
|
9d3c3d1924 | ||
|
|
a0d6317747 | ||
|
|
3810e09509 | ||
|
|
bb7678e7e4 | ||
|
|
3dcf01dd1f | ||
|
|
3b8f19b4c9 | ||
|
|
ab957c26a0 | ||
|
|
e835c82c27 | ||
|
|
d69a9e8537 | ||
|
|
1b286d664b | ||
|
|
f8c8a6c2cd | ||
|
|
b71234fc83 | ||
|
|
2eb35733da | ||
|
|
df276d5942 | ||
|
|
e1a6fb9569 | ||
|
|
99b2d636a1 | ||
|
|
78be59adac | ||
|
|
720ab6ae3a | ||
|
|
5e0dcc948c | ||
|
|
90400d72b1 | ||
|
|
8f1fd6cbf5 | ||
|
|
fef8788d55 | ||
|
|
d2f8156bde | ||
|
|
d4fbd48f1c | ||
|
|
a6d3948fbc | ||
|
|
005bbb1792 | ||
|
|
186230d211 | ||
|
|
ee1e8bc204 | ||
|
|
d1366fb764 | ||
|
|
d81dba6407 | ||
|
|
f35ddd8e9a | ||
|
|
ff798463e8 | ||
|
|
6308c386a3 | ||
|
|
5a6c338ab9 | ||
|
|
bc6401e7dd | ||
|
|
0667f22ddd | ||
|
|
594cd339b5 | ||
|
|
762497b867 | ||
|
|
9199a985d8 | ||
|
|
624e1234d9 | ||
|
|
a3d153db66 | ||
|
|
dc25bc5727 | ||
|
|
6a1670b550 | ||
|
|
8cd3a720fe | ||
|
|
9aa7da68be | ||
|
|
063042cd76 | ||
|
|
8ce3a5d236 | ||
|
|
0c58c84625 | ||
|
|
68ddcf3b56 | ||
|
|
a0648d7d91 | ||
|
|
5e674973db | ||
|
|
4f2b634825 | ||
|
|
48bbf07392 | ||
|
|
357f6da3b0 | ||
|
|
def21041d8 | ||
|
|
c44728865a | ||
|
|
f271140c5f | ||
|
|
3593aaf61f | ||
|
|
8b433a008d | ||
|
|
1ab1bf1b00 | ||
|
|
c04d15f806 | ||
|
|
977e8bdc21 | ||
|
|
454d1d03f5 | ||
|
|
f73ff7fa26 | ||
|
|
98317c94aa | ||
|
|
aa91d762af | ||
|
|
5cddd0842b | ||
|
|
4dee3d2283 | ||
|
|
2d20cb3819 | ||
|
|
c28beb3bc1 | ||
|
|
216a7a6ff8 | ||
|
|
a48d2bad4f | ||
|
|
04c60414e1 | ||
|
|
92c3f67020 | ||
|
|
49e6c064ac | ||
|
|
8551139a8a | ||
|
|
96461692ee | ||
|
|
a217ad4be5 | ||
|
|
18216ce430 | ||
|
|
1711a2d1d7 | ||
|
|
8b2080a2f0 | ||
|
|
006ee1d2e6 | ||
|
|
0a7c473965 | ||
|
|
4e124d174c | ||
|
|
524b2a5668 | ||
|
|
844f036a27 | ||
|
|
7d6c781ea5 | ||
|
|
ad9577daaf | ||
|
|
114068c531 | ||
|
|
0daa03e04c | ||
|
|
63348fd36a | ||
|
|
c71c246959 | ||
|
|
2b7504e969 | ||
|
|
b942554c80 | ||
|
|
1ae227fddd | ||
|
|
a63fe18d15 | ||
|
|
ea1ea2aa68 | ||
|
|
90d06d71d3 | ||
|
|
11f2deb7a6 | ||
|
|
0f5edf023a | ||
|
|
3be0621647 | ||
|
|
fc07bfdb85 | ||
|
|
581a989304 | ||
|
|
047d6a85ab | ||
|
|
90f6a07d4a | ||
|
|
8f4a53db64 |
@@ -1,77 +1,48 @@
|
||||
version: 2.0
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: circleci/node:10
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: send-build-{{ checksum "package-lock.json" }}
|
||||
- run: npm install
|
||||
- save_cache:
|
||||
key: send-build-{{ checksum "package-lock.json" }}
|
||||
paths:
|
||||
- node_modules
|
||||
- run: npm run build
|
||||
- persist_to_workspace:
|
||||
root: .
|
||||
paths:
|
||||
- ./dist
|
||||
test:
|
||||
docker:
|
||||
- image: circleci/node:10-browsers
|
||||
- image: circleci/node:12-browsers
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: send-test-{{ checksum "package-lock.json" }}
|
||||
- run: npm install
|
||||
- save_cache:
|
||||
key: send-test-{{ checksum "package-lock.json" }}
|
||||
paths:
|
||||
- node_modules
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
- run: npm run test
|
||||
- run: npm test
|
||||
- store_artifacts:
|
||||
path: coverage
|
||||
integration_tests:
|
||||
docker:
|
||||
- image: circleci/node:10-browsers
|
||||
- image: circleci/node:12-browsers
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: send-int-{{ checksum "package-lock.json" }}
|
||||
- run: npm install
|
||||
- save_cache:
|
||||
key: send-int-{{ checksum "package-lock.json" }}
|
||||
paths:
|
||||
- node_modules
|
||||
- run: npm ci
|
||||
- run:
|
||||
name: Run integration test
|
||||
command: ./scripts/bin/run-integration-test-circleci.sh
|
||||
deploy_dev:
|
||||
machine: true
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- setup_remote_docker
|
||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- run: docker build -t mozilla/send:latest .
|
||||
- run: docker push mozilla/send:latest
|
||||
deploy_vnext:
|
||||
machine: true
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- setup_remote_docker
|
||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- run: docker build -t mozilla/send:vnext .
|
||||
- run: docker push mozilla/send:vnext
|
||||
deploy_stage:
|
||||
machine: true
|
||||
docker:
|
||||
- image: circleci/node:12
|
||||
steps:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- setup_remote_docker
|
||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- run: docker build -t mozilla/send:$CIRCLE_TAG .
|
||||
- run: docker push mozilla/send:$CIRCLE_TAG
|
||||
@@ -79,12 +50,6 @@ workflows:
|
||||
version: 2
|
||||
test_pr:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
ignore:
|
||||
- master
|
||||
- vnext
|
||||
- test:
|
||||
filters:
|
||||
branches:
|
||||
@@ -97,25 +62,13 @@ workflows:
|
||||
ignore: master
|
||||
build_and_deploy_dev:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- vnext
|
||||
tags:
|
||||
ignore: /^v.*/
|
||||
- deploy_dev:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
tags:
|
||||
ignore: /^v.*/
|
||||
- deploy_vnext:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: vnext
|
||||
@@ -123,12 +76,6 @@ workflows:
|
||||
ignore: /^v.*/
|
||||
build_and_deploy_stage:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
ignore: /.*/
|
||||
tags:
|
||||
only: /^v.*/
|
||||
- test:
|
||||
filters:
|
||||
branches:
|
||||
@@ -143,7 +90,6 @@ workflows:
|
||||
only: /^v.*/
|
||||
- deploy_stage:
|
||||
requires:
|
||||
- build
|
||||
- test
|
||||
- integration_tests
|
||||
filters:
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
node_modules
|
||||
.git
|
||||
.tox
|
||||
.DS_Store
|
||||
firefox
|
||||
assets
|
||||
docs
|
||||
test
|
||||
coverage
|
||||
.circleci
|
||||
.nyc_output
|
||||
.vscode
|
||||
.DS_Store
|
||||
coverage
|
||||
docs
|
||||
firefox
|
||||
node_modules
|
||||
@@ -19,6 +19,7 @@ rules:
|
||||
node/no-unsupported-features/es-syntax: off
|
||||
node/no-unsupported-features/node-builtins: off
|
||||
node/no-unpublished-require: off
|
||||
node/no-unpublished-import: off
|
||||
|
||||
security/detect-non-literal-fs-filename: off
|
||||
security/detect-object-injection: off
|
||||
|
||||
12
CONTRIBUTORS
@@ -1,6 +1,7 @@
|
||||
Abdalrahman Hwoij
|
||||
Abhinav Adduri
|
||||
Adnan Kičin
|
||||
Adolfo Jayme Barrientos
|
||||
Alberto Castro
|
||||
Alexander Slovesnik
|
||||
Alfredos-Panagiotis Damkalis
|
||||
@@ -63,6 +64,7 @@ George Raptis
|
||||
Georgianizator
|
||||
Gonçalo Matos
|
||||
Gwenn
|
||||
Hampus
|
||||
Hugo
|
||||
Hugo Abreu
|
||||
Hyeonseok Shin
|
||||
@@ -93,6 +95,7 @@ Juraj Cigáň
|
||||
Kerim Kalamujić
|
||||
Khaled Hosny
|
||||
Kim Ludvigsen
|
||||
Kim Younggeon
|
||||
Kohei Yoshino
|
||||
Lan Glad
|
||||
Lasse Liehu
|
||||
@@ -101,6 +104,7 @@ Lobodzets
|
||||
LuFlo
|
||||
Luis A. Sánchez
|
||||
Luiz Carlos de Morais
|
||||
Luiz Felipe F M Costa
|
||||
Luna Jernberg
|
||||
Mahay Alam Khan
|
||||
Marcelo Ghelman
|
||||
@@ -110,6 +114,7 @@ Mark Heijl
|
||||
Mark Liang
|
||||
Mark Liang (You-Wen)
|
||||
Marko Andrejić
|
||||
Martijn Dekker
|
||||
Marwan Mohamad
|
||||
Matjaž Horvat
|
||||
Maykon Chagas
|
||||
@@ -131,6 +136,7 @@ Myungjae Won
|
||||
Nicholas Skinsacos
|
||||
Nihad
|
||||
Nihad Suljić
|
||||
Niksend Mizuhara
|
||||
Oscar
|
||||
Paulius
|
||||
Pedro Burlamaqui Bendahan
|
||||
@@ -138,7 +144,9 @@ Peter deHaan
|
||||
Pierre Neter
|
||||
Pin-guang Chen
|
||||
Piotr Drąg
|
||||
Quentí
|
||||
Quế Tùng
|
||||
Rachel Tublitz
|
||||
Radu Popescu
|
||||
Rhoslyn Prys
|
||||
RickieES
|
||||
@@ -161,6 +169,7 @@ Sara Todaro
|
||||
Sav22999
|
||||
Schieck :)
|
||||
Selim Şumlu
|
||||
Selyan Sliman Amiri
|
||||
Sidak Singh Aulakh
|
||||
Slimane Amiri
|
||||
Slimane Selyan AMIRI
|
||||
@@ -183,6 +192,7 @@ Victor Bychek
|
||||
Vimal Raghubir
|
||||
Vitaliy Krutko
|
||||
Weihang Lo
|
||||
Wiktor Furman
|
||||
Wil Clouser
|
||||
YFdyh000
|
||||
Yassine Aït-El-Mouden
|
||||
@@ -213,9 +223,11 @@ jesferman1993
|
||||
jlG
|
||||
josotrix
|
||||
jspam
|
||||
julen
|
||||
julenx
|
||||
kenrick95
|
||||
kumincir
|
||||
leo.toneff
|
||||
m4hdi.pdroid
|
||||
mail
|
||||
manxmensch
|
||||
|
||||
61
Dockerfile
@@ -1,19 +1,60 @@
|
||||
FROM node:10 AS builder
|
||||
RUN addgroup --gid 10001 app && adduser --disabled-password --gecos '' --gid 10001 --home /app --uid 10001 app
|
||||
COPY package*.json /app/
|
||||
WORKDIR /app
|
||||
RUN npm install --production
|
||||
##
|
||||
# Firefox Send - Mozilla
|
||||
#
|
||||
# License https://github.com/mozilla/send/blob/master/LICENSE
|
||||
##
|
||||
|
||||
FROM node:10-slim
|
||||
RUN addgroup --gid 10001 app && adduser --disabled-password --gecos '' --gid 10001 --home /app --uid 10001 app
|
||||
|
||||
# Build project
|
||||
FROM node:12 AS builder
|
||||
RUN set -x \
|
||||
# Add user
|
||||
&& addgroup --gid 10001 app \
|
||||
&& adduser --disabled-password \
|
||||
--gecos '' \
|
||||
--gid 10001 \
|
||||
--home /app \
|
||||
--uid 10001 \
|
||||
app
|
||||
RUN npm i -g npm
|
||||
COPY --chown=app:app . /app
|
||||
USER app
|
||||
WORKDIR /app
|
||||
COPY --chown=app:app --from=builder /app .
|
||||
COPY --chown=app:app . .
|
||||
RUN set -x \
|
||||
# Build
|
||||
&& npm ci \
|
||||
&& npm run build
|
||||
|
||||
|
||||
# Main image
|
||||
FROM node:12-slim
|
||||
RUN set -x \
|
||||
# Add user
|
||||
&& addgroup --gid 10001 app \
|
||||
&& adduser --disabled-password \
|
||||
--gecos '' \
|
||||
--gid 10001 \
|
||||
--home /app \
|
||||
--uid 10001 \
|
||||
app
|
||||
RUN apt-get update && apt-get -y install \
|
||||
git-core \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
USER app
|
||||
WORKDIR /app
|
||||
COPY --chown=app:app package*.json ./
|
||||
COPY --chown=app:app app app
|
||||
COPY --chown=app:app common common
|
||||
COPY --chown=app:app public/locales public/locales
|
||||
COPY --chown=app:app server server
|
||||
COPY --chown=app:app --from=builder /app/dist dist
|
||||
|
||||
RUN npm ci --production && npm cache clean --force
|
||||
RUN mkdir -p /app/.config/configstore
|
||||
RUN ln -s dist/version.json version.json
|
||||
|
||||
ENV PORT=1443
|
||||
EXPOSE $PORT
|
||||
|
||||
EXPOSE ${PORT}
|
||||
|
||||
CMD ["node", "server/bin/prod.js"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# [](https://send.firefox.com/)
|
||||
# [](https://send.firefox.com/) Firefox Send
|
||||
|
||||
[](https://circleci.com/gh/mozilla/send)
|
||||
|
||||
@@ -30,7 +30,7 @@ A file sharing experiment which allows you to send encrypted files to other user
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Node.js 10.0+](https://nodejs.org/)
|
||||
- [Node.js 10.x](https://nodejs.org/)
|
||||
- [Redis server](https://redis.io/) (optional for development)
|
||||
- [AWS S3](https://aws.amazon.com/s3/) or compatible service. (optional)
|
||||
|
||||
|
||||
@@ -60,9 +60,7 @@ function body(main) {
|
||||
</a>`;
|
||||
*/
|
||||
return html`
|
||||
<body
|
||||
class="flex flex-col items-center font-sans bg-grey-lightest h-screen"
|
||||
>
|
||||
<body class="flex flex-col items-center font-sans bg-grey-10 h-screen">
|
||||
${state.cache(Header, 'header').render()} ${main(state, emit)}
|
||||
</body>
|
||||
`;
|
||||
|
||||
@@ -25,7 +25,7 @@ module.exports = function(state, emit) {
|
||||
let content = '';
|
||||
let button = html`
|
||||
<div
|
||||
class="bg-blue rounded-full m-4 flex items-center justify-center shadow-lg"
|
||||
class="bg-blue-50 rounded-full m-4 flex items-center justify-center shadow-lg"
|
||||
style="width: 56px; height: 56px"
|
||||
onclick="${onclick}"
|
||||
>
|
||||
|
||||
97
app/main.css
@@ -39,7 +39,7 @@ body {
|
||||
}
|
||||
|
||||
.btn {
|
||||
@apply bg-blue-dark;
|
||||
@apply bg-blue-60;
|
||||
@apply text-white;
|
||||
@apply cursor-pointer;
|
||||
@apply py-4;
|
||||
@@ -48,11 +48,11 @@ body {
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
@apply bg-blue-darker;
|
||||
@apply bg-blue-70;
|
||||
}
|
||||
|
||||
.btn:focus {
|
||||
@apply bg-blue-darker;
|
||||
@apply bg-blue-70;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
@@ -70,7 +70,7 @@ body {
|
||||
}
|
||||
|
||||
.checkbox > label::before {
|
||||
/* @apply bg-grey-lightest; */
|
||||
/* @apply bg-grey-10; */
|
||||
@apply border;
|
||||
@apply rounded-sm;
|
||||
|
||||
@@ -82,16 +82,16 @@ body {
|
||||
}
|
||||
|
||||
.checkbox > label:hover::before {
|
||||
@apply border-blue-dark;
|
||||
@apply border-blue-50;
|
||||
}
|
||||
|
||||
.checkbox > input:focus + label::before {
|
||||
@apply border-blue-dark;
|
||||
@apply border-blue-50;
|
||||
}
|
||||
|
||||
.checkbox > input:checked + label::before {
|
||||
@apply bg-blue-dark;
|
||||
@apply border-blue-dark;
|
||||
@apply bg-blue-50;
|
||||
@apply border-blue-50;
|
||||
|
||||
background-image: url('../assets/lock.svg');
|
||||
background-position: center;
|
||||
@@ -104,8 +104,8 @@ body {
|
||||
}
|
||||
|
||||
.checkbox > input:disabled + label::before {
|
||||
@apply bg-blue-dark;
|
||||
@apply border-blue-dark;
|
||||
@apply bg-blue-50;
|
||||
@apply border-blue-50;
|
||||
|
||||
background-image: url('../assets/lock.svg');
|
||||
background-position: center;
|
||||
@@ -153,9 +153,21 @@ footer li:hover {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.link-blue {
|
||||
@apply text-blue-60;
|
||||
}
|
||||
|
||||
.link-blue:hover {
|
||||
@apply text-blue-70;
|
||||
}
|
||||
|
||||
.link-blue:focus {
|
||||
@apply text-blue-70;
|
||||
}
|
||||
|
||||
.main-header img {
|
||||
height: 32px;
|
||||
width: 170px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.intro {
|
||||
@@ -193,14 +205,14 @@ footer li:hover {
|
||||
}
|
||||
|
||||
progress {
|
||||
@apply bg-grey-light;
|
||||
@apply bg-grey-30;
|
||||
@apply rounded-sm;
|
||||
@apply w-full;
|
||||
@apply h-1;
|
||||
}
|
||||
|
||||
progress::-webkit-progress-bar {
|
||||
@apply bg-grey-light;
|
||||
@apply bg-grey-30;
|
||||
@apply rounded-sm;
|
||||
@apply w-full;
|
||||
@apply h-1;
|
||||
@@ -290,6 +302,55 @@ select {
|
||||
}
|
||||
}
|
||||
|
||||
@screen dark {
|
||||
body {
|
||||
@apply text-grey-10;
|
||||
|
||||
background-image: unset;
|
||||
}
|
||||
|
||||
.btn {
|
||||
@apply bg-blue-40;
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
@apply bg-blue-50;
|
||||
}
|
||||
|
||||
.btn:focus {
|
||||
@apply bg-blue-50;
|
||||
}
|
||||
|
||||
.link-blue {
|
||||
@apply text-blue-40;
|
||||
}
|
||||
|
||||
.link-blue:hover {
|
||||
@apply text-blue-50;
|
||||
}
|
||||
|
||||
.link-blue:focus {
|
||||
@apply text-blue-50;
|
||||
}
|
||||
|
||||
.main > section {
|
||||
@apply bg-grey-90;
|
||||
}
|
||||
|
||||
.mozilla-logo {
|
||||
background-color: white;
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
@screen md {
|
||||
.main > section {
|
||||
@apply border;
|
||||
@apply border-grey-80;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@tailwind utilities;
|
||||
|
||||
@responsive {
|
||||
@@ -325,8 +386,6 @@ select {
|
||||
|
||||
.signin:hover,
|
||||
.signin:focus {
|
||||
@apply shadow-btn;
|
||||
|
||||
transform: scale(1.0625);
|
||||
}
|
||||
|
||||
@@ -337,19 +396,19 @@ select {
|
||||
/* begin signin button color experiment */
|
||||
|
||||
.white-blue {
|
||||
@apply border-blue-dark;
|
||||
@apply border-blue-60;
|
||||
@apply border-2;
|
||||
@apply text-blue-dark;
|
||||
@apply text-blue-60;
|
||||
}
|
||||
|
||||
.white-blue:hover,
|
||||
.white-blue:focus {
|
||||
@apply bg-blue-dark;
|
||||
@apply bg-blue-60;
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.blue {
|
||||
@apply bg-blue-dark;
|
||||
@apply bg-blue-60;
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,8 @@ if (process.env.NODE_ENV === 'production') {
|
||||
sentry: Sentry,
|
||||
user: new User(storage, LIMITS, window.AUTH_CONFIG),
|
||||
transfer: null,
|
||||
fileInfo: null
|
||||
fileInfo: null,
|
||||
locale: locale()
|
||||
};
|
||||
|
||||
const app = routes(choo({ hash: true }));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
`app/` contains the browser code that gets bundled into `app.[hash].js`. It's got all the logic, crypto, and UI. All of it gets used in the browser, and some of it by the server for server side rendering.
|
||||
|
||||
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes/index.js](./routes/index.js) gets imported by [/server/routes/pages.js](../server/routes/pages.js)
|
||||
The main entrypoint for the browser is [main.js](./main.js) and on the server [routes.js](./routes.js) is imported by [/server/routes/pages.js](../server/routes/pages.js)
|
||||
|
||||
- `pages` contains display logic an markup for pages
|
||||
- `routes` contains route definitions and logic
|
||||
|
||||
@@ -64,8 +64,7 @@ class Account extends Component {
|
||||
return html`
|
||||
<send-account>
|
||||
<button
|
||||
class="px-4 py-2 md:px-8 md:py-4 focus:outline signin ${this
|
||||
.buttonClass}"
|
||||
class="px-4 py-2 md:px-8 md:py-4 focus:outline signin border-2 link-blue border-blue-60 hover:border-blue-70 dark:border-blue-40 dark:hover:border-blue-50"
|
||||
onclick="${e => this.login(e)}"
|
||||
title="${translate('signInOnlyButton')}"
|
||||
>
|
||||
@@ -79,19 +78,19 @@ class Account extends Component {
|
||||
<input
|
||||
type="image"
|
||||
alt="${user.email}"
|
||||
class="w-8 h-8 rounded-full border text-blue md:text-white focus:outline"
|
||||
class="w-8 h-8 rounded-full border text-blue-50 md:text-white focus:outline"
|
||||
src="${user.avatar}"
|
||||
onclick="${e => this.avatarClick(e)}"
|
||||
/>
|
||||
<ul
|
||||
id="accountMenu"
|
||||
class="invisible absolute top-0 right-0 mt-10 pt-2 pb-2 bg-white shadow-md whitespace-no-wrap outline-none z-50"
|
||||
class="invisible absolute top-0 right-0 mt-10 pt-2 pb-2 bg-white shadow-md whitespace-no-wrap outline-none z-50 dark:bg-grey-80"
|
||||
onblur="${e => this.hideMenu(e)}"
|
||||
>
|
||||
<li class="p-2 text-grey-dark">${user.email}</li>
|
||||
<li class="p-2 text-grey-60 dark:text-grey-50">${user.email}</li>
|
||||
<li>
|
||||
<button
|
||||
class="block w-full text-left px-4 py-2 text-grey-darkest hover:bg-blue hover:text-white cursor-pointer focus:outline"
|
||||
class="block w-full text-left px-4 py-2 text-grey-80 dark:text-grey-30 hover:bg-blue-50 hover:text-white cursor-pointer focus:outline"
|
||||
onclick="${e => this.logout(e)}"
|
||||
title="${translate('signOut')}"
|
||||
>
|
||||
|
||||
@@ -46,7 +46,7 @@ function password(state) {
|
||||
id="password-input"
|
||||
class="${state.archive.password
|
||||
? ''
|
||||
: 'invisible'} border rounded focus:border-blue-dark leading-normal my-1 py-1 px-2 h-8"
|
||||
: 'invisible'} border rounded focus:border-blue-60 leading-normal my-1 py-1 px-2 h-8 dark:bg-grey-80"
|
||||
autocomplete="off"
|
||||
maxlength="${MAX_LENGTH}"
|
||||
type="password"
|
||||
@@ -58,7 +58,7 @@ function password(state) {
|
||||
<label
|
||||
id="password-msg"
|
||||
for="password-input"
|
||||
class="block text-xs text-grey-darker"
|
||||
class="block text-xs text-grey-70"
|
||||
></label>
|
||||
</div>
|
||||
`;
|
||||
@@ -106,7 +106,9 @@ function password(state) {
|
||||
function fileInfo(file, action) {
|
||||
return html`
|
||||
<send-file class="flex flex-row items-center p-3 w-full">
|
||||
<img class="h-8" src="${assets.get('blue_file.svg')}"/>
|
||||
<svg class="h-8 w-8 text-white dark:text-grey-90">
|
||||
<use xlink:href="${assets.get('blue_file.svg')}#icon"/>
|
||||
</svg>
|
||||
<p class="ml-4 w-full">
|
||||
<h1 class="text-base font-medium word-break-all">${file.name}</h1>
|
||||
<div class="text-sm font-normal opacity-75 pt-1">${bytes(
|
||||
@@ -120,7 +122,9 @@ function fileInfo(file, action) {
|
||||
function archiveInfo(archive, action) {
|
||||
return html`
|
||||
<p class="w-full flex items-center">
|
||||
<img class="mr-3 flex-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}</h1>
|
||||
<div class="text-sm font-normal opacity-75 pt-1">${bytes(
|
||||
@@ -140,7 +144,7 @@ function archiveDetails(translate, archive) {
|
||||
ontoggle="${toggled}"
|
||||
>
|
||||
<summary
|
||||
class="flex items-center text-blue-dark text-sm cursor-pointer outline-none"
|
||||
class="flex items-center link-blue text-sm cursor-pointer outline-none"
|
||||
>
|
||||
<svg
|
||||
class="fill-current w-4 h-4 mr-1"
|
||||
@@ -170,20 +174,25 @@ module.exports = function(state, emit, archive) {
|
||||
state.capabilities.share || platform() === 'android'
|
||||
? html`
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker self-end flex items-end"
|
||||
class="link-blue self-end flex items-start"
|
||||
onclick=${share}
|
||||
title="Share link"
|
||||
>
|
||||
<img src="${assets.get('share-24.svg')}" class="mr-2" />Share link
|
||||
<svg class="h-4 w-4 mr-2">
|
||||
<use xlink:href="${assets.get('share-24.svg')}#icon" />
|
||||
</svg>
|
||||
Share link
|
||||
</button>
|
||||
`
|
||||
: html`
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker focus:outline self-end flex items-center"
|
||||
class="link-blue focus:outline self-end flex items-center"
|
||||
onclick=${copy}
|
||||
title="${state.translate('copyLinkButton')}"
|
||||
>
|
||||
<img src="${assets.get('copy-16.svg')}" class="mr-2" />
|
||||
<svg class="h-4 w-4 mr-2">
|
||||
<use xlink:href="${assets.get('copy-16.svg')}#icon" />
|
||||
</svg>
|
||||
${state.translate('copyLinkButton')}
|
||||
</button>
|
||||
`;
|
||||
@@ -191,12 +200,14 @@ module.exports = function(state, emit, archive) {
|
||||
platform() === 'web'
|
||||
? html`
|
||||
<a
|
||||
class="flex items-baseline text-blue-dark hover:text-blue-darker focus:text-blue-darker"
|
||||
class="flex items-baseline link-blue"
|
||||
href="${archive.url}"
|
||||
title="${state.translate('downloadButtonLabel')}"
|
||||
tabindex="0"
|
||||
>
|
||||
<img src="${assets.get('dl.svg')}" class="mr-2" />
|
||||
<svg class="h-4 w-3 mr-2">
|
||||
<use xlink:href="${assets.get('dl.svg')}#icon" />
|
||||
</svg>
|
||||
${state.translate('downloadButtonLabel')}
|
||||
</a>
|
||||
`
|
||||
@@ -206,7 +217,7 @@ module.exports = function(state, emit, archive) {
|
||||
return html`
|
||||
<send-archive
|
||||
id="archive-${archive.id}"
|
||||
class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full"
|
||||
class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full dark:bg-grey-90 dark:border dark:border-grey-70"
|
||||
>
|
||||
${archiveInfo(
|
||||
archive,
|
||||
@@ -225,7 +236,7 @@ module.exports = function(state, emit, archive) {
|
||||
${expiryInfo(state.translate, archive)}
|
||||
</div>
|
||||
${archiveDetails(state.translate, archive)}
|
||||
<hr class="w-full border-t my-4" />
|
||||
<hr class="w-full border-t my-4 dark:border-grey-70" />
|
||||
<div class="flex justify-between w-full">
|
||||
${dl} ${copyOrShare}
|
||||
</div>
|
||||
@@ -269,18 +280,21 @@ module.exports = function(state, emit, archive) {
|
||||
|
||||
module.exports.wip = function(state, emit) {
|
||||
return html`
|
||||
<send-upload-area class="flex flex-col bg-white h-full w-full" id="wip">
|
||||
<send-upload-area
|
||||
class="flex flex-col bg-white h-full w-full dark:bg-grey-90"
|
||||
id="wip"
|
||||
>
|
||||
${list(
|
||||
Array.from(state.archive.files)
|
||||
.reverse()
|
||||
.map(f =>
|
||||
fileInfo(f, remove(f, state.translate('deleteButtonHover')))
|
||||
),
|
||||
'flex-shrink bg-grey-lightest rounded-t overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen',
|
||||
'bg-white px-2 my-2 shadow-light rounded'
|
||||
'flex-shrink bg-grey-10 rounded-t overflow-y-auto px-6 py-4 md:h-full md:max-h-half-screen dark:bg-black',
|
||||
'bg-white px-2 my-2 shadow-light rounded dark:bg-grey-90 dark:border dark:border-grey-80'
|
||||
)}
|
||||
<div
|
||||
class="flex-shrink-0 flex-grow flex items-end p-4 bg-grey-lightest rounded-b mb-1 font-medium"
|
||||
class="flex-shrink-0 flex-grow flex items-end p-4 bg-grey-10 rounded-b mb-1 font-medium dark:bg-grey-90"
|
||||
>
|
||||
<input
|
||||
id="file-upload"
|
||||
@@ -300,10 +314,12 @@ module.exports.wip = function(state, emit) {
|
||||
class="flex items-center cursor-pointer"
|
||||
title="${state.translate('addFilesButton')}"
|
||||
>
|
||||
<img src="${assets.get('addfiles.svg')}" class="w-6 h-6 mr-2" />
|
||||
<svg class="w-6 h-6 mr-2 link-blue">
|
||||
<use xlink:href="${assets.get('addfiles.svg')}#plus" />
|
||||
</svg>
|
||||
${state.translate('addFilesButton')}
|
||||
</label>
|
||||
<div class="font-normal text-sm text-grey-darker">
|
||||
<div class="font-normal text-sm text-grey-70 dark:text-grey-40">
|
||||
${state.translate('totalSize', {
|
||||
size: bytes(state.archive.size)
|
||||
})}
|
||||
@@ -378,22 +394,22 @@ module.exports.uploading = function(state, emit) {
|
||||
return html`
|
||||
<send-upload-area
|
||||
id="${archive.id}"
|
||||
class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full"
|
||||
class="flex flex-col items-start rounded shadow-light bg-white p-4 w-full dark:bg-grey-90"
|
||||
>
|
||||
${archiveInfo(archive)}
|
||||
<div class="text-xs text-grey-dark w-full mt-2 mb-2">
|
||||
<div class="text-xs opacity-75 w-full mt-2 mb-2">
|
||||
${expiryInfo(state.translate, {
|
||||
dlimit: state.archive.dlimit,
|
||||
dtotal: 0,
|
||||
expiresAt: Date.now() + 500 + state.archive.timeLimit * 1000
|
||||
})}
|
||||
</div>
|
||||
<div class="text-blue-dark text-sm font-medium mt-2">
|
||||
<div class="link-blue text-sm font-medium mt-2">
|
||||
${progressPercent}
|
||||
</div>
|
||||
<progress class="my-3" value="${progress}">${progressPercent}</progress>
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker self-end font-medium"
|
||||
class="link-blue self-end font-medium"
|
||||
onclick=${cancel}
|
||||
title="${state.translate('deletePopupCancel')}"
|
||||
>
|
||||
@@ -415,7 +431,7 @@ module.exports.empty = function(state, emit) {
|
||||
? ''
|
||||
: html`
|
||||
<button
|
||||
class="center font-medium text-sm text-blue-dark hover:text-blue-darker focus:text-blue-darker mt-4 mb-2"
|
||||
class="center font-medium text-sm link-blue mt-4 mb-2"
|
||||
onclick="${event => {
|
||||
event.stopPropagation();
|
||||
emit('signup-cta', 'drop');
|
||||
@@ -428,14 +444,16 @@ module.exports.empty = function(state, emit) {
|
||||
`;
|
||||
return html`
|
||||
<send-upload-area
|
||||
class="flex flex-col items-center justify-center border-2 border-dashed border-grey-transparent rounded px-6 py-16 h-full w-full"
|
||||
class="flex flex-col items-center justify-center border-2 border-dashed border-grey-transparent rounded px-6 py-16 h-full w-full dark:border-grey-60"
|
||||
onclick="${e => {
|
||||
if (e.target.tagName !== 'LABEL') {
|
||||
document.getElementById('file-upload').click();
|
||||
}
|
||||
}}"
|
||||
>
|
||||
<img src="${assets.get('addfiles.svg')}" width="48" height="48" />
|
||||
<svg class="w-10 h-10 link-blue">
|
||||
<use xlink:href="/${assets.get('addfiles.svg')}#plus" />
|
||||
</svg>
|
||||
<div class="pt-6 pb-2 text-center text-lg font-bold tracking-wide">
|
||||
${state.translate('dragAndDropFiles')}
|
||||
</div>
|
||||
@@ -469,14 +487,11 @@ module.exports.empty = function(state, emit) {
|
||||
`;
|
||||
|
||||
function focus(event) {
|
||||
event.target.nextElementSibling.classList.add('bg-blue-darker', 'outline');
|
||||
event.target.nextElementSibling.classList.add('bg-blue-70', 'outline');
|
||||
}
|
||||
|
||||
function blur(event) {
|
||||
event.target.nextElementSibling.classList.remove(
|
||||
'bg-blue-darker',
|
||||
'outline'
|
||||
);
|
||||
event.target.nextElementSibling.classList.remove('bg-blue-70', 'outline');
|
||||
}
|
||||
|
||||
function add(event) {
|
||||
@@ -501,8 +516,10 @@ module.exports.preview = function(state, emit) {
|
||||
</div>
|
||||
`;
|
||||
return html`
|
||||
<send-archive class="flex flex-col max-h-full bg-white p-4 w-full md:w-128">
|
||||
<div class="border rounded py-3 px-6">
|
||||
<send-archive
|
||||
class="flex flex-col max-h-full bg-white p-4 w-full md:w-128 dark:bg-grey-90"
|
||||
>
|
||||
<div class="border rounded py-3 px-6 dark:border-grey-70">
|
||||
${archiveInfo(archive)} ${details}
|
||||
</div>
|
||||
<button
|
||||
@@ -529,10 +546,10 @@ module.exports.downloading = function(state) {
|
||||
const progressPercent = percent(progress);
|
||||
return html`
|
||||
<send-archive
|
||||
class="flex flex-col bg-white rounded shadow-light p-4 w-full max-w-sm md:w-128"
|
||||
class="flex flex-col bg-white rounded shadow-light p-4 w-full max-w-sm md:w-128 dark:bg-grey-90"
|
||||
>
|
||||
${archiveInfo(archive)}
|
||||
<div class="text-blue-dark text-sm font-medium mt-2">
|
||||
<div class="link-blue text-sm font-medium mt-2">
|
||||
${progressPercent}
|
||||
</div>
|
||||
<progress class="my-3" value="${progress}">${progressPercent}</progress>
|
||||
|
||||
@@ -8,7 +8,9 @@ function banner(state) {
|
||||
return; // server side
|
||||
}
|
||||
const show =
|
||||
!state.capabilities.standalone && !state.route.startsWith('/unsupported/');
|
||||
!state.capabilities.standalone &&
|
||||
!state.route.startsWith('/unsupported/') &&
|
||||
state.locale === 'en-US';
|
||||
if (show) {
|
||||
return state.cache(Promo, 'promo').render();
|
||||
}
|
||||
@@ -18,7 +20,7 @@ module.exports = function body(main) {
|
||||
return function(state, emit) {
|
||||
const b = html`
|
||||
<body
|
||||
class="flex flex-col items-center font-sans md:h-screen md:bg-grey-lightest"
|
||||
class="flex flex-col items-center font-sans md:h-screen md:bg-grey-10 dark:bg-black"
|
||||
>
|
||||
${banner(state, emit)} ${state.cache(Header, 'header').render()}
|
||||
${main(state, emit)} ${state.cache(Footer, 'footer').render()}
|
||||
|
||||
@@ -10,14 +10,16 @@ module.exports = function(name, url) {
|
||||
<h1 class="text-3xl font-bold my-4">
|
||||
${state.translate('notifyUploadEncryptDone')}
|
||||
</h1>
|
||||
<p class="font-normal leading-normal text-grey-darkest word-break-all">
|
||||
<p
|
||||
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
|
||||
>
|
||||
${state.translate('copyLinkDescription')} <br />
|
||||
${name}
|
||||
</p>
|
||||
<input
|
||||
type="text"
|
||||
id="share-url"
|
||||
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1"
|
||||
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1 dark:bg-grey-80"
|
||||
value="${url}"
|
||||
readonly="true"
|
||||
/>
|
||||
@@ -29,7 +31,7 @@ module.exports = function(name, url) {
|
||||
${state.translate('copyLinkButton')}
|
||||
</button>
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker my-4 font-medium cursor-pointer focus:outline"
|
||||
class="link-blue my-4 font-medium cursor-pointer focus:outline"
|
||||
onclick="${close}"
|
||||
title="${state.translate('okButton')}"
|
||||
>
|
||||
|
||||
@@ -41,7 +41,9 @@ function preview(state, emit) {
|
||||
<h1 class="text-3xl font-bold mb-4">
|
||||
${state.translate('downloadTitle')}
|
||||
</h1>
|
||||
<p class="w-full text-grey-darkest text-center leading-normal">
|
||||
<p
|
||||
class="w-full text-grey-80 text-center leading-normal dark:text-grey-40"
|
||||
>
|
||||
${state.translate('downloadDescription')}
|
||||
</p>
|
||||
${archiveTile.preview(state, emit)}
|
||||
|
||||
@@ -5,13 +5,13 @@ module.exports = function(state) {
|
||||
return html`
|
||||
<div
|
||||
id="download-complete"
|
||||
class="flex flex-col items-center justify-center h-full w-full bg-white p-2"
|
||||
class="flex flex-col items-center justify-center h-full w-full bg-white p-2 dark:bg-grey-90"
|
||||
>
|
||||
<h1 class="text-center text-3xl font-bold my-2">
|
||||
${state.translate('downloadFinish')}
|
||||
</h1>
|
||||
<img src="${assets.get('completed.svg')}" class="my-12 h-48" />
|
||||
<p class="text-grey-darkest leading-normal">
|
||||
<p class="text-grey-80 leading-normal dark:text-grey-40">
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
|
||||
@@ -6,12 +6,14 @@ module.exports = function(state, emit) {
|
||||
|
||||
const div = html`
|
||||
<div
|
||||
class="h-full w-full flex flex-col items-center justify-center bg-white py-8 max-w-md mx-auto"
|
||||
class="h-full w-full flex flex-col items-center justify-center bg-white py-8 max-w-md mx-auto dark:bg-grey-90"
|
||||
>
|
||||
<h1 class="text-3xl font-bold mb-4">
|
||||
${state.translate('downloadTitle')}
|
||||
</h1>
|
||||
<p class="w-full mb-4 text-center text-grey-darkest leading-normal">
|
||||
<p
|
||||
class="w-full mb-4 text-center text-grey-80 dark:text-grey-40 leading-normal"
|
||||
>
|
||||
${state.translate('downloadDescription')}
|
||||
</p>
|
||||
<form
|
||||
@@ -22,8 +24,8 @@ module.exports = function(state, emit) {
|
||||
<input
|
||||
id="password-input"
|
||||
class="w-full border-l border-t border-b rounded-l-lg rounded-r-none ${invalid
|
||||
? 'border-red'
|
||||
: 'border-grey'} leading-loose px-2 py-1"
|
||||
? 'border-red dark:border-red-40'
|
||||
: 'border-grey'} leading-loose px-2 py-1 dark:bg-grey-80"
|
||||
maxlength="32"
|
||||
autocomplete="off"
|
||||
placeholder="${state.translate('unlockInputPlaceholder')}"
|
||||
@@ -34,7 +36,7 @@ module.exports = function(state, emit) {
|
||||
type="submit"
|
||||
id="password-btn"
|
||||
class="btn rounded-r-lg rounded-l-none ${invalid
|
||||
? 'bg-red hover:bg-red focus:bg-red'
|
||||
? 'bg-red hover:bg-red focus:bg-red dark:bg-red-40'
|
||||
: ''}"
|
||||
value="${state.translate('unlockButtonLabel')}"
|
||||
title="${state.translate('unlockButtonLabel')}"
|
||||
@@ -42,7 +44,7 @@ module.exports = function(state, emit) {
|
||||
</form>
|
||||
<label
|
||||
id="password-error"
|
||||
class="${invalid ? '' : 'invisible'} text-red my-4"
|
||||
class="${invalid ? '' : 'invisible'} text-red dark:text-red-40 my-4"
|
||||
for="password-input"
|
||||
>
|
||||
${state.translate('passwordTryAgain')}
|
||||
@@ -72,7 +74,9 @@ module.exports = function(state, emit) {
|
||||
const password = el.value;
|
||||
if (password.length > 0) {
|
||||
document.getElementById('password-btn').disabled = true;
|
||||
state.fileInfo.url = window.location.href;
|
||||
// Strip any url parameters between fileId and secretKey
|
||||
const fileInfoUrl = window.location.href.replace(/\?.+#/, '#');
|
||||
state.fileInfo.url = fileInfoUrl;
|
||||
state.fileInfo.password = password;
|
||||
emit('getMetadata');
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ 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-darkest leading-normal">
|
||||
<p class="max-w-md text-center text-grey-80 leading-normal">
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
|
||||
@@ -19,12 +19,9 @@ class Footer extends Component {
|
||||
const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`;
|
||||
return html`
|
||||
<footer
|
||||
class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-dark md:items-center justify-between"
|
||||
>
|
||||
<a
|
||||
class="mozilla-logo pb-10 md:pb-0 m-2"
|
||||
href="https://www.mozilla.org/"
|
||||
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>
|
||||
<ul
|
||||
|
||||
@@ -16,15 +16,27 @@ class Header extends Component {
|
||||
this.account.render();
|
||||
return false;
|
||||
}
|
||||
|
||||
createElement() {
|
||||
const title =
|
||||
platform() === 'android'
|
||||
? html`
|
||||
<a class=""><img src="${assets.get('logo.svg')}"/></a>
|
||||
<a class="flex flex-row items-center">
|
||||
<img src="${assets.get('icon.svg')}" />
|
||||
<svg class="w-48">
|
||||
<use xlink:href="${assets.get('wordmark.svg')}#logo" />
|
||||
</svg>
|
||||
</a>
|
||||
`
|
||||
: html`
|
||||
<a class="" href="/"><img src="${assets.get('logo.svg')}"/></a>
|
||||
<a class="flex flex-row items-center" href="/">
|
||||
<img
|
||||
alt="${this.state.translate('title')}"
|
||||
src="${assets.get('icon.svg')}"
|
||||
/>
|
||||
<svg class="w-48 md:w-64">
|
||||
<use xlink:href="${assets.get('wordmark.svg')}#logo" />
|
||||
</svg>
|
||||
</a>
|
||||
`;
|
||||
return html`
|
||||
<header
|
||||
|
||||
@@ -4,7 +4,7 @@ const assets = require('../../common/assets');
|
||||
module.exports = function intro(state) {
|
||||
return html`
|
||||
<send-intro
|
||||
class="flex flex-col items-center justify-center bg-white px-6 md:py-0 py-6 mb-0 h-full w-full"
|
||||
class="flex flex-col items-center justify-center bg-white px-6 md:py-0 py-6 mb-0 h-full w-full dark:bg-grey-90"
|
||||
>
|
||||
<div class="mt-12 flex flex-col h-full">
|
||||
<h1 class="text-3xl font-bold md:pb-2">
|
||||
|
||||
@@ -6,7 +6,7 @@ module.exports = function(state, emit) {
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
<div
|
||||
class="flex flex-col items-center bg-white m-4 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
|
||||
class="flex flex-col items-center bg-white m-4 px-6 py-8 border border-grey-30 md:border-none md:px-12 md:py-16 shadow w-full md:h-full dark:bg-grey-90"
|
||||
>
|
||||
<h1 class="text-center text-3xl font-bold">
|
||||
${state.translate('legalTitle')}
|
||||
@@ -19,7 +19,7 @@ module.exports = function(state, emit) {
|
||||
href="https://www.mozilla.org/privacy/"
|
||||
target="__blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-blue-dark hover:underline"
|
||||
class="link-blue hover:underline"
|
||||
>Mozilla Privacy Policy</a
|
||||
>
|
||||
<span
|
||||
@@ -31,7 +31,7 @@ module.exports = function(state, emit) {
|
||||
href="https://github.com/mozilla/send/blob/master/docs/metrics.md"
|
||||
target="__blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-blue-dark hover:underline"
|
||||
class="link-blue hover:underline"
|
||||
>here</a
|
||||
>.
|
||||
</p>
|
||||
|
||||
@@ -3,13 +3,12 @@ const html = require('choo/html');
|
||||
module.exports = function(state, emit) {
|
||||
return html`
|
||||
<send-modal
|
||||
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8"
|
||||
onclick="${close}"
|
||||
class="absolute inset-0 flex items-center justify-center overflow-hidden z-40 bg-white md:rounded-xl md:my-8 dark:bg-grey-90"
|
||||
>
|
||||
<div
|
||||
class="h-full w-full max-h-screen absolute top-0 flex items-center justify-center"
|
||||
>
|
||||
<div class="w-full" onclick="${e => e.stopPropagation()}">
|
||||
<div class="w-full">
|
||||
${state.modal(state, emit, close)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,7 @@ module.exports = function(state, emit) {
|
||||
'downloadTitle'
|
||||
)}</h1>
|
||||
<p
|
||||
class="w-full p-2 border border-yellow-light rounded md:w-4/5 text-orange-dark bg-yellow-lighter text-center leading-normal"
|
||||
class="w-full p-2 border border-yellow-50 rounded md:w-4/5 text-orange-60 bg-yellow-40 text-center leading-normal"
|
||||
>
|
||||
⚠️ ${state.translate('noStreamsWarning')} ⚠️
|
||||
</p>
|
||||
|
||||
@@ -13,7 +13,7 @@ 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-darkest leading-normal">
|
||||
<p class="max-w-md text-center text-grey-80 leading-normal">
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
|
||||
@@ -15,7 +15,7 @@ class Promo extends Component {
|
||||
createElement() {
|
||||
return html`
|
||||
<send-promo
|
||||
class="w-full flex-row items-center content-center justify-center bg-white text-grey-darkest px-4 py-3 flex border-b border-grey-banner leading-normal"
|
||||
class="w-full flex-row items-center content-center justify-center bg-white text-grey-80 px-4 py-3 flex border-b border-grey-banner leading-normal dark:bg-grey-90 dark:text-grey-20 dark:border-grey-80"
|
||||
>
|
||||
<div class="flex items-center mx-auto">
|
||||
<img
|
||||
@@ -24,11 +24,11 @@ class Promo extends Component {
|
||||
alt="Firefox"
|
||||
/>
|
||||
<span class="ml-2 sm:ml-4 text-xs sm:text-base">
|
||||
${this.state.translate('trailheadPromo')}${' '}
|
||||
${`Like Firefox Send? You'll love our new full-device VPN. `}
|
||||
<a
|
||||
class="underline text-blue-dark"
|
||||
href="http://www.mozilla.org/firefox/accounts/?utm_source=send.firefox.com&utm_medium=banner&utm_campaign=trailhead&utm_content=protect-your-privacy"
|
||||
>${this.state.translate('learnMore')}</a
|
||||
class="underline link-blue"
|
||||
href="https://fpn.firefox.com/?utm_source=send.firefox.com&utm_medium=referral&utm_content=Try+Firefox+Private+Network&utm_campaign=top-bar"
|
||||
>${`Get it today`}</a
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@ module.exports = function(selected, options, translate, changed, htmlId) {
|
||||
return html`
|
||||
<select
|
||||
id="${htmlId}"
|
||||
class="appearance-none cursor-pointer border rounded bg-grey-lightest hover:border-blue-dark focus:border-blue-dark pl-1 pr-8 py-1 my-1 h-8"
|
||||
class="appearance-none cursor-pointer border rounded bg-grey-10 hover:border-blue-50 focus:border-blue-50 pl-1 pr-8 py-1 my-1 h-8 dark:bg-grey-80"
|
||||
onchange="${choose}"
|
||||
>
|
||||
${options.map(
|
||||
|
||||
@@ -9,14 +9,16 @@ module.exports = function(name, url) {
|
||||
<h1 class="text-3xl font-bold my-4">
|
||||
${state.translate('notifyUploadEncryptDone')}
|
||||
</h1>
|
||||
<p class="font-normal leading-normal text-grey-darkest word-break-all">
|
||||
<p
|
||||
class="font-normal leading-normal text-grey-80 word-break-all dark:text-grey-40"
|
||||
>
|
||||
${state.translate('shareLinkDescription')}<br />
|
||||
${name}
|
||||
</p>
|
||||
<input
|
||||
type="text"
|
||||
id="share-url"
|
||||
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1"
|
||||
class="w-full my-4 border rounded-lg leading-loose h-12 px-2 py-1 dark:bg-grey-80"
|
||||
value="${url}"
|
||||
readonly="true"
|
||||
/>
|
||||
@@ -28,7 +30,7 @@ module.exports = function(name, url) {
|
||||
${state.translate('shareLinkButton')}
|
||||
</button>
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker my-4 font-medium cursor-pointer focus:outline"
|
||||
class="link-blue my-4 font-medium cursor-pointer focus:outline"
|
||||
onclick="${close}"
|
||||
title="${state.translate('okButton')}"
|
||||
>
|
||||
|
||||
@@ -20,7 +20,7 @@ module.exports = function(trigger) {
|
||||
${state.translate('accountBenefitTitle')}
|
||||
</h1>
|
||||
<ul
|
||||
class="leading-normal text-grey-darkest my-2 mt-4 pl-4 md:self-center"
|
||||
class="leading-normal list-disc text-grey-80 my-2 mt-4 pl-4 md:self-center dark:text-grey-40"
|
||||
>
|
||||
<li>
|
||||
${state.translate('accountBenefitLargeFiles', {
|
||||
@@ -42,7 +42,7 @@ module.exports = function(trigger) {
|
||||
<input
|
||||
id="email-input"
|
||||
type="email"
|
||||
class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-darker leading-loose"
|
||||
class="${hidden} border rounded-lg w-full px-2 py-1 h-12 mb-3 text-lg text-grey-70 leading-loose dark:bg-grey-80 dark:text-white"
|
||||
placeholder=${state.translate('emailPlaceholder')}
|
||||
/>
|
||||
<input
|
||||
@@ -54,7 +54,7 @@ module.exports = function(trigger) {
|
||||
/>
|
||||
</form>
|
||||
<button
|
||||
class="my-3 text-blue-dark hover:text-blue-darker focus:text-blue-darker font-medium"
|
||||
class="my-3 link-blue font-medium"
|
||||
title="${state.translate('deletePopupCancel')}"
|
||||
onclick=${cancel}
|
||||
>
|
||||
|
||||
@@ -16,7 +16,7 @@ module.exports = function() {
|
||||
<h1 class="text-3xl font-bold my-4">
|
||||
Tell us what you think.
|
||||
</h1>
|
||||
<p class="font-normal leading-normal text-grey-darkest px-4">
|
||||
<p class="font-normal leading-normal text-grey-80 px-4">
|
||||
Love Firefox Send? Take a quick survey to let us know how we can make
|
||||
it better.
|
||||
</p>
|
||||
@@ -30,7 +30,7 @@ module.exports = function() {
|
||||
Give feedback
|
||||
</a>
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker font-medium cursor-pointer focus:outline"
|
||||
class="link-blue font-medium cursor-pointer focus:outline"
|
||||
onclick="${close}"
|
||||
title="Skip"
|
||||
>
|
||||
|
||||
@@ -27,7 +27,7 @@ module.exports = function(state, emit) {
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
<section
|
||||
class="flex flex-col items-center justify-center text-center bg-white m-6 px-6 py-8 border border-grey-light md:border-none md:px-12 md:py-16 shadow w-full md:h-full"
|
||||
class="flex flex-col items-center justify-center text-center bg-white m-6 px-6 py-8 border border-grey-30 md:border-none md:px-12 md:py-16 shadow w-full md:h-full dark:bg-grey-90"
|
||||
>
|
||||
<h1 class="text-3xl font-bold">${strings.header}</h1>
|
||||
<p class="mt-4 mb-8 max-w-md leading-normal">${strings.description}</p>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
/* global Android */
|
||||
const html = require('choo/html');
|
||||
let html;
|
||||
try {
|
||||
html = require('choo/html');
|
||||
} catch (e) {
|
||||
// running in the service worker
|
||||
}
|
||||
const b64 = require('base64-js');
|
||||
|
||||
function arrayToB64(array) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
|
||||
<defs>
|
||||
<polygon id="addfiles-a" points="11.143 6 11.143 11.143 6 11.143 6 12.857 11.143 12.857 11.143 18 12.857 18 12.857 12.857 18 12.857 18 11.143 12.857 11.143 12.857 6"/>
|
||||
</defs>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol id="plus" viewBox="0 0 24 24">
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<path fill="#0060df" fill-rule="nonzero" d="M12,22.6666667 C17.8910373,22.6666667 22.6666667,17.8910373 22.6666667,12 C22.6666667,6.10896267 17.8910373,1.33333333 12,1.33333333 C6.10896267,1.33333333 1.33333333,6.10896267 1.33333333,12 C1.33333333,17.8910373 6.10896267,22.6666667 12,22.6666667 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z"/>
|
||||
<use fill="#0060df" xlink:href="#addfiles-a"/>
|
||||
<path fill="currentColor" fill-rule="nonzero" d="M12,22.6666667 C17.8910373,22.6666667 22.6666667,17.8910373 22.6666667,12 C22.6666667,6.10896267 17.8910373,1.33333333 12,1.33333333 C6.10896267,1.33333333 1.33333333,6.10896267 1.33333333,12 C1.33333333,17.8910373 6.10896267,22.6666667 12,22.6666667 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z"/>
|
||||
<polygon fill="currentColor" points="11.143 6 11.143 11.143 6 11.143 6 12.857 11.143 12.857 11.143 18 12.857 18 12.857 12.857 18 12.857 18 11.143 12.857 11.143 12.857 6"/>
|
||||
</g>
|
||||
</symbol>
|
||||
<use xlink:href="#plus"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 856 B After Width: | Height: | Size: 831 B |
@@ -1,8 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="26px" height="32px" viewBox="0 0 26 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
|
||||
<title>6AF7DAB4-6456-44F2-AABE-F001D910B641</title>
|
||||
<desc>Created with sketchtool.</desc>
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol id="icon" viewBox="0 0 26 32">
|
||||
<defs>
|
||||
<path d="M21.848475,31.6653183 L2.89005487,31.6653183 C1.32717435,31.6653183 0.104050469,30.3742431 0.104050469,28.8793139 L0.104050469,2.7860044 C0.104050469,1.22312388 1.39512568,0 2.89005487,0 L14.7135857,0 C15.4610503,0 16.2085149,0.271805307 16.6841742,0.815415921 L23.8190635,7.95030523 C24.3626741,8.49391584 24.6344794,9.17342911 24.6344794,9.9208937 L24.6344794,28.8793139 C24.6344794,30.3742431 23.4113555,31.6653183 21.848475,31.6653183 Z" id="path-1"></path>
|
||||
</defs>
|
||||
@@ -14,14 +12,15 @@
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="Mask" fill="#45A1FF" opacity="0.6" xlink:href="#path-1"></use>
|
||||
<path d="M24.3031318,10.6474633 L16.7826187,10.6474633 C15.2742552,10.6474633 14.051485,9.42469306 14.051485,7.91632957 L14.051485,0.395816478" id="Path" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<path d="M7.2830232,8.93885547 L8.91906464,8.93885547" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<path d="M7.2830232,15.7798836 L17.5412669,15.7798836" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<path d="M7.2830232,22.6209117 L17.5412669,22.6209117" id="Path" stroke="#0060DF" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<use id="Mask" fill="#45a1ff" xlink:href="#path-1"></use>
|
||||
<path d="M24.3031318,10.6474633 L16.7826187,10.6474633 C15.2742552,10.6474633 14.051485,9.42469306 14.051485,7.91632957 L14.051485,0.395816478" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<path d="M7.2830232,8.93885547 L8.91906464,8.93885547" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<path d="M7.2830232,15.7798836 L17.5412669,15.7798836" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
<path d="M7.2830232,22.6209117 L17.5412669,22.6209117" id="Path" stroke="currentColor" stroke-width="2" stroke-linecap="round" mask="url(#mask-2)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 16 16"><path fill="#4A4A4A" d="M9.414 8l5.293-5.293a1 1 0 0 0-1.414-1.414L8 6.586 2.707 1.293a1 1 0 0 0-1.414 1.414L6.586 8l-5.293 5.293a1 1 0 1 0 1.414 1.414L8 9.414l5.293 5.293a1 1 0 0 0 1.414-1.414z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 16 16"><path fill="#737373" d="M9.414 8l5.293-5.293a1 1 0 0 0-1.414-1.414L8 6.586 2.707 1.293a1 1 0 0 0-1.414 1.414L6.586 8l-5.293 5.293a1 1 0 1 0 1.414 1.414L8 9.414l5.293 5.293a1 1 0 0 0 1.414-1.414z"/></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 287 B |
@@ -1 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="#0060df" d="M14.707 8.293l-3-3A1 1 0 0 0 11 5h-1V4a1 1 0 0 0-.293-.707l-3-3A1 1 0 0 0 6 0H3a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h3v3a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V9a1 1 0 0 0-.293-.707zM12.586 9H11V7.414zm-5-5H6V2.414zM6 7v2H3V2h2v2.5a.5.5 0 0 0 .5.5H8a2 2 0 0 0-2 2zm2 7V7h2v2.5a.5.5 0 0 0 .5.5H13v4z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<symbol id="icon" viewBox="0 0 16 16">
|
||||
<path fill="currentColor" d="M14.707 8.293l-3-3A1 1 0 0 0 11 5h-1V4a1 1 0 0 0-.293-.707l-3-3A1 1 0 0 0 6 0H3a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h3v3a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V9a1 1 0 0 0-.293-.707zM12.586 9H11V7.414zm-5-5H6V2.414zM6 7v2H3V2h2v2.5a.5.5 0 0 0 .5.5H8a2 2 0 0 0-2 2zm2 7V7h2v2.5a.5.5 0 0 0 .5.5H13v4z"/>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 398 B After Width: | Height: | Size: 411 B |
@@ -1,15 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
|
||||
<title>728D143F-562C-4AE5-80DA-9DBBD9D647D8</title>
|
||||
<desc>Created with sketchtool.</desc>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Send_Sending" transform="translate(-770.000000, -481.000000)" fill="#0060DF">
|
||||
<g id="List-Item-3" transform="translate(744.000000, 350.000000)">
|
||||
<g id="Download-Icon" transform="translate(26.000000, 131.000000)">
|
||||
<path d="M5.293,12.707 C5.6835,13.097382 6.316501,13.097383 6.707001,12.707 L11.707,7.707 C12.08597,7.31462 12.08054,6.69092 11.69481,6.305189 C11.30908,5.91946 10.68538,5.91403 10.293,6.293 L7,9.586 L7,1 C7,0.44772 6.552285,0 6,0 C5.447715,0 5,0.44772 5,1 L5,9.586 L1.707,6.293 C1.314621,5.91403 0.690915,5.91945 0.305181,6.305182 C-0.080553,6.690915 -0.085973,7.314622 0.293,7.707001 L5.293,12.707 Z M11,14 L1,14 C0.447715,14 0,14.447715 0,15 C0,15.5522852 0.447715,16 1,16 L11,16 C11.55228,16 12,15.5522852 12,15 C12,14.447715 11.55229,14 11,14 Z" id="Fill-1"></path>
|
||||
<svg width="12px" height="16px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol id="icon" viewBox="0 0 12 16">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(-770.000000, -481.000000)" fill="currentColor">
|
||||
<g transform="translate(744.000000, 350.000000)">
|
||||
<g transform="translate(26.000000, 131.000000)">
|
||||
<path d="M5.293,12.707 C5.6835,13.097382 6.316501,13.097383 6.707001,12.707 L11.707,7.707 C12.08597,7.31462 12.08054,6.69092 11.69481,6.305189 C11.30908,5.91946 10.68538,5.91403 10.293,6.293 L7,9.586 L7,1 C7,0.44772 6.552285,0 6,0 C5.447715,0 5,0.44772 5,1 L5,9.586 L1.707,6.293 C1.314621,5.91403 0.690915,5.91945 0.305181,6.305182 C-0.080553,6.690915 -0.085973,7.314622 0.293,7.707001 L5.293,12.707 Z M11,14 L1,14 C0.447715,14 0,14.447715 0,15 C0,15.5522852 0.447715,16 1,16 L11,16 C11.55228,16 12,15.5522852 12,15 C12,14.447715 11.55229,14 11,14 Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB |
41
assets/icon.svg
Normal file
@@ -0,0 +1,41 @@
|
||||
<svg viewBox="0 0 65 64" height="64" width="65" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<linearGradient id="linear-gradient" x1="46.37" y1="59.71" x2="15.42" y2="6.11" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#ff980e"/>
|
||||
<stop offset="0.21" stop-color="#ff7139"/>
|
||||
<stop offset="0.36" stop-color="#ff5854"/>
|
||||
<stop offset="0.46" stop-color="#ff4f5e"/>
|
||||
<stop offset="0.69" stop-color="#ff3750"/>
|
||||
<stop offset="0.86" stop-color="#f92261"/>
|
||||
<stop offset="1" stop-color="#f5156c"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linear-gradient-2" x1="46.37" y1="59.71" x2="15.42" y2="6.11" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#fff44f" stop-opacity="0.8"/>
|
||||
<stop offset="0.09" stop-color="#fff44f" stop-opacity="0.7"/>
|
||||
<stop offset="0.75" stop-color="#fff44f" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linear-gradient-3" x1="40.19" y1="26.08" x2="54.32" y2="50.55" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#3a8ee6"/>
|
||||
<stop offset="0.24" stop-color="#5c79f0"/>
|
||||
<stop offset="0.63" stop-color="#9059ff"/>
|
||||
<stop offset="1" stop-color="#c139e6"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linear-gradient-4" x1="54.32" y1="50.58" x2="48.39" y2="40.31" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#6e008b" stop-opacity="0.5"/>
|
||||
<stop offset="0.5" stop-color="#c846cb" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linear-gradient-5" x1="56.96" y1="22.5" x2="41.98" y2="37.46" gradientTransform="matrix(1, 0, 0, -1, 0, 64)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.14" stop-color="#6a2bea" stop-opacity="0"/>
|
||||
<stop offset="0.34" stop-color="#642de4" stop-opacity="0.03"/>
|
||||
<stop offset="0.55" stop-color="#5131d3" stop-opacity="0.12"/>
|
||||
<stop offset="0.76" stop-color="#3139b7" stop-opacity="0.27"/>
|
||||
<stop offset="0.98" stop-color="#054490" stop-opacity="0.48"/>
|
||||
<stop offset="1" stop-color="#00458b" stop-opacity="0.5"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M32.56,0C14.61,0,0,14.33,0,31.94a3.42,3.42,0,0,0,3.42,3.42H29.14V52.3l-8-8a3.42,3.42,0,1,0-4.84,4.84L30.14,63a2.73,2.73,0,0,0,.25.23l.23.17h.05l.24.14.27.13.28.1.29.07L32,64h1.27l.29-.07.29-.1.27-.13.24-.14.24-.17L35,63,48.8,49.18A3.43,3.43,0,0,0,44,44.34l-8,8v-17H61.7a3.42,3.42,0,0,0,3.42-3.42h0C65.12,14.33,50.51,0,32.56,0ZM7.09,28.51A25.54,25.54,0,0,1,32.56,6.85,25.55,25.55,0,0,1,58,28.51Z" fill="url(#linear-gradient)"/>
|
||||
<path d="M32.56,0C14.61,0,0,14.33,0,31.94a3.42,3.42,0,0,0,3.42,3.42H29.14V52.3l-8-8a3.42,3.42,0,1,0-4.84,4.84L30.14,63a2.73,2.73,0,0,0,.25.23l.23.17h.05l.24.14.27.13.28.1.29.07L32,64h1.27l.29-.07.29-.1.27-.13.24-.14.24-.17L35,63,48.8,49.18A3.43,3.43,0,0,0,44,44.34l-8,8v-17H61.7a3.42,3.42,0,0,0,3.42-3.42h0C65.12,14.33,50.51,0,32.56,0ZM7.09,28.51A25.54,25.54,0,0,1,32.56,6.85,25.55,25.55,0,0,1,58,28.51Z" fill="url(#linear-gradient-2)"/>
|
||||
<path d="M36,7.08A25.45,25.45,0,0,1,58,28.51H42.85A6.85,6.85,0,0,0,36,35.36H61.7a3.43,3.43,0,0,0,3.42-3.43c0-12.2-8.63-18.13-16-21.59A35.75,35.75,0,0,0,36,7.08Z" fill="url(#linear-gradient-3)"/>
|
||||
<path d="M57.89,27.76c2.31,1.86,4.63,3.71,6.9,5.61a3.27,3.27,0,0,0,.33-1.44c0-12.2-8.63-18.13-16-21.59A35.75,35.75,0,0,0,36,7.08,25.47,25.47,0,0,1,57.89,27.76Z" fill="url(#linear-gradient-4)"/>
|
||||
<path d="M57.5,28.51H42.85A6.85,6.85,0,0,0,36,35.36H61.7a3.36,3.36,0,0,0,2.64-1.28C62.09,32.19,59.79,30.36,57.5,28.51Z" opacity=".9" fill="url(#linear-gradient-5)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
@@ -1,8 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="8px" height="6px" viewBox="0 0 8 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: sketchtool 53 (72520) - https://sketchapp.com -->
|
||||
<title>37845F0A-2932-4C2D-98E1-89BE1B168092</title>
|
||||
<desc>Created with sketchtool.</desc>
|
||||
<defs>
|
||||
<path d="M6,8.48771202 C5.73480519,8.48765538 5.48049273,8.3822614 5.293,8.19471202 L2.293,5.19471202 C1.91402779,4.80233313 1.91944763,4.17862724 2.30518142,3.79289345 C2.69091522,3.40715965 3.31462111,3.40173981 3.707,3.78071202 L6,6.07371202 L8.293,3.78071202 C8.68537889,3.40173981 9.30908478,3.40715965 9.69481858,3.79289345 C10.0805524,4.17862724 10.0859722,4.80233313 9.707,5.19471202 L6.707,8.19471202 C6.51950727,8.3822614 6.26519481,8.48765538 6,8.48771202 Z" id="path-1"></path>
|
||||
</defs>
|
||||
@@ -14,7 +11,7 @@
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="Shape" fill="#0C0C0D" fill-rule="nonzero" opacity="0.599283854" xlink:href="#path-1"></use>
|
||||
<use id="Shape" fill="#b1b1b3" fill-rule="nonzero" opacity="0.599283854" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -1,4 +1,5 @@
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 9a3 3 0 1 0-2.977-2.63l-6.94 3.47a3 3 0 1 0 0 4.319l6.94 3.47a3 3 0 1 0 .895-1.789l-6.94-3.47a3.03 3.03 0 0 0 0-.74l6.94-3.47C16.456 8.68 17.19 9 18 9z" fill="#0060df" fill-opacity=".8"></path></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<symbol id="icon" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 9a3 3 0 1 0-2.977-2.63l-6.94 3.47a3 3 0 1 0 0 4.319l6.94 3.47a3 3 0 1 0 .895-1.789l-6.94-3.47a3.03 3.03 0 0 0 0-.74l6.94-3.47C16.456 8.68 17.19 9 18 9z" fill="currentColor"></path></symbol></svg>
|
||||
|
Before Width: | Height: | Size: 559 B After Width: | Height: | Size: 539 B |
6
assets/wordmark.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol id="logo" viewBox="66 0 340 64">
|
||||
<path d="M84,48h5.83V35.87H103.3V30.45H89.83V23.51H103.3V18H84Zm23.57,0h5.79V25.81h-5.79Zm2.88-32.12a3.46,3.46,0,0,0-2.59,1,3.62,3.62,0,0,0-1,2.65,3.57,3.57,0,0,0,1,2.59,3.52,3.52,0,0,0,2.61,1,3.46,3.46,0,0,0,3.65-3.26c0-.12,0-.23,0-.35a3.71,3.71,0,0,0-1-2.65,3.5,3.5,0,0,0-2.67-1Zm19.14,9.53a7.22,7.22,0,0,0-3.72.93,5.82,5.82,0,0,0-2.4,2.89V25.81h-5.59V48h5.63V36.29a5.27,5.27,0,0,1,1.31-4,4.94,4.94,0,0,1,3.49-1.21,6.33,6.33,0,0,1,1.73.23,4,4,0,0,1,1.23.55l2-5.59a7.51,7.51,0,0,0-1.66-.61,8.11,8.11,0,0,0-2-.26Zm23.94,3.19a11.15,11.15,0,0,0-3.61-2.37,12.08,12.08,0,0,0-4.6-.86,11.62,11.62,0,0,0-8.3,3.37,11.17,11.17,0,0,0-2.44,3.67,11.59,11.59,0,0,0-.89,4.54,12.24,12.24,0,0,0,.83,4.52,10.52,10.52,0,0,0,2.36,3.66,10.93,10.93,0,0,0,3.71,2.44,12.75,12.75,0,0,0,4.85.88,12.15,12.15,0,0,0,6.12-1.39,13.25,13.25,0,0,0,4.11-3.74L151,40.6a6.23,6.23,0,0,1-2.18,2.15,6.36,6.36,0,0,1-3.33.8,6.7,6.7,0,0,1-4.13-1.25,6,6,0,0,1-2.23-3.43h17.62V36.74a11.71,11.71,0,0,0-.87-4.56,10.5,10.5,0,0,0-2.35-3.59Zm-14.21,5.85a6.38,6.38,0,0,1,2.26-3.12,6.11,6.11,0,0,1,3.74-1.15,6.26,6.26,0,0,1,3.73,1.08,5.56,5.56,0,0,1,2.1,3.19ZM167,16.08a6.05,6.05,0,0,0-2.91,1.54,6.15,6.15,0,0,0-1.56,2.89,18.1,18.1,0,0,0-.48,4.52v.78H158.4v5.1h3.65V48h5.63V30.91H173v-5.1h-5.3V24.75a13.34,13.34,0,0,1,.12-2,2,2,0,0,1,.6-1.19,2.45,2.45,0,0,1,1.33-.57,15.25,15.25,0,0,1,2.34-.15H173V15.63h-1.48A19.06,19.06,0,0,0,167,16.08Zm27.4,12.65a12,12,0,0,0-16.72,0,10.87,10.87,0,0,0-2.46,3.67,11.61,11.61,0,0,0-.89,4.5,11.46,11.46,0,0,0,7.07,10.64,11.73,11.73,0,0,0,4.64.9,12,12,0,0,0,4.66-.9,11.26,11.26,0,0,0,3.72-2.49,11.83,11.83,0,0,0,2.46-3.67,11.31,11.31,0,0,0,.9-4.48A11.43,11.43,0,0,0,194.4,28.73ZM191.7,39.3a5.88,5.88,0,0,1-1.29,2,6.53,6.53,0,0,1-1.93,1.31,6,6,0,0,1-4.76,0,6.34,6.34,0,0,1-1.93-1.31,6.06,6.06,0,0,1-1.3-2,6.48,6.48,0,0,1,0-4.86,5.76,5.76,0,0,1,1.3-2,6.08,6.08,0,0,1,1.93-1.32,6,6,0,0,1,4.76,0,6.37,6.37,0,0,1,1.93,1.32,5.73,5.73,0,0,1,1.29,2A6.39,6.39,0,0,1,191.7,39.3Zm29.47-13.49h-6.65l-4.68,6.57-4.64-6.57h-6.74l7.84,10.8L198,48h6.82l5-6.94L214.89,48h6.86l-8.46-11.34Zm34,7.46a12.88,12.88,0,0,0-3.37-1.44c-1.25-.34-2.46-.63-3.63-.88l-3.08-.7a10.64,10.64,0,0,1-2.51-.86A4.54,4.54,0,0,1,240.87,28a3.61,3.61,0,0,1-.62-2.19,4.8,4.8,0,0,1,1.58-3.7c1.06-1,2.73-1.44,5-1.44a9.84,9.84,0,0,1,5.07,1.17,10.47,10.47,0,0,1,3.39,3.23l2.79-2.18A15.22,15.22,0,0,0,253.45,19a13.8,13.8,0,0,0-6.59-1.44,12.13,12.13,0,0,0-4.14.66A10.33,10.33,0,0,0,239.53,20a7.53,7.53,0,0,0-2.05,2.63,7.41,7.41,0,0,0-.72,3.24,6.7,6.7,0,0,0,.84,3.53,7.06,7.06,0,0,0,2.2,2.22A11.11,11.11,0,0,0,242.86,33c1.13.32,2.29.6,3.47.84l3.26.74a12.63,12.63,0,0,1,2.8,1,5.86,5.86,0,0,1,2,1.56,3.88,3.88,0,0,1,.74,2.42,5.2,5.2,0,0,1-1.81,4.09A7.83,7.83,0,0,1,248,45.2a11,11,0,0,1-9.89-5.38l-3,2.34a15.86,15.86,0,0,0,5.23,4.54,16.06,16.06,0,0,0,7.7,1.7,12.58,12.58,0,0,0,4.38-.72,10.14,10.14,0,0,0,3.3-2,8.79,8.79,0,0,0,2.1-2.85,8.09,8.09,0,0,0,.74-3.39,6.94,6.94,0,0,0-1-3.8,7.71,7.71,0,0,0-2.42-2.37Zm27.51-4.72a10.53,10.53,0,0,0-3.58-2.34,11.89,11.89,0,0,0-4.49-.84,11.6,11.6,0,0,0-4.62.9,11.35,11.35,0,0,0-3.66,2.46A11.84,11.84,0,0,0,263,37a12.21,12.21,0,0,0,.82,4.51,10.53,10.53,0,0,0,2.36,3.64,11.24,11.24,0,0,0,3.7,2.42,12.41,12.41,0,0,0,4.82.88A11.68,11.68,0,0,0,280.82,47,12.84,12.84,0,0,0,285,42.82l-2.88-1.69a7.85,7.85,0,0,1-7.43,4.27,9,9,0,0,1-3.22-.53,8.21,8.21,0,0,1-2.55-1.5,8,8,0,0,1-1.78-2.28,7.79,7.79,0,0,1-.87-2.91h19.59V36.66a11.75,11.75,0,0,0-.86-4.54,10.92,10.92,0,0,0-2.35-3.57ZM266.4,35.22a8.88,8.88,0,0,1,1-2.73,8.55,8.55,0,0,1,1.79-2.18,8,8,0,0,1,2.44-1.43,8.31,8.31,0,0,1,3-.52,7.45,7.45,0,0,1,7.84,6.86ZM308.82,28a8.11,8.11,0,0,0-3-2,10.89,10.89,0,0,0-3.92-.67,9.06,9.06,0,0,0-4.58,1.14,8.76,8.76,0,0,0-3.14,3V25.82h-3.29V48h3.37V35.67a7.92,7.92,0,0,1,.53-2.93,7,7,0,0,1,1.48-2.3,6.46,6.46,0,0,1,2.22-1.5,7,7,0,0,1,2.75-.54,6.33,6.33,0,0,1,5,1.93A7.46,7.46,0,0,1,308,35.51V48h3.41V35.34a12.46,12.46,0,0,0-.66-4.19A8.68,8.68,0,0,0,308.82,28Zm27-12.42v14.1a8.14,8.14,0,0,0-1.58-1.83,10.08,10.08,0,0,0-2-1.36,10.39,10.39,0,0,0-2.3-.84,10.22,10.22,0,0,0-2.4-.28,11.63,11.63,0,0,0-4.4.84,11.09,11.09,0,0,0-3.59,2.38,11.3,11.3,0,0,0-2.42,3.65,12.81,12.81,0,0,0,0,9.32,11.56,11.56,0,0,0,2.4,3.66,10.58,10.58,0,0,0,3.59,2.38,11.77,11.77,0,0,0,4.42.84,9.69,9.69,0,0,0,2.4-.31,11,11,0,0,0,2.3-.86,9.72,9.72,0,0,0,2-1.37,8.75,8.75,0,0,0,1.58-1.85v4h3.33V15.59Zm-.37,24.58a8.3,8.3,0,0,1-10.85,4.47h0a7.68,7.68,0,0,1-2.6-1.76,7.88,7.88,0,0,1-1.73-2.67,8.93,8.93,0,0,1-.62-3.35,8.67,8.67,0,0,1,.62-3.3A8,8,0,0,1,322,30.89a8.17,8.17,0,0,1,2.6-1.79,8.27,8.27,0,0,1,6.51,0,8.64,8.64,0,0,1,2.63,1.81,7.85,7.85,0,0,1,1.72,2.67,8.67,8.67,0,0,1,.62,3.26,8.86,8.86,0,0,1-.65,3.33Z" fill="currentColor"/>
|
||||
</symbol>
|
||||
<use xlink:href="#logo"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |
@@ -1,8 +1,8 @@
|
||||
# Custom Loaders
|
||||
|
||||
## Generate Asset Map
|
||||
## Android Index Plugin
|
||||
|
||||
This loader enumerates all the files in `assets/` so that `common/assets.js` can provide mappings from the source filename to the hashed filename used on the site.
|
||||
Generates the `index.html` page for the native android client
|
||||
|
||||
## Version Plugin
|
||||
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
const commit = require('git-rev-sync').short();
|
||||
const gitRevSync = require('git-rev-sync');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
let commit = 'unknown';
|
||||
|
||||
try {
|
||||
commit = gitRevSync.short();
|
||||
} catch (e) {
|
||||
console.warn('Error fetching current git commit: ' + e);
|
||||
}
|
||||
|
||||
const version = JSON.stringify({
|
||||
commit,
|
||||
source: pkg.homepage,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const genmap = require('../build/generate_asset_map');
|
||||
const genmap = require('./generate_asset_map');
|
||||
const isServer = typeof genmap === 'function';
|
||||
let prefix = '';
|
||||
let manifest = {};
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# Common Code
|
||||
|
||||
This directory contains code loaded by both the frontend `app` and backend `server`. The code here can be challenging to understand at first because the contexts for the two (three counting the dev server) environments that include them are quite different, but the purpose of these modules are quite simple, to provide mappings from the source assets (`copy-16.png`) to the concrete production assets (`copy-16.db66e0bf.svg`).
|
||||
|
||||
## Generate Asset Map
|
||||
|
||||
This loader enumerates all the files in `assets/` so that `common/assets.js` can provide mappings from the source filename to the hashed filename used on the site.
|
||||
@@ -1,13 +1,6 @@
|
||||
## Setup
|
||||
|
||||
Before building the Docker image, you must build the production assets:
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
Then you can run either `docker build` or `docker-compose up`.
|
||||
|
||||
Run `docker build -t send:latest .` to create an image or `docker-compose up` to run a full testable stack. *We don't recommend using docker-compose for production.*
|
||||
|
||||
## Environment variables:
|
||||
|
||||
|
||||
10934
package-lock.json
generated
94
package.json
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "firefox-send",
|
||||
"description": "File Sharing Experiment",
|
||||
"version": "3.0.18",
|
||||
"version": "3.0.22",
|
||||
"author": "Mozilla (https://mozilla.org)",
|
||||
"repository": "mozilla/send",
|
||||
"homepage": "https://github.com/mozilla/send/",
|
||||
@@ -26,7 +26,7 @@
|
||||
"test:frontend": "cross-env NODE_ENV=development node test/frontend/runner.js",
|
||||
"test:report": "nyc report --reporter=html",
|
||||
"test-integration": "cross-env NODE_ENV=development wdio test/wdio.docker.conf.js",
|
||||
"circleci-test-integration": "cross-env NODE_ENV=development wdio test/wdio.circleci.conf.js",
|
||||
"circleci-test-integration": "echo 'webdriverio tests need to be updated to node 12'",
|
||||
"start": "npm run clean && cross-env NODE_ENV=development L10N_DEV=true FXA_CLIENT_ID=fced6b5e3f4c66b9 BASE_URL=http://localhost:8080 webpack-dev-server --mode=development",
|
||||
"android": "cross-env ANDROID=1 npm start",
|
||||
"prod": "node server/bin/prod.js"
|
||||
@@ -58,33 +58,33 @@
|
||||
"cache": true
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
"node": "^12.16.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.6.0",
|
||||
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
||||
"@babel/core": "^7.7.2",
|
||||
"@babel/plugin-proposal-class-properties": "^7.7.0",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
||||
"@babel/preset-env": "^7.6.0",
|
||||
"@babel/preset-env": "^7.7.1",
|
||||
"@dannycoates/webcrypto-liner": "^0.1.37",
|
||||
"@fullhuman/postcss-purgecss": "^1.2.0",
|
||||
"@fullhuman/postcss-purgecss": "^1.3.0",
|
||||
"@mattiasbuelens/web-streams-polyfill": "0.2.1",
|
||||
"@sentry/browser": "^5.6.3",
|
||||
"@sentry/browser": "^5.8.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.4",
|
||||
"core-js": "^3.2.1",
|
||||
"copy-webpack-plugin": "^5.0.5",
|
||||
"core-js": "^3.4.0",
|
||||
"crc": "^3.8.0",
|
||||
"cross-env": "^5.2.1",
|
||||
"cross-env": "^6.0.3",
|
||||
"css-loader": "^3.2.0",
|
||||
"css-mqpacker": "^7.0.0",
|
||||
"cssnano": "^4.1.10",
|
||||
"eslint": "^6.3.0",
|
||||
"eslint-config-prettier": "^6.2.0",
|
||||
"eslint-plugin-mocha": "^6.1.0",
|
||||
"eslint-plugin-node": "^9.2.0",
|
||||
"eslint": "^6.6.0",
|
||||
"eslint-config-prettier": "^6.5.0",
|
||||
"eslint-plugin-mocha": "^6.2.1",
|
||||
"eslint-plugin-node": "^10.0.0",
|
||||
"eslint-plugin-security": "^1.4.0",
|
||||
"expose-loader": "^0.7.5",
|
||||
"extract-loader": "^3.1.0",
|
||||
@@ -94,64 +94,56 @@
|
||||
"git-rev-sync": "^1.12.0",
|
||||
"html-loader": "^0.5.5",
|
||||
"http_ece": "^1.1.0",
|
||||
"husky": "^3.0.5",
|
||||
"intl-pluralrules": "^1.0.3",
|
||||
"lint-staged": "^9.2.5",
|
||||
"mocha": "^6.2.0",
|
||||
"husky": "^3.0.9",
|
||||
"intl-pluralrules": "^1.1.1",
|
||||
"lint-staged": "^9.4.2",
|
||||
"mocha": "^6.2.2",
|
||||
"morgan": "^1.9.1",
|
||||
"nanobus": "^4.4.0",
|
||||
"nanohtml": "^1.8.1",
|
||||
"nanohtml": "^1.9.0",
|
||||
"nanotiming": "^7.3.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"nyc": "^14.1.1",
|
||||
"postcss-loader": "^3.0.0",
|
||||
"postcss-preset-env": "^6.7.0",
|
||||
"prettier": "^1.18.2",
|
||||
"prettier": "^1.19.1",
|
||||
"proxyquire": "^2.1.3",
|
||||
"puppeteer": "^1.19.0",
|
||||
"puppeteer": "^2.0.0",
|
||||
"raw-loader": "^3.1.0",
|
||||
"redis-mock": "^0.46.0",
|
||||
"redis-mock": "^0.47.0",
|
||||
"rimraf": "^3.0.0",
|
||||
"script-loader": "^0.7.2",
|
||||
"sinon": "^7.4.2",
|
||||
"sinon": "^7.5.0",
|
||||
"string-hash": "^1.1.3",
|
||||
"stylelint": "^10.1.0",
|
||||
"stylelint-config-standard": "^18.3.0",
|
||||
"stylelint": "^11.1.1",
|
||||
"stylelint-config-standard": "^19.0.0",
|
||||
"stylelint-no-unsupported-browser-features": "^3.0.2",
|
||||
"svgo": "^1.3.0",
|
||||
"svgo": "^1.3.2",
|
||||
"svgo-loader": "^2.2.1",
|
||||
"tailwindcss": "^1.1.2",
|
||||
"tailwindcss": "^1.1.3",
|
||||
"val-loader": "^1.1.1",
|
||||
"wdio-docker-service": "^1.4.2",
|
||||
"wdio-dot-reporter": "0.0.10",
|
||||
"wdio-firefox-profile-service": "^0.1.3",
|
||||
"wdio-mocha-framework": "^0.6.3",
|
||||
"wdio-sauce-service": "^0.4.14",
|
||||
"wdio-selenium-standalone-service": "0.0.12",
|
||||
"wdio-spec-reporter": "^0.1.5",
|
||||
"webdriverio": "^4.14.4",
|
||||
"webpack": "4.38.0",
|
||||
"webpack-cli": "^3.3.8",
|
||||
"webpack-dev-middleware": "^3.7.1",
|
||||
"webpack-dev-server": "^3.8.0",
|
||||
"webpack-manifest-plugin": "^2.0.4",
|
||||
"webpack-cli": "^3.3.10",
|
||||
"webpack-dev-middleware": "^3.7.2",
|
||||
"webpack-dev-server": "^3.9.0",
|
||||
"webpack-manifest-plugin": "^2.2.0",
|
||||
"webpack-unassert-loader": "^1.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@dannycoates/express-ws": "^5.0.3",
|
||||
"@fluent/bundle": "^0.13.0",
|
||||
"@fluent/langneg": "^0.3.0",
|
||||
"@google-cloud/storage": "^3.2.1",
|
||||
"@sentry/node": "^5.6.2",
|
||||
"aws-sdk": "^2.524.0",
|
||||
"@google-cloud/storage": "^4.1.1",
|
||||
"@sentry/node": "^5.8.0",
|
||||
"aws-sdk": "^2.568.0",
|
||||
"body-parser": "^1.19.0",
|
||||
"choo": "^7.0.0",
|
||||
"cldr-core": "^35.1.0",
|
||||
"configstore": "github:dannycoates/configstore#master",
|
||||
"convict": "^5.1.0",
|
||||
"convict": "^5.2.0",
|
||||
"express": "^4.17.1",
|
||||
"fxa-geodb": "^1.0.4",
|
||||
"helmet": "^3.21.0",
|
||||
"helmet": "^3.21.2",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mozlog": "^2.2.0",
|
||||
"node-fetch": "^2.6.0",
|
||||
@@ -161,8 +153,11 @@
|
||||
},
|
||||
"availableLanguages": [
|
||||
"en-US",
|
||||
"an",
|
||||
"ar",
|
||||
"ast",
|
||||
"azz",
|
||||
"be",
|
||||
"bn",
|
||||
"br",
|
||||
"ca",
|
||||
@@ -181,13 +176,17 @@
|
||||
"es-MX",
|
||||
"et",
|
||||
"eu",
|
||||
"fa",
|
||||
"fi",
|
||||
"fr",
|
||||
"fy-NL",
|
||||
"gn",
|
||||
"he",
|
||||
"hr",
|
||||
"hsb",
|
||||
"hu",
|
||||
"hus",
|
||||
"hy-AM",
|
||||
"ia",
|
||||
"id",
|
||||
"it",
|
||||
@@ -196,6 +195,8 @@
|
||||
"kab",
|
||||
"ko",
|
||||
"lt",
|
||||
"meh",
|
||||
"mix",
|
||||
"ml",
|
||||
"nb-NO",
|
||||
"nl",
|
||||
@@ -203,8 +204,10 @@
|
||||
"oc",
|
||||
"pa-IN",
|
||||
"pl",
|
||||
"ppl",
|
||||
"pt-BR",
|
||||
"pt-PT",
|
||||
"quc",
|
||||
"ro",
|
||||
"ru",
|
||||
"sk",
|
||||
@@ -213,6 +216,7 @@
|
||||
"sr",
|
||||
"su",
|
||||
"sv-SE",
|
||||
"te",
|
||||
"th",
|
||||
"tr",
|
||||
"uk",
|
||||
|
||||
155
public/locales/an/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentarios
|
||||
importingFile = Se ye importando…
|
||||
encryptingFile = Se ye cifrando…
|
||||
decryptingFile = Se ye descifrando…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 descarga
|
||||
*[other] { $num } descargas
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] hora
|
||||
*[other] horas
|
||||
}
|
||||
copiedUrl = Copiau!
|
||||
unlockInputPlaceholder = Clau
|
||||
unlockButtonLabel = Desblocar
|
||||
downloadButtonLabel = Descargar
|
||||
downloadFinish = Descarga completa
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Preba Firefox Send
|
||||
errorPageHeader = I ha habiu bell problema!
|
||||
fileTooBig = Ixe fichero ye masiau gran pa cargar-lo. Ha de tener menos de { $size }
|
||||
linkExpiredAlt = Lo vinclo ye caducau
|
||||
notSupportedHeader = Lo suyo navegador no ye compatible
|
||||
notSupportedLink = Per qué no ye compatible lo mío navegador?
|
||||
notSupportedOutdatedDetail = Esta versión de Firefox no admite la tecnolochía web con que funciona lo Firefox Send. Habrás d'esviellar lo navegador.
|
||||
updateFirefox = Esviellar Firefox
|
||||
deletePopupCancel = Cancelar
|
||||
deleteButtonHover = Borrar
|
||||
footerLinkLegal = Aviso legal
|
||||
footerLinkPrivacy = Privacidat
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = La contrasenya ye incorrecta. Torne-lo a intentar.
|
||||
javascriptRequired = Firefox Send necesita JavaScript
|
||||
whyJavascript = Per qué Firefox Send necesita JavaScript?
|
||||
enableJavascript = Activa JavaScript y torna-lo a intentar.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours } h { $minutes } min
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } min
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maxima lonchitut d'a clau: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = No s'ha puesto definir la clau
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Compartición de fichers simpla y privada
|
||||
introDescription = { -send-brand } te permite de compartir fichers cifraus de cabo a cabo, y tamién un vinclo que expira automaticament. Asinas, puetz mantener en privau lo que compartes y asegurar-te de que los tuyos contenius no se quedan pa cutio en linia.
|
||||
notifyUploadEncryptDone = Lo fichero s'ha cifrau y ye presto pa ninviar-se
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Caduca dimpués de { $downloadCount } u { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } minutos
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 día
|
||||
*[other] { $num } días
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semana
|
||||
*[other] { $num } semanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 fichero
|
||||
*[other] { $num } fichers
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Mida total: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Copiar lo vinclo que quiers compartir
|
||||
copyLinkButton = Copiar lo vinclo
|
||||
downloadTitle = Descargar los fichers
|
||||
downloadDescription = Este fichero s'ha compartiu per medio de { -send-brand } con cifrau de cabo a cabo y un vinclo que caduca automaticament.
|
||||
trySendDescription = Preba { -send-brand } pa una compartición de fichers simpla y segura.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Nomás se puet puyar 1 fitxer de vez.
|
||||
*[other] Nomás se pueden puyar { $count } fichers de vez.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Nomás se permite 1 ficher.
|
||||
*[other] Nomás se permiten { $count } fichers.
|
||||
}
|
||||
expiredTitle = Este vinclo ye caducau.
|
||||
notSupportedDescription = { -send-brand } no funcionará con este navegador. { -send-short-brand } funciona millor con a zaguera versión de { -firefox } y funcionará con a versión mas recient d'a mayor parte de navegadors.
|
||||
downloadFirefox = Descargar { -firefox }
|
||||
legalTitle = Aviso de privacidat de { -send-short-brand }
|
||||
legalDateStamp = Versió 1.0, con data d'o 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } d { $hours } h { $minutes } min
|
||||
addFilesButton = Triar los fichers a cargar
|
||||
uploadButton = Cargar
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Arrociega y suelta los fichers
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = u fes clic aquí pa ninviar dica { $size }
|
||||
addPassword = Protecher con una clau
|
||||
emailPlaceholder = Escribe la tuya adreza de correu
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Inicia una sesión pa ninviar dica { $size }
|
||||
signInOnlyButton = Iniciar la sesión
|
||||
accountBenefitTitle = Crea una cuenta de { -firefox } u dentra-ie
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Compartir fichers dica { $size }
|
||||
accountBenefitDownloadCount = Compartir fichers con mas chent
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Mantiene los vinclos activos dica 1 dia
|
||||
*[other] Mantiene los vinclos activos dica { $count } días
|
||||
}
|
||||
accountBenefitSync = Chestiona los fichers compartius dende qualsequier dispositivo
|
||||
accountBenefitMoz = Descubre mas cosas sobre los atros servicios de { -mozilla }
|
||||
signOut = Zarrar la sesión
|
||||
okButton = Vale
|
||||
downloadingTitle = Se ye descargando
|
||||
noStreamsWarning = Este navegador talment no pueda descifrar un fichero tant gran.
|
||||
noStreamsOptionCopy = Copia lo vinclo pa ubrir-lo en belatro navegador
|
||||
noStreamsOptionFirefox = Preba lo nuestro navegador favorito
|
||||
noStreamsOptionDownload = Continar con este navegador
|
||||
downloadFirefoxPromo = Lo nuevo { -firefox } t'ofreix { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Comparte lo vinclo enta lo tuyo fichero:
|
||||
shareLinkButton = Compartir lo vinclo
|
||||
# $name is the name of the file
|
||||
shareMessage = Baixa-te «{ $name }» con { -send-brand }: compartición de fiches simpla y segura
|
||||
trailheadPromo = I hai una manera de protecher la tuya privacidat. Une-te a Firefox.
|
||||
learnMore = Mas información
|
||||
@@ -56,6 +56,11 @@ passwordSetError = يجب ألا تُضبط كلمة السر هذه
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = شارِك ملفاتك بلا عناء وبخصوصية تامة
|
||||
introDescription = يتيح لك { -send-brand } مشاركة الملفات عبر تعميتها من الطرفين وإتاحتها في رابط ينقضي أجله تلقائيا. هكذا يمكنك إبقاء ما شاركته خاصًا فتضمن بأن ملفاتك لن تبقى في الوِب أبد الدهر.
|
||||
notifyUploadEncryptDone = اكتملت تعمية الملف وأصبح جاهزًا لإرساله
|
||||
@@ -182,4 +187,5 @@ shareLinkDescription = شارِك الرابط الذي يصل إلى الملف
|
||||
shareLinkButton = شارِك الرابط
|
||||
# $name is the name of the file
|
||||
shareMessage = نزِّل ”{ $name }“ عبر { -send-brand }: خدمة لمشاركة الملفات بلا عناء وبخصوصية تامة
|
||||
trailheadPromo = يمكنك حماية خصوصيتك، طبعا. انضم إلى فَيَرفُكس.
|
||||
learnMore = اطّلع على المزيد.
|
||||
|
||||
@@ -21,12 +21,12 @@ downloadButtonLabel = Baxar
|
||||
downloadFinish = Completóse la descarga
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Probar Firefox Send
|
||||
errorPageHeader = ¡Daqué foi mal!
|
||||
errorPageHeader = ¡Asocedió daqué malo!
|
||||
fileTooBig = Esti ficheru ye mui grande como pa xubilu. Debería tener menos de { $size }.
|
||||
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 Firefox.
|
||||
notSupportedOutdatedDetail = Desafortunadamente esta versión de Firefox nun sofita la teunoloxía web qu'usa Firefox Send. Vas precisar anovar el restolador.
|
||||
updateFirefox = Anovar Firefox
|
||||
deletePopupCancel = Encaboxar
|
||||
deleteButtonHover = Desaniciar
|
||||
@@ -54,9 +54,10 @@ passwordSetError = Nun pudo afitase esta contraseña
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Compartición de ficheros privada y cenciella
|
||||
introDescription = { -send-brand } déxate compartir ficheros con cifráu puntu a puntu y un enllaz que caduca automáticamente. D'esti mou, asegúreste de que lo que compartes ye privao y nun va tar siempres en llinia.
|
||||
notifyUploadEncryptDone = El ficheru ta cifráu y preparáu pa unviase
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Caduca tres { $downloadCount } ó { $timespan }
|
||||
archiveExpiryInfo = Caduca dempués de { $downloadCount } ó { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minutu
|
||||
@@ -109,7 +110,9 @@ tooManyArchives =
|
||||
}
|
||||
expiredTitle = Esti enllaz caducó.
|
||||
notSupportedDescription = { -send-brand } nun va funcionar con esti restolador. { -send-short-brand } funciona meyor cola versión última de { -firefox } y cola versión actual de la mayoría de restoladores.
|
||||
legalTitle = Noticia de privacidá de { -send-short-brand }
|
||||
downloadFirefox = Baxar { -firefox }
|
||||
legalTitle = Avisu de privacidá de { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0, con data del 12 de marzu de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Esbillar los ficheros a unviar
|
||||
@@ -123,8 +126,8 @@ addPassword = Protexer con una contraseña
|
||||
emailPlaceholder = Introduz el to corréu
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Anicia sesión pa unviar hasta { $size }
|
||||
signInButton = Rexistrase/aniciar sesión
|
||||
accountBenefitTitle = Creación d'una cuenta { -firefox } o aniciu de sesión nella
|
||||
signInOnlyButton = Aniciar sesión
|
||||
accountBenefitTitle = Creación d'una cuenta de { -firefox } o aniciu de sesión nella
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Comparti ficheros d'hasta { $size }
|
||||
accountBenefitDownloadCount = Comparti ficheros con más xente
|
||||
@@ -139,3 +142,5 @@ signOut = Zarrar sesión
|
||||
okButton = Aceutar
|
||||
downloadingTitle = Baxando
|
||||
noStreamsWarning = Esti restolador quiciabes nun seya a descifrar un ficheru d'esti tamañu.
|
||||
trailheadPromo = Hai un mou de protexer la to privacidá. Xúnite a Firefox.
|
||||
learnMore = Deprender más.
|
||||
|
||||
@@ -1,31 +1,9 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteSubtitle = web eksperiment
|
||||
siteFeedback = Geri dönüş
|
||||
uploadPageHeader = Məxfi, Şifrələnmiş Fayl Paylaşma
|
||||
uploadPageExplainer = Fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silinən keçidlə göndərin.
|
||||
uploadPageLearnMore = Ətraflı öyrən
|
||||
uploadPageDropMessage = Yükləmək üçün faylınızı buraya daşıyın
|
||||
uploadPageSizeMessage = Xidmətin daha yaxşı işləməsi üçün faylınız 1 GB-dan az olmalıdır
|
||||
uploadPageBrowseButton = Kompüterinizdən fayl seçin
|
||||
uploadPageBrowseButton1 = Yüklənəcək faylı seçin
|
||||
uploadPageMultipleFilesAlert = Birdən çox fayl və ya qovluq yükləmə hələlik dəstəklənmir.
|
||||
uploadPageBrowseButtonTitle = Fayl yüklə
|
||||
uploadingPageProgress = { $filename } ({ $size }) yüklənir
|
||||
importingFile = İdxal edilir…
|
||||
verifyingFile = Təsdiqlənir…
|
||||
encryptingFile = Şifrələnir...
|
||||
decryptingFile = Şifrə açılır...
|
||||
notifyUploadDone = Yükləməniz hazırdır.
|
||||
uploadingPageMessage = Faylınız yükləndikdən sonra vaxtı çıxma seçimlərini qura biləcəksiz.
|
||||
uploadingPageCancel = Yükləməni ləğv et
|
||||
uploadCancelNotification = Yükləməniz ləğv edildi.
|
||||
uploadingPageLargeFileMessage = Fayl böyükdür və yükləmək çox vaxt ala bilər. Səbirli olun!
|
||||
uploadingFileNotification = Yükləmə bitdiyində xəbər ver.
|
||||
uploadSuccessConfirmHeader = Göndərməyə hazır
|
||||
uploadSvgAlt = Yüklə
|
||||
uploadSuccessTimingHeader = Faylınızın keçidinin 1 endirmədən və ya 24 saatdan sonra vaxtı çıxacaq.
|
||||
expireInfo = Faylınız üçün keçidin vaxtı { $downloadCount } sonra və ya { $timespan } tarixində keçəcək.
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 endirmə
|
||||
@@ -36,76 +14,26 @@ timespanHours =
|
||||
[one] 1 saat
|
||||
*[other] { $num } saat
|
||||
}
|
||||
copyUrlFormLabelWithName = Faylınızı göndərmək üçün keçidi köçürün: { $filename }
|
||||
copyUrlFormButton = Buferə köçür
|
||||
copiedUrl = Köçürüldü!
|
||||
deleteFileButton = Faylı sil
|
||||
sendAnotherFileLink = Başqa fayl göndər
|
||||
# Alternative text used on the download link/button (indicates an action).
|
||||
downloadAltText = Endir
|
||||
downloadsFileList = Endirmələr
|
||||
# Used as header in a column indicating the amount of time left before a
|
||||
# download link expires (e.g. "10h 5m")
|
||||
timeFileList = Vaxt
|
||||
# Used as header in a column indicating the number of times a file has been
|
||||
# downloaded
|
||||
downloadFileName = { $filename } faylını endir
|
||||
downloadFileSize = ({ $size })
|
||||
unlockInputLabel = Parol daxil edin
|
||||
unlockInputPlaceholder = Parol
|
||||
unlockButtonLabel = Aç
|
||||
downloadFileTitle = Şifrələnmiş Faylı Endir
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
downloadMessage = Yoldaşınız Firefox Send ilə sizə fayl göndərir, fayllarınızı təhlükəsiz, məxfi, şifrələnmiş və daima onlayn qalmaması üçün avtomatik silən fayl göndərmə xidməti.
|
||||
# Text and title used on the download link/button (indicates an action).
|
||||
downloadButtonLabel = Endir
|
||||
downloadNotification = Endirməniz tamamlandı.
|
||||
downloadFinish = Endirmə Tamamlandı
|
||||
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
|
||||
fileSizeProgress = ({ $partialSize } / { $totalSize })
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
sendYourFilesLink = Firefox Send Yoxla
|
||||
downloadingPageProgress = { $filename } faylı ({ $size }) endirilir
|
||||
downloadingPageMessage = Lütfən faylı endirib şifrəsini açarkən vərəqi açıq buraxın.
|
||||
errorAltText = Yükləmə xətası
|
||||
errorPageHeader = Nəsə səhv getdi!
|
||||
errorPageMessage = Faylı yüklərkən xəta baş verdi.
|
||||
errorPageLink = Başqa fayl göndər
|
||||
fileTooBig = Fayl yükləmək üçün çox böyükdür. Fayl { $size }-dan az olmalıdır.
|
||||
linkExpiredAlt = Keçidin vaxtı çıxıb
|
||||
expiredPageHeader = Keçidin vaxtı çıxıb və ya heç vaxt olmayıb!
|
||||
notSupportedHeader = Səyyahınız dəstəklənmir.
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
notSupportedDetail = Heyf ki, bu səyyah Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Fərqli bir səyyah yoxlamalısınız. Biz Firefox məsləhət görürük!
|
||||
notSupportedLink = Səyyahım niyə dəstəklənmir?
|
||||
notSupportedOutdatedDetail = Heyf ki, Firefox səyyahının bu versiyası Firefox Send-ə güc verən web texnologiyalarını dəstəkləmir. Səyyahınızı yeniləməlisiniz.
|
||||
updateFirefox = Firefox-u Yenilə
|
||||
downloadFirefoxButtonSub = Pulsuz Endir
|
||||
uploadedFile = Fayl
|
||||
copyFileList = Keçidi Köçürt
|
||||
# expiryFileList is used as a column header
|
||||
expiryFileList = Vaxtı çıxma tarixi
|
||||
deleteFileList = Sil
|
||||
nevermindButton = Vacib deyil
|
||||
legalHeader = Şərtlər və Məxfilik
|
||||
legalNoticeTestPilot = Firefox Send Test Pilot eksperimentidir, Test Pilot <a>Xidmət Şərtləri</a> və <a>Məxfilik Bildirişi</a>-nə tabedir. Bu eksperiment və məlumat yığma haqqında <a>buradan</a> öyrənə bilərsiz.
|
||||
legalNoticeMozilla = Firefox Send saytının istifadəsi həmçinin Mozilla-nın <a>Saytlar üçün Məxfilik Bildirişi</a> və <a>Sayt İstifadə Şərtləri</a>-nə tabedir.
|
||||
deletePopupText = Fayl silinsin?
|
||||
deletePopupYes = Bəli
|
||||
deletePopupCancel = Ləğv et
|
||||
deleteButtonHover = Sil
|
||||
copyUrlHover = Keçidi Köçürt
|
||||
footerLinkLegal = Hüquqi
|
||||
# Test Pilot is a proper name and should not be localized.
|
||||
footerLinkAbout = Test Pilot Haqqında
|
||||
footerLinkPrivacy = Məxfilik
|
||||
footerLinkTerms = Şərtlər
|
||||
footerLinkCookies = Çərəzlər
|
||||
requirePasswordCheckbox = Bu faylı endirmək üçün parol tələb et
|
||||
addPasswordButton = Parol əlavə et
|
||||
changePasswordButton = Dəyişdir
|
||||
passwordTryAgain = Səhv parol. Təkrar yoxlayın.
|
||||
reportIPInfringement = Əqli-mülkiyyət pozuntusu bildir
|
||||
javascriptRequired = Firefox Send üçün JavaScript lazımdır
|
||||
whyJavascript = Firefox Send niyə JavaScript tələb edir?
|
||||
enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
|
||||
@@ -113,9 +41,32 @@ enableJavascript = Lütfən JavaScript-i aktiv edib təkrar yoxlayın.
|
||||
expiresHoursMinutes = { $hours } saat { $minutes } dəq
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } dəq
|
||||
# A short status message shown when a password is successfully set
|
||||
passwordIsSet = Parol quruldu
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maksimum parol uzunluğu: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Parol qurula bilmədi
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
copyLinkButton = Keçidi köçür
|
||||
uploadButton = Yüklə
|
||||
signInOnlyButton = Daxil ol
|
||||
signOut = Çıx
|
||||
okButton = Tamam
|
||||
downloadingTitle = Endirilir
|
||||
shareLinkButton = Keçidi paylaş
|
||||
|
||||
146
public/locales/azz/send.ftl
Normal file
@@ -0,0 +1,146 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Nikan uelis tikijkuilos tein tiknemilijtos
|
||||
importingFile = Mokalakijtok…
|
||||
encryptingFile = Motatijtok…
|
||||
decryptingFile = Kichiujtok se uelis kiixtajtoltis ya…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
*[undefined] 1 kitemouijtok / { $num } kintemouijtok
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
*[undefined] 1 hora / { $num } hora
|
||||
}
|
||||
copiedUrl = ¡Moixkopinak!
|
||||
unlockInputPlaceholder = Ichtakatajtol
|
||||
unlockButtonLabel = Xikajchiua tein amo kikaua maj tekiti
|
||||
downloadButtonLabel = Xiktemoui
|
||||
downloadFinish = Nochi motemouij ya
|
||||
fileSizeProgress = ({ $partialSize } itech { $totalSize })
|
||||
sendYourFilesLink = Xikejeko Firefox Send
|
||||
errorPageHeader = ¡Tensa amo kuali kisak!
|
||||
fileTooBig = Nejin tajkuilol semi ueyi. Moneki amo panos { $size }
|
||||
linkExpiredAlt = Nejin tein tikpatskilij amo tekititok ya
|
||||
notSupportedHeader = Monavegador amo kualtia.
|
||||
notSupportedLink = ¿Keyej nonavegador amo kualtia?
|
||||
notSupportedOutdatedDetail = Tetayokoltij, Firefox tein tikuitok amo kiselia tepostekitilis tecnología web tein ika tekiti Firefox Send. Moneki tikyankuilis monavegador.
|
||||
updateFirefox = Maj Firefox moyankuili
|
||||
deletePopupCancel = Maj motsakuili uan amo tami tein kichiujtok
|
||||
deleteButtonHover = Maj majchiua
|
||||
footerLinkLegal = Keniuj motekitiltis
|
||||
footerLinkPrivacy = Keniuj tikyekpiaj tein tikseliaj
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Amo yektik ichtakatajtol. Oksepa xikijkuilo.
|
||||
javascriptRequired = Firefox Send kineki maj moajsi JavaScript
|
||||
whyJavascript = ¿Keyej Firefox Send kineki maj moajsi JavaScript?
|
||||
enableJavascript = Se kualtakayot, xikaua maj peua tekiti JavaScript uan oksepa xikejeko.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Keniuj ueyak ichtakatajtol, maj amo pano: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Nejin ichtakatajtol amo uel kiixtaliani
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Xiktitani
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Amo ouij uan ichtaka xikinpanoltili oksekin motajkuiloluan archivos
|
||||
introDescription = { -send-brand } mitspaleuia uan ijkon tikinpanoltilis oksekin motajkuiloluan archivos ika tapoualmej tein amo aksa uelis kiajsikamatis, uan no kitemaka kampa se kipatskilis tein niman ixpoliui. Ijkuin uelis tikichtakaeuas tein tikintitanilis oksekin uan tikyekmatis tein moaxka amo nochipaya mokauas itech Internet.
|
||||
notifyUploadEncryptDone = Moarchivo moijkuiloj ya kemej amo akin uelis kiixtajtoltis uan se uelis kititanis ya
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Poliui ijkuak tiajsis { $downloadCount } oso { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
*[undefined] 1 minuto / { $num } minuto
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
*[undefined] 1 tonal / { $num } tonalmej
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
*[undefined] 1 semana / { $num } semana
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
*[undefined] 1 archivo / { $num } archivos
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Nochi tamachiua: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Xikixkopina tein se kipatskilis uan xikinpanoltili oksekin moarchivo:
|
||||
copyLinkButton = Xikixkopina tein se kipatskilis
|
||||
downloadTitle = Xiktemoui tajkuilolmej archivos
|
||||
downloadDescription = Nejin archivo mopanoltij itechkopa { -send-brand } ika tapoualmej tein amo aksa uelis kiajsikamatis, uan no tein ika se kipatskilis tein niman ixpoliui.
|
||||
trySendDescription = Xikejeko { -send-brand } ijkon amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
*[undefined] Sayoj { 1 } tajkuilol archivo uelis tiktejkoltis saj. / Sayoj { $count } tajkuilolmej archivos uelis tikolochtejkoltis saj.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
*[undefined] Sayoj { 1 } tajkuilol archivo uelis moajsis saj. / Sayoj { $count } tajkuilolmej archivos uelis moajsiskej saj.
|
||||
}
|
||||
expiredTitle = Nejin tein tikpatskilij amo tekititos ok.
|
||||
notSupportedDescription = { -send-brand } amo tekiti ika nejin navegador. { -send-short-brand } okachi kuali tekiti tein ika okachi yankuik { -firefox }, uan no tekitis tein ika okachi yankuikej tel miak navegadores.
|
||||
downloadFirefox = Xiktemoui { -firefox }
|
||||
legalTitle = { -send-short-brand } tanauatia ika yekpialis tein moaxka itech tepos
|
||||
legalDateStamp = Versión 1.0 tein kikixtijkej 12 tonal metsti marzo 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }t { $hours }h { $minutes }m
|
||||
addFilesButton = Xikinixpejpena tajkuilolmej archivos tein tikintejkoltis
|
||||
uploadButton = Xiktejkolti
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Xikintilana uan xikinkajkaua tajkuilolmej archivos
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = oso xikpatskili uan tiktitanis, sayoj tein amo panoua { $size }
|
||||
addPassword = Xikyekpia ika se ichtakatajtol
|
||||
emailPlaceholder = Xikijkuilo mocorreo itech tepos
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Xikalakteua uan uelis tiktitanis tein amo panos { $size }
|
||||
signInOnlyButton = Kampa se kalakteua
|
||||
accountBenefitTitle = Ximochiuili se cuenta itech { -firefox } oso xikalakteua
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Xikintitani tajkuilolmej archivos tein amo panouaj { $size }
|
||||
accountBenefitDownloadCount = Xikintitanili tajkuilolmej archivos oksekin
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
*[undefined] Kampa se kipatskilis maj kisentokakan kualtiakan se tonal ok / { $count } tonalmej ok
|
||||
}
|
||||
accountBenefitSync = Itech tein yeski tepos xikixyekana motajkuiloluan archivos tein tikinpanoltilij oksekin
|
||||
accountBenefitMoz = Okachi tikmatis okseki tapaleuilmej tein kitemaka { -mozilla }
|
||||
signOut = Kampa se kisa
|
||||
okButton = Kuali yetok
|
||||
downloadingTitle = Kitemouijtok
|
||||
noStreamsWarning = Xa navegador amo uelis kitalij nejin tajkuilol archivo tein tel ueyi kemej se uelis kiyekixtajtoltis ya.
|
||||
noStreamsOptionCopy = Xikixkopina tein se kipatskilis uan ijkon se uelis kitatapos itech okse navegador
|
||||
noStreamsOptionFirefox = Xikejeko navegador tein semi techuelita
|
||||
noStreamsOptionDownload = Maj niksentoka niktatekiujti nejin navegador
|
||||
downloadFirefoxPromo = Yankuik { -firefox } mitsixpantilia { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Xikinpanoltili oksekin tein se kipatskilis uan teuika motajkuilol archivo:
|
||||
shareLinkButton = Kampa se kipatskilis tein uelis tikinpanoltilis oksekin
|
||||
# $name is the name of the file
|
||||
shareMessage = Xiktemoui “{ $name }” ika { -send-brand }: amo ouij uelis tikinpanoltilis oksekin motajkuiloluan archivos uan tikyekmatis ke amo tej kipanos
|
||||
trailheadPromo = Kemaj, uelis tikyekpias tein moaxka itech tepos. Xipoui Firefox.
|
||||
learnMore = Xiktemoui tajkuilolmej archivos.
|
||||
164
public/locales/be/send.ftl
Normal file
@@ -0,0 +1,164 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Водгук
|
||||
importingFile = Імпартаванне...
|
||||
encryptingFile = Зашыфроўка...
|
||||
decryptingFile = Расшыфроўка...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] { $num } сцягванне
|
||||
[few] { $num } сцягванні
|
||||
*[many] { $num } сцягванняў
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] { $num } гадзіна
|
||||
[few] { $num } гадзіны
|
||||
*[many] { $num } гадзін
|
||||
}
|
||||
copiedUrl = Скапіявана!
|
||||
unlockInputPlaceholder = Пароль
|
||||
unlockButtonLabel = Разблакаваць
|
||||
downloadButtonLabel = Сцягнуць
|
||||
downloadFinish = Сцягванне скончана
|
||||
fileSizeProgress = ({ $partialSize } з { $totalSize })
|
||||
sendYourFilesLink = Паспрабуйце Firefox Send
|
||||
errorPageHeader = Нешта пайшло не так!
|
||||
fileTooBig = Гэты файл надта вялікі. Ён мусіць быць меншым за { $size }
|
||||
linkExpiredAlt = Тэрмін дзеяння спасылкі сышоў
|
||||
notSupportedHeader = Ваш браўзер не падтрымліваецца.
|
||||
notSupportedLink = Чаму мой браўзер не падтрымліваецца?
|
||||
notSupportedOutdatedDetail = На жаль, гэтая версія Firefox не падтрымлівае вэб-тэхналогію, што забяспечвае працу Firefox Send. Вам трэба абнавіць свой браўзер.
|
||||
updateFirefox = Абнавіць Firefox
|
||||
deletePopupCancel = Скасаваць
|
||||
deleteButtonHover = Выдаліць
|
||||
footerLinkLegal = Прававыя звесткі
|
||||
footerLinkPrivacy = Прыватнасць
|
||||
footerLinkCookies = Кукі
|
||||
passwordTryAgain = Некарэктны пароль. Паспрабуйце зноў.
|
||||
javascriptRequired = Для Firefox Send неабходны JavaScript
|
||||
whyJavascript = Чаму для Firefox Send неабходны JavaScript?
|
||||
enableJavascript = Калі ласка, уключыце JavaScript і паспрабуйце зноў.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours } г. { $minutes } хв.
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } хв.
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Максімальная даўжыня пароля: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Гэты пароль немагчыма паставіць
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Просты і прыватны абмен файламі
|
||||
introDescription = { -send-brand } дазваляе вам абменьвацца файламі са скразным шыфраваннем і спасылкамі з абмежаваным тэрмінам дзеяння. Такім чынам, вы можаце дзяліцца файламі прыватна і быць упэўненым, што яны не застануцца ў сеціве назаўжды.
|
||||
notifyUploadEncryptDone = Ваш файл зашыфраваны і гатовы да адпраўкі
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Тэрмін дзеяння сыдзе праз { $downloadCount } або { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] { $num } хвіліна
|
||||
[few] { $num } хвіліны
|
||||
*[many] { $num } хвілін
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] { $num } дзень
|
||||
[few] { $num } дні
|
||||
*[many] { $num } дзён
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] { $num } тыдзень
|
||||
[few] { $num } тыдні
|
||||
*[many] { $num } тыдняў
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] { $num } файл
|
||||
[few] { $num } файлы
|
||||
*[many] { $num } файлаў
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = Б
|
||||
# kibibyte abbreviation
|
||||
kb = КБ
|
||||
# mebibyte abbreviation
|
||||
mb = МБ
|
||||
# gibibyte abbreviation
|
||||
gb = ГБ
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num } { $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Агульны памер: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Скапіруйце спасылку, каб падзяліцца сваім файлам:
|
||||
copyLinkButton = Скапіраваць спасылку
|
||||
downloadTitle = Сцягнуць файлы
|
||||
downloadDescription = Гэтым файлам падзяліліся праз { -send-brand } са скразным шыфраваннем і спасылкай з абмежаваным тэрмінам дзеяння.
|
||||
trySendDescription = Паспрабуйце { -send-brand } для простага і бяспечнага абмену файламі.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Толькі { $count } файл можна загрузіць за раз.
|
||||
[few] Толькі { $count } файлы можна загрузіць за раз.
|
||||
*[many] Толькі { $count } файлаў можна загрузіць за раз.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Толькі { $count } архіў дазволены.
|
||||
[few] Толькі { $count } архівы дазволены.
|
||||
*[many] Толькі { $count } архіваў дазволена.
|
||||
}
|
||||
expiredTitle = Тэрмін дзеяння гэтай спасылкі сышоў.
|
||||
notSupportedDescription = { -send-brand } не будзе працаваць у гэтым браўзеры. Лепей за ўсё { -send-short-brand } працуе з апошняй версіяй { -firefox } і будзе працаваць з бягучай версіяй большасці браўзераў.
|
||||
downloadFirefox = Сцягнуць { -firefox }
|
||||
legalTitle = Палітыка прыватнасці { -send-short-brand }
|
||||
legalDateStamp = Версія 1.0 ад 12 сакавіка 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } д. { $hours } г. { $minutes } хв.
|
||||
addFilesButton = Выберыце файлы для загрузкі
|
||||
uploadButton = Загрузіць
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Перацягніце файлы сюды
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = або клікніце, каб адправіць да { $size }:
|
||||
addPassword = Абараніць паролем
|
||||
emailPlaceholder = Увядзіце сваю электронную пошту
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Увайдзіце, каб адпраўляць да { $size }
|
||||
signInOnlyButton = Увайсці
|
||||
accountBenefitTitle = Стварыце ўліковы запіс { -firefox } або ўвайдзіце
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Дзяліцеся файламі да { $size }
|
||||
accountBenefitDownloadCount = Дзяліцеся файламі з большай колькасцю людзей
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Трымайце спасылкі актыўнымі да { $count } дня
|
||||
[few] Трымайце спасылкі актыўнымі да { $count } дзён
|
||||
*[many] Трымайце спасылкі актыўнымі да { $count } дзён
|
||||
}
|
||||
accountBenefitSync = Кіруйце адпраўленымі файламі з любой прылады
|
||||
accountBenefitMoz = Даведайцеся пра іншыя сэрвісы { -mozilla }
|
||||
signOut = Выйсці
|
||||
okButton = ОК
|
||||
downloadingTitle = Сцягваецца
|
||||
noStreamsWarning = Гэты браўзер не мае магчымасці расшыфраваць такі вялікі файл.
|
||||
noStreamsOptionCopy = Скапіруйце спасылку, каб адкрыць у іншым браўзеры
|
||||
noStreamsOptionFirefox = Паспрабуйце наш любімы браўзер
|
||||
noStreamsOptionDownload = Працягнуць з гэтым браўзерам
|
||||
downloadFirefoxPromo = { -send-short-brand } прыйшоў да вас з цалкам новага { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Падзяліцеся спасылкай на свой файл:
|
||||
shareLinkButton = Падзяліцца спасылкай
|
||||
# $name is the name of the file
|
||||
shareMessage = Сцягніце «{ $name }» з { -send-brand }: простага і бяспечнага файлаабменніка
|
||||
trailheadPromo = Ёсць спосаб абараніць вашу прыватнасць. Далучайцеся да Firefox.
|
||||
learnMore = Падрабязней.
|
||||
@@ -151,3 +151,5 @@ shareLinkDescription = Compartiu l'enllaç al vostre fitxer:
|
||||
shareLinkButton = Comparteix l'enllaç
|
||||
# $name is the name of the file
|
||||
shareMessage = Baixeu «{ $name }» amb el { -send-brand }: compartició de fitxers senzilla i segura
|
||||
trailheadPromo = Hi ha una manera de protegir la vostra privadesa. Uniu-vos al Firefox.
|
||||
learnMore = Més informació.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title = Firefox Send
|
||||
siteFeedback = Rutzijol
|
||||
importingFile = Tajin nijik…
|
||||
encryptingFile = Tajin newäx rusik'ixik...
|
||||
encryptingFile = Tajin newäx rusik'ixik…
|
||||
decryptingFile = Tajin netamäx rusik'ixik...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
@@ -151,3 +151,5 @@ shareLinkDescription = Nakomonij ri ximonel rik'in ri awokisab'al:
|
||||
shareLinkButton = Tikomonïx ximonel
|
||||
# $name is the name of the file
|
||||
shareMessage = Tiqasäx "{ $name }" rik'in { -send-brand }: man k'ayew ta chuqa' ütz kikomonik ri yakb'äl
|
||||
trailheadPromo = K'o jun rub'anikil richin nachajij ri awichinanem. Tatunu' awi' rik'in ri Firefox.
|
||||
learnMore = Tetamäx ch'aqa' chik.
|
||||
|
||||
@@ -22,7 +22,7 @@ unlockButtonLabel = Odemknout
|
||||
downloadButtonLabel = Stáhnout
|
||||
downloadFinish = Stahování dokončeno
|
||||
fileSizeProgress = ({ $partialSize } z { $totalSize })
|
||||
sendYourFilesLink = Vyzkoušejte Firefox Send
|
||||
sendYourFilesLink = Vyzkoušet Firefox Send
|
||||
errorPageHeader = Nastala chyba!
|
||||
fileTooBig = Tento soubor je příliš veliký. Velikost nahrávaných souborů by neměla překročit { $size }.
|
||||
linkExpiredAlt = Platnost odkazu vypršela
|
||||
@@ -137,7 +137,7 @@ copyLinkDescription = Soubor můžete sdílet tímto odkazem:
|
||||
copyLinkButton = Zkopírovat odkaz
|
||||
downloadTitle = Stáhnout soubory
|
||||
downloadDescription = Tento soubor byl sdílen přes { -send-brand(case: "acc") } s end-to-end šifrováním a odkazem s omezenou platností.
|
||||
trySendDescription = Zkuste { -send-brand(case: "acc") } pro jednoduché a bezpečné sdílení souborů
|
||||
trySendDescription = Vyzkoušejte jednoduché a bezpečné sdílení souborů s { -send-brand(case: "ins") }
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
title = Firefox Send
|
||||
siteFeedback = Comentario
|
||||
importingFile = Importando...
|
||||
encryptingFile = Encriptando...
|
||||
decryptingFile = Desencriptando...
|
||||
encryptingFile = Encriptando…
|
||||
decryptingFile = Desencriptando…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 descarga
|
||||
|
||||
@@ -151,3 +151,5 @@ shareLinkDescription = Jaga linki failile:
|
||||
shareLinkButton = Jaga linki
|
||||
# $name is the name of the file
|
||||
shareMessage = Laadi “{ $name }” alla teenusega { -send-brand }, mis pakub lihtsat ja turvalist failijagamist
|
||||
trailheadPromo = Oma privaatsust on võimalik kaitsta. Liitu Firefoxiga.
|
||||
learnMore = Rohkem teavet.
|
||||
|
||||
@@ -53,6 +53,31 @@ passwordSetError = امکان ثبت این گذواژه نیست
|
||||
-send-short-brand = ارسال
|
||||
-firefox = فایرفاکس
|
||||
-mozilla = موزیلا
|
||||
introTitle = اشتراکگذاری ساده و خصوصیِ پروندهها
|
||||
introDescription = { -send-brand } به شما امکان اشتراکگذاری فایلها با رمزگذاری سرتاسری و لینکی که به طور خودکار منقضی می شود را میدهد. در نتیجه میتوانید اشتراک گذاریهای خود را خصوصی نگه دارید و اطمینان حاصل کنید که فایلهای شما تا همیشه آنلاین دردسترس نخواهند ماند.
|
||||
notifyUploadEncryptDone = پرونده شما رمزگذاری شده و آماده ارسال است
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = پس از { $downloadCount } یا { $timespan } منقضی میشود
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 دقیقه
|
||||
*[other] { $num } دقیقه
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 روز
|
||||
*[other] { $num } روز
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 هفته
|
||||
*[other] { $num } هفته
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 پرونده
|
||||
*[other] { $num } پرونده
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
@@ -61,5 +86,70 @@ kb = KB
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = حجم کل: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = برای به اشتراک گذاشتن فایل خود، لینک را کپی کنید:
|
||||
copyLinkButton = رونوشت از پیوند
|
||||
downloadTitle = دریافت پروندهها
|
||||
downloadDescription = این پرونده از طریق { -send-brand } با رمزگذاری سرتاسری و پیوندی که به طور خودکار منقضی می شود، به اشتراک گذاشته شد.
|
||||
trySendDescription = { -send-brand } را برای اشتراک گذاری ساده و ایمن پرونده امتحان کنید.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] تنها 1 پرونده میتواند در لحظه بارگزاری شود.
|
||||
*[other] تنها { $count } پرونده میتواند در لحظه بارگزاری شود.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] تنها 1 بایگانی مجاز است.
|
||||
*[other] تنها { $count } بایگانی مجاز است.
|
||||
}
|
||||
expiredTitle = این پیوند منقضی شده است.
|
||||
notSupportedDescription = { -send-brand } با این مرورگر کار نخواهد کرد. { -send-short-brand } بهترین عملکرد را با آخرین نسخه { -firefox } خواهد داشت، و با آخرین نسخه اکثر مرورگرهای کنونی کار میکند.
|
||||
downloadFirefox = دریافت { -firefox }
|
||||
legalTitle = { -send-short-brand } نکات حفظ حریم خصوصی
|
||||
legalDateStamp = نسخه ۱.۰، مورخ ۱۲، ۲۰۱۹
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } روز { $hours } ساعت { $minutes } دقیقه
|
||||
addFilesButton = پروندهها را برای بارگذاری انتخاب کنید
|
||||
uploadButton = بارگذاری
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = فایلها را بکشید و اینجا رها کنید
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = یا برای ارسال تا { $size } کلیک کنید
|
||||
addPassword = با گذرواژه محافظت کنید
|
||||
emailPlaceholder = ایمیل خود را وارد کنید
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = برای ارسال تا { $size } وارد شوید
|
||||
signInOnlyButton = ورود
|
||||
accountBenefitTitle = یک حساب { -firefox } ایجاد کنید یا وارد شوید
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = پروندههایی تا { $size } را اشتراکگذاری کنید
|
||||
accountBenefitDownloadCount = پروندهها را با افراد بیشتری به اشتراک بگذارید
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] پیوندها را تا 1 روز فعال نگه دارید
|
||||
*[other] پیوندها را تا { $count } روز فعال نگه دارید
|
||||
}
|
||||
accountBenefitSync = فایلهای اشتراکی را از هر دستگاه مدیریت کنید
|
||||
accountBenefitMoz = در مورد سایر خدمات { -mozilla } اطلاعات کسب کنید
|
||||
signOut = خروج
|
||||
okButton = تأیید
|
||||
downloadingTitle = در حال بارگیری
|
||||
noStreamsWarning = ممکن است این مرورگر نتواند یک پرونده به این بزرگی را رمزگشایی کند.
|
||||
noStreamsOptionCopy = لینک را کپی کنید تا در مرورگر دیگری باز شود
|
||||
noStreamsOptionFirefox = مرورگر مورد علاقه ما را امتحان کنید
|
||||
noStreamsOptionDownload = با این مرورگر ادامه دهید
|
||||
downloadFirefoxPromo = { -send-short-brand } با جدیدترین { -firefox } برای شما آماده شده است.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = پیوند مربوط به پرونده خود را به اشتراک بگذارید:
|
||||
shareLinkButton = اشتراکگذاری پیوند
|
||||
# $name is the name of the file
|
||||
shareMessage = “{ $name }” را با { -send-brand } دانلود کنید: اشتراکگذاری ساده و امن فایل
|
||||
trailheadPromo = راهی برای محافظت از حریم خصوصی شما وجود دارد. به Firefox بپیوندید.
|
||||
learnMore = بیشتر بدانید.
|
||||
|
||||
@@ -12,7 +12,7 @@ downloadCount =
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 oer
|
||||
*[other] { $num } oeren
|
||||
*[other] { $num } oer
|
||||
}
|
||||
copiedUrl = Kopiearre!
|
||||
unlockInputPlaceholder = Wachtwurd
|
||||
|
||||
155
public/locales/gn/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Je'ejey
|
||||
importingFile = Ojegueruhína…
|
||||
encryptingFile = Mo'ãmby…
|
||||
decryptingFile = Ñemo'ã'o…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 mboguejy
|
||||
*[other] { $num } mboguejy
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 aravo
|
||||
*[other] { $num } aravo
|
||||
}
|
||||
copiedUrl = Monguatiapyre!
|
||||
unlockInputPlaceholder = Ñe'ẽñemi
|
||||
unlockButtonLabel = Mbojera
|
||||
downloadButtonLabel = Mboguejy
|
||||
downloadFinish = Oguejypáma
|
||||
fileSizeProgress = ({ $partialSize } rehe { $totalSize })
|
||||
sendYourFilesLink = Eipuru Firefox Send
|
||||
errorPageHeader = ¡Oiko jejavy!
|
||||
fileTooBig = Marandurenda tuichaiterei ehupi hag̃ua. Michĩveva’erã { $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 ndaipu’akái ñanduti rembipurupyahu oikotevẽva Firefox Send. Embohekopyahúke ne kundahára.
|
||||
updateFirefox = Firefox mbohekopyahu
|
||||
deletePopupCancel = Heja
|
||||
deleteButtonHover = Mboguete
|
||||
footerLinkLegal = Añetegua
|
||||
footerLinkPrivacy = Ñemigua
|
||||
footerLinkCookies = Kookie
|
||||
passwordTryAgain = Ñe'ẽñemi ndoikóiva. Eha'ãjey.
|
||||
javascriptRequired = Firefox Send oikotevẽ JavaScript
|
||||
whyJavascript = ¿Mba’ére Firefox Send oikotevẽ JavaScript?
|
||||
enableJavascript = Ikatúpa embojuruja JavaScript ha eha’ãjey uperire.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours } h { $minutes } m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes } m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Ñe’ẽñemi pukukue: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Ndaikatúi oikóvo ko ñe'ẽñemi
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Marandurenda ñemoambue hasy'ỹ ha ñemiguáva
|
||||
introDescription = { -send-brand } omoherakuãkuaa marandurenda papapýpe ñepyrũ guive opa peve ha juajuha opareíva ijehegui. Ikatu oreko ñemihápe emoherakuãva ha ehecháta mba’éicha ne mba’ekuéra noĩri ñandutípe opa ára.
|
||||
notifyUploadEncryptDone = Ne marandurenda oñemo'ã ha ikatúma emondo
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Opáta { $downloadCount } rire térã { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 aravo'i
|
||||
*[other] { $num } aravo'i
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 ára
|
||||
*[other] { $num } ára
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 arapokõindy
|
||||
*[other] { $num } arapokõindy
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 marandurenda
|
||||
*[other] { $num } marandurenda
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Tuichakue: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Emonguatia juajuha ha emoherakuã ne marandurenda:
|
||||
copyLinkButton = Emonguatia juajuha
|
||||
downloadTitle = Emboguejy marandurenda
|
||||
downloadDescription = Ko marandurenda omoherakuã { -send-brand } rupive papapýpe ñepyrũ guive opa peve ha juajuha opáva ijehegui reheve.
|
||||
trySendDescription = Eipuru { -send-brand } emoherakuã hag̃ua marandurenda tasy’ỹ ha tekorosãme.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Ikatu ehupi 1 marandurenda oñondive
|
||||
*[other] Ikatu ehupi { $count } marandurenda oñondive
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Oñemoneĩ 1 marandurenda añoite
|
||||
*[other] Oñemoneĩ { $count } marandurenda añoite
|
||||
}
|
||||
expiredTitle = Ko juajuha ndoikovéima.
|
||||
notSupportedDescription = { -send-brand } ndoikomo’ãi ko kundahára ndive. { -send-short-brand } oikoporãvéta { -firefox } rembiapokue ipyahuvéva ndive, ha oikóta opavavete kundahára ndive.
|
||||
downloadFirefox = Emboguejy { -firefox }
|
||||
legalTitle = { -send-short-brand } Marandu ñemigua
|
||||
legalDateStamp = Mba’epyahu 1.0, 12 jasyapy 2019 peguare
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Eiporavo marandurenda ehupi hag̃ua
|
||||
uploadButton = Hupi
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Embosyryry ha epoi marandurenda
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = térã eikutu emondo hag̃ua { $size } peve
|
||||
addPassword = Ñe’ẽñemíme mo’ãmbyre
|
||||
emailPlaceholder = Emoinge ne ñanduti veve
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Eñepyrũ tembiapo emondo hag̃ua { $size } peve
|
||||
signInOnlyButton = Eñepyrũ tembiapo
|
||||
accountBenefitTitle = Emoheñói { -firefox } mba’ete térã eñepyrũ tembiapo
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Emoherakuã marandurenda { $size } peve
|
||||
accountBenefitDownloadCount = Emoherakuã marandurenda hetave tapicha ndive
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Eguereko juajuha hendyhápe 1 ára
|
||||
*[other] Eguereko juajuha hendyhápe { $count } ára
|
||||
}
|
||||
accountBenefitSync = Eñangareko marandurenda moherakuãmbyrére oimeraẽ mba’e’oka guive.
|
||||
accountBenefitMoz = Eikuaa ambue { -mozilla } mba'epytyvõrã
|
||||
signOut = Emboty tembiapo
|
||||
okButton = OK
|
||||
downloadingTitle = Oñemboguejyhína
|
||||
noStreamsWarning = Ikatu ko kundahára ndoikuaái marandurenda tuichaitereíva.
|
||||
noStreamsOptionCopy = Embokuatia juajuha embojuruja hag̃ua ambue kundahárape.
|
||||
noStreamsOptionFirefox = Eipuru ore kundahára rohayhuvéva
|
||||
noStreamsOptionDownload = Eku’ejey ko kundahára ndive
|
||||
downloadFirefoxPromo = Ipyahúva { -firefox } ome’ẽse ndéve { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Emoherakuã juajuha ne mba’e’oka ndive:
|
||||
shareLinkButton = Emoherakuã juajuha
|
||||
# $name is the name of the file
|
||||
shareMessage = Emboguejy “{ $name }” { -send-brand } ndive: emoherakuã marandurenda tasy'ỹ ha tekorosãme
|
||||
trailheadPromo = Mba’éichapa emo’ãta ne ñemigua. Eipuru Firefox.
|
||||
learnMore = Kuaave.
|
||||
@@ -1,7 +1,7 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = משוב
|
||||
importingFile = מתבצע ייבוא...
|
||||
importingFile = מתבצע ייבוא…
|
||||
encryptingFile = מתבצעת הצפנה...
|
||||
decryptingFile = מתבצע פענוח...
|
||||
downloadCount =
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
title = Firefox Send
|
||||
siteFeedback = Povratne informacije
|
||||
importingFile = Uvoz…
|
||||
encryptingFile = Kriptiranje…
|
||||
decryptingFile = Dekriptiranje…
|
||||
encryptingFile = Šifriranje …
|
||||
decryptingFile = Dešifriranje …
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] { $num } preuzimanje
|
||||
@@ -22,29 +22,29 @@ unlockButtonLabel = Otključaj
|
||||
downloadButtonLabel = Preuzmi
|
||||
downloadFinish = Preuzimanje je završeno.
|
||||
fileSizeProgress = ({ $partialSize } od { $totalSize })
|
||||
sendYourFilesLink = Isprobajte Firefox Send
|
||||
errorPageHeader = Nešto je pošlo naopako!
|
||||
fileTooBig = Datoteka je prevelika za prijenos. Treba biti manja od { $size }.
|
||||
sendYourFilesLink = Isprobaj Firefox Send
|
||||
errorPageHeader = Dogodila se neka greška!
|
||||
fileTooBig = Datoteka je prevelika za prijenos. Mora biti manja od { $size }.
|
||||
linkExpiredAlt = Poveznica je istekla
|
||||
notSupportedHeader = Vaš preglednik nije podržan.
|
||||
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 ćete ažurirati vaš preglednik.
|
||||
notSupportedOutdatedDetail = Nažalost, ovo izdanje Firefoxa ne podržava web tehnologiju koja omogućava Firefox Send. Morat ćeš ažurirati preglednik.
|
||||
updateFirefox = Ažuriraj Firefox
|
||||
deletePopupCancel = Otkaži
|
||||
deletePopupCancel = Odustani
|
||||
deleteButtonHover = Obriši
|
||||
footerLinkLegal = Pravni podaci
|
||||
footerLinkPrivacy = Privatnost
|
||||
footerLinkCookies = Kolačići
|
||||
passwordTryAgain = Netočna lozinka. Pokušaj ponovo.
|
||||
javascriptRequired = Za Firefox Send je potreban JavaScript
|
||||
javascriptRequired = Za Firefox Send potreban je JavaScript
|
||||
whyJavascript = Zašto je za Firefox Send potreban JavaScript?
|
||||
enableJavascript = Omogućite JavaScript i pokušajte ponovo.
|
||||
enableJavascript = Aktiviraj JavaScript i pokušaj ponovo.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }s { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
expiresMinutes = { $minutes }min
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Najveća dužina lozinke: { $length }
|
||||
maxPasswordLength = Maksimalna duljina lozinke: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Lozinku nije moguće postaviti
|
||||
|
||||
@@ -56,10 +56,10 @@ passwordSetError = Lozinku nije moguće postaviti
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Jednostavno i privatno dijeljenje datoteka
|
||||
introDescription = { -send-brand } vam omogućava dijeljenje datoteka s kriptiranjem i poveznicu koja automatski ističe. Ovim putem stvari koje dijelite ostaju privatne i osiguravate se da ne ostaju zauvijek dostupne na Internetu.
|
||||
notifyUploadEncryptDone = Vaša datoteka je kriptirana i spremna za slanje.
|
||||
introDescription = { -send-brand } omogućava dijeljenje datoteka sa šifriranjem i poveznicom koja će automatski isteći. Ovim putem, stvari koje dijeliš ostaju privatne i osiguravaš se da ne ostaju zauvijek dostupne na internetu.
|
||||
notifyUploadEncryptDone = Tvoja je datoteka šifrirana i spremna za slanje.
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Istječe nakon { $downloadCount } ili { $timespan }
|
||||
archiveExpiryInfo = Isteći će nakon { $downloadCount } ili { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] { $num } minuta
|
||||
@@ -97,11 +97,11 @@ fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ukupna veličina: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Kopirajte poveznicu da biste podijelili svoju datoteku:
|
||||
copyLinkDescription = Kopiraj poveznicu za dijeljenje svoje datoteke:
|
||||
copyLinkButton = Kopiraj poveznicu
|
||||
downloadTitle = Preuzmite datoteke
|
||||
downloadDescription = Ova datoteka je podjeljena putem { -send-brand } s kriptiranjem i poveznicom koja automatski istječe.
|
||||
trySendDescription = Probajte { -send-brand } za jednostavno i sigurno dijeljenje datoteka.
|
||||
downloadTitle = Preuzmi datoteke
|
||||
downloadDescription = Ova se datoteka dijelila putem usluge { -send-brand } sa šifriranjem i poveznicom koja će automatski isteći.
|
||||
trySendDescription = Probaj { -send-brand } za jednostavno i sigurno dijeljenje datoteka.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
@@ -117,48 +117,48 @@ tooManyArchives =
|
||||
*[other] Dozvoljeno je samo { $count } arhiva.
|
||||
}
|
||||
expiredTitle = Poveznica je istekla.
|
||||
notSupportedDescription = { -send-brand } neće raditi s ovim preglednikom. { -send-short-brand } radi najbolje s zadnjom { -firefox } inačicom i radit će s trenutnom inačicom većine preglednika.
|
||||
downloadFirefox = Preuzmite { -firefox }
|
||||
notSupportedDescription = { -send-brand } neće raditi s ovim preglednikom. { -send-short-brand } najbolje radi sa zadnjom { -firefox } verzijom i radit će s aktualnim verzijama većine preglednika.
|
||||
downloadFirefox = Preuzmi { -firefox }
|
||||
legalTitle = { -send-short-brand } politika privatnosti
|
||||
legalDateStamp = Inačica 1.0, od 12. ožujka 2019. godine
|
||||
legalDateStamp = Verzija 1.0, od 12. ožujka 2019. godine
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }s { $minutes }m
|
||||
addFilesButton = Odaberite datoteke za prijenos
|
||||
addFilesButton = Odaberi datoteke za prijenos
|
||||
uploadButton = Prijenos
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Povucite i ispustite datoteke
|
||||
dragAndDropFiles = Povuci i ispusti datoteke
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = ili kliknite za slanje do { $size }
|
||||
addPassword = Zaštitite lozinkom
|
||||
emailPlaceholder = Unesite svoju adresu e-pošte
|
||||
orClickWithSize = ili pritisni gumb, za slanje do { $size }
|
||||
addPassword = Zaštiti s lozinkom
|
||||
emailPlaceholder = Upiši svoju e-adresu
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Prijavite se za slanje do { $size }
|
||||
signInSizeBump = Prijavi se, za slanje do { $size }
|
||||
signInOnlyButton = Prijavi se
|
||||
accountBenefitTitle = Stvorite { -firefox } račun ili se prijavite
|
||||
accountBenefitTitle = Otvori { -firefox } račun ili se prijavi
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Dijelite datoteke do { $size }
|
||||
accountBenefitDownloadCount = Dijelite datoteke s više osoba
|
||||
accountBenefitLargeFiles = Dijeli datoteke do { $size }
|
||||
accountBenefitDownloadCount = Dijeli datoteke s više osoba
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Neka poveznice budu aktivne { $count } dan
|
||||
[few] Neka poveznice budu aktivne { $count } dana
|
||||
*[other] Neka poveznice budu aktivne { $count } dana
|
||||
[one] Ostavi poveznice aktivnima { $count } dan
|
||||
[few] Ostavi poveznice aktivnima { $count } dana
|
||||
*[other] Ostavi poveznice aktivnima { $count } dana
|
||||
}
|
||||
accountBenefitSync = Upravljanje dijeljenim datotekama s bilo kojeg uređaja
|
||||
accountBenefitMoz = Saznajte više o drugim { -mozilla } uslugama
|
||||
accountBenefitSync = Upravljaj dijeljenim datotekama s bilo kojeg uređaja
|
||||
accountBenefitMoz = Saznaj više o drugim { -mozilla } uslugama
|
||||
signOut = Odjavi se
|
||||
okButton = U redu
|
||||
downloadingTitle = Preuzimanje
|
||||
noStreamsWarning = Ovaj preglednik možda neće moći dekriptirati datoteku ove veličine.
|
||||
noStreamsOptionCopy = Kopirajte poveznicu kako biste je otvorili u drugom pregledniku
|
||||
noStreamsOptionFirefox = Isprobajte naš omiljeni preglednik
|
||||
noStreamsOptionDownload = Nastavite s ovim preglednikom
|
||||
downloadFirefoxPromo = Potpuno novi { -firefox } vam donosi { -send-short-brand }.
|
||||
noStreamsWarning = Ovaj preglednik možda neće moći dešifrirati datoteku ove veličine.
|
||||
noStreamsOptionCopy = Za otvaranje u drugom pregledniku, kopiraj poveznicu
|
||||
noStreamsOptionFirefox = Isprobaj naš omiljeni preglednik
|
||||
noStreamsOptionDownload = Nastavi s ovim preglednikom
|
||||
downloadFirefoxPromo = Potpuno novi { -firefox } donosi { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Dijelite poveznicu na svoju datoteku:
|
||||
shareLinkDescription = Dijeli poveznicu na tvoju datoteku:
|
||||
shareLinkButton = Dijeli poveznicu
|
||||
# $name is the name of the file
|
||||
shareMessage = Preuzmite “{ $name }” sa { -send-brand }: jednostavno i sigurno dijeljenje datoteka
|
||||
trailheadPromo = Postoji način da zaštitite svoju privatnost. Pridružite se Firefoxu.
|
||||
learnMore = Saznajte više.
|
||||
shareMessage = Preuzmi „{ $name }” pomoću { -send-brand }: jednostavno i sigurno dijeljenje datoteka
|
||||
trailheadPromo = Postoji način, kako zaštititi vlastitu privatnost. Pridruži se Firefoxu.
|
||||
learnMore = Saznaj više.
|
||||
|
||||
152
public/locales/hus/send.ftl
Normal file
@@ -0,0 +1,152 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Ka olna' max jant'oj yab u t'ojnal alwa'
|
||||
importingFile = k'wajat i chiyál...
|
||||
encryptingFile = K'wajat i tsinat dheyál...
|
||||
decryptingFile = K'wajat i exal ki wila'...
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
*[other] 1 pa'badh { $num } pa'badh
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
*[other] 1 hora { $num } hora
|
||||
}
|
||||
copiedUrl = Letsbadh...
|
||||
unlockInputPlaceholder = Tsinat japixtal
|
||||
unlockButtonLabel = Ka japiy
|
||||
downloadButtonLabel = Ka pa'ba'
|
||||
downloadFinish = Tala' pa'iyits
|
||||
fileSizeProgress = { $partialSize } xi ti { $totalSize }
|
||||
sendYourFilesLink = Ka eyendha' Firefox Send
|
||||
errorPageHeader = ¡Yab kalej alwa'!
|
||||
fileTooBig = Tekedh pulik axi a le' ka kadh'ba', kwa'al kin alemna' { $size }
|
||||
linkExpiredAlt = Yabats u awil ki ela'
|
||||
notSupportedHeader = Yab u awil ka japiyat k'al axi NAVEGADOR
|
||||
notSupportedLink = ¿Jale' ti u NAVEGADOR yab in japiyal?
|
||||
notSupportedOutdatedDetail = Yab u awil ka eyendha' Firefox Send kom an NAVEGADOR Firefox biyalits. Ka Pa'ba' axi it.
|
||||
updateFirefox = Ka itmedha' Firefox
|
||||
deletePopupCancel = Ka kuba'
|
||||
deleteButtonHover = Ka pakuw
|
||||
footerLinkLegal = Axi walkadh ka t'ajan
|
||||
footerLinkPrivacy = Tsinataláb
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Yab ja' an tsinat japixtaláb. Ka exa' junil.
|
||||
javascriptRequired = Firefox Send in yejenchal JavaScript
|
||||
whyJavascript = ¿Jale' Firefox Send in yejenchal JavaScript?
|
||||
enableJavascript = Ka lek'wtsiy JavaScript ani ka exa' junil.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = In puwél an tsinat japixtaláb pel: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Axi tsinat japixtaláb yab u awil ka eyendha'
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Yab k'ibat, a tsinat t'ojlabil u awil ka buk'uw
|
||||
introDescription = { -send-brand } in t'ajál abal ka buk'uw a t'ojlabil po axé' tsinat abal an atikláb axi tat yab a le' kin tsu'uw yab kin ejtow, aniyej an enlace abal ka pa'ba' an t'ojláb u talél kwetém. Antsan patal axi ka abna' u awil ka buk'uw tsinat ani antsan jayej axi ka buk'uw yab u jilk'onal ets'ey ti ébtsolom (internet).
|
||||
notifyUploadEncryptDone = A t'ojlabil xo' tsinadhits ani u awilits ka abna'
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ne'ets ka taliy ti { $downloadCount } o ti { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
*[other] 1 minuto { $num }
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
*[other] 1 k'icháj { $num } k'ichajchik
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
*[other] 1 semana { $num } i semanachik
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
*[other] 1 t'ojláb { $num } t'ojlabchik
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = In puwél an t'ojláb: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Ka k'ot'biy an enlace abal ka ejtow ka buk'uw a t'ojlabil:
|
||||
copyLinkButton = ka k'ot'biy an enlace
|
||||
downloadTitle = Ka pa'ba' an t'ojláb
|
||||
downloadDescription = Axi t'ojláb aban k'al in tolmixtal an { -send-brand } ani tsinat, aniyej in tsap an enlace u talél kwetém.
|
||||
trySendDescription = Ka eyendha' { -send-brand } abal ka abna' a t'ojlabil, yab k'ibat ani k'anidh.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
*[other]
|
||||
Expidh u awil ka k'adhba' 1 i t'ojláb
|
||||
Expidh u awil ka k'adhba' { $count } i t'ojláb.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
*[other]
|
||||
Expidh u awil 1 i t'ojláb.
|
||||
Expidh u awil { $count } i t'ojláb.
|
||||
}
|
||||
expiredTitle = An enlace talíts in tsap.
|
||||
notSupportedDescription = { -send-brand } yab u t'ojnal al axi navegador. { -send-short-brand } u t'ojnal alwa' k'al an { -firefox } axi it, ani ne'ets ka t'ojon alwa' k'al an it navegadorchik.
|
||||
downloadFirefox = Ka pa'ba' { -firefox }
|
||||
legalTitle = Tin kwentaj an "Tsinaxtaláb a k'al" { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0 ani t'ajadh ti Marzo 12 ti tamub 2019.
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } k'icháj { $hours } hora { $minutes } minuto
|
||||
addFilesButton = Ka takuy an t'ojláb axi ne'ets ka k'adhba'
|
||||
uploadButton = Ka k'adhba'
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Ka kina' a t'ojlabil ani ka walka' te'
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = o ka t'aja' an clic abal ka abna' ma { $size }
|
||||
addPassword = Ka k'aniy k'al jún i tsinat japixtaláb
|
||||
emailPlaceholder = Ka punuw a abnax dhuchlab Correo Electrónico.
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Kit otsits abal ka ejtow ka abna' ma { $size }
|
||||
signInOnlyButton = Kit otsits
|
||||
accountBenefitTitle = Ka ts'ejka' jún a it k'al (cuenta) { -firefox } o kit otsits max a kwa'alits jún.
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Ka buk'uw a t'ojlabil, ma { $size }
|
||||
accountBenefitDownloadCount = Ka buk'uw a t'ojlabil k'al pil i atiklabchik
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
*[other]
|
||||
Ka ko'oy an enlace ma 1 a k'icháj
|
||||
Ka ko'oy an enlacechik ma { $count } a k'icháhchik
|
||||
}
|
||||
accountBenefitSync = Ka ejtow tit t'ojnal k'al t'ojlabil al jawakitsk'ij tum eyendhabnél
|
||||
accountBenefitMoz = Ka exla' jant'oj ti pidhál { -mozilla }
|
||||
signOut = Kit kalej
|
||||
okButton = Ka bats'uw
|
||||
downloadingTitle = K'wajat ti pa'íl
|
||||
noStreamsWarning = Walám axi navegador yab ne'ets kin ejtow kin japiy jún i t'ojláb tekedh pulik.
|
||||
noStreamsOptionCopy = Ka k'ot'biy an enlace abal ka japiy al pil i navegador
|
||||
noStreamsOptionFirefox = Ka eyendha' i navegador
|
||||
noStreamsOptionDownload = yab kit kalej al axi navegador
|
||||
downloadFirefoxPromo = An it { -firefox } ti pidhál { -send-short-brand }
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Ka abna' an enlace al an eyendhanél:
|
||||
shareLinkButton = Ka abna' an enlace
|
||||
# $name is the name of the file
|
||||
shareMessage = Ka pa'ba' “{ $name }” k'al { -send-brand }: ka abna' a t'ojlabil, yab k'ibat ani k'anidh
|
||||
trailheadPromo = U awil ka k'aniy axi tat a k'al. Kit tamkun k'al Firefox.
|
||||
learnMore = Ka ajiy más.
|
||||
155
public/locales/hy-AM/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Արձագանք
|
||||
importingFile = Ներմուծում...
|
||||
encryptingFile = Գաղտնագրում…
|
||||
decryptingFile = Վերծանում…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 ներբեռնում
|
||||
*[other] { $num } ներբեռնումներ
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 ժամ
|
||||
*[other] { $num } ժամ
|
||||
}
|
||||
copiedUrl = Պատճենված
|
||||
unlockInputPlaceholder = Գաղտնաբառ
|
||||
unlockButtonLabel = Ապակողպել
|
||||
downloadButtonLabel = Ներբեռնել
|
||||
downloadFinish = Ներբեռնումն ավարտված է
|
||||
fileSizeProgress = ({ $partialSize }-ը { $totalSize })-ից
|
||||
sendYourFilesLink = Փորձել Firefox Send-ը
|
||||
errorPageHeader = Ինչ-որ բան այն չէ
|
||||
fileTooBig = Այդ ֆայլը չափազանց մեծ է վերբեռնելու համար: Այն պետք է լինի ավելի քիչ, քան { $size }-ը
|
||||
linkExpiredAlt = Հղումն ավարտված է
|
||||
notSupportedHeader = Ձեր զննարկիչը չի աջակցվում:
|
||||
notSupportedLink = Ինչու իմ զննարկիչը չի աջակցվում:
|
||||
notSupportedOutdatedDetail = Դժբախտաբար, Firefox- ի այս տարբերակը չի աջակցում այն վեբ տեխնոլոգիան, որը պետք է Firefox Send-ի համար: Դուք պետք է թարմացնեք ձեր զննարկիչը:
|
||||
updateFirefox = Թարմացնել Firefox-ը
|
||||
deletePopupCancel = Չեղարկել
|
||||
deleteButtonHover = Ջնջել
|
||||
footerLinkLegal = Իրավական
|
||||
footerLinkPrivacy = Գաղտնիություն
|
||||
footerLinkCookies = Cookie-ներ
|
||||
passwordTryAgain = Սխալ գաղտնաբառ. Կրկին փորձեք:
|
||||
javascriptRequired = Firefox Send-ը պահանջում է JavaScript
|
||||
whyJavascript = Ինչո՞ւ է Firefox Send-ը պահանջում JavaScript.
|
||||
enableJavascript = Խնդրում ենք միացնել JavaScript-ը և կրկին փորձել:
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }ժ { $minutes }ր
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }ր
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Գանղտնաբառի առավելագույն չափ. { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Այս գաղտնաբառը հնարավոր չէ սահմանել
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Ուղարկել
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Պարզ, մասնավոր ֆայլերի փոխանակում
|
||||
introDescription = { -send-brand }-ը թույլ է տալիս փոխանակել ֆայլեր ծայրից ծայր գաղտնագրման միջոցով և այնպիսի հղում, որն ինքնաբերաբար ավարտվում է: Այսպիսով, դուք կարող եք վերահսկել այն, ինչով կիսվում եք և համոզված լինեք, որ ձեր նյութերը հավերժ չեն մնա առցանց:
|
||||
notifyUploadEncryptDone = Ձեր ֆայլը գաղտնագրված է և պատրաստ է ուղարկել
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ավարտվելու է { $downloadCount }-ից կամ { $timespan }-ից
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 րոպե
|
||||
*[other] { $num } րոպե
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 օր
|
||||
*[other] { $num } օր
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 շաբաթ
|
||||
*[other] { $num } շաբաթ
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 ֆայլ
|
||||
*[other] { $num } ֆայլեր
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = Բ
|
||||
# kibibyte abbreviation
|
||||
kb = ԿԲ
|
||||
# mebibyte abbreviation
|
||||
mb = ՄԲ
|
||||
# gibibyte abbreviation
|
||||
gb = ԳԲ
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ընդհանուր չափ՝ { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Պատճենեք հղումը՝ ֆայլը համօգտագործելու համար.
|
||||
copyLinkButton = Պատճենել հղումը
|
||||
downloadTitle = Ներբեռնել ֆայլերը
|
||||
downloadDescription = Հայլը համօգտագործվել է { -send-brand }-ի միջոցով ՝ ծայրից ծայր գաղտնագրմամբ և ինքնաբերաբար ավարտվող հղմամբ:
|
||||
trySendDescription = Փորձեք { -send-brand }-ը՝ ֆայլերի պարզ և անվտանգ փոխանակման համար:
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Միաժամանակ միայն 1 ֆայլ կարող է վերբեռնվել:
|
||||
*[other] Միաժամանակ միայն { $count } ֆայլեր կարող են վերբեռնվել:
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Միայն 1 արխիվ է թույլատրված:
|
||||
*[other] Միայն { $count } արխիվներ են թույլատրված:
|
||||
}
|
||||
expiredTitle = Այս հղումն ավարտված է:
|
||||
notSupportedDescription = { -send-brand }-ը չի աշխատի այս զննարկչի հետ: { -send-short-brand }-ը լավագույն կերպով աշխատում է { -firefox }-ի վերջին տարբերակի հետ և կաշխատի զննարկիչների մեծամասնության վերջին տարբերակների հետ:
|
||||
downloadFirefox = Ներբեռնել { -firefox }-ը
|
||||
legalTitle = { -send-short-brand }-ի Գաղտնիության ծանուցում
|
||||
legalDateStamp = Տարբերակ 1.0, թվագրված՝ 2019 թ. մարտի 12-ով
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }օր { $hours }ժ { $minutes }ր
|
||||
addFilesButton = Ընտրեք ֆայլեր՝ վերբեռնելու համար
|
||||
uploadButton = Վերբեռնել
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Քաշեք և գցեք ֆայլերը
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = կամ կտտացրեք`ուղարկելու համար մինչև { $size }
|
||||
addPassword = Պաշտպանեք գաղտնաբառով
|
||||
emailPlaceholder = Մուտքագրեք ձեր էլ. փոստը
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Մուտք գործեք՝ { $size } ուղարկելու համար
|
||||
signInOnlyButton = Մուտք գործել
|
||||
accountBenefitTitle = Ստեղծեք { -firefox } հաշիվ կամ մուտք գործեք
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Կիսվեք մինչև { $size } ֆայլերով
|
||||
accountBenefitDownloadCount = Կիսվեք ֆայլերով ավելի շատ մարդկանց հետ
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Հղումներն ակտիվ պահել մինչև 1 օր
|
||||
*[other] Հղումներն ակտիվ պահել մինչև { $count } օր
|
||||
}
|
||||
accountBenefitSync = Կառավարեք համօգտագործվող ֆայլերը ցանկացած սարքից
|
||||
accountBenefitMoz = Իմացեք { -mozilla }-ի այլ ծառայությունների մասին
|
||||
signOut = Դուրս գրվել
|
||||
okButton = Լավ
|
||||
downloadingTitle = Ներբեռնվում է
|
||||
noStreamsWarning = Այս զննարկիչը չի կարողանա վերծանել այսպիսի մեծ ֆայլը
|
||||
noStreamsOptionCopy = Պատճենեք հղումը`այլ զննարկիչում բացելու համար
|
||||
noStreamsOptionFirefox = Փորձեք մեր սիրած զննարկիչը
|
||||
noStreamsOptionDownload = Շարունակեք այս զննարկիչով
|
||||
downloadFirefoxPromo = { -send-short-brand }-ը ձեզ է առաջարկում ամբողջովին նոր { -firefox }:
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Կիսվեք ձեր ֆայլի հղումով.
|
||||
shareLinkButton = Համօգտագործել հղումը
|
||||
# $name is the name of the file
|
||||
shareMessage = Ներբեռնեք “{ $name }”-ը { -send-brand }-ով ՝ պարզ և ապահով՝ ֆայլերի համօգտագործում
|
||||
trailheadPromo = Ձեր գաղտնիությունը պաշտպանելու միջոց կա: Միացեք Firefox- ին:
|
||||
learnMore = Իմանալ ավելին
|
||||
@@ -22,11 +22,11 @@ downloadFinish = Discargamento completate
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Proba Firefox Send
|
||||
errorPageHeader = Un error occurreva!
|
||||
fileTooBig = Iste file es troppo grande pro lo cargar. Illo debe ser inferior a { $size }.
|
||||
fileTooBig = Iste file es troppo grande pro incargar. Illo debe esser inferior a { $size }.
|
||||
linkExpiredAlt = Ligamine expirate
|
||||
notSupportedHeader = Tu navigator non es supportate
|
||||
notSupportedLink = Perque iste navigator non es supportate?
|
||||
notSupportedOutdatedDetail = Infelicemente iste version de Firefox non supporta le nove technologias web que move Firefox Send. Tu besonia de actualisar tu navigator.
|
||||
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.
|
||||
updateFirefox = Actualisar Firefox
|
||||
deletePopupCancel = Cancellar
|
||||
deleteButtonHover = Deler
|
||||
@@ -44,7 +44,7 @@ expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maxime longor del contrasigno: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Iste contrasigno non pote ser definite
|
||||
passwordSetError = Iste contrasigno non ha potite esser establite
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
@@ -55,7 +55,7 @@ passwordSetError = Iste contrasigno non pote ser definite
|
||||
-mozilla = Mozilla
|
||||
introTitle = Comparti file in maniera confidential
|
||||
introDescription = { -send-brand } te pone in grado de compartir files con cryptographia bilateral e un ligamine que automaticamente expira. Assi que tu pote mantener private lo que tu comparti e liberar te del anxietate que tu problema resta online per sempre.
|
||||
notifyUploadEncryptDone = Tu file es cryptate e preste pro ser inviate.
|
||||
notifyUploadEncryptDone = Tu file es cryptate e preste pro esser inviate
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Expira post { $downloadCount } o { $timespan }
|
||||
timespanMinutes =
|
||||
@@ -99,24 +99,24 @@ trySendDescription = Prova { -send-brand } pro le compartimento de file simple e
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Solo 1 file al vice pote ser cargate.
|
||||
*[other] Solo { $count } files al vice pote ser cargate.
|
||||
[one] Solmente 1 file pote ser incargate al vice.
|
||||
*[other] Solmente { $count } files pote esser incargate al vice.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Solo 1 archivo es consentite.
|
||||
*[other] Solo { $count } archivos es consentite.
|
||||
[one] Solo 1 archivo es permittite.
|
||||
*[other] Solo { $count } archivos es permitter.
|
||||
}
|
||||
expiredTitle = Iste ligamine ha expirate.
|
||||
notSupportedDescription = { -send-brand } non functionara con iste navigator. { -send-short-brand } functiona melio con le ultime version de { -firefox }, e functionara con le version actual de plure navigatores.
|
||||
downloadFirefox = Discargar { -firefox }
|
||||
legalTitle = Politica de confidentialitate de { -send-short-brand }
|
||||
legalTitle = Aviso de confidentialitate de { -send-short-brand }
|
||||
legalDateStamp = Version 1.0 del 12 martio 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Selige le files a cargar
|
||||
uploadButton = Cargar
|
||||
addFilesButton = Selige le files a incargar
|
||||
uploadButton = Incargar
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Traher e deponer files
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
@@ -125,8 +125,8 @@ orClickWithSize = o cliccar pro inviar usque { $size }
|
||||
addPassword = Proteger per contrasigno
|
||||
emailPlaceholder = Insere tu adresse de e-mail
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Accede pro inviar usque { $size }
|
||||
signInOnlyButton = Authentica te
|
||||
signInSizeBump = Aperi session pro inviar usque a { $size }
|
||||
signInOnlyButton = Aperir session
|
||||
accountBenefitTitle = Crea un conto { -firefox } o registra te
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Comparti files usque { $size }
|
||||
@@ -136,12 +136,12 @@ accountBenefitTimeLimit =
|
||||
[one] Retene active le ligamine pro 1 die
|
||||
*[other] Retene active le ligamine pro { $count } dies
|
||||
}
|
||||
accountBenefitSync = Gere files compartite ab ulle apparato
|
||||
accountBenefitSync = Gere files compartite ab non importa qual apparato
|
||||
accountBenefitMoz = Discoperi altere servicios de { -mozilla }
|
||||
signOut = Disconnecter
|
||||
signOut = Clauder session
|
||||
okButton = OK
|
||||
downloadingTitle = Discargamento
|
||||
noStreamsWarning = Iste navigator pote non pote decifrar un file assi grande.
|
||||
noStreamsWarning = Es possibile que iste navigator non pote decryptar un file de iste proportiones.
|
||||
noStreamsOptionCopy = Copiar le ligamine e aperir lo in un altere navigator
|
||||
noStreamsOptionFirefox = Prova nostre navigator favorite
|
||||
noStreamsOptionDownload = Continuar con iste navigator
|
||||
|
||||
@@ -57,7 +57,7 @@ introTitle = Condividi file in modo semplice e riservato
|
||||
introDescription = { -send-brand } permette di condividere file con crittografia end-to-end attraverso un link che scade automaticamente. In questo modo hai la garanzia che i tuoi contenuti vengano condivisi in modo riservato e non rimangano online per sempre.
|
||||
notifyUploadEncryptDone = Il file è crittato e pronto per l’invio
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Scade dopo { $downloadCount } o dopo { $timespan }
|
||||
archiveExpiryInfo = Scade dopo { $downloadCount } o tra { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
|
||||
26
public/locales/ixl/send.ftl
Normal file
@@ -0,0 +1,26 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Aq'a yol sti'
|
||||
importingFile = Eq'otzan
|
||||
encryptingFile = La muj isik'lele
|
||||
decryptingFile = Ni jaj ve't isik'lele'
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] Eq'omal ku'tzan
|
||||
*[other] { $num } Eq'omalaj ku'tzan
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 Ch'ich'
|
||||
*[other] { $num } Nimalaj ch'ich'
|
||||
}
|
||||
copiedUrl = Eesamal ivatz!
|
||||
unlockInputPlaceholder = Kach'ub'al
|
||||
unlockButtonLabel = Eesa ikach'ub'al
|
||||
downloadButtonLabel = Eq'o ku'tzan
|
||||
downloadFinish = Eq'o ku'tzan kaajayil
|
||||
fileSizeProgress = ({ $partialSize }tetz{ $totalSize })
|
||||
sendYourFilesLink = B'anb'e ve't u Firefox Send
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
@@ -135,6 +135,7 @@ downloadingTitle = ダウンロード中
|
||||
noStreamsWarning = このブラウザーは、この大きさのファイルを復号化できません。
|
||||
noStreamsOptionCopy = リンクをコピーして他のブラウザーで開いてください
|
||||
noStreamsOptionDownload = このブラウザーで続ける
|
||||
downloadFirefoxPromo = { -send-short-brand } はすべてが新しくなった { -firefox } により提供されています。
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = ファイルへのリンクを共有しましょう:
|
||||
shareLinkButton = リンクを共有
|
||||
|
||||
@@ -22,7 +22,7 @@ downloadFinish = Asider yemmed
|
||||
fileSizeProgress = ({ $partialSize } seg { $totalSize })
|
||||
sendYourFilesLink = Ɛreḍ Firefox Send
|
||||
errorPageHeader = Yella wayen yeḍran!
|
||||
fileTooBig = Afaylu-agi meqqeṛ aṭas. Yessefk ad yili daw n { $size }.
|
||||
fileTooBig = Afaylu-agi meqqer aṭas. Yessefk ad yili daw n { $size }.
|
||||
linkExpiredAlt = Aseɣwen yemmut
|
||||
notSupportedHeader = Iminig-ik ur ittusefrak ara
|
||||
notSupportedLink = Ayγer iminig inu ur yettwasefrek ara?
|
||||
@@ -54,7 +54,7 @@ passwordSetError = Awal-agi uffir ur izmir ara ad ittwabaded
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Afessas, beṭṭu n ifuyla s wudem uslig
|
||||
introDescription = { -send-brand } ad k(yeǧǧ ad tebḍuḍ ifuyla iwgelhanensi ṭṭerf ɣer ṭṭerf akked useɣwen ara yemmten s wudem awurman. Daɣen, ad tizmireḍ ad tḥ€rzeḍ ayen i tbeṭṭuḍ s wudem uslig daɣen ad temneḍ imi agbur-ik ur yettɣimi ara srid i lebda.
|
||||
introDescription = { -send-brand } ad k(kem)-yeǧǧ ad tebḍuḍ ifuyla iwgelhanen si ṭṭerf ɣer ṭṭerf akked useɣwen ara yemmten s wudem awurman. Daɣen, ad tizmireḍ ad tḥerzeḍ ayen i tbeṭṭuḍ s wudem uslig daɣen ad tamneḍ imi agbur-ik ur yettɣimi ara i lebda.
|
||||
notifyUploadEncryptDone = Afaylu-ik yewgelhen daɣen ihegga i tuzna
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ad yemmet deffir { $downloadCount } neɣ { $timespan }
|
||||
|
||||
@@ -5,7 +5,7 @@ importingFile = 가져오는 중…
|
||||
encryptingFile = 암호화 중…
|
||||
decryptingFile = 복호화 중…
|
||||
downloadCount = 다운로드 { $num }회
|
||||
timespanHours = 1 시간
|
||||
timespanHours = { $num }시간
|
||||
copiedUrl = 복사 완료!
|
||||
unlockInputPlaceholder = 비밀번호
|
||||
unlockButtonLabel = 잠금 해제
|
||||
@@ -26,9 +26,9 @@ footerLinkLegal = 법적 정보
|
||||
footerLinkPrivacy = 개인정보 보호
|
||||
footerLinkCookies = 쿠키
|
||||
passwordTryAgain = 비밀번호가 맞지 않습니다. 다시 시도해 주세요.
|
||||
javascriptRequired = Firefox Send는 자바스크립트를 필요로 합니다
|
||||
whyJavascript = 왜 Firefox Send에 자바스크립트가 필요하죠?
|
||||
enableJavascript = 자바스크립트를 활성화하고 다시 시도해 주세요.
|
||||
javascriptRequired = Firefox Send는 JavaScript를 필요로 합니다
|
||||
whyJavascript = 왜 Firefox Send에 JavaScript가 필요하죠?
|
||||
enableJavascript = JavaScript를 활성화하고 다시 시도해 주세요.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }시간 { $minutes }분
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
@@ -96,15 +96,15 @@ tooManyArchives =
|
||||
}
|
||||
expiredTitle = 이 링크는 만료되었습니다.
|
||||
notSupportedDescription = { -send-brand }는 이 브라우저와 작동하지 않습니다. { -send-short-brand }는 최신 { -firefox }와 가장 잘 작동하며, 대부분의 최신 웹 브라우저와도 잘 작동합니다.
|
||||
downloadFirefox = 다운로드 { -firefox }
|
||||
downloadFirefox = { -firefox } 다운로드
|
||||
legalTitle = { -send-short-brand } 개인정보 보호 공지
|
||||
legalDateStamp = 버전 1.0, 2019년 3월 12일 출시됨
|
||||
legalDateStamp = 버전 1.0, 2019년 3월 12일자
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }일 { $hours }시간 { $minutes }분
|
||||
addFilesButton = 업로드할 파일을 선택하세요
|
||||
addFilesButton = 업로드할 파일들을 선택하세요
|
||||
uploadButton = 업로드
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = 파일을 이곳에 드래그 엔 드롭하세요.
|
||||
dragAndDropFiles = 파일들을 여기에 끌어서 놓으세요
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = 또는 여기를 클릭하여 { $size }까지의 파일을 공유하세요.
|
||||
@@ -113,7 +113,7 @@ emailPlaceholder = 이메일 입력
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = { $size }까지 파일을 보낼 수 있게 로그인
|
||||
signInOnlyButton = 로그인
|
||||
accountBenefitTitle = { -firefox } 계정을 하나 만들거나, 로그인
|
||||
accountBenefitTitle = { -firefox } 계정 생성 또는 로그인
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = { $size }까지의 파일 공유
|
||||
accountBenefitDownloadCount = 더 많은 사람들과 함께 파일 공유
|
||||
@@ -122,11 +122,11 @@ accountBenefitTimeLimit =
|
||||
*[other] 최대 { $count }일까지 링크 유지
|
||||
}
|
||||
accountBenefitSync = 어떤 기기에서든지 공유된 링크 관리
|
||||
accountBenefitMoz = 더 많은 { -mozilla } 서비스에 대해 알아보기
|
||||
accountBenefitMoz = 다른 { -mozilla } 서비스에 대해 알아보기
|
||||
signOut = 로그아웃
|
||||
okButton = 확인
|
||||
downloadingTitle = 다운로드 중
|
||||
noStreamsWarning = 이 브라우저는 이렇게 큰 용량의 파일 암호화를 풀 수 없을 수도 있습니다.
|
||||
noStreamsWarning = 이 브라우저는 이렇게 큰 파일은 암호화 해제를 못할 수도 있습니다.
|
||||
noStreamsOptionCopy = 다른 브라우저에서 열 수 있도록 링크를 복사
|
||||
noStreamsOptionFirefox = 우리가 애용하는 브라우저를 사용해 보세요
|
||||
noStreamsOptionDownload = 이 브라우저로 계속하기
|
||||
@@ -136,5 +136,5 @@ shareLinkDescription = 파일 링크 공유:
|
||||
shareLinkButton = 링크 공유
|
||||
# $name is the name of the file
|
||||
shareMessage = { -send-brand }으로 “{ $name }” 파일을 내려받으세요: 쉽고 안전한 파일 공유입니다.
|
||||
trailheadPromo = 개인 정보를 보호하는 방법이 있습니다. 파이어폭스와 함께 하세요.
|
||||
learnMore = 자세히 알아보기
|
||||
trailheadPromo = 개인 정보를 보호하는 방법이 있습니다. Firefox에 가입하세요.
|
||||
learnMore = 더 알아보기.
|
||||
|
||||
154
public/locales/meh/send.ftl
Normal file
@@ -0,0 +1,154 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tu'un jianininu
|
||||
importingFile = Nasia´a…
|
||||
encryptingFile = Encriptando...
|
||||
decryptingFile = Desencriptando…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
*[other] { $num } nxinuun
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 hora
|
||||
*[other] { $num } horas
|
||||
}
|
||||
copiedUrl = Ntɨɨn
|
||||
unlockInputPlaceholder = Contraseña
|
||||
unlockButtonLabel = Nkasɨ
|
||||
downloadButtonLabel = Xinuu
|
||||
downloadFinish = Nnɨ´ɨ xinuu
|
||||
fileSizeProgress = ({ $partialSize } de { $totalSize })
|
||||
sendYourFilesLink = Ni´i Firefox Send
|
||||
errorPageHeader = ¡Iyo iin ntu nkene va´a!
|
||||
fileTooBig = Archivo ya´a ka´nu. Nejia chunku´va { $size }
|
||||
linkExpiredAlt = Nnɨ´ɨ enlace
|
||||
notSupportedHeader = Ntu íyo tiñu nuu ka̱a̱ nánuku ya´a.
|
||||
notSupportedLink = ¿Navi ntu satiñu nuu ka̱a̱ nánuku ya´a?
|
||||
notSupportedOutdatedDetail = Tuni Firefox ya´a ntu satiñu vii jii Firefox Send. Nejika xinunu a jíía ka̱a̱ nánuku.
|
||||
updateFirefox = Naxi´ñá Firefox
|
||||
deletePopupCancel = Nkuvi-ka
|
||||
deleteButtonHover = Xita
|
||||
footerLinkLegal = Tu´un nichi
|
||||
footerLinkPrivacy = Tu´un xitu a kumiji noo´o
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Contraseña ntu vatu. Nachu´un tuku.
|
||||
javascriptRequired = Firefox Send ni´i JavaScript
|
||||
whyJavascript = ¿Navi Firefox Send ni´i JavaScript?
|
||||
enableJavascript = Kua´a jia´a JavaScript jee nachu´un tuku.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Naja ka´nu koo contraseña: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Ntu nkuvi sá´á contraseña
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Kua´a daa archivo ñama jee yu´u
|
||||
introDescription = { -send-brand } taji jia´anu archivos jii cifrado uvi nuu jee iin enlace nɨ´ɨ. Sukuan kuvi kumi yu´unu daa archivo jia´anu jee kuninu nkino daa ya´a kue´e kuiya íchi nuu.
|
||||
notifyUploadEncryptDone = Archivo noo´o íyo cifrado jee kuvi chu´un íchi
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Nɨ'ɨ dee nña´a { $downloadCount } a xiin { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } minutos
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 día
|
||||
*[other] { $num } días
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semana
|
||||
*[other] { $num } semanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 archivo
|
||||
*[other] { $num } archivos
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ka´nu: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Tɨɨn enlace jee kua´a archivo:
|
||||
copyLinkButton = Tɨɨn enlacae
|
||||
downloadTitle = Xinuu archivo
|
||||
downloadDescription = Archivo ya´a nsajia { -send-brand } jíí cifrado punto a punto jee iin enlace naa.
|
||||
trySendDescription = Nasá´á jii { -send-brand } kua´a ñama jee vatu.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Ntuxini 1 archivo kuvi ska.
|
||||
*[other] Ntuxini { $count } archivos kuvi ska.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Ntu xini 1 archivo íyo
|
||||
*[other] Ntu xini { $count } archivos íyo
|
||||
}
|
||||
expiredTitle = Nnɨ'ɨ link ya´a.
|
||||
notSupportedDescription = { -send-brand } nsatiñu jii ka̱a̱ nánuku ya´a. { -send-short-brand } satiñu va´a jii tuni íchi yata { -firefox }, jee satiñu va´a jii tuni íyo ntañu´u kuaiyo daa ka̱a̱ nánuku.
|
||||
downloadFirefox = Xinuun { -firefox }
|
||||
legalTitle = Tu´un xitu a kumiji noo´o { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Kaji archivos ska
|
||||
uploadButton = Ska
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Staka jee sía daa archivo
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = a xiin kuaxin saa chu´un íchi nee { $size }
|
||||
addPassword = Iyo yu´u jii contraseña
|
||||
emailPlaceholder = Chu´un email noo´o
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Kajie´e sesión saa chu´un íchi nee { $size }
|
||||
signInOnlyButton = Kajie´e sesión
|
||||
accountBenefitTitle = Sá´á iin cuenta { -firefox } a xiin kajie´e sesión
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Kua´a archivo ka´nu { $size }
|
||||
accountBenefitDownloadCount = Kua´a archivos jii inka ñivɨ
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Kuteku enlaces 1 kivɨ
|
||||
*[other] Kuteku daa enlaces { $count } kivɨ
|
||||
}
|
||||
accountBenefitSync = Tetiñu archivos jia´anu ntaka ka̱a̱
|
||||
accountBenefitMoz = Ka´vi kue´eka jiee inka tiñu { -mozilla }
|
||||
signOut = Kasɨ sesión
|
||||
okButton = Kuvi
|
||||
downloadingTitle = Xinuu
|
||||
noStreamsWarning = Kuvi ka̱a̱ nánaku ya´a nxituvi a vaji nuu iin archivo ka´nu.
|
||||
noStreamsOptionCopy = Tɨɨn enlace jee síne nuu inka ka̱a̱ nánuku
|
||||
noStreamsOptionFirefox = Ni´i ka̱a̱ nánuku va´a
|
||||
noStreamsOptionDownload = Kaka jii ka̱a̱ nánuku ya´a
|
||||
downloadFirefoxPromo = { -send-short-brand } taji jíía { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Kua´a enlace archivo noo´o
|
||||
shareLinkButton = Kua´a link
|
||||
# $name is the name of the file
|
||||
shareMessage = Xinuu “{ $name }” jii { -send-brand }: ntu viji
|
||||
trailheadPromo = Iyo iin kuvi kumi privacidad noo´o. Nayonika Firefox.
|
||||
learnMore = Ka´vi kue´eka
|
||||
155
public/locales/mix/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tu'un meu
|
||||
importingFile = Ndakiin…
|
||||
encryptingFile = Ndasami tu'un…
|
||||
decryptingFile = Nchiko tu'un…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 snuú
|
||||
*[other] { $num } snuú
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 hora
|
||||
*[other] { $num } horas
|
||||
}
|
||||
copiedUrl = ¡Tsa ndatavi ña!
|
||||
unlockInputPlaceholder = Tu'un seè
|
||||
unlockButtonLabel = Kuna
|
||||
downloadButtonLabel = Snuù
|
||||
downloadFinish = Ntsinu snui
|
||||
fileSizeProgress = ({ $partialSize } ña { $totalSize })
|
||||
sendYourFilesLink = Kuachu'un Firefox Send
|
||||
errorPageHeader = ¡Yee ña va'a!
|
||||
fileTooBig = Kanu tutu yo. Tsini ñu'u koi tana { $size }.
|
||||
linkExpiredAlt = Ntoo enlace
|
||||
notSupportedHeader = Kue ku kuni página.
|
||||
notSupportedLink = ¿Chanu kue ku kuncheuña?
|
||||
notSupportedOutdatedDetail = Firefox kue ku kuni página web takua kuachu'un Firefox Send. tsiniñu'u ndu tsa'a navegador.
|
||||
updateFirefox = Ndu tsa'a Firefox
|
||||
deletePopupCancel = Kunchatu
|
||||
deleteButtonHover = Stoò
|
||||
footerLinkLegal = Aviso legal
|
||||
footerLinkPrivacy = Ña meu
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Kue vaa ni chau sivi siki. Chai tuku.
|
||||
javascriptRequired = Firefox Send tsiniñui JavaScript
|
||||
whyJavascript = ¿Chanu Firefox Send tsiniñui JavaScript?
|
||||
enableJavascript = Saá ña mani katsi JavaScript chá kitsa tuku.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Kua tu'un see: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Ma ku ntanii tu'un see
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Stucha kue tutu ku
|
||||
introDescription = { -send-brand } ku stuchaku tutu seé tsi inkana tsi iin enlace ña ntóo mituin. Sa'an ku kunka va'a ña stuchaku cha ma ku kunchee na kue tutu ku.
|
||||
notifyUploadEncryptDone = Tsa inka va'a tutu ku tsa ku stuchaku ña
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Ku kunkai mancha { $downloadCount } a { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } minutos
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 kii
|
||||
*[other] { $num } kii
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semana
|
||||
*[other] { $num } semanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 tutu
|
||||
*[other] { $num } tutu
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Kua: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Ndatava enlace takua stuchaku tutú.
|
||||
copyLinkButton = Ndatava enlace
|
||||
downloadTitle = Snuú tutu
|
||||
downloadDescription = Tutu yo stuchaku ña tsi { -send-brand } inka si'i chá ku nto'o mituin.
|
||||
trySendDescription = Kuachu'un { -send-brand } takua stuchaku nchi tutu niku
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Ku skau 1 tutu ni.
|
||||
*[other] Mitu'un { $count }tutu ku skau.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] 1 tutu ni ku.
|
||||
*[other] Mitu'un { $count } tutu ni ku.
|
||||
}
|
||||
expiredTitle = Koo enlace inka
|
||||
notSupportedDescription = { -send-brand } ma ku Kuachu'un navegador yo. { -send-short-brand } Sachu'in va'a la versión da ntii { -firefox }, sachu'un tsi versión tsa'a su inka kue navegador.
|
||||
downloadFirefox = Snuú { -firefox }
|
||||
legalTitle = Tu'un privacidad { -send-short-brand }
|
||||
legalDateStamp = Versión 1.0 del 12 de marzo de 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Katsi tutu ku skau
|
||||
uploadButton = Skaa
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Xita cha sia kue tutu
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = katavi takua stuchaku ña mancha { $size }
|
||||
addPassword = Inka vai tsi tu'un seé
|
||||
emailPlaceholder = Chaa korreo ku
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = kitsa takua kuachu'una mancha { $size }
|
||||
signInOnlyButton = Kitsaa
|
||||
accountBenefitTitle = Saa iin kuenta ña { -firefox } a kitsa
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Stucha tutu mancha { $size }
|
||||
accountBenefitDownloadCount = Stucha tutu tsi kuaka nivi
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Ku kunka tutu ku mancha 1 kii
|
||||
*[other] Ku kunka tutu ku mancha { $count } kii
|
||||
}
|
||||
accountBenefitSync = Stucha tutu tsí nchi kaa ndusu niku
|
||||
accountBenefitMoz = Kavi tutú tsa { -mozilla }
|
||||
signOut = Kee
|
||||
okButton = Vaá
|
||||
downloadingTitle = Snuì
|
||||
noStreamsWarning = Ku ña navegador yo ma ku mini iin tutú kanu.
|
||||
noStreamsOptionCopy = Ndatava enlace takua kunu tsí inka navegador
|
||||
noStreamsOptionFirefox = Kuachu'un navegador ña va'a nu ntia
|
||||
noStreamsOptionDownload = Kunka tsi navegador yo
|
||||
downloadFirefoxPromo = { -send-short-brand } snai ña tsaa { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Stucha enlace tutu ku:
|
||||
shareLinkButton = Stucha Enlace
|
||||
# $name is the name of the file
|
||||
shareMessage = Snuu «{ $name }» tsi { -send-brand }: kue nchichi
|
||||
trailheadPromo = Ku china vau ña chau. Kita'an tsi Firefox.
|
||||
learnMore = Skua'a kuakaa.
|
||||
@@ -94,7 +94,7 @@ totalSize = Total storleik: { $size }
|
||||
copyLinkDescription = Kopier lenka for å dele fila di:
|
||||
copyLinkButton = Kopier lenke
|
||||
downloadTitle = Last ned filer
|
||||
downloadDescription = Denne fila vart delt via { -send-brand } med ende-til-ende-kryptering og ei lenke som automatisk går ut.
|
||||
downloadDescription = Denne fila vart delt via { -send-brand }, med ende-til-ende-kryptering, og ei lenke som automatisk går ut.
|
||||
trySendDescription = Prøv { -send-brand } for enkel og sikker fildeling.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
|
||||
@@ -6,15 +6,15 @@ encryptingFile = Chiframent…
|
||||
decryptingFile = Deschiframent…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 telecargament
|
||||
*[other] { $num } telecargaments
|
||||
[one] 1 telecargament
|
||||
*[other] { $num } telecargaments
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 ora
|
||||
*[other] { $num } oras
|
||||
[one] 1 ora
|
||||
*[other] { $num } oras
|
||||
}
|
||||
copiedUrl = Copiat !
|
||||
copiedUrl = Copiat !
|
||||
unlockInputPlaceholder = Senhal
|
||||
unlockButtonLabel = Desverrolhar
|
||||
downloadButtonLabel = Telecargar
|
||||
@@ -60,23 +60,23 @@ notifyUploadEncryptDone = Vòstre fichièr es chifrat e prèst per mandadís
|
||||
archiveExpiryInfo = Expira aprèp { $downloadCount } o { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuta
|
||||
*[other] { $num } minutas
|
||||
[one] 1 minuta
|
||||
*[other] { $num } minutas
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 jorn
|
||||
*[other] { $num } jorns
|
||||
[one] 1 jorn
|
||||
*[other] { $num } jorns
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 setmana
|
||||
*[other] { $num } setmanas
|
||||
[one] 1 setmana
|
||||
*[other] { $num } setmanas
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 fichièr
|
||||
*[other] { $num } fichièrs
|
||||
[one] 1 fichièr
|
||||
*[other] { $num } fichièrs
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = o
|
||||
@@ -118,7 +118,7 @@ expiresDaysHoursMinutes = { $days } j { $hours } h { $minutes } min
|
||||
addFilesButton = Seleccionatz los fichièrs de mandar
|
||||
uploadButton = Enviar
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Lissatz-depausatz de fichièrs
|
||||
dragAndDropFiles = Lisatz-depausatz de fichièrs
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = o clicatz per enviar fins a { $size }
|
||||
|
||||
155
public/locales/ppl/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Tay tina ipanpa?
|
||||
importingFile = Mukalaktia nemi…
|
||||
encryptingFile = Tiksenihnayat tiknemit…
|
||||
decryptingFile = Kiajsimati nemi…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] temultijtuk
|
||||
*[other] { $num } temultijtuk
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] oraj
|
||||
*[other] { $num } oraj
|
||||
}
|
||||
copiedUrl = Muishkupintuk!
|
||||
unlockInputPlaceholder = Taketzalis ichtaka
|
||||
unlockButtonLabel = Shikchululti
|
||||
downloadButtonLabel = Shiktemulti
|
||||
downloadFinish = Shiktemulti muchi
|
||||
fileSizeProgress = ({ $partialSize } ipal { $totalSize })
|
||||
sendYourFilesLink = Shikwi Firefox Send
|
||||
errorPageHeader = Se teyek panuk!
|
||||
fileTooBig = Ne tajkwilul sea wey pal tiktejkultia. Shiktemulti { $size } ush chupiuk chikitik.
|
||||
linkExpiredAlt = Ilpika teuk yek
|
||||
notSupportedHeader = Te tikishmatit ne taiwan titajtachia.
|
||||
notSupportedLink = Taika te ankishmatit ne taiwan nitajtachia?
|
||||
notSupportedOutdatedDetail = Ini versión ipal Firefox tesu kipalewia ne tecnologíaj web kiyulitia Firefox Send. Nemi pal tikyankwilia ne taiwan titajtachia.
|
||||
updateFirefox = Shikyankwili Firefox
|
||||
deletePopupCancel = Shilwi tesu
|
||||
deleteButtonHover = Shikpulu
|
||||
footerLinkLegal = Ipanpa ne tajtuli
|
||||
footerLinkPrivacy = Tay ichtaka nemi
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Ne taketzalis ichtaka tesu yek. Shikejeku uksenpa.
|
||||
javascriptRequired = Firefox Send kineki JavaScript
|
||||
whyJavascript = Taika Firefox kineki JavaScript?
|
||||
enableJavascript = Shichiwa ma JavaScript tekiti wan shikejeku uksenpa.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Keski weyak ne taketzalis-ichtaka: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Te welit tiktaliat ini taketzalis ichtaka.
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Shiktitani
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Te uij wan ichtaka tikmajmaka se tajkwilul.
|
||||
introDescription = { -send-brand } metzpalewia tiktakulia se tajkwilul iwan ichtakatajkwilulis wan se ilpika ka puliwi nemanha. Ijkiuni nemi ichtaka tay tikmajmaka wan tesu naka senpa tik matapan tay mupal.
|
||||
notifyUploadEncryptDone = Ne mutajkwilul nemi ichtakatajkwilujtuk wan weli tiktitania
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Puliwi kwak tikajsi { $downloadCount } ush { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] minutoj
|
||||
*[other] minutoj
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] tunal
|
||||
*[other] tunal
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] semanaj
|
||||
*[other] semanaj
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] tajkwilul
|
||||
*[other] tajkwilul
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Keski itamachiwka: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Shikupina ne ilpika pal tiktakulia mutajkwilul:
|
||||
copyLinkButton = Shikupina ne ilpika
|
||||
downloadTitle = Shiktemulti tajtajkwilul
|
||||
downloadDescription = Ini tajkwilul kitakulijket iwan { -send-brand } iwan ichtakatajkwilulis wan se ilpika ka puliwi nemanha.
|
||||
trySendDescription = Shikejeku { -send-brand } wan shiktakuli ichtaka wan te uij.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Semaya se tajkwilul tiweli tiktejkultia sansepa.
|
||||
*[other] Semaya { $count } tajkwilul tiweli tiktejkultia sansepa.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Semaya se amapial weli nemi.
|
||||
*[other] Semaya { $count } ajamapial welit nemit.
|
||||
}
|
||||
expiredTitle = Ne ilpika pulijtuk.
|
||||
notSupportedDescription = { -send-brand } tesu yawi tekiti iwan ne tay titajtachia. { -send-short-brand } tekiti sujsul yek iwan ne tipan versión ipal { -firefox }, wan nusan yawi tekiti iwan ne tipan versión ipal achka muchi ne taiwan titajtachia.
|
||||
downloadFirefox = Shiktemulti { -firefox }
|
||||
legalTitle = { -send-short-brand } Tanawatilis ipal mupal ichtaka
|
||||
legalDateStamp = Versión 1.0, tik marzoj 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } t { $hours } h { $minutes } m
|
||||
addFilesButton = Shikpejpena ne tajkwilul pal tiktejkultia
|
||||
uploadButton = Shiktejkulti
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Shiktilana wan shikmaka ne tajkwilul
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = u shikpachu pal tiktitania { $size }
|
||||
addPassword = Shiktajpia iwan se taketzalis ichtaka
|
||||
emailPlaceholder = Shiktali mutepusamaw
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Shiktali mutukay pal tiktitania { $size }
|
||||
signInOnlyButton = Shiktali mutukay
|
||||
accountBenefitTitle = Shikchiwa se mutapujka tik { -firefox } ush shiktali mutukay
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Shiktakuli tajtajkwilul ka { $size }
|
||||
accountBenefitDownloadCount = Shiktakuli ne tajkwilul iwan seki
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Shikpia ne ilpika tatatuk 1 tunal
|
||||
*[other] Shikpia ne ilpika tatatuk { $count } tunal
|
||||
}
|
||||
accountBenefitSync = Shiktajpia ne tajtajkwilul ka tiktakulijtuk
|
||||
accountBenefitMoz = Shikmati ipanpa seuk itakil { -mozilla }
|
||||
signOut = Shikisa
|
||||
okButton = Yek
|
||||
downloadingTitle = Kitemultia nemi
|
||||
noStreamsWarning = Ne taiwan titachia te weli kineshtia ini wey tajkwilul
|
||||
noStreamsOptionCopy = Shikishkupina ne ilpika pal tiktapua tik ukse taiwan titajtachia
|
||||
noStreamsOptionFirefox = Shikejeku ne taiwan tachia tikishwelitat
|
||||
noStreamsOptionDownload = Ma ninemi senpa iwan ini taiwan nitachia
|
||||
downloadFirefoxPromo = Ne yankwik { -firefox } metzwikilia { -send-short-brand }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Shiktakuli ne ilpika ipal ne mutajkwilul:
|
||||
shareLinkButton = Shiktakuli ne ilpika
|
||||
# $name is the name of the file
|
||||
shareMessage = Shiktemulti “{ $name }” iwan { -send-brand }: ichtaka wan te uij
|
||||
trailheadPromo = Nemi ken tiktajpia ne tay mupal. Shimusentali iwan Firefox.
|
||||
learnMore = Shimumachti ukchupi.
|
||||
@@ -36,11 +36,11 @@ footerLinkCookies = Cookies
|
||||
passwordTryAgain = Senha incorreta. Tente novamente.
|
||||
javascriptRequired = O Firefox Send requer JavaScript
|
||||
whyJavascript = Por que o Firefox Send precisa do JavaScript?
|
||||
enableJavascript = Habilite o JavaScript e tente novamente.
|
||||
enableJavascript = Ative o JavaScript e tente novamente.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
expiresHoursMinutes = { $hours }h { $minutes }min
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
expiresMinutes = { $minutes }min
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Tamanho máximo da senha: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
@@ -95,7 +95,7 @@ copyLinkDescription = Copie o link para compartilhar seu arquivo:
|
||||
copyLinkButton = Copiar link
|
||||
downloadTitle = Baixar arquivos
|
||||
downloadDescription = Este arquivo foi compartilhado via { -send-brand } com criptografia de ponta a ponta e um link que expira automaticamente.
|
||||
trySendDescription = Experimente o { -send-brand } para compartilhamento de arquivos simples e seguro.
|
||||
trySendDescription = Experimente o { -send-brand } para compartilhar arquivos com simplicidade e segurança.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
@@ -127,17 +127,17 @@ emailPlaceholder = Informe seu e-mail
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Entre na sua conta para enviar até { $size }
|
||||
signInOnlyButton = Entrar
|
||||
accountBenefitTitle = Crie uma Conta { -firefox } ou entre na sua conta
|
||||
accountBenefitTitle = Crie uma Conta { -firefox } ou entre se já tiver
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Compartilhe arquivos até { $size }
|
||||
accountBenefitDownloadCount = Compartilhe arquivos com mais pessoas
|
||||
accountBenefitLargeFiles = Compartilhe arquivos até { $size }.
|
||||
accountBenefitDownloadCount = Compartilhe arquivos com mais pessoas.
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Mantenha links ativos por até 1 dia
|
||||
*[other] Mantenha links ativos por até { $count } dias
|
||||
[one] Mantenha links ativos por até 1 dia.
|
||||
*[other] Mantenha links ativos por até { $count } dias.
|
||||
}
|
||||
accountBenefitSync = Gerencie arquivos compartilhados a partir de qualquer dispositivo
|
||||
accountBenefitMoz = Conheça outros serviços da { -mozilla }
|
||||
accountBenefitSync = Gerencie arquivos compartilhados a partir de qualquer dispositivo.
|
||||
accountBenefitMoz = Conheça outros serviços da { -mozilla }.
|
||||
signOut = Sair
|
||||
okButton = OK
|
||||
downloadingTitle = Baixando
|
||||
|
||||
@@ -147,5 +147,5 @@ shareLinkDescription = Partilhe a ligação para o seu ficheiro:
|
||||
shareLinkButton = Partilhar ligação
|
||||
# $name is the name of the file
|
||||
shareMessage = Transferir “{ $name }“ com o { -send-brand }: partilha de ficheiros simples e segura
|
||||
trailheadPromo = Existe uma maneira de proteger a sua privacidade. Junte-se ao Firefox.
|
||||
trailheadPromo = Existe um modo para proteger a sua privacidade. Adira ao Firefox.
|
||||
learnMore = Saiba mais.
|
||||
|
||||
155
public/locales/quc/send.ftl
Normal file
@@ -0,0 +1,155 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Utzijoxik
|
||||
importingFile = Ujek'ik…
|
||||
encryptingFile = Uwiqik…
|
||||
decryptingFile = Usolik…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 uqasaxik
|
||||
*[other] { $num } taq uqasaxik
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 ramaj
|
||||
*[other] { $num } taq ramaj
|
||||
}
|
||||
copiedUrl = Copied!
|
||||
unlockInputPlaceholder = Retokib'al
|
||||
unlockButtonLabel = Utzoqopixik
|
||||
downloadButtonLabel = Uqasaxik
|
||||
downloadFinish = Tz'aqat uqasaxik
|
||||
fileSizeProgress = ({ $partialSize } rech { $totalSize })
|
||||
sendYourFilesLink = Chak'amb'ejaj Firefox Send
|
||||
errorPageHeader = K'o man utz ta xub'ano
|
||||
fileTooBig = Le kemk'olib'al sib'alaj nim chech upaqab'isaxik. Rajawaxik nitz' chi uwach{ $size }
|
||||
linkExpiredAlt = Xq'ax uq'ijol kemwiqb'al
|
||||
notSupportedHeader = Man toq'am ta le anik'onel
|
||||
notSupportedLink = ¿Jasche man toq'am ta le nunik'onel?
|
||||
notSupportedOutdatedDetail = Chakuyu' we okib'al rech Firefox man kutoq'aj ta le k'ak'eta'm rech web' le kuya' uchuq'ab' Firefox Send. Rajawaxik kak'ak'arisaj le anik'onel.
|
||||
updateFirefox = Chak'ak'arisaj Firefox
|
||||
deletePopupCancel = Uq'atexik
|
||||
deleteButtonHover = Uchupik
|
||||
footerLinkLegal = Nim wuj
|
||||
footerLinkPrivacy = Echeb'alil
|
||||
footerLinkCookies = Cookies
|
||||
passwordTryAgain = Man utz ta le retokib'al. Chab'ana' chi jumul.
|
||||
javascriptRequired = Le Firefox Send kajawataj JavaScript chech
|
||||
whyJavascript = ¿jasche kajawataj JavaScript chech Firefox Send?
|
||||
enableJavascript = Chatzija' JavaScript k'ate k'u ri' chab'ana' chi jumul.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Nimalaj unimal retokib'al: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Man kkowimb'ex ta ujeqeb'axik le retokib'al
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Utaqik
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Man k'ax taj, ukomonexik taq kemk'olib'al pa echeb'alil
|
||||
introDescription = { -send-brand } kuya' bé chi awech kakomonej taq kemk'olib'al ruk' wiqitajem chi'l jun kemwiqb'al le kq'ax uq'ijol pa utukelam. Are chi man katzaq ta le kakomone'j pa echeb'alil chi'l chasuk'ub'a' rilik chi le taq ajastaq man kk'oji' ta pa nimk'atz pa junelik.
|
||||
notifyUploadEncryptDone = Le akemk'olib'al wiqitalik chi'l utz chi kataqo
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Kq'ax uq'ijol chi rij { $downloadCount } on { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 kajb'al
|
||||
*[other] { $num } taq kajb'al
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 q'ij
|
||||
*[other] { $num } taq q'ij
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 wuqq'ij
|
||||
*[other] { $num } taq wuqq'ij
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 kemk'olib'al
|
||||
*[other] { $num } taq kemk'olib'al
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Ronojel unimal: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Chawinaqirisaj uwach le kemwiqb'al chech ukomone'xik le akemk'olib'al:
|
||||
copyLinkButton = Relesaxik uwach kemwiqb'al
|
||||
downloadTitle = Uqasaxik taq kemwiqb'al
|
||||
downloadDescription = We kemk'olib'al xkomone'x pa { -send-brand } ruk' wiqitajem pa xkut chi xkut chi'l jun kemwiqb'al le kq'ax uq'ijol pa utukelam.
|
||||
trySendDescription = Chak'amb'ejaj { -send-brand } chech man k'ax taj, ukomonexik kemk'olib'al pa chajib'al.
|
||||
# count will always be > 10
|
||||
tooManyFiles =
|
||||
{ $count ->
|
||||
[one] Xa 1 kemk'olib'al kkowinb'ex upaqab'isaxik pa jun uq'ijol.
|
||||
*[other] Xew { $count } taq kemk'olib'al kkowinb'ex upaqab'isaxik pa jun uq'ijol.
|
||||
}
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
[one] Xew 1 kemk'olib'al ya'om b'e chech.
|
||||
*[other] Xew { $count } taq kemk'olib'al ya'om b'e chech
|
||||
}
|
||||
expiredTitle = Xq'ax uq'ijol we kemwiqb'al
|
||||
notSupportedDescription = { -send-brand } man kchakun ta ruk' we nik'onel. { -send-short-brand } are qas utz uchakunem ruk' le maja naj okib'al rech { -firefox }, xuquje' kchakun ruk' le okib'al rech chanim rech nima ronojel taq nik'onelab'.
|
||||
downloadFirefox = Uqasaxik { -firefox }
|
||||
legalTitle = { -send-short-brand } ub'ixikil rech echeb'alil
|
||||
legalDateStamp = Okib'al 1.0, uq'ijol rech urox ik' 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Ucha'ik taq kemk'olib'al chech upaqab'isaxik
|
||||
uploadButton = Upaqab'isaxik
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = Uchararexik chi'l utzoqopixik taq kemk'olib'al
|
||||
# the second part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
orClickWithSize = on chapitz'a' chech utaqik chech { $size }
|
||||
addPassword = Chajital rumal retokib'al
|
||||
emailPlaceholder = Chach'apa' le ataqoqxa'nib'al
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
signInSizeBump = Chamajij kemchak chech utaqik chech { $size }
|
||||
signInOnlyButton = Chamajij kemchak
|
||||
accountBenefitTitle = Chawinaqirisaj jun { -firefox } kemb'i'aj on chamajij kemchak
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = Chakomone'j taq kemk'olib'al kq'ax pa uwi' { $size }
|
||||
accountBenefitDownloadCount = Chakomone'j taq kemk'olib'al kuk' nik'aj chi winaq
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Chatzija' taq kemwiqb'al are chi kq'ax pa uwi' 1 q'ij
|
||||
*[other] Chatzija' taq kemwiqb'al are chi kq'ax pa uwi' { $count } taq q'ij
|
||||
}
|
||||
accountBenefitSync = Chawilawachij komone'tal taq kemk'olib'al pa apachike wiqkemchakub'al
|
||||
accountBenefitMoz = Chaweta'maj chi rij jun chi { -mozilla } taq patanib'al
|
||||
signOut = Chatz'apij kemchak
|
||||
okButton = Ja'e
|
||||
downloadingTitle = Ktajin uqasaxik
|
||||
noStreamsWarning = We nik'onel wene man kkowin taj kusol jun jewa' unimal kemk'olib'al
|
||||
noStreamsOptionCopy = Chawelesaj uwach le kemwiqb'al chech ujaqik jun chi nik'onel
|
||||
noStreamsOptionFirefox = Chak'amb'ejaj le ajawatal nik'onel
|
||||
noStreamsOptionDownload = Chab'ana' na ruk' we nik'onel
|
||||
downloadFirefoxPromo = { -send-short-brand } k'amom la chi awech rumal le k'ak' { -firefox }.
|
||||
# the next line after the colon contains a file name
|
||||
shareLinkDescription = Chakomone'j le kemwiqb'al chech le akemk'olib'al:
|
||||
shareLinkButton = Chakomone'j kemwiqb'al
|
||||
# $name is the name of the file
|
||||
shareMessage = Chaqasaj “{ $name }” ruk' { -send-brand }: man k'ax ta ub'anik, ukomone'xik kemk'olib'al pa chajib'al
|
||||
trailheadPromo = K'o jun ub'e'al chech uchajixik le a'echeb'alil. Chat'iqa' awib' pa. Firefox.
|
||||
learnMore = Chaweta'maj nik'aj chik
|
||||
@@ -141,7 +141,7 @@ accountBenefitMoz = Läs om andra { -mozilla }-tjänster
|
||||
signOut = Logga ut
|
||||
okButton = OK
|
||||
downloadingTitle = Laddar ner
|
||||
noStreamsWarning = Den här webbläsaren kanske inte kan dekryptera en fil så stor.
|
||||
noStreamsWarning = Den här webbläsaren kanske inte kan dekryptera en så stor fil.
|
||||
noStreamsOptionCopy = Kopiera länken för att öppna i en annan webbläsare
|
||||
noStreamsOptionFirefox = Prova vår favoritwebbläsare
|
||||
noStreamsOptionDownload = Fortsätt med den här webbläsaren
|
||||
|
||||
@@ -1,31 +1,9 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Ipadala
|
||||
siteSubtitle = eksperimento sa web
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
uploadPageHeader = Pribadong, Naka-encrypt na Pagbabahagi ng File
|
||||
uploadPageExplainer = Magpadala ng mga file sa pamamagitan ng isang ligtas, pribado, at naka-encrypt na link na awtomatikong mawawalan ng bisa upang matiyak na ang iyong mga bagay-bagay ay hindi mananatiling online magpakailanman.
|
||||
uploadPageLearnMore = Matuto ng higit pa
|
||||
uploadPageDropMessage = I-drop ang iyong file dito upang simulan ang pag-upload
|
||||
uploadPageSizeMessage = Para sa pinaka maaasahang operasyon, pinakamahusay na panatilihin ang iyong file sa ilalim ng 1GB
|
||||
uploadPageBrowseButton = Pumili ng isang file sa iyong computer
|
||||
uploadPageBrowseButton1 = Pumili ng isang file na mai-upload
|
||||
uploadPageMultipleFilesAlert = Kasalukuyang hindi sinusuportahan ang pag-upload ng maramihang mga file o isang folder.
|
||||
uploadPageBrowseButtonTitle = I-upload ang file
|
||||
uploadingPageProgress = Uploading { $filename } ({ $size })
|
||||
importingFile = Importing…
|
||||
verifyingFile = Pinatutunayan...
|
||||
encryptingFile = Encrypting…
|
||||
decryptingFile = Decrypting…
|
||||
notifyUploadDone = Natapos na ang iyong pag-upload.
|
||||
uploadingPageMessage = Sa sandaling mag-upload ang iyong file, makakapagtakda ka ng mga expire na pagpipilian.
|
||||
uploadingPageCancel = Kanselahin ang pag-upload
|
||||
uploadCancelNotification = Kinansela ang iyong pag-upload.
|
||||
uploadingPageLargeFileMessage = Ang file na ito ay malaki at maaaring tumagal ng ilang sandali upang mag-upload. Umupo nang masikip!
|
||||
uploadingFileNotification = Abisuhan ako kapag nakumpleto na ang pag-upload.
|
||||
uploadSuccessConfirmHeader = Handa nang Ipadala
|
||||
uploadSvgAlt = I-upload
|
||||
uploadSuccessTimingHeader = Mag-e-expire ang link sa iyong file pagkatapos ng 1 pag-download o sa loob ng 24 na oras.
|
||||
expireInfo = Mag-e-expire ang link sa iyong file pagkatapos ng { $downloadCount } o { $timespan }.
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 pag-download
|
||||
@@ -35,86 +13,102 @@ timespanHours =
|
||||
{ $num ->
|
||||
*[one] 1 oras
|
||||
}
|
||||
copyUrlFormLabelWithName = Kopyahin at ibahagi ang link upang ipadala ang iyong file: { $filename }
|
||||
copyUrlFormButton = Kopyahin sa clipboard
|
||||
copiedUrl = Naikopya!
|
||||
deleteFileButton = Burahin ang file
|
||||
sendAnotherFileLink = Magpadala ng isang file
|
||||
# Alternative text used on the download link/button (indicates an action).
|
||||
downloadAltText = I-download
|
||||
downloadsFileList = Mga Pag-download
|
||||
# Used as header in a column indicating the amount of time left before a
|
||||
# download link expires (e.g. "10h 5m")
|
||||
timeFileList = Oras
|
||||
# Used as header in a column indicating the number of times a file has been
|
||||
# downloaded
|
||||
downloadFileName = I-download { $filename }
|
||||
downloadFileSize = ({ $size })
|
||||
unlockInputLabel = Ilagay ang Password
|
||||
unlockInputPlaceholder = Password
|
||||
unlockButtonLabel = I-unlock
|
||||
downloadFileTitle = I-download ang Na-encrypt na File
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
downloadMessage = Ang iyong kaibigan ay nagpapadala sa iyo ng isang file na may Firefox Send, isang serbisyo na nagbibigay-daan sa iyo upang magbahagi ng mga file sa isang ligtas, pribado, at naka-encrypt na link na awtomatikong mawawalan ng bisa upang matiyak na ang iyong mga bagay-bagay ay hindi mananatiling online magpakailanman.
|
||||
# Text and title used on the download link/button (indicates an action).
|
||||
downloadButtonLabel = I-download
|
||||
downloadNotification = Nakumpleto na ang iyong pag-download.
|
||||
downloadFinish = Kumpleto ang Download
|
||||
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
|
||||
fileSizeProgress = ({ $partialSize } ng { $totalSize })
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
sendYourFilesLink = Subukan ang Firefox Ipadala
|
||||
downloadingPageProgress = Downloading { $filename } ({ $size })
|
||||
downloadingPageMessage = Paki-iwan ang tab na ito habang binuksan namin ang iyong file at i-decrypt ito.
|
||||
errorAltText = Mag-upload ng error
|
||||
errorPageHeader = May nagkamali!
|
||||
errorPageMessage = Nagkaroon ng error sa pag-upload ng file.
|
||||
errorPageLink = Magpadala ng isang file
|
||||
fileTooBig = Ang file na iyon ay masyadong malaki upang mag-upload. Dapat itong mas mababa sa { $size }.
|
||||
linkExpiredAlt = Nag-expire na ang link
|
||||
expiredPageHeader = Nag-expire na ang link na ito o hindi kailanman umiiral sa unang lugar!
|
||||
notSupportedHeader = Ang iyong browser ay hindi suportado.
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
notSupportedDetail = Sa kasamaang palad hindi sinusuportahan ng browser na ito ang teknolohiya sa web na nagpapagana ng Firefox Send. Kailangan mong subukan ang ibang browser. Inirerekomenda namin ang Firefox!
|
||||
notSupportedLink = Bakit hindi suportado ang aking browser?
|
||||
notSupportedOutdatedDetail = Sa kasamaang palad ang bersyon na ito ng Firefox ay hindi sumusuporta sa teknolohiya ng web na nagpapagana ng Firefox Send. Kailangan mong i-update ang iyong browser.
|
||||
updateFirefox = I-update ang Firefox
|
||||
downloadFirefoxButtonSub = Libreng Download
|
||||
uploadedFile = File
|
||||
copyFileList = Kopyahin ang URL
|
||||
# expiryFileList is used as a column header
|
||||
expiryFileList = Magtatapos Sa
|
||||
deleteFileList = I-delete
|
||||
nevermindButton = Hindi bale
|
||||
legalHeader = Mga Tuntunin at Pagkapribado
|
||||
legalNoticeTestPilot = Ang Firefox Ipadala ay kasalukuyang eksperimentong Test Pilot, at napapailalim sa <a>Mga Tuntunin ng Serbisyo</a> at <a> Paunawa sa Privacy</a>. Maaari kang matuto nang higit pa tungkol sa eksperimentong ito at ang koleksyon ng data nito <a>dito</a>.
|
||||
legalNoticeMozilla = Ang paggamit ng website ng Ipadala ang Firefox ay napapailalim din sa <a>Mga Patakaran sa Privacy ng Website</a> ng Mozilla at <a>Mga Tuntunin ng Paggamit ng Website</a>.
|
||||
deletePopupText = Tanggalin ang file na ito?
|
||||
deletePopupYes = Oo
|
||||
deletePopupCancel = Kanselahin
|
||||
deleteButtonHover = I-delete
|
||||
copyUrlHover = Kopyahin ang URL
|
||||
footerLinkLegal = Legal
|
||||
# Test Pilot is a proper name and should not be localized.
|
||||
footerLinkAbout = Tungkol sa Test Pilot
|
||||
footerLinkPrivacy = Privacy
|
||||
footerLinkTerms = Mga term
|
||||
footerLinkCookies = Mga cookie
|
||||
requirePasswordCheckbox = Mangailangan ng isang password upang i-download ang file na ito
|
||||
addPasswordButton = Magdagdag ng password
|
||||
changePasswordButton = Palitan
|
||||
passwordTryAgain = Maling password. Subukan muli.
|
||||
reportIPInfringement = Report IP Infringement
|
||||
javascriptRequired = Nangangailangan ang JavaScript sa JavaScript
|
||||
whyJavascript = Bakit ang JavaScript ay nangangailangan ng JavaScript?
|
||||
javascriptRequired = Nangangailangan ang Firefox Send ng JavaScript
|
||||
whyJavascript = Bakit ang Firefox Send ay nangangailangan ng JavaScript?
|
||||
enableJavascript = Mangyaring paganahin ang JavaScript at subukan muli.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when a password is successfully set
|
||||
passwordIsSet = I-set ang password
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Pinakamataas na haba ng password: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Hindi maitakda ang password na ito
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox send
|
||||
-send-short-brand = I-send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Simple, pribadong pagbabahagi ng file
|
||||
notifyUploadEncryptDone = Ang iyong file ay naka-encrypt at handa na i-send
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = mag-e-expire pagkatapos { $downloadCount } o { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minuto
|
||||
*[other] { $num } mga minuto
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 araw
|
||||
*[other] { $num } mga araw
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 linggo
|
||||
*[other] { $num } mga linggo
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 file
|
||||
*[other] { $num } mga file
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Kabuuang sukat: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Kopyahin ang link upang ibahagi ang iyong file:
|
||||
copyLinkButton = Kopyahin ang link
|
||||
downloadTitle = I-download ang mga file
|
||||
expiredTitle = Ang link na ito ay nag-expire.
|
||||
downloadFirefox = I-download { -firefox }
|
||||
legalTitle = { -send-short-brand } Abiso sa Privacy
|
||||
legalDateStamp = Bersyon 1.0, petsa ng Marso 12, 2019
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
addFilesButton = Piliin ang mga file na mai-upload
|
||||
uploadButton = I-upload
|
||||
# the first part of the string 'Drag and drop files or click to send up to 1GB'
|
||||
dragAndDropFiles = I-drag at i-drop ang mga file
|
||||
addPassword = Protektahan gamit ang password
|
||||
emailPlaceholder = Ipasok ang iyong email
|
||||
signInOnlyButton = Mag sign-in
|
||||
accountBenefitDownloadCount = Ibahagi ang mga file sa ibang tao
|
||||
accountBenefitMoz = Alamin ang tungkol sa iba pang mga serbisyo ng { -mozilla }
|
||||
signOut = Mag sign-out
|
||||
okButton = OK
|
||||
downloadingTitle = Pag-download
|
||||
noStreamsWarning = Maaaring hindi mai-decrypt ng browser na ito ang isang file na malaki.
|
||||
noStreamsOptionCopy = Kopyahin ang link upang buksan sa isa pang browser
|
||||
|
||||
@@ -105,7 +105,7 @@ tooManyArchives =
|
||||
*[other] En fazla { $count } arşive izin veriliyor.
|
||||
}
|
||||
expiredTitle = Bu bağlantının süresi doldu.
|
||||
notSupportedDescription = { -send-brand } bu tarayıcıyı desteklemiyor. { -send-short-brand } en iyi şekilde { -firefox }’un son sürümüyle ve çoğu tarayıcının güncel sürümüyla çalışır.
|
||||
notSupportedDescription = { -send-brand } bu tarayıcıyı desteklemiyor. { -send-short-brand } en iyi şekilde { -firefox }’un son sürümüyle ve çoğu tarayıcının güncel sürümüyle çalışır.
|
||||
downloadFirefox = { -firefox }’u indir
|
||||
legalTitle = { -send-short-brand } Gizlilik Bildirimi
|
||||
legalDateStamp = Sürüm 1.0, 12 Mart 2019
|
||||
|
||||
101
public/locales/trs/send.ftl
Normal file
@@ -0,0 +1,101 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Nuguan' tàj doj
|
||||
importingFile = Hìaj a'nïn huan'ānj…
|
||||
encryptingFile = Nagi'iaj hùij…
|
||||
decryptingFile = Hìaj nâ'nïn…
|
||||
downloadCount =
|
||||
{ $num ->
|
||||
[one] 1 sa nadunin
|
||||
*[other] { $num } nej sa nadunin
|
||||
}
|
||||
timespanHours =
|
||||
{ $num ->
|
||||
[one] 1 ôra
|
||||
*[other] { $num } nej ôra
|
||||
}
|
||||
copiedUrl = Ngà gisîj guxunj!
|
||||
unlockInputPlaceholder = Da'nga' huìi
|
||||
unlockButtonLabel = Na'nïn riñanj
|
||||
downloadButtonLabel = Nadunïnj
|
||||
downloadFinish = Ngà nahui nanïnj
|
||||
fileSizeProgress = ({ $partialSize } guendâ { $totalSize })
|
||||
sendYourFilesLink = Garahuè dàj 'iaj sun Firefox Send
|
||||
errorPageHeader = Huā sa gahui a'nan'!
|
||||
fileTooBig = Ûta yachìj hua archibô dan. Da'ui gā li doj ga da' { $size }
|
||||
linkExpiredAlt = Nitāj si ni'ñānj lînk gà'
|
||||
notSupportedHeader = Nitāj si huā hue'ê riña sa nana'uî't.
|
||||
notSupportedLink = Nù huin saj nitāj si huā hue'ê riña sa nana'uí?
|
||||
notSupportedOutdatedDetail = Nu unùkuaj Firefox nan gi'iaj sunj ngà sa 'iaj sun ngà Firefox Send. Da'uît nāgi'iaj nakàt riña sa nana'uî't han.
|
||||
updateFirefox = Nagi'iaj nakà Firefox
|
||||
deletePopupCancel = Duyichin'
|
||||
deleteButtonHover = Dure'
|
||||
footerLinkLegal = Nuguan' a'nï'ïn
|
||||
footerLinkPrivacy = Sa hùii
|
||||
footerLinkCookies = Nej kôki
|
||||
passwordTryAgain = Sê da'nga' huì dan huin. Ginù huin ñû.
|
||||
javascriptRequired = Ni'ñānj Firefox Send JavaScript
|
||||
whyJavascript = Nù huin saj ni'ñānj Firefox Send JavaScript rà'aj?
|
||||
enableJavascript = Gi'iaj sunūj u ga'nïn gi'iaj sun JavaScript nī yakāj da'nga' ñû.
|
||||
# A short representation of a countdown timer containing the number of hours and minutes remaining as digits, example "13h 47m"
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Dānaj gā yachìj da'nga huìi: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = Na'ue gārayinaj da'nga huìi
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
# Firefox Send, Send, Firefox, Mozilla are proper names and should not be localized
|
||||
-send-brand = Firefox Send
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
introTitle = Hìo nī huì ga’ue duyingâ’t archîbo
|
||||
introDescription = { -send-brand } a’nïn duyingâ’t archîbo ngà ‘ngō da’nga’rán hia nī ngà ‘ngō lînk nare’ man‘an. Dànanj nī ‘ngō rïnt ni’in sa duyingâ’t nī si lînk si ginu yitïn riña lînia.
|
||||
notifyUploadEncryptDone = Ngà huā ran si archibôt nī ngà huā yugui da’ ga’nïnjt gan’an
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = Narè’ man ne’ rukù { $downloadCount } asi { $timespan }
|
||||
timespanMinutes =
|
||||
{ $num ->
|
||||
[one] 1 minûtu
|
||||
*[other] { $num } minûtu
|
||||
}
|
||||
timespanDays =
|
||||
{ $num ->
|
||||
[one] 1 gui
|
||||
*[other] { $num } gui
|
||||
}
|
||||
timespanWeeks =
|
||||
{ $num ->
|
||||
[one] 1 semâna
|
||||
*[other] { $num } semâna
|
||||
}
|
||||
fileCount =
|
||||
{ $num ->
|
||||
[one] 1 archîbo
|
||||
*[other] { $num } archîbo
|
||||
}
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
totalSize = Dàj nìko yàchi: { $size }
|
||||
# the next line after the colon contains a file name
|
||||
copyLinkDescription = Guxūn lînk da' ga'ue duyingâ't archibô:
|
||||
copyLinkButton = Guxûn lînk
|
||||
downloadTitle = Nadunïnj nej archîbo
|
||||
downloadFirefox = Nadunïnj { -firefox }
|
||||
legalTitle = Nuguan huì nikāj { -send-short-brand }
|
||||
signOut = Narun' sesiôn
|
||||
okButton = Ga'ue
|
||||
shareLinkButton = Duguachîn enlâse
|
||||
@@ -141,9 +141,9 @@ accountBenefitLargeFiles = Обмінюйтесь файлами розміро
|
||||
accountBenefitDownloadCount = Обмінюйтесь файлами з більшою кількістю людей
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] Зберігати посилання активними протягом 1 дня
|
||||
[few] Зберігати посилання активними протягом { $count } днів
|
||||
*[other] Зберігати посилання активними протягом { $count } днів
|
||||
[one] Термін дії посилання 1 день
|
||||
[few] Термін дії посилання { $count } дні
|
||||
*[many] Термін дії посилання { $count } днів
|
||||
}
|
||||
accountBenefitSync = Керуйте спільними файлами з буль-якого пристрою
|
||||
accountBenefitMoz = Дізнайтеся про інші сервіси { -mozilla }
|
||||
|
||||
20
public/locales/yua/send.ftl
Normal file
@@ -0,0 +1,20 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
|
||||
## Send version 2 strings
|
||||
|
||||
-send-short-brand = Send
|
||||
-firefox = Firefox
|
||||
-mozilla = Mozilla
|
||||
# byte abbreviation
|
||||
bytes = B
|
||||
# kibibyte abbreviation
|
||||
kb = KB
|
||||
# mebibyte abbreviation
|
||||
mb = MB
|
||||
# gibibyte abbreviation
|
||||
gb = GB
|
||||
# localized number and byte abbreviation. example "2.5MB"
|
||||
fileSize = { $num }{ $units }
|
||||
@@ -53,7 +53,7 @@ passwordSetError = 未能设置此密码
|
||||
-mozilla = Mozilla
|
||||
introTitle = 简单、私密的文件分享服务
|
||||
introDescription = 使用 { -send-brand } 端到端加密分享文件,链接到期即焚。分享更私密,文件到期真正无痕迹。
|
||||
notifyUploadEncryptDone = 您的文件已加密并可以发送
|
||||
notifyUploadEncryptDone = 您的文件已加密,现在可以发送
|
||||
# downloadCount is from the downloadCount string and timespan is a timespanMinutes string. ex. 'Expires after 2 downloads or 25 minutes'
|
||||
archiveExpiryInfo = { $downloadCount }或 { $timespan }后过期
|
||||
timespanMinutes =
|
||||
@@ -103,13 +103,13 @@ tooManyFiles =
|
||||
# count will always be > 10
|
||||
tooManyArchives =
|
||||
{ $count ->
|
||||
*[other] 只可上传 { $count } 个档案。
|
||||
*[other] 只可上传 { $count } 个压缩文件。
|
||||
}
|
||||
expiredTitle = 此链接已过期。
|
||||
notSupportedDescription = { -send-brand } 无法在此浏览器上正常工作。{ -send-short-brand } 与最新版本 { -firefox } 配合使用体验最佳,也适用于目前的大多数浏览器。
|
||||
downloadFirefox = 下载 { -firefox }
|
||||
legalTitle = { -send-short-brand } 隐私声明
|
||||
legalDateStamp = 版本 1.0,日期 2019年3月12日
|
||||
legalDateStamp = 版本 1.0,于 2019年3月12日
|
||||
# A short representation of a countdown timer containing the number of days, hours, and minutes remaining as digits, example "2d 11h 56m"
|
||||
expiresDaysHoursMinutes = { $days } 天 { $hours } 小时 { $minutes } 分钟
|
||||
addFilesButton = 选择要上传的文件
|
||||
@@ -127,7 +127,7 @@ signInOnlyButton = 登录
|
||||
accountBenefitTitle = 创建一个 { -firefox } 账户或登录
|
||||
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
|
||||
accountBenefitLargeFiles = 分享最大 { $size } 文件
|
||||
accountBenefitDownloadCount = 与更多人分享文件
|
||||
accountBenefitDownloadCount = 可以与更多人分享
|
||||
accountBenefitTimeLimit =
|
||||
{ $count ->
|
||||
[one] 链接有效期延至 1 天
|
||||
@@ -140,7 +140,7 @@ okButton = 确定
|
||||
downloadingTitle = 正在下载
|
||||
noStreamsWarning = 此浏览器可能无法解密这么大的文件。
|
||||
noStreamsOptionCopy = 复制链接以在其他浏览器中打开
|
||||
noStreamsOptionFirefox = 试试大家最喜爱的浏览器
|
||||
noStreamsOptionFirefox = 试试大家最爱的浏览器
|
||||
noStreamsOptionDownload = 使用此浏览器继续
|
||||
downloadFirefoxPromo = { -send-short-brand } 由焕然一新的 { -firefox } 为您奉上。
|
||||
# the next line after the colon contains a file name
|
||||
@@ -148,5 +148,5 @@ shareLinkDescription = 您的文件链接:
|
||||
shareLinkButton = 分享链接
|
||||
# $name is the name of the file
|
||||
shareMessage = 使用 { -send-brand } 下载“{ $name }”:简单、安全的文件分享服务
|
||||
trailheadPromo = 有种方法可以保护您的隐私,加入 Firefox。
|
||||
trailheadPromo = 捍卫隐私不是幻想。加入 Firefox 一同抗争。
|
||||
learnMore = 详细了解。
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
const crypto = require('crypto');
|
||||
const geoip = require('fxa-geodb')();
|
||||
const fetch = require('node-fetch');
|
||||
const config = require('./config');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
const geoip = config.ip_db
|
||||
? require('fxa-geodb')({ dbPath: config.ip_db })
|
||||
: () => ({});
|
||||
|
||||
const HOUR = 1000 * 60 * 60;
|
||||
|
||||
function truncateToHour(timestamp) {
|
||||
|
||||
@@ -149,6 +149,11 @@ const conf = convict({
|
||||
format: String,
|
||||
default: '',
|
||||
env: 'SURVEY_URL'
|
||||
},
|
||||
ip_db: {
|
||||
format: String,
|
||||
default: '',
|
||||
env: 'IP_DB'
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ module.exports = async function(req, res) {
|
||||
const fileStream = await storage.get(id);
|
||||
let cancelled = false;
|
||||
|
||||
req.on('close', () => {
|
||||
req.on('aborted', () => {
|
||||
cancelled = true;
|
||||
fileStream.destroy();
|
||||
});
|
||||
|
||||
@@ -1,89 +1,103 @@
|
||||
const colors = {
|
||||
transparent: 'transparent',
|
||||
|
||||
black: '#22292f',
|
||||
'grey-darkest': '#4a4a4f',
|
||||
'grey-darker': '#606f7b',
|
||||
'grey-dark': '#8795a1',
|
||||
grey: '#B1B1B3',
|
||||
'grey-light': '#dae1e7',
|
||||
black: '#000000',
|
||||
'grey-90': '#0c0c0d',
|
||||
'grey-80': '#2a2a2e',
|
||||
'grey-70': '#38383d',
|
||||
'grey-60': '#4a4a4f',
|
||||
'grey-50': '#737373',
|
||||
grey: '#b1b1b3',
|
||||
'grey-40': '#b1b1b3',
|
||||
'grey-30': '#d7d7db',
|
||||
'grey-banner': '#f0f0f4',
|
||||
'grey-transparent': 'hsla(250, 13%, 9%, .2)',
|
||||
'grey-lighter': '#f1f5f8',
|
||||
'grey-lightest': '#F9F9FA',
|
||||
'grey-20': '#ededf0',
|
||||
'grey-10': '#f9f9fa',
|
||||
white: '#ffffff',
|
||||
|
||||
'red-darkest': '#3b0d0c',
|
||||
'red-darker': '#621b18',
|
||||
'red-dark': '#cc1f1a',
|
||||
red: '#e3342f',
|
||||
'red-light': '#ef5753',
|
||||
'red-lighter': '#f9acaa',
|
||||
'red-lightest': '#fcebea',
|
||||
'red-90': '#3e0200',
|
||||
'red-80': '#5a0002',
|
||||
'red-70': '#a4000f',
|
||||
'red-60': '#d70022',
|
||||
red: '#d70022',
|
||||
'red-50': '#ff0039',
|
||||
// unspec
|
||||
'red-40': '#ff3363',
|
||||
'red-30': '#ff99aa',
|
||||
|
||||
'orange-darkest': '#462a16',
|
||||
'orange-darker': '#613b1f',
|
||||
'orange-dark': '#de751f',
|
||||
orange: '#f6993f',
|
||||
'orange-light': '#faad63',
|
||||
'orange-lighter': '#fcd9b6',
|
||||
'orange-lightest': '#fff5eb',
|
||||
'orange-90': '#3e1300',
|
||||
'orange-80': '#712b00',
|
||||
'orange-70': '#a44900',
|
||||
'orange-60': '#d76e00',
|
||||
'orange-50': '#ff9400',
|
||||
// unspec
|
||||
'orange-40': '#ffb24c',
|
||||
'orange-30': '#ffd399',
|
||||
|
||||
'yellow-darkest': '#453411',
|
||||
'yellow-darker': '#684f1d',
|
||||
'yellow-dark': '#f2d024',
|
||||
yellow: '#ffed4a',
|
||||
'yellow-light': '#fff382',
|
||||
'yellow-lighter': '#fff9c2',
|
||||
'yellow-lightest': '#fcfbeb',
|
||||
'yellow-90': '#3e2800',
|
||||
'yellow-80': '#715100',
|
||||
'yellow-70': '#a47f00',
|
||||
'yellow-60': '#d7b600',
|
||||
yellow: '#d7b600',
|
||||
'yellow-50': '#ffe900',
|
||||
'yellow-40': '#ffed4c',
|
||||
'yellow-30': '#fff599',
|
||||
|
||||
'green-darkest': '#003706',
|
||||
'green-darker': '#006504',
|
||||
'green-dark': '#058b00',
|
||||
green: '#12bc00',
|
||||
'green-light': '#51d88a',
|
||||
'green-lighter': '#a2f5bf',
|
||||
'green-lightest': '#e3fcec',
|
||||
// 'green-darkest': '#003706',
|
||||
// 'green-darker': '#006504',
|
||||
// 'green-dark': '#058b00',
|
||||
// green: '#12bc00',
|
||||
// 'green-light': '#51d88a',
|
||||
// 'green-lighter': '#a2f5bf',
|
||||
// 'green-lightest': '#e3fcec',
|
||||
|
||||
'teal-darkest': '#0d3331',
|
||||
'teal-darker': '#20504f',
|
||||
'teal-dark': '#38a89d',
|
||||
teal: '#4dc0b5',
|
||||
'teal-light': '#64d5ca',
|
||||
'teal-lighter': '#a0f0ed',
|
||||
'teal-lightest': '#e8fffe',
|
||||
// 'teal-darkest': '#0d3331',
|
||||
// 'teal-darker': '#20504f',
|
||||
// 'teal-dark': '#38a89d',
|
||||
// teal: '#4dc0b5',
|
||||
// 'teal-light': '#64d5ca',
|
||||
// 'teal-lighter': '#a0f0ed',
|
||||
// 'teal-lightest': '#e8fffe',
|
||||
|
||||
'blue-darkest': '#002275',
|
||||
'blue-darker': '#003eaa',
|
||||
'blue-dark': '#0060df',
|
||||
'blue-90': '#000f40',
|
||||
'blue-80': '#002275',
|
||||
'blue-70': '#003eaa',
|
||||
'blue-60': '#0060df',
|
||||
'blue-50': '#0a84ff',
|
||||
blue: '#0a84ff',
|
||||
'blue-light': '#6cb2eb',
|
||||
'blue-lighter': '#bcdefa',
|
||||
'blue-lightest': '#eff8ff',
|
||||
'blue-40': '#45a1ff',
|
||||
'blue-30': '#99ccff',
|
||||
'blue-20': '#cce6ff',
|
||||
|
||||
'indigo-darkest': '#191e38',
|
||||
'indigo-darker': '#2f365f',
|
||||
'indigo-dark': '#5661b3',
|
||||
indigo: '#6574cd',
|
||||
'indigo-light': '#7886d7',
|
||||
'indigo-lighter': '#b2b7ff',
|
||||
'indigo-lightest': '#e6e8ff',
|
||||
'ink-90': '#0f1126',
|
||||
'ink-80': '#202340',
|
||||
'ink-70': '#363959',
|
||||
|
||||
'purple-darkest': '#21183c',
|
||||
'purple-darker': '#382b5f',
|
||||
'purple-dark': '#794acf',
|
||||
purple: '#9561e2',
|
||||
'purple-light': '#a779e9',
|
||||
'purple-lighter': '#d6bbfc',
|
||||
'purple-lightest': '#f3ebff',
|
||||
// 'indigo-darkest': '#191e38',
|
||||
// 'indigo-darker': '#2f365f',
|
||||
// 'indigo-dark': '#5661b3',
|
||||
// indigo: '#6574cd',
|
||||
// 'indigo-light': '#7886d7',
|
||||
// 'indigo-lighter': '#b2b7ff',
|
||||
// 'indigo-lightest': '#e6e8ff',
|
||||
|
||||
'pink-darkest': '#451225',
|
||||
'pink-darker': '#6f213f',
|
||||
'pink-dark': '#eb5286',
|
||||
pink: '#f66d9b',
|
||||
'pink-light': '#fa7ea8',
|
||||
'pink-lighter': '#ffbbca',
|
||||
'pink-lightest': '#ffebef',
|
||||
'purple-90': '#25003e',
|
||||
'purple-80': '#440071',
|
||||
'purple-70': '#6200a4',
|
||||
'purple-60': '#8000d7',
|
||||
'purple-50': '#9400ff',
|
||||
'purple-40': '#ad3bff',
|
||||
'purple-30': '#c069ff',
|
||||
'purple-20': '#d7a3ff',
|
||||
|
||||
// 'pink-darkest': '#451225',
|
||||
// 'pink-darker': '#6f213f',
|
||||
// 'pink-dark': '#eb5286',
|
||||
// pink: '#f66d9b',
|
||||
// 'pink-light': '#fa7ea8',
|
||||
// 'pink-lighter': '#ffbbca',
|
||||
// 'pink-lightest': '#ffebef',
|
||||
cloud: 'rgba(255, 255, 255, 0.8)',
|
||||
violet: 'hsl(258, 57%, 35%)'
|
||||
};
|
||||
@@ -95,7 +109,8 @@ module.exports = {
|
||||
sm: '576px',
|
||||
md: '768px',
|
||||
lg: '992px',
|
||||
xl: '1200px'
|
||||
xl: '1200px',
|
||||
dark: { raw: '(prefers-color-scheme: dark)' }
|
||||
},
|
||||
fontFamily: {
|
||||
sans: [
|
||||
@@ -181,10 +196,7 @@ module.exports = {
|
||||
'4': '4px',
|
||||
'8': '8px'
|
||||
},
|
||||
borderColor: global.Object.assign(
|
||||
{ default: colors['grey-light'] },
|
||||
colors
|
||||
),
|
||||
borderColor: global.Object.assign({ default: colors['grey-30'] }, colors),
|
||||
borderRadius: {
|
||||
none: '0',
|
||||
sm: '.125rem',
|
||||
|
||||
@@ -82,4 +82,29 @@ describe('Firefox Send', function() {
|
||||
// check if upload and download file sizes are equal
|
||||
assert.equal(uploadSize, downloadSize);
|
||||
});
|
||||
|
||||
it(`should upload and download file with added tracking parameter`, function() {
|
||||
const trackingUrl =
|
||||
'?fbclid=IaMFak3Tr4ck1ng1d_SDlP0shBk8SM2EN3cCLFKpHVl-k-Pvv0sf9Zy0tnTu9srqVY';
|
||||
const password = 'strongpassword';
|
||||
|
||||
browser.chooseFile(
|
||||
homePage.uploadInput,
|
||||
`${testFilesPath}/${testFiles[0]}`
|
||||
);
|
||||
browser.waitForExist(homePage.addPassword);
|
||||
browser.click(homePage.addPassword);
|
||||
browser.waitForExist(homePage.passwordInput);
|
||||
browser.setValue(homePage.passwordInput, password);
|
||||
browser.click(homePage.uploadButton);
|
||||
browser.waitForExist(homePage.shareUrl);
|
||||
const shareUrl = browser.getValue(homePage.shareUrl);
|
||||
const downloadPage = new DownloadPage(
|
||||
shareUrl.replace('#', `${trackingUrl}#`)
|
||||
);
|
||||
downloadPage.open();
|
||||
downloadPage.downloadUsingPassword(password);
|
||||
browser.waitForExist(downloadPage.downloadComplete);
|
||||
assert.ok(fs.existsSync(path.join(downloadDir, testFiles[0])));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -4,23 +4,22 @@ const Page = require('./page');
|
||||
class DownloadPage extends Page {
|
||||
constructor(path) {
|
||||
super(path);
|
||||
this.fileId = /download\/(\w+)\/#/.exec(path)[1];
|
||||
this.fileId = /download\/(\w+)\/\??.*#/.exec(path)[1];
|
||||
this.downloadButton = '#download-btn';
|
||||
this.downloadComplete = '#download-complete';
|
||||
this.passwordInput = '#password-input';
|
||||
this.passwordButton = '#password-btn';
|
||||
}
|
||||
|
||||
/**
|
||||
* @function waitForPageToLoad
|
||||
* @returns {Object} An object representing the page.
|
||||
* @throws ElementNotFound
|
||||
*/
|
||||
waitForPageToLoad() {
|
||||
super.waitForPageToLoad();
|
||||
browser.waitForExist(this.downloadButton);
|
||||
return this;
|
||||
downloadUsingPassword(password) {
|
||||
browser.waitForExist(this.passwordInput);
|
||||
browser.setValue(this.passwordInput, password);
|
||||
browser.click(this.passwordButton);
|
||||
return browser.click(this.downloadButton);
|
||||
}
|
||||
|
||||
download() {
|
||||
browser.waitForExist(this.downloadButton);
|
||||
return browser.click(this.downloadButton);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,9 @@ class HomePage extends Page {
|
||||
this.progress = 'progress';
|
||||
this.shareUrl = '#share-url';
|
||||
this.downloadCountSelect = '#expire-after-dl-count-select';
|
||||
this.addPassword = '#add-password';
|
||||
this.passwordInput = '#password-input';
|
||||
this.passwordButton = '#password-btn';
|
||||
}
|
||||
|
||||
waitForPageToLoad() {
|
||||
|
||||
@@ -67,7 +67,7 @@ const serviceWorker = {
|
||||
},
|
||||
{
|
||||
// loads all assets from assets/ for use by common/assets.js
|
||||
test: require.resolve('./build/generate_asset_map.js'),
|
||||
test: require.resolve('./common/generate_asset_map.js'),
|
||||
use: ['babel-loader', 'val-loader']
|
||||
}
|
||||
]
|
||||
@@ -142,6 +142,7 @@ const web = {
|
||||
loader: 'svgo-loader',
|
||||
options: {
|
||||
plugins: [
|
||||
{ cleanupIDs: false },
|
||||
{ removeViewBox: false }, // true causes stretched images
|
||||
{ convertStyleToAttrs: true }, // for CSP, no unsafe-eval
|
||||
{ removeTitle: true } // for smallness
|
||||
@@ -176,7 +177,7 @@ const web = {
|
||||
},
|
||||
{
|
||||
// loads all assets from assets/ for use by common/assets.js
|
||||
test: require.resolve('./build/generate_asset_map.js'),
|
||||
test: require.resolve('./common/generate_asset_map.js'),
|
||||
use: ['babel-loader', 'val-loader']
|
||||
}
|
||||
]
|
||||
|
||||