mirror of
https://gitlab.com/timvisee/send.git
synced 2024-11-10 13:13:00 +01:00
Add legal and final strings (#1185)
* add legal and final strings * removed unneeded suffixes from string ids * removed unused strings and simplified string ids for vnext-only strings * reword nostreams option
This commit is contained in:
parent
6ab006de61
commit
7197cc3bea
@ -64,9 +64,9 @@ class Account extends Component {
|
||||
<button
|
||||
class="p-2 md:p-4 border rounded-lg text-blue-dark border-blue-dark hover:text-white hover:bg-blue-dark focus:outline"
|
||||
onclick="${e => this.login(e)}"
|
||||
title="${translate('signInMenuOption')}"
|
||||
title="${translate('signInButton')}"
|
||||
>
|
||||
${translate('signInMenuOption')}
|
||||
${translate('signInButton')}
|
||||
</button>
|
||||
</send-account>
|
||||
`;
|
||||
@ -90,9 +90,9 @@ class Account extends Component {
|
||||
<button
|
||||
class="block w-full text-left px-4 py-2 text-grey-darkest hover:bg-blue hover:text-white cursor-pointer focus:outline"
|
||||
onclick="${e => this.logout(e)}"
|
||||
title="${translate('logOut')}"
|
||||
title="${translate('signOut')}"
|
||||
>
|
||||
${translate('logOut')}
|
||||
${translate('signOut')}
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -16,7 +16,7 @@ const expiryOptions = require('./expiryOptions');
|
||||
function expiryInfo(translate, archive) {
|
||||
const l10n = timeLeft(archive.expiresAt - Date.now());
|
||||
return raw(
|
||||
translate('frontPageExpireInfo', {
|
||||
translate('archiveExpiryInfo', {
|
||||
downloadCount: translate('downloadCount', {
|
||||
num: archive.dlimit - archive.dtotal
|
||||
}),
|
||||
@ -39,7 +39,7 @@ function password(state) {
|
||||
onchange="${togglePasswordInput}"
|
||||
/>
|
||||
<label for="add-password">
|
||||
${state.translate('addPasswordMessage')}
|
||||
${state.translate('addPassword')}
|
||||
</label>
|
||||
</div>
|
||||
<input
|
||||
@ -172,10 +172,10 @@ module.exports = function(state, emit, archive) {
|
||||
<button
|
||||
class="text-blue-dark hover:text-blue-darker focus:text-blue-darker focus:outline self-end flex items-center"
|
||||
onclick=${copy}
|
||||
title="${state.translate('copyUrlHover')}"
|
||||
title="${state.translate('copyLinkButton')}"
|
||||
>
|
||||
<img src="${assets.get('copy-16.svg')}" class="mr-2" />
|
||||
${state.translate('copyUrlHover')}
|
||||
${state.translate('copyLinkButton')}
|
||||
</button>
|
||||
`
|
||||
: html`
|
||||
@ -238,7 +238,7 @@ module.exports = function(state, emit, archive) {
|
||||
const text = event.target.lastChild;
|
||||
text.textContent = state.translate('copiedUrl');
|
||||
setTimeout(
|
||||
() => (text.textContent = state.translate('copyUrlHover')),
|
||||
() => (text.textContent = state.translate('copyLinkButton')),
|
||||
1000
|
||||
);
|
||||
}
|
||||
@ -301,10 +301,10 @@ module.exports.wip = function(state, emit) {
|
||||
<button
|
||||
id="upload-btn"
|
||||
class="btn rounded-lg flex-no-shrink focus:outline"
|
||||
title="${state.translate('uploadFilesButton')}"
|
||||
title="${state.translate('uploadButton')}"
|
||||
onclick="${upload}"
|
||||
>
|
||||
${state.translate('uploadFilesButton')}
|
||||
${state.translate('uploadButton')}
|
||||
</button>
|
||||
</send-upload-area>
|
||||
`;
|
||||
@ -425,10 +425,12 @@ module.exports.empty = function(state, emit) {
|
||||
<div
|
||||
class="pt-6 pb-2 text-center text-lg font-bold capitalize tracking-wide"
|
||||
>
|
||||
${state.translate('uploadDropDragMessage')}
|
||||
${state.translate('dragAndDropFiles')}
|
||||
</div>
|
||||
<div class="pb-6 text-center text-base italic">
|
||||
${state.translate('uploadDropButtonMessage')}
|
||||
<div class="pb-6 text-center text-base">
|
||||
${state.translate('orClickWithSize', {
|
||||
size: bytes(state.user.maxSize)
|
||||
})}
|
||||
</div>
|
||||
<input
|
||||
id="file-upload"
|
||||
@ -444,13 +446,11 @@ module.exports.empty = function(state, emit) {
|
||||
for="file-upload"
|
||||
role="button"
|
||||
class="btn rounded-lg flex items-center mt-4"
|
||||
title="${state.translate('addFilesButtonWithSize', {
|
||||
title="${state.translate('addFilesButtonWithSizeUpdate', {
|
||||
size: bytes(state.user.maxSize)
|
||||
})}"
|
||||
>
|
||||
${state.translate('addFilesButtonWithSize', {
|
||||
size: bytes(state.user.maxSize)
|
||||
})}
|
||||
${state.translate('addFilesButton')}
|
||||
</label>
|
||||
${upsell}
|
||||
</send-upload-area>
|
||||
|
@ -11,7 +11,7 @@ module.exports = function(name, url) {
|
||||
${state.translate('notifyUploadEncryptDone')}
|
||||
</h1>
|
||||
<p class="font-normal leading-normal text-grey-darkest word-break-all">
|
||||
${state.translate('copyUrlFormLabel')} <br />
|
||||
${state.translate('copyLinkDescription')} <br />
|
||||
${name}
|
||||
</p>
|
||||
<input
|
||||
@ -24,9 +24,9 @@ module.exports = function(name, url) {
|
||||
<button
|
||||
class="btn rounded-lg w-full flex-no-shrink focus:outline"
|
||||
onclick="${copy}"
|
||||
title="${state.translate('copyUrlFormButtonText')}"
|
||||
title="${state.translate('copyLinkButton')}"
|
||||
>
|
||||
${state.translate('copyUrlFormButtonText')}
|
||||
${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"
|
||||
|
@ -36,9 +36,9 @@ function preview(state, emit) {
|
||||
<div
|
||||
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
|
||||
>
|
||||
<h1 class="mb-4">${state.translate('downloadFilesTitle')}</h1>
|
||||
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
|
||||
<p class="w-full text-grey-darkest text-center leading-normal">
|
||||
${state.translate('downloadMessage')}
|
||||
${state.translate('downloadDescription')}
|
||||
</p>
|
||||
${archiveTile.preview(state, emit)}
|
||||
</div>
|
||||
|
@ -12,7 +12,7 @@ module.exports = function(state) {
|
||||
</h1>
|
||||
<img src="${assets.get('completed.svg')}" class="my-12 h-48" />
|
||||
<p class="text-grey-darkest leading-normal">
|
||||
${state.translate('downloadFinishText')}
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center mt-4" role="button"
|
||||
|
@ -8,9 +8,9 @@ module.exports = function(state, emit) {
|
||||
<div
|
||||
class="h-full w-full flex flex-col items-center justify-center bg-white py-8 max-w-md mx-auto"
|
||||
>
|
||||
<h1 class="mb-4">${state.translate('downloadFilesTitle')}</h1>
|
||||
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
|
||||
<p class="w-full mb-4 text-center text-grey-darkest leading-normal">
|
||||
${state.translate('downloadMessage')}
|
||||
${state.translate('downloadDescription')}
|
||||
</p>
|
||||
<form
|
||||
class="flex flex-row flex-no-wrap w-full md:w-4/5"
|
||||
|
@ -14,7 +14,7 @@ module.exports = function(state, emit) {
|
||||
</h1>
|
||||
<img class="my-12 h-48" src="${assets.get('error.svg')}" />
|
||||
<p class="max-w-md text-center text-grey-darkest leading-normal">
|
||||
${state.translate('downloadFinishText')}
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center" role="button"
|
||||
|
@ -7,7 +7,7 @@ module.exports = function(state, emit) {
|
||||
const el = html`
|
||||
<div class="px-1">
|
||||
${raw(
|
||||
state.translate('frontPageExpireInfo', {
|
||||
state.translate('archiveExpiryInfo', {
|
||||
downloadCount:
|
||||
'<span class="lg:inline-block md:block sm:inline-block block"></span><select id="dlCount"></select>',
|
||||
timespan: '<select id="timespan"></select>'
|
||||
|
@ -8,10 +8,10 @@ module.exports = function intro(state) {
|
||||
>
|
||||
<div class="flex flex-col justify-end h-full">
|
||||
<h1 class="font-bold">
|
||||
${state.translate('uploadPageHeader')}
|
||||
${state.translate('introTitle')}
|
||||
</h1>
|
||||
<p class="max-w-sm mt-2 pr-16 font-light leading-normal">
|
||||
${state.translate('uploadPageExplainer')}
|
||||
${state.translate('introDescription')}
|
||||
</p>
|
||||
<img class="intro" src="${assets.get('intro.svg')}" />
|
||||
</div>
|
||||
|
@ -7,22 +7,60 @@ module.exports = function(state, emit) {
|
||||
<main class="main">
|
||||
${state.modal && modal(state, emit)}
|
||||
<div
|
||||
class="flex flex-col items-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 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"
|
||||
>
|
||||
<h1 class="text-center">${state.translate('legalHeader')}</h1>
|
||||
<h1 class="text-center">${state.translate('legalTitle')}</h1>
|
||||
<p class="mt-2">${state.translate('legalDateStamp')}</p>
|
||||
<div class="overflow-scroll px-4">
|
||||
${raw(
|
||||
replaceLinks(state.translate('legalNoticeTestPilot'), [
|
||||
'https://testpilot.firefox.com/terms',
|
||||
'https://testpilot.firefox.com/privacy',
|
||||
'https://testpilot.firefox.com/experiments/send'
|
||||
])
|
||||
)}
|
||||
${raw(
|
||||
replaceLinks(state.translate('legalNoticeMozilla'), [
|
||||
'https://www.mozilla.org/privacy/websites/',
|
||||
'https://www.mozilla.org/about/legal/terms/mozilla/'
|
||||
replaceLinks(state.translate('legalNoticeSend'), [
|
||||
'https://www.mozilla.org/privacy/',
|
||||
'https://github.com/mozilla/send/blob/master/docs/metrics.md'
|
||||
])
|
||||
)}
|
||||
<ul class="mt-10 max-w-md leading-normal">
|
||||
<li class="mb-4">
|
||||
<b>${state.translate('legalNoticeSendContentHeader')}:</b>
|
||||
${state.translate('legalNoticeSendContent')}
|
||||
</li>
|
||||
<li class="mb-4">
|
||||
<b>${state.translate('legalNoticeSendDataHeader')}:</b>
|
||||
${state.translate('legalNoticeSendData')}
|
||||
</li>
|
||||
<li class="mb-4">
|
||||
<b>${state.translate('legalNoticeSendPersonalHeader')}:</b>
|
||||
${state.translate('legalNoticeSendPersonal')}:
|
||||
<ul class="leading-normal">
|
||||
<li class="my-4">
|
||||
<u>${state.translate('legalNoticeSendIPHeader')}:</u>
|
||||
${state.translate('legalNoticeSendIP')}
|
||||
</li>
|
||||
<li class="mb-4">
|
||||
<u>${state.translate('legalNoticeSendFXAHeader')}:</u>
|
||||
${state.translate('legalNoticeSendFXA')}
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="mb-4">
|
||||
<b>${state.translate('legalNoticeSendNonPersonalHeader')}:</b>
|
||||
${state.translate('legalNoticeSendNonPersonal')}:
|
||||
<ul class="leading-normal">
|
||||
<li class="my-4">
|
||||
<u>${state.translate('legalNoticeSendInteractionHeader')}:</u>
|
||||
${state.translate('legalNoticeSendInteraction')}
|
||||
</li>
|
||||
<li class="mb-4">
|
||||
<u>${state.translate('legalNoticeSendTechnicalHeader')}:</u>
|
||||
${state.translate('legalNoticeSendTechnical')}
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="mb-4">
|
||||
<b>${state.translate('legalNoticeSendThirdPartyHeader')}:</b>
|
||||
${state.translate('legalNoticeSendThirdParty')}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
`;
|
||||
|
@ -8,7 +8,7 @@ module.exports = function(state, emit) {
|
||||
<div
|
||||
class="flex flex-col w-full max-w-md h-full mx-auto items-center justify-center"
|
||||
>
|
||||
<h1 class="mb-4">${state.translate('downloadFilesTitle')}</h1>
|
||||
<h1 class="mb-4">${state.translate('downloadTitle')}</h1>
|
||||
<p
|
||||
class="w-full p-2 border border-yellow-light rounded md:w-4/5 text-orange-dark bg-yellow-lighter text-center leading-normal"
|
||||
>
|
||||
@ -50,8 +50,8 @@ module.exports = function(state, emit) {
|
||||
</fieldset>
|
||||
<input
|
||||
class="btn rounded-lg w-full flex flex-no-shrink items-center justify-center"
|
||||
value="${state.translate('copyUrlFormButtonText')}"
|
||||
title="${state.translate('copyUrlFormButtonText')}"
|
||||
value="${state.translate('copyLinkButton')}"
|
||||
title="${state.translate('copyLinkButton')}"
|
||||
type="submit" />
|
||||
</form>
|
||||
</div>
|
||||
@ -64,7 +64,7 @@ module.exports = function(state, emit) {
|
||||
let title = button.title;
|
||||
switch (choice) {
|
||||
case 'copy':
|
||||
title = state.translate('copyUrlFormButtonText');
|
||||
title = state.translate('copyLinkButton');
|
||||
break;
|
||||
case 'firefox':
|
||||
title = state.translate('downloadFirefox');
|
||||
|
@ -10,11 +10,11 @@ module.exports = function(state, emit) {
|
||||
class="flex flex-col items-center justify-center h-full w-full p-6 z-10 overflow-hidden md:rounded-lg md:shadow-big"
|
||||
>
|
||||
<h1 class="text-center font-bold my-2">
|
||||
${state.translate('expiredPageHeaderUpdate')}
|
||||
${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">
|
||||
${state.translate('downloadFinishText')}
|
||||
${state.translate('trySendDescription')}
|
||||
</p>
|
||||
<p class="my-5">
|
||||
<a href="/" class="btn rounded-lg flex items-center" role="button"
|
||||
|
@ -30,11 +30,12 @@ module.exports = function(trigger) {
|
||||
size: bytes(state.LIMITS.MAX_FILE_SIZE)
|
||||
})}
|
||||
</li>
|
||||
<li>${state.translate('accountBenefitExpiry')}</li>
|
||||
<li>${state.translate('accountBenefitDownloadCount')}</li>
|
||||
<li>
|
||||
${state.translate('accountBenefitExpiryTwo', { count: DAYS })}
|
||||
${state.translate('accountBenefitTimeLimit', { count: DAYS })}
|
||||
</li>
|
||||
<li>${state.translate('accountBenefitSync')}</li>
|
||||
<li>${state.translate('accountBenefitMoz')}</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section
|
||||
@ -45,12 +46,12 @@ module.exports = function(trigger) {
|
||||
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"
|
||||
placeholder=${state.translate('emailEntryPlaceholder')}
|
||||
placeholder=${state.translate('emailPlaceholder')}
|
||||
/>
|
||||
<input
|
||||
class="btn rounded-lg w-full flex flex-no-shrink items-center justify-center"
|
||||
value="${state.translate('signInMenuOption')}"
|
||||
title="${state.translate('signInMenuOption')}"
|
||||
value="${state.translate('signInButton')}"
|
||||
title="${state.translate('signInButton')}"
|
||||
id="email-submit"
|
||||
type="submit"
|
||||
/>
|
||||
|
@ -51,7 +51,7 @@ function outdatedStrings(state) {
|
||||
function unsupportedStrings(state) {
|
||||
return {
|
||||
header: state.translate('notSupportedHeader'),
|
||||
description: state.translate('notSupportedDetailUpdate'),
|
||||
description: state.translate('notSupportedDescription'),
|
||||
button: state.translate('downloadFirefox')
|
||||
};
|
||||
}
|
||||
|
6334
package-lock.json
generated
6334
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,32 +1,13 @@
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
title = Firefox Send
|
||||
siteFeedback = Feedback
|
||||
uploadPageHeader = Private, Encrypted File Sharing
|
||||
uploadPageExplainer = Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
||||
uploadPageLearnMore = Learn more
|
||||
uploadPageDropMessage = Drop your file here to start uploading
|
||||
uploadPageSizeMessage = For the most reliable operation, it’s best to keep your file under 1GB
|
||||
uploadPageBrowseButton = Select a file on your computer
|
||||
uploadPageBrowseButton1 = Select a file to upload
|
||||
uploadPageMultipleFilesAlert = Uploading multiple files or a folder is currently not supported.
|
||||
uploadPageBrowseButtonTitle = Upload file
|
||||
uploadingPageProgress = Uploading { $filename } ({ $size })
|
||||
introTitle = Simple, private file sharing
|
||||
introDescription = Firefox Send lets you share files with end-to-end encryption and a link that automatically expires. So you can keep what you share private and make sure your stuff doesn't stay online forever.
|
||||
importingFile = Importing…
|
||||
verifyingFile = Verifying…
|
||||
encryptingFile = Encrypting…
|
||||
decryptingFile = Decrypting…
|
||||
notifyUploadEncryptDone = Your file is encrypted and ready to share.
|
||||
uploadingPageMessage = Once your file uploads you will be able to set expiry options.
|
||||
uploadingPageCancel = Cancel
|
||||
uploadCancelNotification = Your upload was cancelled.
|
||||
downloadCancel = Cancel download
|
||||
uploadingPageLargeFileMessage = This file is large and may take a while to upload. Sit tight!
|
||||
uploadingFileNotification = Notify me when the upload is complete.
|
||||
uploadSuccessConfirmHeader = Ready to Send
|
||||
uploadSvgAlt = Upload
|
||||
uploadSuccessTimingHeader = The link to your file will expire after 1 download or in 24 hours.
|
||||
expireInfo = The link to your file will expire after { $downloadCount } or { $timespan }.
|
||||
frontPageExpireInfo = Expires after { $downloadCount } or { $timespan }
|
||||
notifyUploadEncryptDone = Your file is encrypted and ready to send
|
||||
archiveExpiryInfo = Expires after { $downloadCount } or { $timespan }
|
||||
downloadCount = { $num ->
|
||||
[one] 1 download
|
||||
*[other] { $num } downloads
|
||||
@ -52,42 +33,23 @@ fileCount = { $num ->
|
||||
*[other] { $num } files
|
||||
}
|
||||
totalSize = Total size: { $size }
|
||||
copyUrlFormLabel = Copy the link to share your file:
|
||||
copyUrlFormButtonText = Copy link
|
||||
copyLinkDescription = Copy the link to share your file:
|
||||
copyLinkButton = Copy link
|
||||
copiedUrl = Copied!
|
||||
deleteFileButton = Delete file
|
||||
sendAnotherFileLink = Send another file
|
||||
# Alternative text used on the download link/button (indicates an action).
|
||||
downloadAltText = Download
|
||||
downloadsFileList = Downloads
|
||||
# Used as header in a column indicating the amount of time left before a
|
||||
# download link expires (e.g. "10h 5m")
|
||||
timeFileList = Time
|
||||
# Used as header in a column indicating the number of times a file has been
|
||||
# downloaded
|
||||
downloadFileName = Download { $filename }
|
||||
downloadFileSize = ({ $size })
|
||||
unlockInputLabel = Enter Password
|
||||
unlockInputPlaceholder = Password
|
||||
unlockButtonLabel = Unlock
|
||||
downloadFilesTitle = Download Files
|
||||
downloadTitle = Download files
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
downloadMessage = Your friend is sending you a file with Firefox Send, a service that allows you to share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
||||
downloadDescription = This file was shared via Firefox Send with end-to-end encryption and a link that automatically expires.
|
||||
# Text and title used on the download link/button (indicates an action).
|
||||
downloadButtonLabel = Download
|
||||
downloadNotification = Your download has completed.
|
||||
downloadFinish = Download Complete
|
||||
downloadFinishText = Try Firefox Send for simple, safe file sharing.
|
||||
downloadFinish = Download complete
|
||||
trySendDescription = Try Firefox Send for simple, safe file sharing.
|
||||
# This message is displayed when uploading or downloading a file, e.g. "(1,3 MB of 10 MB)".
|
||||
fileSizeProgress = ({ $partialSize } of { $totalSize })
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
sendYourFilesLink = Try Firefox Send
|
||||
downloadingPageProgress = Downloading { $filename } ({ $size })
|
||||
downloadingPageMessage = Please leave this tab open while we fetch your file and decrypt it.
|
||||
errorAltText = Upload error
|
||||
errorPageHeader = Something went wrong!
|
||||
errorPageMessage = There has been an error uploading the file.
|
||||
errorPageLink = Send another file
|
||||
fileTooBig = That file is too big to upload. It should be less than { $size }.
|
||||
# count will always be > 10
|
||||
tooManyFiles = { $count ->
|
||||
@ -98,39 +60,41 @@ tooManyArchives = { $count ->
|
||||
*[other] Only { $count } archives are allowed.
|
||||
}
|
||||
linkExpiredAlt = Link expired
|
||||
expiredPageHeaderUpdate = This link has expired.
|
||||
expiredTitle = This link has expired.
|
||||
notSupportedHeader = Your browser is not supported.
|
||||
# Firefox Send is a brand name and should not be localized.
|
||||
notSupportedDetailUpdate = Firefox Send will not work with this browser. Send works best with the latest version of Firefox, and will work with the current version of most browsers.
|
||||
notSupportedDescription = Firefox Send will not work with this browser. Send works best with the latest version of Firefox, and will work with the current version of most browsers.
|
||||
notSupportedLink = Why is my browser not supported?
|
||||
notSupportedOutdatedDetail = Unfortunately this version of Firefox does not support the web technology that powers Firefox Send. You’ll need to update your browser.
|
||||
updateFirefox = Update Firefox
|
||||
downloadFirefox = Download Firefox
|
||||
downloadFirefoxButtonSub = Free Download
|
||||
uploadedFile = File
|
||||
copyFileList = Copy URL
|
||||
# expiryFileList is used as a column header
|
||||
expiryFileList = Expires In
|
||||
deleteFileList = Delete
|
||||
nevermindButton = Never mind
|
||||
legalHeader = Terms & Privacy
|
||||
legalNoticeTestPilot = Firefox Send is currently a Test Pilot experiment, and subject to the Test Pilot <a>Terms of Service</a> and <a>Privacy Notice</a>. You can learn more about this experiment and its data collection <a>here</a>.
|
||||
legalNoticeMozilla = Use of the Firefox Send website is also subject to Mozilla’s <a>Websites Privacy Notice</a> and <a>Websites Terms of Use</a>.
|
||||
deletePopupText = Delete this file?
|
||||
deletePopupYes = Yes
|
||||
legalTitle = Send Privacy Notice
|
||||
legalDateStamp = Version 1.0, dated March 12, 2019
|
||||
legalNoticeSend = When Mozilla receives information from you, our <a>Mozilla Privacy Policy</a> describes how we handle that information. Below are the top things you should know about Firefox Send. You can also view the code <a>here</a>.
|
||||
legalNoticeSendContentHeader = Content
|
||||
legalNoticeSendContent = Mozilla receives an encrypted copy of the file you upload but we cannot access the content or name of your encrypted file. Depending on how you use Send, files are stored for a maximum of either 24 hours or 7 days. If you choose a download cap, the file may be deleted sooner.
|
||||
legalNoticeSendDataHeader = Data on your device
|
||||
legalNoticeSendData = So that you can check status or delete files, basic information about your uploaded files is stored on your local device. This includes our identifier for the file, the filename, and the file’s download URL. This is cleared if you delete your uploaded file or upon visiting Send after the file expires.
|
||||
legalNoticeSendPersonalHeader = Personal data
|
||||
legalNoticeSendPersonal = The following is necessary to provide the service
|
||||
legalNoticeSendNonPersonalHeader = Non-personal data
|
||||
legalNoticeSendNonPersonal = We receive the following to improve our service and performance
|
||||
legalNoticeSendThirdPartyHeader = Third Party Services
|
||||
legalNoticeSendThirdParty = We use Google Cloud Platform
|
||||
legalNoticeSendIPHeader = IP addresses
|
||||
legalNoticeSendIP = We receive IP addresses of downloaders and uploaders as part of our standard server logs. These are retained for 90 days, and for that period, may be connected to activity of a file’s download URL. Although we develop our services in ways that minimize identification, you should know that it may be possible to correlate the IP address of a Send user to the IP address of other Mozilla services with accounts; and if there is a match, this could identify the account email address.
|
||||
legalNoticeSendFXAHeader = Firefox Account
|
||||
legalNoticeSendFXA = This is required for authentication only if you wish to upload larger file sizes. Your Firefox Account record will retain aggregate data on your usage of Send: for example, if you created a Firefox Account in connection with Send, number of files sent and approximate file sizes, and how many times you’ve used the service.
|
||||
legalNoticeSendInteractionHeader = Interaction data
|
||||
legalNoticeSendInteraction = This includes information such as number of people sending and receiving files, number of files uploaded and approximate file sizes, percentage of file downloaders who become uploaders, how people engage with the website (time spent, clicks, referrer information, site exit path, use of passwords)
|
||||
legalNoticeSendTechnicalHeader = Technical data
|
||||
legalNoticeSendTechnical = This includes information such as operating system, browser, language preference, country, timestamps, duration for file transfer, reasons for errors, reasons for file expiration.
|
||||
deletePopupCancel = Cancel
|
||||
deleteButtonHover = Delete
|
||||
copyUrlHover = Copy URL
|
||||
footerLinkLegal = Legal
|
||||
footerLinkPrivacy = Privacy
|
||||
footerLinkTerms = Terms
|
||||
footerLinkPrivacyAndTerms = Privacy & Terms
|
||||
footerLinkCookies = Cookies
|
||||
requirePasswordCheckbox = Require a password to download this file
|
||||
addPasswordButton = Add password
|
||||
changePasswordButton = Change
|
||||
passwordTryAgain = Incorrect password. Try again.
|
||||
reportIPInfringement = Report IP Infringement
|
||||
javascriptRequired = Firefox Send requires JavaScript
|
||||
whyJavascript = Why does Firefox Send require JavaScript?
|
||||
enableJavascript = Please enable JavaScript and try again.
|
||||
@ -140,48 +104,30 @@ expiresDaysHoursMinutes = { $days }d { $hours }h { $minutes }m
|
||||
expiresHoursMinutes = { $hours }h { $minutes }m
|
||||
# A short representation of a countdown timer containing the number of minutes remaining as digits, example "56m"
|
||||
expiresMinutes = { $minutes }m
|
||||
# A short status message shown when a password is successfully set
|
||||
passwordIsSet = Password set
|
||||
# A short status message shown when the user enters a long password
|
||||
maxPasswordLength = Maximum password length: { $length }
|
||||
# A short status message shown when there was an error setting the password
|
||||
passwordSetError = This password could not be set
|
||||
pageHeaderCredits = from the makers of Firefox
|
||||
addFilesButton = Add file(s)
|
||||
addFilesButtonWithSize = Add file(s) up to { $size }
|
||||
uploadFilesButton = Upload
|
||||
uploadDropDragMessage = Drop files here
|
||||
uploadDropButtonMessage = or click to select files
|
||||
addPasswordMessage = Protect with password
|
||||
addPasswordLabel = Password:
|
||||
copyUrlLabel = Copy and share this link:
|
||||
passwordReminder = don't forget the password too
|
||||
signInPromoText = Sign In/Up
|
||||
signInExplanation = It's free and you can send bigger files.
|
||||
signInLearnMore = Learn more!
|
||||
downloadProgressButton = Downloading... { $progress }
|
||||
downloadMessage2 = Firefox Send lets you share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
||||
signInEmailEnter = Enter your Email
|
||||
emailEntryPlaceholder = Enter your email
|
||||
addFilesButton = Select files to upload
|
||||
uploadButton = Upload
|
||||
dragAndDropFiles = Drag and drop files
|
||||
orClickWithSize = or click to to send up to { $size }
|
||||
addPassword = Protect with password
|
||||
emailPlaceholder = Enter your email
|
||||
signInSizeBump = Sign in to send up to { $size }
|
||||
signInContinueMessage = to continue to Firefox Send
|
||||
signInContinueButton = Continue
|
||||
signInMenuOption = Sign in/up
|
||||
signInNextOption = Continue
|
||||
accountMenuOption = Firefox Account
|
||||
signInButton = Sign in/up
|
||||
accountBenefitTitle = Create a Firefox Account or sign in
|
||||
accountBenefitLargeFiles = Share files up to { $size }
|
||||
accountBenefitExpiry = Share files with more people
|
||||
accountBenefitExpiryTwo = { $count ->
|
||||
accountBenefitDownloadCount = Share files with more people
|
||||
accountBenefitTimeLimit = { $count ->
|
||||
*[other] Keep links active for up to { $count } days
|
||||
}
|
||||
accountBenefitSync = Manage shared files from any device
|
||||
manageAccount = Manage Account
|
||||
logOut = Sign Out
|
||||
okButton = Ok
|
||||
myUploads = My Uploads
|
||||
accountBenefitMoz = Learn about other Mozilla services
|
||||
signOut = Sign Out
|
||||
okButton = OK
|
||||
downloadingTitle = Downloading
|
||||
noStreamsWarning = This browser might not be able to decrypt a file this big.
|
||||
noStreamsOptionCopy = Copy the link to open in another browser
|
||||
noStreamsOptionFirefox = Try our favorite browser
|
||||
noStreamsOptionDownload = Use this browser
|
||||
noStreamsOptionDownload = Continue with this browser
|
Loading…
Reference in New Issue
Block a user