ffplayout/frontend/i18n/locales/pt-BR.js
2024-10-18 12:29:52 +02:00

252 lines
12 KiB
JavaScript

export default {
ok: 'Ok',
cancel: 'Cancelar',
socketConnected: 'Aviso! stream conectada.',
socketDisconnected: 'Aviso! stream desconectado.',
alert: {
wrongLogin: 'Dados incorretos!',
},
button: {
login: 'Logar',
home: 'Início',
player: 'Player',
media: 'Armazenamento',
message: 'Legenda',
logging: 'Registro',
channels: 'Canais',
configure: 'Configurar',
logout: 'Sair',
},
error: {
notFound: 'Página não encontrada',
serverError: 'Erro do servidor interno',
},
input: {
username: 'Usuário',
password: 'Senha',
},
system: {
cpu: 'CPU',
cores: 'Núcleos',
load: 'Carga de CPU',
memory: 'Memória',
swap: 'Swap',
total: 'Total',
usage: 'Uso',
network: 'Rede',
in: 'Entrada',
out: 'Saída',
storage: 'Armazenamento',
device: 'Dispositivo',
size: 'Tamanho total',
used: 'Disponível',
},
control: {
noClip: 'Nenhum clipe está sendo reproduzido',
ingest: 'Ingestão ao Vivo',
start: 'Iniciar Serviço do Playout',
last: 'Ir para o último Clipe',
stop: 'Parar Serviço do Playout',
reset: 'Redefinir Estado do Playout',
restart: 'Reiniciar Serviço do Playout',
next: 'Ir para o próximo Clipe',
},
player: {
start: 'Horário',
file: 'Arquivo',
play: 'Play',
title: 'Título',
duration: 'Duração',
total: 'Total',
in: 'Início',
out: 'Fim',
ad: 'Ad',
edit: 'Editar',
delete: 'Deletar',
copy: 'Copiar playlist',
loop: 'Repetir Clipes na Playlist',
remote: 'Adicionar fonte (remota) à Playlist',
import: 'Importar arquivo de texto/.m3u8',
generate: 'Gerador de Playlist simples e avançado',
reset: 'Resetar Playlist',
save: 'Salvar Playlist',
deletePlaylist: 'Deletar Playlist',
unsavedProgram: 'Existe uma Programação que não está salva!',
copyTo: 'Copiar Programação atual para',
addEdit: 'Adicionar/Editar Fonte',
audio: 'Áudio',
customFilter: 'Filtro Personalizado',
deleteFrom: 'Excluir programação de',
deleteSuccess: 'Lista de reprodução excluída...',
generateProgram: 'Gerar Programação',
simple: 'Simples',
advanced: 'Avançado',
sorted: 'Ordenado',
shuffle: 'Aleatório',
shift: 'Diferença horária',
all: 'Todos',
addBlock: 'Adicionar bloco de tempo',
infinitInfo: 'O playout é executado no modo infinito. Nenhuma informação baseada em tempo é possível',
generateDone: 'Gerar lista de reprodução concluída...',
dateYesterday: 'A hora atual é anterior à hora de início da lista de reprodução!',
},
media: {
notExists: 'O armazenamento não existe!',
create: 'Criar Pasta',
upload: 'Enviar Arquivos',
delete: 'Deletar',
file: 'Arquivo',
folder: 'Pasta',
deleteQuestion: 'Tem certeza que deseja deletar?',
preview: 'Visualizar',
rename: 'Renomear Arquivo',
newFile: 'Novo nome de arquivo',
createFolder: 'Criar Pasta',
foldername: 'Nome da Pasta',
current: 'Atual',
overall: 'Total',
uploading: 'Enviando',
moveError: 'Erro ao mover',
deleteError: 'Erro ao deletar!',
folderExists: 'A pasta já existe',
folderCreate: 'Criação da pasta concluída...',
folderError: 'Erro ao criar pasta',
uploadError: 'Erro ao carregar',
fileExists: 'O arquivo já existe!',
recursive: 'Recursivo',
},
message: {
savePreset: 'Salvar predefinição',
newPreset: 'Nova predefinição',
delPreset: 'Excluir predefinição',
delText: 'Tem certeza de que deseja excluir a predefinição?',
placeholder: 'Mensagem',
xAxis: 'Eixo X',
yAxis: 'Eixo Y',
showBox: 'Mostrar caixa',
boxColor: 'Cor da caixa',
boxAlpha: 'Caixa Alfa',
size: 'Tamanho',
spacing: 'Espaçamento',
overallAlpha: 'Alfa geral',
fontColor: 'Cor da fonte',
fontAlpha: 'Fonte Alfa',
borderWidth: 'Largura da borda',
send: 'Enviar',
name: 'Nome',
saveDone: 'Salvar predefinição concluída!',
saveFailed: 'Falha ao salvar a predefinição!',
sendDone: 'Enviando com sucesso...',
sendFailed: 'O envio falhou...',
},
log: {
download: 'Baixar arquivo de registro',
reload: 'Recarregar',
},
advanced: {
title: 'Configurações avançadas',
decoder: 'Decoder',
encoder: 'Encoder',
filter: 'Filter',
ingest: 'Ingest',
updateSuccess: 'Configurações avançadas salva!',
updateFailed: 'Configurações avançadas foi falhado!',
warning: 'Aviso! Essas configurações são experimentais e destinadas apenas a usuários avançados familiarizados com o ffmpeg. Altere as configurações aqui apenas se tiver certeza do que está fazendo! As configurações podem tornar o sistema instável.',
},
config: {
channel: 'Canal',
user: 'Usuário',
channelConf: 'Configuração do Canal',
addChannel: 'Adicionar novo Canal',
name: 'Nome',
previewUrl: 'URL de Visualização',
extensions: 'Extensões Extras',
save: 'Salvar',
delete: 'Deletar',
updateChannelSuccess: 'Atualização da configuração do canal bem-sucedida!',
updateChannelFailed: 'Falha na atualização da configuração do canal!',
errorChannelDelete: 'O primeiro canal não pode ser deletado!',
deleteChannelSuccess: 'Exclusão da configuração da canal bem-sucedida!',
deleteChannelFailed: 'Falha na exclusão da configuração da canal!',
playoutConf: 'Configuração de Playout',
general: 'Geral',
rpcServer: 'RPC Server',
mail: 'Email',
logging: 'Registro',
processing: 'Processamento',
ingest: 'Ingestão',
playlist: 'Playlist',
storage: 'Armazenamento',
text: 'Texto',
task: 'Tarefa',
output: 'Saída',
placeholderPass: 'Senha',
help: 'Ajuda',
generalHelp: 'Às vezes pode acontecer de um arquivo estar corrompido, mas ainda ser reproduzível. Isso pode causar um erro de streaming para todos os arquivos seguintes. A única solução nesse caso é parar o ffplayout e reiniciá-lo.',
stopThreshold: 'O limite para o ffplayout se ele estiver fora de sincronia acima deste valor. Um número abaixo de 3 pode causar erros inesperados.',
mailHelp: `Envie mensagens de erro para um endereço de e-mail, como clipes ausentes, formato de playlist ausente ou inválido, etc. Deixe o destinatário em branco se não precisar disso.`,
mailInterval: 'O intervalo se refere ao número de segundos até o envio de um novo e-mail; o valor deve ser em incrementos de 10 e não inferior a 30 segundos.',
logHelp: 'Ajuste o comportamento de log.',
logDetect: 'Registra uma mensagem de erro se a linha de áudio estiver em silêncio por 15 segundos durante o processo de validação.',
logIgnore: 'Ignorar strings que contenham linhas correspondentes; o formato é uma lista separada por ponto e vírgula.',
processingHelp: 'O processamento padrão para todos os clipes garante a exclusividade.',
processingLogoPath: 'O logotipo só é usado se o caminho existir; o caminho é relativo à pasta de armazenamento.',
processingLogoScale: `Deixe a escala do logotipo em branco se não for necessário escalonamento. O formato é 'largura:altura', por exemplo: '100:-1' para escalonamento proporcional.`,
processingLogoPosition: `A posição é especificada no formato 'x:y'.`,
processingAudioTracks: 'Especifique quantas faixas de áudio devem ser processadas.',
processingAudioIndex: 'Qual linha de áudio usar, -1 para todas.',
processingAudioChannels: 'Defina a contagem de canais de áudio, se o áudio tiver mais canais do que estéreo.',
processingCustomFilter: 'Adicione filtros personalizados ao processamento. As saídas de filtro devem terminar com [c_v_out] para filtros de vídeo e [c_a_out] para filtros de áudio.',
processingVTTEnable: 'VTT só pode ser usado no modo HLS e apenas se houver arquivos *.vtt com o mesmo nome do arquivo de vídeo.',
processingVTTDummy: 'Um espaço reservado é necessário se não houver arquivo vtt.',
ingestHelp: `Execute um servidor para um fluxo de ingestão. Este fluxo substituirá o streaming normal até que termine. Há apenas um mecanismo de autenticação simples que verifica se o nome do fluxo está correto.`,
ingestCustomFilter: 'Aplique um filtro personalizado ao fluxo de ingestão da mesma forma que na seção de Processamento.',
playlistHelp: 'Gerenciamento de playlist.',
playlistDayStart: 'A que horas a playlist deve começar; deixe em branco se a playlist sempre começar do início.',
playlistLength: 'Duração alvo da playlist; quando estiver em branco, o comprimento real não será considerado.',
playlistInfinit: 'Reproduza infinitamente um único arquivo de playlist.',
storageHelp: 'Configurações de armazenamento, os locais são relativos ao armazenamento do canal.',
storageFiller: 'Use preenchimento para tocar no lugar de um arquivo ausente ou para preencher o tempo restante para atingir um total de 24 horas. Pode ser um arquivo ou pasta e será repetido quando necessário.',
storageExtension: 'Especifique quais arquivos procurar e usar.',
storageShuffle: 'Escolha arquivos aleatoriamente (no modo de pasta e geração de playlist).',
textHelp: 'Sobrepor texto em combinação com libzmq para manipulação remota de texto.',
textFont: 'Caminho relativo ao armazenamento do canal.',
textFromFile: 'Extração de texto a partir de um nome de arquivo.',
textStyle: 'Defina os parâmetros drawtext, como posição, cor, etc. Postar texto pela API substituirá isso.',
textRegex: 'Formate nomes de arquivos para extrair um título deles.',
taskHelp: 'Execute um programa externo com um objeto de mídia fornecido. O objeto de mídia está em formato JSON e contém todas as informações sobre o clipe atual. O programa externo pode ser um script ou binário, mas deve ser executado apenas por um curto período de tempo.',
taskPath: 'Caminho para o executável.',
outputHelp: `A codificação final do playout, ajuste as configurações de acordo com suas necessidades. Use o modo 'stream' e ajuste o 'Parâmetro de Saída' quando quiser fazer streaming para um servidor RTMP/RTSP/SRT/... No ambiente de produção, não sirva playlists HLS com ffplayout; use Nginx ou outro servidor web!`,
restartTile: 'Reiniciar Playout',
restartText: 'Reiniciar o ffplayout para aplicar as alterações?',
updatePlayoutSuccess: 'Sucesso na atualização da configuração do playout!',
updatePlayoutFailed: 'Falha na atualização da configuração do playout!',
forbiddenPlaylistPath: 'Acesso proibido: A pasta da lista de reprodução não pode ser aberta',
noPlayoutConfig: 'Nenhuma configuração de playout encontrada!',
publicPath: 'Public (HLS) Path',
playlistPath: 'Playlist Path',
storagePath: 'Storage Path',
sharedStorage: 'O ffplayout é executado dentro de um contêiner; use a mesma raiz de armazenamento para todos os canais!',
},
user: {
title: 'Configuração de usuário',
add: 'Adicionar usuário',
delete: 'Deletar',
name: 'Nome de usuário',
mail: 'Email',
password: 'Senha',
newPass: 'Nova Senha',
confirmPass: 'Confirmar Senha',
save: 'Salvar',
admin: 'Administrador',
deleteNotPossible: 'Excluir o usuário atual não é possível!',
deleteSuccess: 'Usuário deletado com sucesso!',
deleteError: 'Erro ao deletar usuário',
addSuccess: 'Usuário adicionado com sucesso!',
addFailed: 'Falha ao adicionar usuário!',
mismatch: 'Senhas não coincidem!',
updateSuccess: 'Atualização do perfil do usuário bem-sucedida! ',
updateFailed: 'Atualização do perfil do usuário falhou!',
},
}