From b645c2804309c4ab23751406a3806c29ab4ac810 Mon Sep 17 00:00:00 2001 From: Carl Bauer Date: Mon, 16 May 2016 17:44:13 -0700 Subject: [PATCH 1/2] Favor call message over element message on matches --- build/translate.js | 3 +++ src/translate.js | 3 +++ test/test-translation.js | 6 ++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build/translate.js b/build/translate.js index 28dcf9e..3b8c414 100644 --- a/build/translate.js +++ b/build/translate.js @@ -43,6 +43,9 @@ function translateMessagesToBundle(src, translationsSrc) { function attemptToCreateRenderer(node, message) { if (translations[message]) { + if ((0, _ast.isElementMarker)(node) && bundle[message]) { + return; + } bundle[message] = (0, _translation2.default)(node, translations[message], message); } else { missing[message] = message; diff --git a/src/translate.js b/src/translate.js index 3748ba8..897bd52 100644 --- a/src/translate.js +++ b/src/translate.js @@ -23,6 +23,9 @@ export default function translateMessagesToBundle(src, translationsSrc, {inputFo function attemptToCreateRenderer(node, message) { if (translations[message]) { + if (isElementMarker(node) && bundle[message]) { + return; + } bundle[message] = translatedRendererFor( node, translations[message], diff --git a/test/test-translation.js b/test/test-translation.js index c49b45c..99f1700 100644 --- a/test/test-translation.js +++ b/test/test-translation.js @@ -21,7 +21,8 @@ describe('translation', function() { 'Check out: ': ' "checked" out!', 'opportunities': 'oportunidades', 'You have no items in your cartYou have one item in your cartYou have {this.state.count} items in your cart': - 'No tiene nada in su carritoTiene ún articulo en su carritoTiene {this.state.count} articulos en su carrito' + 'No tiene nada in su carritoTiene ún articulo en su carritoTiene {this.state.count} articulos en su carrito', + 'Hey': 'Hey' }; var expectedResultsForTranslationBundles = { @@ -38,7 +39,8 @@ describe('translation', function() { 'Check out: ': 'function(Component, shnar) { return "checked" out!; }', '': 'function(Re, Ordering) { return ; }', 'You have no items in your cartYou have one item in your cartYou have {this.state.count} items in your cart': - 'function(Pluralize, Match) { return No tiene nada in su carritoTiene ún articulo en su carritoTiene {this.state.count} articulos en su carrito; }' + 'function(Pluralize, Match) { return No tiene nada in su carritoTiene ún articulo en su carritoTiene {this.state.count} articulos en su carrito; }', + 'i18n("Hey");Hey': 'function() { return "Hey"; }' }; Object.keys(expectedResultsForTranslationBundles).forEach(original => { From 8c831606a0ade1d220e4e68ce9f82939e09800f5 Mon Sep 17 00:00:00 2001 From: Carl Bauer Date: Fri, 20 May 2016 14:13:21 -0700 Subject: [PATCH 2/2] Trail some commas --- test/test-translation.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test-translation.js b/test/test-translation.js index 99f1700..5402f27 100644 --- a/test/test-translation.js +++ b/test/test-translation.js @@ -22,7 +22,7 @@ describe('translation', function() { 'opportunities': 'oportunidades', 'You have no items in your cartYou have one item in your cartYou have {this.state.count} items in your cart': 'No tiene nada in su carritoTiene ún articulo en su carritoTiene {this.state.count} articulos en su carrito', - 'Hey': 'Hey' + 'Hey': 'Hey', }; var expectedResultsForTranslationBundles = { @@ -40,7 +40,7 @@ describe('translation', function() { '': 'function(Re, Ordering) { return ; }', 'You have no items in your cartYou have one item in your cartYou have {this.state.count} items in your cart': 'function(Pluralize, Match) { return No tiene nada in su carritoTiene ún articulo en su carritoTiene {this.state.count} articulos en su carrito; }', - 'i18n("Hey");Hey': 'function() { return "Hey"; }' + 'i18n("Hey");Hey': 'function() { return "Hey"; }', }; Object.keys(expectedResultsForTranslationBundles).forEach(original => {