Update and wire in the pt_BR translations

This commit is contained in:
Dermot Duffy
2022-02-13 14:43:49 -08:00
parent 526e9b3250
commit 96ef5b244c
2 changed files with 33 additions and 10 deletions
+14 -8
View File
@@ -22,13 +22,13 @@
"live_provider": "Provedor de visualização ao vivo para esta câmera", "live_provider": "Provedor de visualização ao vivo para esta câmera",
"live_providers": { "live_providers": {
"auto": "Automatico", "auto": "Automatico",
"frigate": "Frigate", "ha": "Home Assistant (ou seja HLS, LL-HLS, WebRTC nativo)",
"frigate-jsmpeg": "Frigate JSMpeg", "frigate-jsmpeg": "Frigate JSMpeg",
"webrtc": "WebRTC" "webrtc-card": "Cartão WebRTC (ou seja Cartão WebRTC da AlexxIT)"
}, },
"webrtc": { "webrtc_card": {
"entity": "Entidade de câmera WebRTC (não é uma câmera Frigate)", "entity": "Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",
"url": "URL de câmera WebRTC" "url": "URL de câmera de cartão WebRTC"
}, },
"zone": "Zona Frigate" "zone": "Zona Frigate"
}, },
@@ -127,7 +127,13 @@
} }
}, },
"image": { "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)" "refresh_seconds": "Número de segundos após o qual atualizar (0 = nunca)"
}, },
"menu": { "menu": {
@@ -210,8 +216,8 @@
"invalid_configuration": "Configuração inválida", "invalid_configuration": "Configuração inválida",
"invalid_configuration_no_hint": "Nenhuma dica de local disponível (tipo incorreto ou ausente?)", "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 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_card_reported_error": "O componente WebRTC relatou um erro",
"webrtc_waiting": "Aguardando o carregamento do cartão WebRTC ...", "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_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", "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", "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",
+19 -2
View File
@@ -1,13 +1,28 @@
import * as en from './languages/en.json'; 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 // eslint-disable-next-line @typescript-eslint/no-explicit-any
const languages: any = { const languages: any = {
en: en, en: en,
pt_BR: pt_BR,
}; };
export function localize(string: string, search = '', replace = ''): string { 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; let translated: string;
try { try {
@@ -16,7 +31,9 @@ export function localize(string: string, search = '', replace = ''): string {
translated = string.split('.').reduce((o, i) => o[i], languages['en']); 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 !== '') { if (search !== '' && replace !== '') {
translated = translated.replace(search, replace); translated = translated.replace(search, replace);