diff --git a/app-starter/locales/pt.json b/app-starter/locales/pt.json
new file mode 100644
index 00000000..8d9831df
--- /dev/null
+++ b/app-starter/locales/pt.json
@@ -0,0 +1,75 @@
+{
+ "app": {
+ "title": "Vue.js / OpenLayers WebGIS",
+ "browserTitle": "Aplicativo de Demonstração Wegue",
+ "footerTextLeft": "Desenvolvido por Wegue WebGIS",
+ "footerTextRight": "meggsimum",
+ "logo": "Logotipo do Aplicativo"
+ },
+
+ "mapLayers": {
+ "wgu-drag-drop-layer" : {
+ "name": "Dados Enviados"
+ },
+ "Shops": {
+ "name": "Shops DaSchau"
+ },
+ "gas-wfs": {
+ "name": "Estações de Gás WFS",
+ "attributions": "© Colaboradores do OpenStreetMap"
+ },
+ "earthquakes": {
+ "name": "Terremotos 2012 (Magnitude 5)",
+ "attributions": "Serviço Geológico dos Estados Unidos"
+ },
+ "ahocevar-wms": {
+ "name": "WMS em Mosaico (ahocevar)"
+ },
+ "ahocevar-imagewms": {
+ "name": "WMS de Imagens (ahocevar)"
+ },
+ "ahocevar-vectortiles": {
+ "name": "Camada de Dados Vetoriais"
+ },
+ "opentopomap": {
+ "name": "OpenTopoMap",
+ "attributions": "Dados do mapa: © Colaboradores do OpenStreetMap, SRTM | Representação do mapa: © OpenTopoMap (CC-BY-SA)"
+ },
+ "osm-bg": {
+ "name": "OpenStreetMap"
+ },
+ "dutch-nat-parks" : {
+ "name": "WFS (Parques Nacionais Holandeses PDOK)",
+ "attributions": "PDOK pelo Kadaster Holandês"
+ },
+ "pdok-natura2000-wms" : {
+ "name": "WMS - Áreas Natura 2000 - PDOK",
+ "attributions": "PDOK pelo Kadaster Holandês"
+ },
+ "pdok-lufo-wms" : {
+ "name": "WMS - Mapa Aéreo Holandês - PDOK",
+ "attributions": "PDOK pelo Kadaster Holandês"
+ },
+ "brtachtergrondkaart" : {
+ "name": "WMTS - Mapa de Base Topográfico - PDOK",
+ "attributions": "PDOK pelo Kadaster Holandês"
+ },
+ "terrestris-osm-wms" : {
+ "name": "WMS do OSM",
+ "attributions": "© Colaboradores do OpenStreetMap"
+ }
+ },
+
+ "wgu-helpwin": {
+ "title": "Sobre",
+ "textTitle": "Sobre Wegue",
+ "htmlContent": "WebGIS com OpenLayers e Vue.js Modelo e componentes reutilizáveis para aplicações de mapeamento web com OpenLayers e Vue.js",
+ "infoLinkUrl": "http://wegue.org/",
+ "infoLinkText": "Mais informações"
+ },
+
+ "sample-module": {
+ "title": "Módulo de Exemplo",
+ "text": "Olá Wegue"
+ }
+}
diff --git a/app-starter/static/app-conf-minimal.json b/app-starter/static/app-conf-minimal.json
index 24e0e915..a55a053c 100644
--- a/app-starter/static/app-conf-minimal.json
+++ b/app-starter/static/app-conf-minimal.json
@@ -17,7 +17,8 @@
"lang": {
"supported": {
"en": "English",
- "de": "Deutsch"
+ "de": "Deutsch",
+ "pt": "Portugues"
},
"fallback": "en"
},
diff --git a/app-starter/static/app-conf-projected.json b/app-starter/static/app-conf-projected.json
index b5db21f3..6a780327 100644
--- a/app-starter/static/app-conf-projected.json
+++ b/app-starter/static/app-conf-projected.json
@@ -22,7 +22,8 @@
"lang": {
"supported": {
"en": "English",
- "de": "Deutsch"
+ "de": "Deutsch",
+ "pt": "Portugues"
},
"fallback": "en"
},
diff --git a/app-starter/static/app-conf-sidebar.json b/app-starter/static/app-conf-sidebar.json
index 12143e36..23fc066e 100644
--- a/app-starter/static/app-conf-sidebar.json
+++ b/app-starter/static/app-conf-sidebar.json
@@ -13,7 +13,8 @@
"lang": {
"supported": {
"en": "English",
- "de": "Deutsch"
+ "de": "Deutsch",
+ "pt": "Portugues"
},
"fallback": "en"
},
diff --git a/app-starter/static/app-conf.json b/app-starter/static/app-conf.json
index d6b319b1..1b7bca7b 100644
--- a/app-starter/static/app-conf.json
+++ b/app-starter/static/app-conf.json
@@ -13,7 +13,8 @@
"lang": {
"supported": {
"en": "English",
- "de": "Deutsch"
+ "de": "Deutsch",
+ "pt": "Portugues"
},
"fallback": "en"
},
diff --git a/src/locales/pt.json b/src/locales/pt.json
new file mode 100644
index 00000000..c9e00cce
--- /dev/null
+++ b/src/locales/pt.json
@@ -0,0 +1,104 @@
+{
+ "app": {
+ "title": "Vue.js / OpenLayers WebGIS",
+ "browserTitle": "Aplicativo de Demonstração Wegue",
+ "footerTextLeft": "Desenvolvido por Wegue WebGIS",
+ "footerTextRight": "meggsimum",
+ "logo": "Logotipo do Aplicativo"
+ },
+
+ "mapLayers": {
+ "wgu-geolocator-layer": {
+ "name": "Posição Atual"
+ },
+ "wgu-measure-layer": {
+ "name": "Camada de Medição"
+ },
+ "wgu-drag-drop-layer" : {
+ "name": "Arraste/Descarregue Dados"
+ }
+ },
+
+ "wgu-toolbar-menu": {
+ "title": "Abrir menu de barra de ferramentas"
+ },
+
+ "wgu-attributetable": {
+ "title": "Tabela de Atributos",
+ "selectorLabel": "Escolha uma camada",
+ "loadingText": "Carregando... Por favor, mova-se para uma área onde a camada seja visível"
+ },
+
+ "wgu-bglayerswitcher": {
+ "title": "Alterar mapa de fundo"
+ },
+
+ "wgu-overviewmap": {
+ "title": "Mostrar mapa de visão geral"
+ },
+
+ "wgu-geocoder": {
+ "title": "Busca de Endereço",
+ "placeHolder": "Pesquisar por um endereço"
+ },
+
+ "wgu-geolocator": {
+ "title": "Geolocalização"
+ },
+
+ "wgu-helpwin": {
+ "title": "Sobre",
+ "textTitle": "Sobre Wegue",
+ "htmlContent": "WebGIS com OpenLayers e Vue.js Modelo e componentes reutilizáveis para aplicações de mapeamento web com OpenLayers e Vue.js",
+ "infoLinkUrl": "http://wegue.org/",
+ "infoLinkText": "Mais informações"
+ },
+
+ "wgu-infoclick": {
+ "title": "Informações de Clique no Mapa",
+ "mapClick": "Clique no mapa para obter informações sobre a posição clicada.",
+ "mediaClick": "Clique em um recurso no mapa para mostrar informações de mídia conectadas.",
+ "mediaInfoLinkText": null
+ },
+
+ "wgu-layerlist": {
+ "title": "Camadas"
+ },
+
+ "wgu-maprecorder": {
+ "title": "Gravador de Mapa",
+ "options": "Opções",
+ "videoFormat": "Formato de Vídeo",
+ "frameRate": "Taxa de quadros (frames/s)",
+ "bitRate": "Taxa de bits (MBits/s)",
+ "fileName": "Nome do Arquivo",
+ "start": "Iniciar",
+ "stop": "Parar",
+ "error": "Falha ao iniciar a gravação."
+ },
+
+ "wgu-zoomtomaxextent": {
+ "title": "Redefinir Extensão do Mapa"
+ },
+
+ "wgu-measuretool": {
+ "title": "Medir",
+ "distance": "Distância",
+ "length": "Comprimento",
+ "area": "Área",
+ "angle": "Ângulo",
+ "lengthKm": "{0} km",
+ "lengthMeter": "{0} m",
+ "areaSquareKm": "{0} km²",
+ "areaSquareMeter": "{0} m²"
+ },
+
+ "wgu-localeswitcher": {
+ "title": "Configurações de Idioma"
+ },
+
+ "wgu-themeswitcher": {
+ "title": "Modo Escuro"
+ }
+ }
+
\ No newline at end of file
diff --git a/tests/unit/specs/components/localeswitcher/LocaleSwitcher.spec.js b/tests/unit/specs/components/localeswitcher/LocaleSwitcher.spec.js
index d98dc039..f097c52c 100644
--- a/tests/unit/specs/components/localeswitcher/LocaleSwitcher.spec.js
+++ b/tests/unit/specs/components/localeswitcher/LocaleSwitcher.spec.js
@@ -9,9 +9,10 @@ const appConfig = {
lang: {
supported: {
en: 'English',
+ pt: 'Portugues',
de: 'Deutsch'
},
- fallback: 'de'
+ fallback: 'pt'
}
};
@@ -49,9 +50,10 @@ describe('localeswitcher/LocaleSwitcher.vue', () => {
it('has correct default data', () => {
expect(typeof LocaleSwitcher.data).to.equal('function');
expect(vm.lang).to.be.an('object');
- expect(Object.keys(vm.lang).length).to.eql(2);
+ expect(Object.keys(vm.lang).length).to.eql(3);
expect(vm.lang.en).to.eql('English');
expect(vm.lang.de).to.eql('Deutsch');
+ expect(vm.lang.pt).to.eql('Portugues');
});
afterEach(() => {
diff --git a/tests/unit/specs/util/Locale.spec.js b/tests/unit/specs/util/Locale.spec.js
index e4c0e102..b557a173 100644
--- a/tests/unit/specs/util/Locale.spec.js
+++ b/tests/unit/specs/util/Locale.spec.js
@@ -4,7 +4,8 @@ const appConfig = {
lang: {
supported: {
en: 'English',
- de: 'Deutsch'
+ de: 'Deutsch',
+ pt: 'Portugues'
},
fallback: 'de'
}
@@ -28,9 +29,10 @@ describe('LocaleUtil', () => {
it('getSupportedLanguages returns correct languages', () => {
const supported = LocaleUtil.getSupportedLanguages(appConfig);
expect(supported).to.be.an('object');
- expect(Object.keys(supported).length).to.eql(2);
+ expect(Object.keys(supported).length).to.eql(3);
expect(supported.en).to.eql('English');
expect(supported.de).to.eql('Deutsch');
+ expect(supported.pt).to.eql('Portugues');
});
it('getSupportedLanguages returns correct fallback language when lang is unconfigured', () => {
@@ -54,9 +56,11 @@ describe('LocaleUtil', () => {
const enSupported = LocaleUtil.isLanguageSupported('en', appConfig);
const deSupported = LocaleUtil.isLanguageSupported('de', appConfig);
const frSupported = LocaleUtil.isLanguageSupported('fr', appConfig);
+ const ptSupported = LocaleUtil.isLanguageSupported('pt', appConfig);
expect(enSupported).to.be.true;
expect(deSupported).to.be.true;
expect(frSupported).to.be.false;
+ expect(ptSupported).to.be.true;
});
it('isLanguageSupported returns correct results when lang is unconfigured', () => {