localize file sizes

This commit is contained in:
Danny Coates 2019-03-11 19:28:22 -07:00
parent 163899467d
commit adf9c7b96f
No known key found for this signature in database
GPG Key ID: 4C442633C62E00CB
3 changed files with 30 additions and 7 deletions

View File

@ -17,6 +17,7 @@ import './main.css';
import User from './user';
import { getTranslator } from './locale';
import Archive from './archive';
import { setTranslate } from './utils';
if (navigator.doNotTrack !== '1' && window.RAVEN_CONFIG) {
Raven.config(window.SENTRY_ID, window.RAVEN_CONFIG).install();
@ -40,6 +41,7 @@ if (process.env.NODE_ENV === 'production') {
}
const translate = await getTranslator(LOCALE);
setTranslate(translate);
window.initialState = {
LIMITS,
DEFAULTS,

View File

@ -56,7 +56,7 @@ const LOCALIZE_NUMBERS = !!(
typeof navigator === 'object'
);
const UNITS = ['B', 'kB', 'MB', 'GB'];
const UNITS = ['bytes', 'kb', 'mb', 'gb'];
function bytes(num) {
if (num < 1) {
return '0B';
@ -76,7 +76,10 @@ function bytes(num) {
// fall through
}
}
return `${nStr}${UNITS[exponent]}`;
return translate('fileSize', {
num: nStr,
units: translate(UNITS[exponent])
});
}
function percent(ratio) {
@ -256,6 +259,13 @@ function encryptedSize(size, rs = ECE_RECORD_SIZE, tagLength = TAG_LENGTH) {
return 21 + size + chunk_meta * Math.ceil(size / (rs - chunk_meta));
}
let translate = function() {
throw new Error('uninitialized translate function. call setTranslate first');
};
function setTranslate(t) {
translate = t;
}
module.exports = {
fadeOut,
delay,
@ -275,5 +285,6 @@ module.exports = {
secondsToL10nId,
timeLeft,
platform,
encryptedSize
encryptedSize,
setTranslate
};

View File

@ -73,7 +73,17 @@ fileCount = { $num ->
[one] 1 file
*[other] { $num } files
}
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# byte abbreviation
bytes = B
# kibibyte abbreviation
kb = KB
# mebibyte abbreviation
mb = MB
# gibibyte abbreviation
gb = GB
# localized number and byte abbreviation. example "2.5MB"
fileSize = { $num }{ $units }
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
totalSize = Total size: { $size }
# the next line after the colon contains a file name
copyLinkDescription = Copy the link to share your file:
@ -103,15 +113,15 @@ uploadButton = Upload
# the first part of the string 'Drag and drop files or click to send up to 1GB'
dragAndDropFiles = Drag and drop files
# the second part of the string 'Drag and drop files or click to send up to 1GB'
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
orClickWithSize = or click to send up to { $size }
addPassword = Protect with password
emailPlaceholder = Enter your email
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
signInSizeBump = Sign in to send up to { $size }
signInButton = Sign in/up
accountBenefitTitle = Create a { -firefox } Account or sign in
# size is a localized number followed by a unit of bytes, ex. 2.5GB
# $size is the size of the file, displayed using the fileSize message as format (e.g. "2.5MB")
accountBenefitLargeFiles = Share files up to { $size }
accountBenefitDownloadCount = Share files with more people
accountBenefitTimeLimit = { $count ->