Translate to en more of PAC choosing tab

This commit is contained in:
ilyaigpetrov 2019-09-07 15:28:47 +00:00
parent 9d5921ae43
commit 426793e700
4 changed files with 136 additions and 30 deletions

View File

@ -29,6 +29,8 @@
{ // Private namespace starts. { // Private namespace starts.
const ifRu = chrome.i18n.getMessage('@@ui_locale').startsWith('ru');
console.log('Russian?', ifRu);
const mandatory = window.utils.mandatory; const mandatory = window.utils.mandatory;
const throwIfError = window.utils.throwIfError; const throwIfError = window.utils.throwIfError;
const chromified = window.utils.chromified; const chromified = window.utils.chromified;
@ -125,11 +127,17 @@
const pacMods = window.apis.pacKitchen.getPacMods(); const pacMods = window.apis.pacKitchen.getPacMods();
if (!pacMods.filteredCustomsString) { if (!pacMods.filteredCustomsString) {
addWarning( addWarning(
\` ifRu
Не найдено СВОИХ прокси. Этот PAC-скрипт ? \`
работает только со <a href="https://git.io/ac-own-proxy">СВОИМИ прокси</a> Не найдено СВОИХ прокси. Этот PAC-скрипт
(по умолчанию будет использоваться локальный <a href="https://git.io/ac-tor">Tor</a>). работает только со <a href="https://git.io/ac-own-proxy">СВОИМИ прокси</a>
\`, (по умолчанию будет использоваться локальный <a href="https://git.io/ac-tor">Tor</a>).
\`
: \`
Couldn't find OWN proxies. This PAC-script
works only with <a href="https://git.io/ac-own-proxy">OWN proxies</a>
(by default local <a href="https://git.io/ac-tor">Tor</a> will be used).
\`,
); );
} }
@ -142,8 +150,10 @@
if (ifWasEverModified) { if (ifWasEverModified) {
addWarning( addWarning(
'Ваш PAC-скрипт не нуждается в обновлении. Его дата: ' + (ifRu
lastModifiedStr, ? 'Ваш PAC-скрипт не нуждается в обновлении. Его дата: '
: 'Your PAC-script doesn\\'t need to be updated. It\\'s date: '
) + lastModifiedStr,
); );
const res = {lastModified: lastModifiedStr}; const res = {lastModified: lastModifiedStr};
return cb(null, res); return cb(null, res);
@ -178,7 +188,7 @@
}, },
clarifyThen( clarifyThen(
'Не удалось скачать PAC-скрипт с адресов: [ ' chrome.i18n.getMessage('FailedToDownloadPacScriptFromAddresses') + ': [ '
+ provider.pacUrls.join(' , ') + ' ].', + provider.pacUrls.join(' , ') + ' ].',
cb, cb,
), ),
@ -199,20 +209,36 @@
// provider is this or that (distinct it from others). // provider is this or that (distinct it from others).
distinctKey: 'Antizapret', distinctKey: 'Antizapret',
label: chrome.i18n.getMessage('Antizapret'), label: chrome.i18n.getMessage('Antizapret'),
desc: \`Альтернативный PAC-скрипт от стороннего разработчика. desc: ifRu
Охватывет меньше сайтов. ? \`Основной PAC-скрипт от автора проекта «Антизапрет».
Блокировка определяется по доменному имени. Охватывет меньше сайтов.
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.\`, Блокировка определяется по доменному имени и при необходимости по IP.
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.
\`
: \`The main PAC-script from the author of project "Antizapret"\.
Covers fewer sites.
Block is detected based on a domain name and, if necessary, on an IP.
<br/> <a href="https://rebrand.ly/ac-pacs">Comparison of PAC-scripts (ru)</a>.
\`,
order: 0, order: 0,
pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'], pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'],
}, },
Антицензорити: { Антицензорити: {
distinctKey: 'Anticensority', distinctKey: 'Anticensority',
label: chrome.i18n.getMessage('Anticensority'), label: chrome.i18n.getMessage('Anticensority'),
desc: \`Основной PAC-скрипт от автора расширения. desc: ifRu
Охватывает больше сайтов. ? \`Альтернативный PAC-скрипт от автора расширения.
Блокировка определятся по доменному имени или IP адресу. Охватывает больше сайтов.
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.\`, Блокировка определятся по доменному имени или IP адресу.
Подходит для провайдеров, блокирующих все сайты на одном IP.
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.
\`
: \`Alternative PAC-script from the author of this extension.
Covers more sites.
Block is detected based on a domain name and on an IP address.
Better fits providers that block all sites on one IP.
<br/> <a href="https://rebrand.ly/ac-pacs">Comparison of PAC-scripts (ru)</a>.
\`,
order: 1, order: 1,
/* /*
@ -225,7 +251,9 @@
onlyOwnSites: { onlyOwnSites: {
distinctKey: 'onlyOwnSites', distinctKey: 'onlyOwnSites',
label: chrome.i18n.getMessage('Only_own_sites_and_only_own_proxies'), label: chrome.i18n.getMessage('Only_own_sites_and_only_own_proxies'),
desc: 'Проксируются только добавленные вручную сайты через СВОИ вручную добавленные прокси или через локальный Tor.', desc: ifRu
? 'Проксируются только добавленные вручную адреса через СВОИ вручную добавленные прокси или через локальный Tor.'
: 'Only added manually urls are proxied via your OWN manually added proxies or via Tor.',
order: 99, order: 99,
pacUrls: [ pacUrls: [
'data:application/x-ns-proxy-autoconfig,' + escape('function FindProxyForURL(){ return "DIRECT"; }'), 'data:application/x-ns-proxy-autoconfig,' + escape('function FindProxyForURL(){ return "DIRECT"; }'),
@ -258,7 +286,7 @@
const upDate = new Date(this.lastPacUpdateStamp).toLocaleString('ru-RU') const upDate = new Date(this.lastPacUpdateStamp).toLocaleString('ru-RU')
.replace(/:\\d+$/, '').replace(/\\.\\d{4}/, ''); .replace(/:\\d+$/, '').replace(/\\.\\d{4}/, '');
chrome.browserAction.setTitle({ chrome.browserAction.setTitle({
title: \`Обновлялись \${upDate} | Версия \${window.apis.version.build}\`, title: \`\${chrome.i18n.getMessage('Updated')} \${upDate} | \${chrome.i18n.getMessage('Version')} \${window.apis.version.build}\`,
}); });
}, },
@ -353,7 +381,7 @@
if (key === null) { if (key === null) {
// No pac provider set. // No pac provider set.
return clarifyThen('Сперва выберите PAC-провайдера.', cb); return clarifyThen(chrome.i18n.getMessage('ChoosePacProviderFirstD'), cb);
} }
const pacProvider = this.getPacProvider(key); const pacProvider = this.getPacProvider(key);

View File

@ -17,6 +17,15 @@
"update": { "update": {
"message": "update" "message": "update"
}, },
"Version": {
"message": "Version"
},
"FailedToDownloadPacScriptFromAddresses": {
"message": "Failed to download PAC-script from addresses"
},
"ChoosePacProviderFirstD": {
"message": "Choose PAC-provider first."
},
"ProblemsQ": { "ProblemsQ": {
"message": "Problems?" "message": "Problems?"
}, },
@ -58,5 +67,35 @@
}, },
"Donate": { "Donate": {
"message": "Donate" "message": "Donate"
},
"Updated": {
"message": "Updated"
},
"ago": {
"message": "ago"
},
"never": {
"message": "never"
},
"ms": {
"message": "ms"
},
"s": {
"message": "s"
},
"min": {
"message": "min"
},
"h": {
"message": "h"
},
"d": {
"message": "d"
},
"w": {
"message": "w"
},
"m": {
"message": "m"
} }
} }

View File

@ -17,6 +17,15 @@
"update": { "update": {
"message": "обновить" "message": "обновить"
}, },
"Version": {
"message": "Версия"
},
"FailedToDownloadPacScriptFromAddresses": {
"message": "Не удалось скачать PAC-скрипт с адресов"
},
"ChoosePacProviderFirstD": {
"message": "Сперва выберите PAC-провайдера."
},
"ProblemsQ": { "ProblemsQ": {
"message": "Проблемы?" "message": "Проблемы?"
}, },
@ -58,5 +67,35 @@
}, },
"Donate": { "Donate": {
"message": "Поддержать" "message": "Поддержать"
},
"Updated": {
"message": "Обновлялись"
},
"ago": {
"message": "назад"
},
"never": {
"message": "никогда"
},
"ms": {
"message": "мс"
},
"s": {
"message": "с"
},
"min": {
"message": "мин"
},
"h": {
"message": "ч"
},
"d": {
"message": "дн"
},
"w": {
"message": " недель"
},
"m": {
"message": " месяцев"
} }
} }

View File

@ -22,17 +22,17 @@ export default function getLastUpdateDate(theState) {
getDate(antiCensorRu) { getDate(antiCensorRu) {
let dateForUser = 'никогда'; let dateForUser = chrome.i18n.getMessage('never');
if( antiCensorRu.lastPacUpdateStamp ) { if( antiCensorRu.lastPacUpdateStamp ) {
let diff = Date.now() - antiCensorRu.lastPacUpdateStamp; let diff = Date.now() - antiCensorRu.lastPacUpdateStamp;
let units = 'мс'; let units = chrome.i18n.getMessage('ms');
const gauges = [ const gauges = [
[1000, 'с'], [1000, chrome.i18n.getMessage('s')],
[60, 'мин'], [60, chrome.i18n.getMessage('min')],
[60, 'ч'], [60, chrome.i18n.getMessage('h')],
[24, 'дн'], [24, chrome.i18n.getMessage('d')],
[7, ' недель'], [7, chrome.i18n.getMessage('w')],
[4, ' месяцев'], [4, chrome.i18n.getMessage('m')],
]; ];
for(const g of gauges) { for(const g of gauges) {
const diffy = Math.floor(diff / g[0]); const diffy = Math.floor(diff / g[0]);
@ -41,10 +41,10 @@ export default function getLastUpdateDate(theState) {
diff = diffy; diff = diffy;
units = g[1]; units = g[1];
} }
dateForUser = diff + units + ' назад'; dateForUser = diff + units + ' ' + chrome.i18n.getMessage('ago');
} }
return { return {
text: `${dateForUser} / ${antiCensorRu.pacUpdatePeriodInMinutes/60}ч`, text: `${dateForUser} / ${antiCensorRu.pacUpdatePeriodInMinutes/60}${chrome.i18n.getMessage('h')}`,
title: new Date(antiCensorRu.lastPacUpdateStamp).toLocaleString('ru-RU'), title: new Date(antiCensorRu.lastPacUpdateStamp).toLocaleString('ru-RU'),
}; };
@ -53,7 +53,7 @@ export default function getLastUpdateDate(theState) {
render(props) { render(props) {
const date = this.getDate(props.apis.antiCensorRu); const date = this.getDate(props.apis.antiCensorRu);
return (<div>Обновлялись: <span class="updateDate" title={date.title}>{ date.text }</span></div>); return (<div>{chrome.i18n.getMessage('Updated')}: <span class="updateDate" title={date.title}>{ date.text }</span></div>);
} }