From b7f4ecc76a1dd751fd579bb92b5aff49780ec27d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 26 Nov 2016 17:27:33 +0100 Subject: [PATCH] remove i18n.parts and switch fully to JSX syntax --- src/background/background.ts | 4 ++-- src/i18n.tsx | 38 +----------------------------- src/popup/popup.tsx | 45 ++++++++++++++++++------------------ 3 files changed, 26 insertions(+), 61 deletions(-) diff --git a/src/background/background.ts b/src/background/background.ts index 8a3f2477d..fe2359812 100644 --- a/src/background/background.ts +++ b/src/background/background.ts @@ -27,8 +27,8 @@ window.addEventListener("load", () => { // TypeScript does not allow ".js" extensions in the // module name, so SystemJS must add it. System.config({ - defaultJSExtensions: true, - }); + defaultJSExtensions: true, + }); System.import("../wxBackend") .then((wxMessaging: any) => { diff --git a/src/i18n.tsx b/src/i18n.tsx index a8b842d9c..443d3997a 100644 --- a/src/i18n.tsx +++ b/src/i18n.tsx @@ -105,7 +105,7 @@ function getPluralValue (values: any) { /** - * Store information about the result of the last to i18n() or i18n.parts() + * Store information about the result of the last to i18n(). * * @param i18nString the string template as found in i18n.strings * @param pluralValue value returned by getPluralValue() @@ -146,42 +146,6 @@ try { i18n.strings = {}; -/** - * Interpolate i18nized values with arbitrary objects. - * @return Array of strings/objects. - */ -i18n.parts = function(strings: string[], ...values: any[]) { - init(); - if ("object" !== typeof jed) { - // Fallback implementation in case i18n lib is not there - let parts: string[] = []; - - for (let i = 0; i < strings.length; i++) { - parts.push(strings[i]); - if (i < values.length) { - parts.push(values[i]); - } - } - return parts; - } - - let str = toI18nString(strings); - let n = getPluralValue(values); - let tr = jed.ngettext(str, str, n).split(/%(\d+)\$s/); - let parts: string[] = []; - for (let i = 0; i < tr.length; i++) { - if (0 == i % 2) { - parts.push(tr[i]); - } else { - parts.push(values[parseInt(tr[i]) - 1]); - } - } - - setI18nResult(str, n); - return parts; -}; - - /** * Pluralize based on first numeric parameter in the template. * @todo The plural argument is used for extraction by pogen.js diff --git a/src/popup/popup.tsx b/src/popup/popup.tsx index b97a361e9..bd93f54f2 100644 --- a/src/popup/popup.tsx +++ b/src/popup/popup.tsx @@ -336,20 +336,20 @@ function formatHistoryItem(historyItem: HistoryRecord) { switch (historyItem.type) { case "create-reserve": return ( -

- {i18n.parts`Bank requested reserve (${abbrev(d.reservePub)}) for ${prettyAmount( - d.requestedAmount)}.`} -

+ + Bank requested reserve ({abbrev(d.reservePub)}) for {prettyAmount(d.requestedAmount)}. + ); case "confirm-reserve": { // FIXME: eventually remove compat fix let exchange = d.exchangeBaseUrl ? URI(d.exchangeBaseUrl).host() : "??"; - let amount = prettyAmount(d.requestedAmount); let pub = abbrev(d.reservePub); return ( -

- {i18n.parts`Started to withdraw ${amount} from ${exchange} (${pub}).`} -

+ + Started to withdraw + {" "}{prettyAmount(d.requestedAmount)}{" "} + from {exchange} ({pub}). + ); } case "offer-contract": { @@ -357,9 +357,9 @@ function formatHistoryItem(historyItem: HistoryRecord) { let linkElem = {abbrev(d.contractHash)}; let merchantElem = {abbrev(d.merchantName, 15)}; return ( -

- {i18n.parts`Merchant ${merchantElem} offered contract ${linkElem}.`} -

+ + Merchant {abbrev(d.merchantName, 15)} offered contract {abbrev(d.contractHash)}; + ); } case "depleted-reserve": { @@ -367,9 +367,9 @@ function formatHistoryItem(historyItem: HistoryRecord) { let amount = prettyAmount(d.requestedAmount); let pub = abbrev(d.reservePub); return ( -

- {i18n.parts`Withdrew ${amount} from ${exchange} (${pub}).`} -

+ + Withdrew {amount} from {exchange} ({pub}). + ); } case "pay": { @@ -378,12 +378,13 @@ function formatHistoryItem(historyItem: HistoryRecord) { let merchantElem = {abbrev(d.merchantName, 15)}; let fulfillmentLinkElem = view product; return ( -

- {i18n.parts`Paid ${prettyAmount(d.amount)} to merchant ${merchantElem}. (${fulfillmentLinkElem})`} -

); + + Paid {prettyAmount(d.amount)} to merchant {merchantElem}. ({fulfillmentLinkElem}) + + ); } default: - return (

i18n`Unknown event (${historyItem.type})`

); + return (

{i18n`Unknown event (${historyItem.type})`}

); } } @@ -513,8 +514,8 @@ function WalletDebug(props: any) { function openExtensionPage(page: string) { return function() { chrome.tabs.create({ - "url": chrome.extension.getURL(page) - }); + "url": chrome.extension.getURL(page) + }); } } @@ -522,7 +523,7 @@ function openExtensionPage(page: string) { function openTab(page: string) { return function() { chrome.tabs.create({ - "url": page - }); + "url": page + }); } }