From 96ef5b244c5451bf6cfa446f55bbd7e1e8f254a4 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Sun, 13 Feb 2022 14:43:49 -0800 Subject: [PATCH 1/9] Update and wire in the pt_BR translations --- src/localize/languages/pt_br.json | 22 ++++++++++++++-------- src/localize/localize.ts | 21 +++++++++++++++++++-- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index f3a5b3a0..bd4d1013 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -22,13 +22,13 @@ "live_provider": "Provedor de visualização ao vivo para esta câmera", "live_providers": { "auto": "Automatico", - "frigate": "Frigate", + "ha": "Home Assistant (ou seja HLS, LL-HLS, WebRTC nativo)", "frigate-jsmpeg": "Frigate JSMpeg", - "webrtc": "WebRTC" + "webrtc-card": "Cartão WebRTC (ou seja Cartão WebRTC da AlexxIT)" }, - "webrtc": { - "entity": "Entidade de câmera WebRTC (não é uma câmera Frigate)", - "url": "URL de câmera WebRTC" + "webrtc_card": { + "entity": "Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)", + "url": "URL de câmera de cartão WebRTC" }, "zone": "Zona Frigate" }, @@ -127,7 +127,13 @@ } }, "image": { - "src": "URL/dados da imagem estática para visualização de imagem", + "mode": "Modo de visualização de imagem", + "modes": { + "screensaver": "Logo Frigate embutido", + "url": "Imagem arbitrária especificada por URL", + "camera": "Instantâneo da câmera do Home Assistant da entidade da câmera" + }, + "url": "Imagem arbitrária especificada por URL", "refresh_seconds": "Número de segundos após o qual atualizar (0 = nunca)" }, "menu": { @@ -210,8 +216,8 @@ "invalid_configuration": "Configuração inválida", "invalid_configuration_no_hint": "Nenhuma dica de local disponível (tipo incorreto ou ausente?)", "upgrade_available": "Uma atualização de configuração de cartão automatizada está disponível, visite o editor de cartão visual", - "webrtc_reported_error": "O componente WebRTC relatou um erro", - "webrtc_waiting": "Aguardando o carregamento do cartão WebRTC ...", + "webrtc_card_reported_error": "O componente WebRTC relatou um erro", + "webrtc_card_waiting": "Aguardando o carregamento do cartão WebRTC ...", "no_cameras": "Nenhuma câmera válida encontrada, você deve configurar pelo menos uma entrada de câmera", "no_camera_id": "Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente", "duplicate_camera_id": "Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras", diff --git a/src/localize/localize.ts b/src/localize/localize.ts index d49a4ceb..6ed6b131 100644 --- a/src/localize/localize.ts +++ b/src/localize/localize.ts @@ -1,13 +1,28 @@ import * as en from './languages/en.json'; +import * as pt_BR from './languages/pt_br.json'; // eslint-disable-next-line @typescript-eslint/no-explicit-any const languages: any = { en: en, + pt_BR: pt_BR, }; export function localize(string: string, search = '', replace = ''): string { - const lang = (localStorage.getItem('selectedLanguage') || 'en').replace(/['"]+/g, '').replace('-', '_'); + // Get the browser language. + let lang = localStorage + .getItem('selectedLanguage') + ?.replace(/['"]+/g, '') + .replace('-', '_'); + // If that's not specified, try to find the Home Assistant language. + if (!lang) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const hass = (document.querySelector('home-assistant') as any)?.hass; + lang = hass.selectedLanguage || hass.language; + } + + // Default to English is there's still no language setting. + lang = lang || 'en'; let translated: string; try { @@ -16,7 +31,9 @@ export function localize(string: string, search = '', replace = ''): string { translated = string.split('.').reduce((o, i) => o[i], languages['en']); } - if (translated === undefined) translated = string.split('.').reduce((o, i) => o[i], languages['en']); + if (translated === undefined) { + translated = string.split('.').reduce((o, i) => o[i], languages['en']); + } if (search !== '' && replace !== '') { translated = translated.replace(search, replace); From 02c1965fabb2899945403e190ea21905a2423554 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:32:02 -0800 Subject: [PATCH 2/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index bd4d1013..3de227a9 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -24,7 +24,7 @@ "auto": "Automatico", "ha": "Home Assistant (ou seja HLS, LL-HLS, WebRTC nativo)", "frigate-jsmpeg": "Frigate JSMpeg", - "webrtc-card": "Cartão WebRTC (ou seja Cartão WebRTC da AlexxIT)" + "webrtc-card": "Cartão WebRTC (de @AlexxIT)" }, "webrtc_card": { "entity": "Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)", From 97928da49ac567e52c53ed9df3f02059977770e7 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:32:23 -0800 Subject: [PATCH 3/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index 3de227a9..5aab7e57 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -22,7 +22,7 @@ "live_provider": "Provedor de visualização ao vivo para esta câmera", "live_providers": { "auto": "Automatico", - "ha": "Home Assistant (ou seja HLS, LL-HLS, WebRTC nativo)", + "ha": "Home Assistant (HLS, LL-HLS ou WebRTC nativo)", "frigate-jsmpeg": "Frigate JSMpeg", "webrtc-card": "Cartão WebRTC (de @AlexxIT)" }, From 8e4947d95f02e220882c13b49dce1a83248abc4a Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:32:30 -0800 Subject: [PATCH 4/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index 5aab7e57..726a0c5b 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -28,7 +28,7 @@ }, "webrtc_card": { "entity": "Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)", - "url": "URL de câmera de cartão WebRTC" + "url": "URL da câmera do cartão WebRTC" }, "zone": "Zona Frigate" }, From 5ecb0283a4dec91ec0673e42919e8d0bb8aa62b7 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:32:41 -0800 Subject: [PATCH 5/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index 726a0c5b..037774a2 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -131,7 +131,7 @@ "modes": { "screensaver": "Logo Frigate embutido", "url": "Imagem arbitrária especificada por URL", - "camera": "Instantâneo da câmera do Home Assistant da entidade da câmera" + "camera": "Instantâneo da câmera do Home Assistant, da entidade de câmera" }, "url": "Imagem arbitrária especificada por URL", "refresh_seconds": "Número de segundos após o qual atualizar (0 = nunca)" From 571cfd0830f4bd8df9a4a73b42a34ab6ddb1dcb0 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:32:51 -0800 Subject: [PATCH 6/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index 037774a2..df35a8b3 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -216,7 +216,7 @@ "invalid_configuration": "Configuração inválida", "invalid_configuration_no_hint": "Nenhuma dica de local disponível (tipo incorreto ou ausente?)", "upgrade_available": "Uma atualização de configuração de cartão automatizada está disponível, visite o editor de cartão visual", - "webrtc_card_reported_error": "O componente WebRTC relatou um erro", + "webrtc_card_reported_error": "O cartão WebRTC relatou um erro", "webrtc_card_waiting": "Aguardando o carregamento do cartão WebRTC ...", "no_cameras": "Nenhuma câmera válida encontrada, você deve configurar pelo menos uma entrada de câmera", "no_camera_id": "Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente", From 058d177a055d00e65c6f394bec3941f3982a98f4 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:32:59 -0800 Subject: [PATCH 7/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index df35a8b3..9bc8d839 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -217,7 +217,7 @@ "invalid_configuration_no_hint": "Nenhuma dica de local disponível (tipo incorreto ou ausente?)", "upgrade_available": "Uma atualização de configuração de cartão automatizada está disponível, visite o editor de cartão visual", "webrtc_card_reported_error": "O cartão WebRTC relatou um erro", - "webrtc_card_waiting": "Aguardando o carregamento do cartão WebRTC ...", + "webrtc_card_waiting": "Aguardando o cartão WebRTC carregar ...", "no_cameras": "Nenhuma câmera válida encontrada, você deve configurar pelo menos uma entrada de câmera", "no_camera_id": "Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente", "duplicate_camera_id": "Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras", From 676904276d72ce7a1349b852a013d86ed5bcc35b Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:33:07 -0800 Subject: [PATCH 8/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index 9bc8d839..922892ee 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -218,7 +218,7 @@ "upgrade_available": "Uma atualização de configuração de cartão automatizada está disponível, visite o editor de cartão visual", "webrtc_card_reported_error": "O cartão WebRTC relatou um erro", "webrtc_card_waiting": "Aguardando o cartão WebRTC carregar ...", - "no_cameras": "Nenhuma câmera válida encontrada, você deve configurar pelo menos uma entrada de câmera", + "no_cameras": "Nenhuma câmera válida encontrada, você deve configurar pelo menos uma câmera", "no_camera_id": "Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente", "duplicate_camera_id": "Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras", "could_not_render_elements": "Não foi possível renderizar os elementos da imagem", From 15956e49de088667dbcb3bb8492a5b5ba678b47e Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 14 Feb 2022 19:33:15 -0800 Subject: [PATCH 9/9] Update src/localize/languages/pt_br.json Co-authored-by: Felipe Santos --- src/localize/languages/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localize/languages/pt_br.json b/src/localize/languages/pt_br.json index 922892ee..3b8a5f8e 100644 --- a/src/localize/languages/pt_br.json +++ b/src/localize/languages/pt_br.json @@ -215,7 +215,7 @@ "no_live_camera": "O parâmetro camera_entity deve ser definido e válido para este provedor ativo", "invalid_configuration": "Configuração inválida", "invalid_configuration_no_hint": "Nenhuma dica de local disponível (tipo incorreto ou ausente?)", - "upgrade_available": "Uma atualização de configuração de cartão automatizada está disponível, visite o editor de cartão visual", + "upgrade_available": "Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão", "webrtc_card_reported_error": "O cartão WebRTC relatou um erro", "webrtc_card_waiting": "Aguardando o cartão WebRTC carregar ...", "no_cameras": "Nenhuma câmera válida encontrada, você deve configurar pelo menos uma câmera",