From ae552a982a4680b9d0476ef932c00f4cceb6bccb Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Mon, 30 Apr 2018 18:00:20 +0200 Subject: [PATCH] fix(ui): merge locales --- .../@vue/cli-ui/src/graphql-api/connectors/locales.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli-ui/src/graphql-api/connectors/locales.js b/packages/@vue/cli-ui/src/graphql-api/connectors/locales.js index ce94f0e5b7..f67c0590b1 100644 --- a/packages/@vue/cli-ui/src/graphql-api/connectors/locales.js +++ b/packages/@vue/cli-ui/src/graphql-api/connectors/locales.js @@ -1,6 +1,7 @@ const path = require('path') const fs = require('fs') const globby = require('globby') +const deepmerge = require('deepmerge') // Connectors const cwd = require('./cwd') // Subs @@ -17,9 +18,13 @@ function list (context) { return locales } -function add ({ lang, strings }, context) { - const locale = { lang, strings } - locales.push(locale) +function add (locale, context) { + const existing = locales.find(l => l.lang === locale.lang) + if (existing) { + existing.strings = deepmerge(existing.strings, locale.strings) + } else { + locales.push(locale) + } context.pubsub.publish(channels.LOCALE_ADDED, { localeAdded: locale })