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', () => {