2741 lines
119 KiB
Dart
2741 lines
119 KiB
Dart
/// ============================================================
|
||
/// 闲言APP — 葡萄牙语翻译数据
|
||
/// 创建时间: 2026-05-29
|
||
/// 更新时间: 2026-06-16
|
||
/// 作用: 葡萄牙语(pt)翻译文本
|
||
/// 上次更新: 补全defaultSentence翻译
|
||
/// ============================================================
|
||
|
||
import '../types/t.dart';
|
||
|
||
const pt = T(
|
||
nav: TNav(
|
||
home: 'Xianyan',
|
||
discover: 'Descobrir',
|
||
profile: 'Eu',
|
||
footprint: 'Rastro',
|
||
inspiration: 'Inspiração',
|
||
),
|
||
common: TCommon(
|
||
cancel: 'Cancelar',
|
||
ok: 'OK',
|
||
save: 'Salvar',
|
||
confirm: 'Confirmar',
|
||
clear: 'Limpar',
|
||
reset: 'Redefinir',
|
||
delete: 'Excluir',
|
||
success: 'Sucesso',
|
||
failed: 'Falhou',
|
||
enabled: 'Ativado',
|
||
disabled: 'Desativado',
|
||
loading: 'Carregando...',
|
||
view: 'Visualizar',
|
||
search: 'Buscar configurações...',
|
||
entriesCountUnit: 'itens',
|
||
copyright: '2026 Equipe Xianyan',
|
||
done: 'Concluído',
|
||
all: 'Tudo',
|
||
refresh: 'Atualizar',
|
||
retry: 'Tentar novamente',
|
||
copy: 'Copiar',
|
||
searchHistory: 'Histórico de pesquisa',
|
||
gotIt: 'Entendi',
|
||
featureUnavailable: 'Esta função está temporariamente indisponível',
|
||
featureNotSupported: 'Esta função não é suportada neste dispositivo',
|
||
inDevelopment: 'Em desenvolvimento',
|
||
nAvailable: '{0} disponíveis',
|
||
appName: 'Xianyan',
|
||
exportFailed: 'Falha na exportação',
|
||
),
|
||
home: THome(
|
||
base: THomeBase(
|
||
batteryCritical: 'Bateria muito baixa! Carregue agora',
|
||
batteryLow: 'Bateria baixa, lembre-se de carregar',
|
||
defaultSentence:
|
||
'A vida não é esperar a tempestade passar, é aprender a dançar na chuva.',
|
||
defaultFeedName: 'Xianyan',
|
||
authorPrefix: '— ',
|
||
numberWan: 'w',
|
||
numberThousand: 'k',
|
||
dailyRecommendation: 'Recomendação do dia',
|
||
findingNewSentences: 'Procurando novas citações...',
|
||
gettingTodayRecommendation: 'Carregando recomendação...',
|
||
createCard: 'Criar cartão',
|
||
editThisSentence: 'Editar citação',
|
||
noSentences: 'Sem citações',
|
||
pullDownToRefresh: 'Tente atualizar',
|
||
networkConnectionFailed: 'Falha na conexão de rede',
|
||
clickToRetry: 'Toque para tentar novamente',
|
||
sentenceCopied: 'Citação copiada',
|
||
offlineMode: 'Offline — Dados em cache',
|
||
quoteSquare: 'Praça de citações',
|
||
dragToSort: 'Arraste para ordenar',
|
||
sortNewest: 'Recentes',
|
||
sortHot: 'Popular',
|
||
sortClassic: 'Clássico',
|
||
noContent: 'Sem conteúdo',
|
||
recentlyOpened: 'Abertos recentemente',
|
||
selectCustomTool: 'Selecionar ferramenta',
|
||
collapse: 'Recolher',
|
||
openAnyPageAutoRecord: 'Abrir qualquer página\nRegistro automático',
|
||
longPressToSet: 'Pressione para configurar',
|
||
shareAppSignature: '— Xianyan APP',
|
||
shareFailed: 'Falha ao compartilhar',
|
||
loadingContent: 'Carregando conteúdo...',
|
||
autoRefreshSeconds: 'Atualização automática em {0}s',
|
||
),
|
||
sentenceDetail: TSentenceDetail(
|
||
longPressToSelect: 'Toque longo para selecionar',
|
||
originalContent: 'Conteúdo original',
|
||
liked: 'Curtido',
|
||
like: 'Curtir',
|
||
likeCanceled: 'Curtida removida',
|
||
likeToast: 'Curtido',
|
||
favorited: 'Favoritado',
|
||
favorite: 'Favoritar',
|
||
favoriteCanceled: 'Favorito removido',
|
||
favoriteToast: 'Favoritado',
|
||
readLaterMarked: 'Marcado',
|
||
readLaterLabel: 'Ler depois',
|
||
alreadyInReadLater: 'Já está na lista de leitura',
|
||
share: 'Compartilhar',
|
||
shareSentence: 'Compartilhar citação',
|
||
sentenceDetail: 'Detalhes da citação',
|
||
bookmarkAdded: 'Favorito adicionado',
|
||
bookmarkRemoved: 'Favorito removido',
|
||
bookmark: 'Favorito',
|
||
tag: 'Tag',
|
||
externalSearch: 'Pesquisa externa',
|
||
readAloud: 'Ler em voz alta',
|
||
searchEmpty: 'Conteúdo de pesquisa vazio',
|
||
searchUrlError: 'Não foi possível criar URL de pesquisa',
|
||
searchFailed: 'Pesquisa externa falhou',
|
||
addTag: 'Adicionar tag',
|
||
tagInputHint: 'Nome da tag',
|
||
tagAdded: 'Tag adicionada',
|
||
tagAddFailed: 'Falha ao adicionar tag',
|
||
addLabel: 'Adicionar',
|
||
editSentence: 'Editar citação',
|
||
blocked: 'Bloqueado',
|
||
block: 'Bloquear',
|
||
notInterestedToast: 'Marcado como não interessado',
|
||
notInterested: 'Não interessado',
|
||
searchQuery: 'Pesquisar "{0}"',
|
||
),
|
||
readLater: TReadLater(
|
||
readLaterLabel: 'Ler depois',
|
||
readLaterPageTitle: 'Ler depois',
|
||
readLaterCountFormat: '{0} itens',
|
||
readLaterEmpty: 'Sem itens para ler depois',
|
||
readLaterEmptyHint: 'Deslize em uma citação para adicionar',
|
||
imageType: 'Imagem',
|
||
videoType: 'Vídeo',
|
||
audioType: 'Áudio',
|
||
fileType: 'Arquivo',
|
||
linkType: 'Link',
|
||
docType: 'Documento',
|
||
textType: 'Texto',
|
||
imageEmoji: 'Imagem',
|
||
videoEmoji: 'Vídeo',
|
||
audioEmoji: 'Áudio',
|
||
fileEmoji: 'Arquivo',
|
||
textEmoji: 'Texto',
|
||
archiveLabel: 'Arquivo compactado',
|
||
fileLabel: 'Arquivo',
|
||
removedFromReadLater: 'Removido de ler depois',
|
||
operationFailed: 'Operação falhou',
|
||
detailLabel: 'Detalhes',
|
||
closeLabel: 'Fechar',
|
||
sizeLabel: 'Tamanho',
|
||
typeLabel: 'Tipo',
|
||
searchPlaceholder: 'Pesquisar em Ler depois',
|
||
allLabel: 'Tudo',
|
||
selectedLabel: 'Selecionado',
|
||
cancelLabel: 'Cancelar',
|
||
selectAllLabel: 'Selecionar tudo',
|
||
deleteLabel: 'Excluir',
|
||
markReadLabel: 'Marcar como lido',
|
||
markedReadLabel: 'Marcado como lido',
|
||
markAllReadLabel: 'Marcar tudo como lido',
|
||
markAllReadConfirm: 'Marcar todos os itens como lidos?',
|
||
confirmLabel: 'Confirmar',
|
||
batchDeletedLabel: '{0} itens excluídos',
|
||
sortLabel: 'Ordenar por',
|
||
sortTimeDesc: 'Tempo (Mais recente)',
|
||
sortTimeAsc: 'Tempo (Mais antigo)',
|
||
sortType: 'Por tipo',
|
||
sortSize: 'Por tamanho',
|
||
copyLabel: 'Copiar',
|
||
copiedLabel: 'Copiado',
|
||
copyLinkLabel: 'Copiar link',
|
||
shareLabel: 'Compartilhar',
|
||
removeReadLaterLabel: 'Remover de Ler depois',
|
||
openBrowserLabel: 'Abrir no navegador',
|
||
newFolderLabel: 'Nova pasta',
|
||
folderNameHint: 'Nome da pasta',
|
||
renameFolderLabel: 'Renomear pasta',
|
||
newNameHint: 'Novo nome',
|
||
renameLabel: 'Renomear',
|
||
deleteFolderLabel: 'Excluir pasta',
|
||
moveToFolderLabel: 'Mover para pasta',
|
||
unfiledLabel: 'Não arquivado',
|
||
createFolderAndShare: '➕ Nova pasta',
|
||
manageTagsLabel: '🏷️ Gerenciar tags',
|
||
newTagHint: 'Inserir nova tag',
|
||
addLabel: 'Adicionar',
|
||
syncingLabel: 'Sincronizando...',
|
||
syncFailedLabel: 'Sincronização falhou',
|
||
syncSuccessLabel: 'Sincronização bem-sucedida',
|
||
batchAddTagLabel: 'Adicionar tags em lote',
|
||
tagNameHint: 'Inserir nome da tag',
|
||
shareToSharedListLabel: 'Compartilhar na lista compartilhada',
|
||
noSharedListHint: 'Sem listas compartilhadas, crie uma primeiro',
|
||
aiSummaryLabel: 'Resumo IA',
|
||
generatingAiSummaryLabel: 'Gerando resumo IA...',
|
||
aiSummaryFailedLabel: 'Falha ao gerar resumo IA',
|
||
noSummaryAvailable: 'Nenhum resumo disponível',
|
||
copySummaryLabel: 'Copiar',
|
||
copiedSummaryLabel: 'Resumo copiado',
|
||
qrShareTitle: 'Compartilhar "{0}"',
|
||
qrScanHint: 'Escanear código QR para entrar na lista compartilhada',
|
||
copyShareLinkLabel: 'Copiar link',
|
||
selectActionLabel: 'Selecionar ação',
|
||
createNewListAndShare: '➕ Criar nova lista e compartilhar',
|
||
discoverLabel: 'Descobrir',
|
||
dragFilesToReadLater: 'Soltar arquivos em Ler depois',
|
||
folderLabel: 'Pasta',
|
||
tagLabel: 'Tag',
|
||
locationType: 'Localização',
|
||
minutesAgo: '{0} min atrás',
|
||
hoursAgo: '{0} h atrás',
|
||
daysAgo: '{0} dias atrás',
|
||
addedToReadLater: '{0} arquivos adicionados a Ler depois',
|
||
allTagsLabel: 'Todas as tags',
|
||
removeTagConfirm: 'Tag "{0}" removida',
|
||
tagAdded: 'Tag "{0}" adicionada',
|
||
tagRemoved: 'Tag "{0}" removida',
|
||
folderCreated: 'Pasta "{0}" criada',
|
||
folderRenamed: 'Renomeada',
|
||
folderDeleted: 'Pasta excluída',
|
||
movedToFolder: 'Movida para "{0}"',
|
||
removedFromFolder: 'Removida da pasta',
|
||
sharedToList: 'Compartilhada em "{0}"',
|
||
),
|
||
),
|
||
discover: TDiscover(
|
||
base: TDiscoverBase(
|
||
browse: 'Navegar',
|
||
likes: 'Curtidas',
|
||
favorite: 'Favoritos',
|
||
readLater: 'Depois',
|
||
notes: 'Notas',
|
||
loginToSync: 'Faça login para sincronizar',
|
||
login: 'Entrar',
|
||
noInspiration: 'Sem inspiração',
|
||
refresh: 'Atualizar',
|
||
listView: 'Lista',
|
||
gridView: 'Cartões',
|
||
pinned: 'Fixado',
|
||
conversations: 'Conversas',
|
||
pullDownTools: 'Puxe para ferramentas',
|
||
releaseToRefresh: 'Solte para atualizar',
|
||
remark: 'Observação',
|
||
originalName: 'Nome original',
|
||
remarkPlaceholder: 'Nome da observação (vazio = original)',
|
||
saveRemark: 'Salvar observação',
|
||
loginRequired: 'Faça login primeiro',
|
||
comingSoon: 'Em breve',
|
||
browseHistory: 'Histórico',
|
||
likesHistory: 'Curtidas',
|
||
myNotes: 'Minhas notas',
|
||
readLaterFull: 'Ler depois',
|
||
makeCard: 'Criar cartão',
|
||
favoriteAction: 'Favoritar',
|
||
tryOtherCategory: 'Tente outra categoria',
|
||
shareAction: 'Compartilhar',
|
||
shareText: 'Compartilhar Inspiração',
|
||
cardSaved: 'Cartão salvo',
|
||
cardSaveFailed: 'Falha ao salvar',
|
||
copiedToClipboard: 'Copiado para a área de transferência',
|
||
errorLoading: 'Falha ao carregar, toque para tentar novamente',
|
||
favorited: 'Favoritado',
|
||
relatedRecommend: 'Recomendados',
|
||
notInterested: 'Não interessado',
|
||
dailyRead: 'Leitura diária',
|
||
changeGroup: 'Atualizar',
|
||
relatedRecommendShort: 'Recomendados',
|
||
noRecommendContent: 'Sem recomendações',
|
||
inspiration: 'Inspiração',
|
||
stopReading: 'Parar',
|
||
readAloud: 'Ler em voz alta',
|
||
inspirationCategory: 'Categorias',
|
||
searchLabel: 'Pesquisar',
|
||
loadMore: 'Carregar mais',
|
||
// Nomes e descrições de sessão
|
||
sessionReadLater: 'Ler depois',
|
||
sessionReadLaterDesc: 'Salvar conteúdo para ler depois',
|
||
sessionInspiration: 'Inspiração',
|
||
sessionInspirationDesc:
|
||
'Citações populares · Categorias · Escolha do dia',
|
||
sessionFootprint: 'Histórico',
|
||
sessionFootprintDesc: 'Ler · Curtidas · Favoritos · Ler depois · Notas',
|
||
sessionDailyCard: 'Cartão do dia',
|
||
sessionDailyCardDesc: 'Citação do dia · Mudar estilo · Compartilhar',
|
||
sessionTemplate: 'Modelos de papel de parede',
|
||
sessionTemplateDesc: 'Modelos · Categorias · Aplicar instantaneamente',
|
||
sessionReadingReport: 'Relatório de leitura',
|
||
sessionReadingReportDesc:
|
||
'Semana/Mês/Ano · Tendências · Mapa de calor · Conquistas',
|
||
sessionWeather: 'Poesia e Clima',
|
||
sessionWeatherDesc: 'Clima em tempo real · Poemas contextuais · Humor',
|
||
sessionPoetry: 'Poesia do dia',
|
||
sessionPoetryDesc:
|
||
'Recomendação diária · Poema completo · Tradução e análise',
|
||
sessionDailyFortune: 'Horóscopo do dia',
|
||
sessionDailyFortuneDesc: 'Horóscopo · Análise 6D · Indicadores de sorte',
|
||
sessionSolarTerm: 'Termos solares',
|
||
sessionSolarTermDesc: '24 termos solares · Poemas · Costumes',
|
||
sessionKnowledgeGraph: 'Grafo de conhecimento',
|
||
sessionKnowledgeGraphDesc:
|
||
'Explorar conexões entre poemas, autores e temas',
|
||
sessionStudyPlan: 'Plano de estudo',
|
||
sessionStudyPlanDesc: 'Criar plano de estudo, manter consistência diária',
|
||
sessionProgress: 'Progresso',
|
||
sessionProgressDesc: 'Hoje · Semana · Mês · Ano · Contagem regressiva',
|
||
sessionFileTransfer: 'Transferência de arquivos',
|
||
sessionFileTransferDesc: 'LAN · Bluetooth · WebRTC · USB',
|
||
sessionRssFeed: 'Feed RSS',
|
||
sessionRssFeedDesc: 'Assinaturas RSS/XML de terceiros',
|
||
sessionTranslate: 'Tradutor',
|
||
sessionTranslateDesc: 'Tradução multilíngue · Detecção automática',
|
||
sessionLeisure: 'Lazer',
|
||
sessionLeisureDesc:
|
||
'Flores · Gastronomia · Pontos turísticos · Linha do tempo',
|
||
sessionCtcNoteRepo: 'Repo de Notas',
|
||
sessionCtcNoteRepoDesc:
|
||
'Armazenamento na nuvem · Sync · Acesso em qualquer lugar',
|
||
),
|
||
chatFlow: TChatFlow(
|
||
chatFlow: '',
|
||
chatSettings: 'Configuracoes do chat',
|
||
defaultConversation: '',
|
||
searchMessages: '',
|
||
categoryAll: '',
|
||
categoryHot: '',
|
||
categoryLove: '',
|
||
categoryNature: '',
|
||
categoryMotivate: '',
|
||
categoryLiterature: '',
|
||
categoryMovie: '',
|
||
expandCategories: '',
|
||
collapseCategories: '',
|
||
inputPlaceholderChat: '',
|
||
inputPlaceholderReadlater: '',
|
||
attachmentGallery: '',
|
||
attachmentCamera: '',
|
||
attachmentVideo: '',
|
||
attachmentAudio: '',
|
||
attachmentFile: '',
|
||
attachmentLocation: '',
|
||
attachmentLink: '',
|
||
attachmentRichText: '',
|
||
hiddenSessions: '',
|
||
noHiddenSessions: '',
|
||
swipeToHide: '',
|
||
unhide: '',
|
||
hidden: '',
|
||
searchSessionOrContent: 'Buscar sessão ou conteúdo…',
|
||
noSearchResults: 'Nenhum resultado encontrado',
|
||
sessionSection: 'Sessões',
|
||
messageContentSection: 'Conteúdo da mensagem',
|
||
pin: 'Fixar',
|
||
unpin: 'Desafixar',
|
||
hideSession: 'Ocultar',
|
||
unhideSession: 'Mostrar',
|
||
remark: 'Observação',
|
||
markAsRead: 'Marcar como lido',
|
||
markAsUnread: 'Marcar como não lido',
|
||
muteNotifications: 'Silenciar notificações',
|
||
unmuteNotifications: 'Ativar notificações',
|
||
hideSettings: 'Configurações de ocultação',
|
||
deleteSession: 'Excluir',
|
||
emptyReadlater: 'Sem conteúdo para ler depois',
|
||
emptyChat: 'Sem mensagens',
|
||
emptyReadlaterHint: 'Salve conteúdo para ler depois',
|
||
emptyChatHint: 'Envie uma mensagem para começar a conversa',
|
||
newConversation: 'Nova conversa',
|
||
conversationNamePlaceholder: 'Nome da conversa',
|
||
create: 'Criar',
|
||
sentToCategory: 'Enviado para',
|
||
sent: 'Enviado',
|
||
readlaterList: 'Lista de leitura posterior',
|
||
manageTags: 'Gerenciar etiquetas',
|
||
manageFolders: 'Gerenciar pastas',
|
||
cloudSync: 'Sincronização na nuvem',
|
||
aiSummary: 'Resumo IA',
|
||
sharedCollab: 'Colaboração compartilhada',
|
||
deviceSync: 'Sincronização entre dispositivos',
|
||
updateWidget: 'Atualizar widget',
|
||
clipboardMonitor: 'Monitor de área de transferência',
|
||
markAllRead: 'Marcar tudo como lido',
|
||
exportContent: 'Exportar conteúdo',
|
||
clearReadlater: 'Limpar leitura posterior',
|
||
allMarkedRead: 'Tudo marcado como lido',
|
||
clearReadlaterConfirm:
|
||
'Limpar os {count} itens da leitura posterior? Esta ação não pode ser desfeita.',
|
||
clearButton: 'Limpar',
|
||
readlaterCleared: 'Leitura posterior limpa',
|
||
readlaterStats: 'Total: {total} · Lidos: {read} · Não lidos: {unread}',
|
||
tagManagement: 'Gerenciamento de etiquetas',
|
||
addTagButton: 'Adicionar',
|
||
noTags: 'Sem etiquetas',
|
||
addTagHint: 'Toque para adicionar etiquetas',
|
||
addTagTitle: 'Adicionar etiqueta',
|
||
tagNamePlaceholder: 'Nome da etiqueta',
|
||
tagDeleted: 'Etiqueta "{tag}" excluída',
|
||
tagAdded: 'Etiqueta "{tag}" adicionada',
|
||
tagFilterTitle: 'Etiqueta: {tag}',
|
||
tagMessageCount: '{count} mensagens',
|
||
folderManagement: 'Gerenciamento de pastas',
|
||
createFolderButton: 'Nova',
|
||
noFolders: 'Sem pastas',
|
||
createFolderHint: 'Toque para criar pasta',
|
||
folderDeleted: 'Pasta "{name}" excluída',
|
||
createFolderTitle: 'Nova pasta',
|
||
folderNamePlaceholder: 'Nome da pasta',
|
||
folderCreated: 'Pasta "{name}" criada',
|
||
renameFolderTitle: 'Renomear pasta',
|
||
messageCountUnit: '{count} mensagens',
|
||
addTagAction: 'Adicionar',
|
||
aiSummaryAction: 'Resumo IA',
|
||
smartTagAction: 'Etiquetas inteligentes',
|
||
archiveToFolder: 'Arquivar na pasta',
|
||
existingTags: 'Etiquetas existentes: {tags}',
|
||
generatingSummary: 'Gerando resumo...',
|
||
summaryCopied: 'Resumo copiado',
|
||
aiSummaryUnavailable: 'Resumo IA indisponível',
|
||
aiSummaryFailed: 'Erro no resumo IA: {error}',
|
||
analyzingTags: 'Analisando...',
|
||
emptyContentNoTags: 'Conteúdo vazio, não é possível sugerir etiquetas',
|
||
noTagSuggestions: 'IA sem sugestões de etiquetas',
|
||
smartTagSuggestionTitle: 'Sugestões de etiquetas inteligentes',
|
||
aiSuggestedTags: 'Etiquetas sugeridas pela IA: {tags}',
|
||
tagsAddedCount: '{count} etiquetas adicionadas',
|
||
addAllTags: 'Adicionar todas',
|
||
selectFolder: 'Selecionar pasta',
|
||
archivedToFolder: 'Arquivado em "{name}"',
|
||
createFolderFirst: 'Crie uma pasta primeiro',
|
||
exportAsJsonAction: 'Exportar como JSON',
|
||
exportAsMarkdownAction: 'Exportar como Markdown',
|
||
exportAsZipAction: 'Exportar como ZIP',
|
||
exportedToClipboardJson:
|
||
'{count} itens exportados para a área de transferência (JSON)',
|
||
exportedToClipboardMarkdown:
|
||
'{count} itens exportados para a área de transferência (Markdown)',
|
||
readlaterExportTitle: 'Exportar leitura posterior',
|
||
zipExportSuccess: 'Exportação ZIP concluída',
|
||
exportFailedMsg: 'Erro na exportação: {error}',
|
||
readlaterExportSubject: 'Exportação de leitura posterior',
|
||
syncing: 'Sincronizando...',
|
||
syncComplete:
|
||
'Sincronização concluída ↑{uploaded} ↓{downloaded} ⚡{conflicts}',
|
||
syncFailed: 'Erro na sincronização: {error}',
|
||
noContentForSummary: 'Sem conteúdo para gerar resumo',
|
||
generatingAiSummary: 'Gerando resumo IA...',
|
||
summaryCopiedToClipboard: 'Resumo copiado para a área de transferência',
|
||
aiSummaryUnavailableRetry:
|
||
'Resumo IA indisponível, tente novamente mais tarde',
|
||
sharedCollabTitle: 'Colaboração compartilhada',
|
||
createButton: 'Criar',
|
||
noSharedLists: 'Sem listas compartilhadas',
|
||
createSharedListHint: 'Crie uma lista compartilhada para colaborar',
|
||
sharedListStats: '{members} membros · {messages} mensagens',
|
||
createSharedListTitle: 'Criar lista compartilhada',
|
||
listNamePlaceholder: 'Nome da lista',
|
||
sharedListCreated: 'Lista compartilhada "{name}" criada',
|
||
membersCount: 'Membros: {count}',
|
||
messagesCount: 'Mensagens: {count}',
|
||
createdDate: 'Criado: {date}',
|
||
leftSharedList: 'Lista compartilhada abandonada',
|
||
leaveList: 'Sair da lista',
|
||
discoveringDevices: 'Procurando dispositivos...',
|
||
noDevicesFound:
|
||
'Nenhum dispositivo encontrado, verifique se estão conectados',
|
||
selectTargetDevice: 'Selecionar dispositivo de destino',
|
||
syncingToDevice: 'Sincronizando com {device}...',
|
||
syncSendFailed: 'Falha ao enviar sincronização',
|
||
deviceDiscoveryFailed: 'Falha ao procurar dispositivos: {error}',
|
||
widgetUpdated: 'Widget atualizado',
|
||
widgetUpdateFailed: 'Falha ao atualizar widget: {error}',
|
||
clipboardMonitorTitle: 'Monitor de área de transferência',
|
||
clipboardStatusMonitoring: 'Status: Monitorando',
|
||
clipboardStatusOff: 'Status: Desativado',
|
||
clipboardMonitorEnabled: 'Monitor de área de transferência ativado',
|
||
clipboardMonitorDisabled:
|
||
'Monitor de área de transferência desativado',
|
||
enableMonitor: 'Ativar monitor',
|
||
disableMonitor: 'Desativar monitor',
|
||
viewClipboard: 'Ver área de transferência',
|
||
clipboardContent: 'Conteúdo da área de transferência: {content}',
|
||
clipboardEmpty: 'Área de transferência vazia',
|
||
),
|
||
chatSettings: TChatSettings(
|
||
appearance: '',
|
||
backgroundImage: '',
|
||
setBackground: '',
|
||
themeColor: '',
|
||
customAccentColor: '',
|
||
data: '',
|
||
exportMessages: '',
|
||
exportAsJson: '',
|
||
importMessages: '',
|
||
importFromJson: '',
|
||
shareChatRecord: '',
|
||
sync: '',
|
||
syncInfo: '',
|
||
syncInfoDetail: '',
|
||
gotIt: '',
|
||
categoryManagement: '',
|
||
manageCategories: '',
|
||
editCategoryNames: '',
|
||
editCategory: '',
|
||
enterNewName: '',
|
||
recycleBin: '',
|
||
viewDeletedMessages: '',
|
||
recycleBinEmpty: '',
|
||
recycleBinCleared: '',
|
||
emptyBin: '',
|
||
close: '',
|
||
restore: '',
|
||
messageRestored: '',
|
||
permanentDelete: '',
|
||
messagePermanentlyDeleted: '',
|
||
dangerZone: '',
|
||
clearMessages: '',
|
||
clearAllMessagesConfirm: '',
|
||
messagesCleared: '',
|
||
exportFailed: '',
|
||
fromAlbum: '',
|
||
restoreDefault: '',
|
||
defaultPurple: '',
|
||
oceanBlue: '',
|
||
mintGreen: '',
|
||
warmOrange: '',
|
||
roseRed: '',
|
||
skyCyan: '',
|
||
brownCoffee: '',
|
||
silverGrey: '',
|
||
selectAccentColor: '',
|
||
),
|
||
toolCenter: TToolCenter(
|
||
toolCenter: '',
|
||
discoverMoreHelpers: '',
|
||
toolCount: '',
|
||
myFavorites: '',
|
||
recentlyUsed: '',
|
||
startUsingTools: '',
|
||
viewAll: '',
|
||
useCountTimes: '',
|
||
recommendedTools: '',
|
||
refreshBatch: '',
|
||
editLayout: '',
|
||
importTool: '',
|
||
stayTuned: '',
|
||
toolSettings: '',
|
||
searchTools: '',
|
||
searchHistory: '',
|
||
clearHistory: '',
|
||
noSearchResult: '',
|
||
toolRemoved: '',
|
||
dragToRemove: '',
|
||
releaseToRemove: '',
|
||
closeToolPanel: '',
|
||
tapToClose: '',
|
||
cancelFavorite: '',
|
||
pinToTop: '',
|
||
cancelPin: '',
|
||
newBadge: '',
|
||
tapToOpen: '',
|
||
longPressForMore: '',
|
||
),
|
||
toolStats: TToolStats(
|
||
usageCount: '',
|
||
lastUsed: '',
|
||
never: '',
|
||
rating: '',
|
||
noRating: '',
|
||
usageTrend: '',
|
||
version: '',
|
||
),
|
||
),
|
||
profile: TProfile(
|
||
title: 'Eu',
|
||
myFavorites: 'Favoritos',
|
||
readingHistory: 'Histórico',
|
||
darkMode: 'Modo Escuro',
|
||
accountSettings: 'Conta',
|
||
dataManagement: 'Dados',
|
||
offlineMode: 'Offline',
|
||
cacheManagement: 'Cache',
|
||
themeCustomization: 'Tema',
|
||
desktopWidgets: 'Widgets',
|
||
sentenceSource: 'Fontes',
|
||
aboutApp: 'Sobre',
|
||
rateApp: 'Avaliar',
|
||
debugMode: 'Depurar',
|
||
tapToLogin: 'Toque para entrar',
|
||
defaultUserName: 'Usuário Xianyan',
|
||
appSlogan: 'Descubra citações, crie cartões',
|
||
freeTier: 'Gratuito',
|
||
points: 'Pontos',
|
||
checkin: 'Check-in',
|
||
notes: 'Notas',
|
||
quickActions: 'Ações rápidas',
|
||
scanQr: 'Escanear',
|
||
nearbyTransfer: 'Transferir',
|
||
payment: 'Pagamento',
|
||
selectScanMethod: 'Selecionar método de scan',
|
||
scanQrLogin: 'Login QR',
|
||
scanQrCode: 'Escanear QR code',
|
||
appStoreNotFound: 'Loja de apps não encontrada',
|
||
experimentalFeature: 'Funcionalidades experimentais',
|
||
underReview: 'Em revisão',
|
||
changeAvatar: 'Alterar avatar',
|
||
inputAvatarUrl: 'Inserir URL do avatar',
|
||
selectFromAlbum: 'Escolher do álbum (Em breve)',
|
||
avatarUrlHint: 'A URL não deve exceder 2048 caracteres, apenas links http/https',
|
||
pleaseInputUrl: 'Por favor, insira uma URL',
|
||
urlMustStartWithHttp: 'A URL deve começar com http:// ou https://',
|
||
urlTooLong: 'A URL excede o limite de 2048 caracteres',
|
||
invalidUrlFormat: 'Formato de URL inválido',
|
||
avatarUnderReview: 'Imagem em revisão',
|
||
avatarReviewing: 'Revisando imagem do avatar, aguarde...',
|
||
avatarChangeSuccess: 'Avatar alterado com sucesso',
|
||
avatarChangeFailed: 'Falha ao alterar o avatar',
|
||
success: 'Sucesso',
|
||
failed: 'Falhou',
|
||
ok: 'OK',
|
||
loading: 'Carregando...',
|
||
loginToViewProfile: 'Entre para ver seu perfil',
|
||
goLogin: 'Entrar',
|
||
consecutiveCheckin: 'Check-in Consecutivo',
|
||
favorites: 'Favoritos',
|
||
likes: 'Curtidas',
|
||
dailyCheckin: 'Check-in Diário',
|
||
learningCenter: 'Centro de Aprendizado',
|
||
achievementCenter: 'Centro de Conquistas',
|
||
dailyTask: 'Tarefas Diárias',
|
||
leaderboard: 'Ranking',
|
||
dataStatistics: 'Estatísticas de Dados',
|
||
myNotes: 'Minhas Notas',
|
||
contentCorrection: 'Correção de Conteúdo',
|
||
myDevices: 'Meus Dispositivos',
|
||
tagCloud: 'Nuvem de Tags',
|
||
personalInfo: 'Informações Pessoais',
|
||
username: 'Nome de Usuário',
|
||
nickname: 'Apelido',
|
||
bio: 'Bio',
|
||
notSet: 'Não definido',
|
||
notFilled: 'Não preenchido',
|
||
set: 'Definido',
|
||
reviewing: 'Em revisão',
|
||
editUsername: 'Editar Nome de Usuário',
|
||
editNickname: 'Editar Apelido',
|
||
nearbyDiscovery: 'Dispositivos próximos',
|
||
nearbyDiscoveryDesc: 'Bluetooth + Wi-Fi descobrir dispositivos próximos',
|
||
totalTasks: 'Total',
|
||
taskClaimed: 'Resgatado',
|
||
perfectDay: 'Dia perfeito',
|
||
perfectDayAllDone: 'Todas as tarefas concluídas',
|
||
perfectDayReward: 'Recompensa dia perfeito',
|
||
perfectDayRewardDesc: 'Todas as tarefas concluídas! Resgate a recompensa extra',
|
||
claimPerfectDayReward: 'Resgatar recompensa',
|
||
rewardSuffix: 'Recompensa',
|
||
expUnit: 'EXP',
|
||
scoreUnit: 'Pontos',
|
||
noTasks: 'Sem tarefas',
|
||
noTasksDesc: 'Sem tarefas hoje. Volte mais tarde!',
|
||
great: 'Ótimo!',
|
||
loginToCheckin: 'Faça login para registrar presença',
|
||
loginToCheckinDesc: 'Faça login para participar do check-in diário e ganhar pontos',
|
||
viewAchievementCenter: 'Ver centro de conquistas',
|
||
todaySigned: 'Presença registrada hoje',
|
||
tapToCheckin: 'Toque para registrar',
|
||
signed: 'Registrado',
|
||
weeklyCheckin: 'Esta semana',
|
||
totalCheckinDays: 'Total {0} dias',
|
||
checkinHistory: 'Histórico de presença',
|
||
noCheckinRecord: 'Sem registros de presença',
|
||
todayLabel: 'Hoje',
|
||
checkinDate: 'Data do check-in',
|
||
status: 'Status',
|
||
signedStatus: 'Registrado ✓',
|
||
remark: 'Observação',
|
||
dailyCheckinTaskDone: 'Check-in diário concluído',
|
||
makeupCheckin: 'Recuperar',
|
||
makeupCostInfo: 'A recuperação custa pontos. Confirme:',
|
||
makeupDate: 'Data de recuperação',
|
||
costPoints: 'Pontos de custo',
|
||
currentPoints: 'Pontos atuais',
|
||
makeupInfo: 'Info de recuperação',
|
||
makeupLimitInfo: 'Apenas 1 recuperação por dia. Pontos insuficientes = impossível (precisa de {0} pontos)',
|
||
confirmMakeup: 'Confirmar recuperação',
|
||
insufficientPoints: 'Pontos insuficientes',
|
||
insufficientPointsDesc: 'A recuperação precisa de {0} pontos, atual: {1}\n\n Ganhe pontos com check-in diário, publicação de artigos etc.',
|
||
makeupSuccess: 'Recuperação bem-sucedida',
|
||
makeupSuccessDesc: '{0} recuperação bem-sucedida, {1} pontos descontados',
|
||
makeupFailed: 'Recuperação falhou',
|
||
makeupFailedRetry: 'Recuperação falhou, tente novamente mais tarde',
|
||
timesUnit: 'vezes',
|
||
daysUnit: 'dias',
|
||
accountAndData: 'Account & Data',
|
||
editProfile: 'Edit Profile',
|
||
edit: 'Edit',
|
||
editBio: 'Edit Bio',
|
||
save: 'Save',
|
||
pleaseInput: 'Please enter',
|
||
modifySuccess: 'Modified successfully',
|
||
modifyFailed: 'Modification failed',
|
||
userProfile: 'User Profile',
|
||
goBack: 'Back',
|
||
userNotExist: 'User not found',
|
||
retry: 'Retry',
|
||
anonymousUser: 'Anonymous',
|
||
articles: 'Articles',
|
||
follow: 'Follow',
|
||
followed: 'Following',
|
||
theUser: 'this user',
|
||
privateMessage: 'Message',
|
||
gotIt: 'Got it',
|
||
shareProfile: 'Share Profile',
|
||
blockUser: 'Block User',
|
||
personalBio: 'Bio',
|
||
titleLevel: 'Title Level',
|
||
activeData: 'Activity',
|
||
beginner: 'Beginner',
|
||
apprentice: 'Apprentice',
|
||
skilled: 'Skilled',
|
||
expert: 'Expert',
|
||
master: 'Master',
|
||
signInCount: 'Check-in {count}',
|
||
noteCount: 'Notes {count}',
|
||
likeCount: 'Likes {count}',
|
||
commentCount: 'Comments {count}',
|
||
viewCount: 'Views {count}',
|
||
readLaterCount: 'Read Later {count}',
|
||
modifyField: 'Edit {field}',
|
||
pleaseInputField: 'Enter {field}',
|
||
fieldModifySuccess: '{field} updated',
|
||
fieldModifyFailed: 'Failed: {error}',
|
||
debugInfo: 'Debug Info',
|
||
defaultBio: 'Light up every moment with words',
|
||
exitSubProject: 'Sair do subprojeto',
|
||
exitApp: 'Sair do XianYan',
|
||
exitAccount: 'Sair da conta XianYan',
|
||
closeAppToDesktop: 'Fechar e voltar ao desktop',
|
||
closeAppKillBackground: 'Close & Kill Background',
|
||
backToDesktop: 'Back to Desktop (No Exit)',
|
||
selectExitMethod: 'Select Exit Method',
|
||
deviceRemoveCurrentTitle: '移除当前设备',
|
||
deviceRemoveCurrentWarning: '移除当前设备后,部分场景读取设备ID或相关信息后会自动重新添加该设备,建议直接下线而非移除。',
|
||
deviceContinueRemove: '继续移除',
|
||
deviceVerifyIdentityRemove: '请验证身份以移除设备',
|
||
deviceRemoveTitle: '移除设备',
|
||
deviceRemoveConfirm: '确定要移除该设备吗?移除后该设备需重新登录。',
|
||
deviceRemoved: '设备已移除',
|
||
deviceRemoveFailed: '移除失败',
|
||
),
|
||
settings: TSettings(
|
||
language: 'Idioma',
|
||
languageSubtitle: 'Alterar idioma de exibição',
|
||
generalSettings: 'Geral',
|
||
selectLanguage: 'Selecionar idioma',
|
||
followSystem: 'Seguir o sistema',
|
||
collaborativeTranslation: 'Colaborar',
|
||
collaborativeTranslationDesc: 'Ajude a melhorar as traduções',
|
||
lastTranslation: 'Última tradução',
|
||
translationVersion: 'Versão',
|
||
mtMarkTip: 'Traduzido por máquina, pode conter imprecisões',
|
||
rtlMarkTip: 'Idioma escrito da direita para a esquerda',
|
||
featureExtension: 'Extensões',
|
||
plugin: 'Plugins',
|
||
pluginSubtitle: 'Guarda de tradução, TTS e mais',
|
||
dailyReminder: 'Lembrete diário',
|
||
dailyReminderSubtitle: 'Enviar uma citação diária no horário programado',
|
||
reminderTime: 'Hora do lembrete',
|
||
reminderTimeSubtitle: 'Escolher horário do lembrete diário',
|
||
developer: 'Desenvolvedor',
|
||
logLevel: 'Nível de registro',
|
||
logLevelSubtitle: 'Controlar nível de saída de registro por módulo',
|
||
interaction: TSettingsInteraction(
|
||
interaction: 'Interação',
|
||
sound: 'Som',
|
||
soundSubtitle: 'Sons de operação e notificação',
|
||
vibration: 'Vibração',
|
||
vibrationSubtitle: 'Intensidade do feedback tátil',
|
||
soundEffect: 'Efeito sonoro',
|
||
soundEffectSubtitle: 'Escolha o estilo do som de operação',
|
||
pageTransitionMode: 'Transição de página',
|
||
pageTransitionModeNavigate: 'Navegação padrão com voltar deslizando',
|
||
pageTransitionModeSheet: 'Folha inferior para telas largas',
|
||
predictiveBack: 'Voltar preditivo',
|
||
predictiveBackSubtitle: 'Visualizar página anterior ao deslizar',
|
||
longPressPreview: 'Visualizar ao manter pressionado',
|
||
longPressPreviewSubtitle: 'Visualize detalhes com toque longo',
|
||
vibrationStrength: 'Intensidade da vibração',
|
||
soundEffectStyle: 'Estilo do efeito sonoro',
|
||
pageTransitionModeTitle: 'Transição de página',
|
||
navigateDescDetail:
|
||
'Deslize da borda esquerda para voltar, suporta animação de voltar preditivo',
|
||
sheetDescDetail:
|
||
'Abre como folha inferior, adequado para telas largas, toque ✕ para fechar',
|
||
standardNavigation: 'Navegação padrão',
|
||
bottomSheet: 'Folha inferior',
|
||
sfxFeedback: 'Feedback sonoro',
|
||
sfxFeedbackSubtitle: 'Reproduzir som nas ações',
|
||
sfxStyle: 'Tipo de som',
|
||
sfxStyleSubtitle: 'Escolher estilo de efeito sonoro',
|
||
),
|
||
notification: 'Notificações',
|
||
pushNotification: 'Notificações push',
|
||
pushNotificationSubtitle: 'Sugestões diárias, check-in e alertas sazonais',
|
||
notificationSettings: TSettingsNotification(
|
||
notificationSettings: 'Configurações de notificação',
|
||
managePersonalizedPush: 'Gerenciar push personalizados',
|
||
managePersonalizedPushSubtitle: 'Personalize horários e interruptores de notificação',
|
||
dailyRecommendPush: 'Push diário',
|
||
dailyRecommendPushSubtitle: 'Push diário de poesia, provérbios e citações',
|
||
dailyRecommendPushEnabled: 'Push diário ativado',
|
||
dailyRecommendPushDisabled: 'Push diário desativado',
|
||
pushTime: 'Horário de push',
|
||
dailyRecommendPushTime: 'Horário do push diário',
|
||
signinReminder: 'Lembrete de check-in',
|
||
signinReminderSubtitle: 'Lembrete diário de check-in, recompensas por sequências',
|
||
signinReminderEnabled: 'Lembrete de check-in ativado',
|
||
signinReminderDisabled: 'Lembrete de check-in desativado',
|
||
signinReminderTime: 'Horário do lembrete de check-in',
|
||
studyProgressReminder: 'Lembrete de progresso',
|
||
studyProgressReminderSubtitle: 'Lembretes periódicos para revisar e consolidar',
|
||
studyProgressReminderEnabled: 'Lembrete de progresso ativado',
|
||
studyProgressReminderDisabled: 'Lembrete de progresso desativado',
|
||
chargingReadLaterReminder: 'Lembrete ler depois ao carregar',
|
||
chargingReadLaterReminderSubtitle: 'Lembrar de ler itens salvos durante o carregamento',
|
||
chargingReadLaterReminderEnabled: 'Lembrete ativado',
|
||
chargingReadLaterReminderDisabled: 'Lembrete desativado',
|
||
fortuneReminder: 'Horóscopo diário',
|
||
fortuneReminderSubtitle: 'Push diário do cartão de horóscopo',
|
||
fortuneReminderEnabled: 'Horóscopo diário ativado',
|
||
fortuneReminderDisabled: 'Horóscopo diário desativado',
|
||
fortunePushTime: 'Horário do push de horóscopo',
|
||
reminderTime: 'Horário do lembrete',
|
||
pushTimeUpdated: 'Horário de push atualizado para {0}',
|
||
warmTip: 'Dica',
|
||
warmTipContent: 'As notificações exigem permissões do sistema. Se não receber pushes, verifique as permissões de notificação do Xianyan nas configurações do sistema.',
|
||
marketingPush: 'Receber marketing do app',
|
||
marketingPushSubtitle: 'Receber push marketing da equipe Xianyan em primeiro plano',
|
||
marketingPushEnabled: 'Push marketing ativado',
|
||
marketingPushDisabled: 'Push marketing desativado',
|
||
permissionDenied: 'Permissão de notificação negada',
|
||
permissionDeniedContent: 'A permissão de notificação do sistema não está ativada. As notificações push podem não ser recebidas.',
|
||
goToSettings: 'Ir para configurações',
|
||
previewNotification: 'Visualizar notificação',
|
||
notificationStats: 'Estatísticas de notificações',
|
||
pushCount: 'Quantidade de push',
|
||
clickCount: 'Quantidade de cliques',
|
||
noStats: 'Sem estatísticas disponíveis',
|
||
),
|
||
display: TSettingsDisplay(
|
||
display: 'Exibição',
|
||
screenTimeout: 'Tempo limite da tela',
|
||
screenTimeoutSubtitle: 'Definir tempo de bloqueio automático',
|
||
fontSize: 'Tamanho da fonte',
|
||
fontSizeSubtitle: 'Ir para configurações de tema',
|
||
startupPage: 'Página inicial',
|
||
startupPageSubtitle: 'Escolha a página exibida na inicialização',
|
||
immersiveStatus: 'Barra de status imersiva',
|
||
immersiveStatusSubtitle: 'Ocultar barra de status para tela cheia',
|
||
contentDensity: 'Densidade do conteúdo',
|
||
contentDensitySubtitle: 'Ajustar espaçamento de listas e cartões',
|
||
reduceAnimations: 'Reduzir animações',
|
||
reduceAnimationsSubtitle: 'Reduzir efeitos de animação da interface',
|
||
screenTimeoutTitle: 'Tempo limite da tela',
|
||
startupPageTitle: 'Página inicial',
|
||
contentDensityTitle: 'Densidade do conteúdo',
|
||
screenAlwaysOn: 'Tela sempre acesa',
|
||
screenAlwaysOnSubtitle: 'Manter a tela sempre acesa',
|
||
screenAlwaysOnOff: 'Desligado',
|
||
screenAlwaysOnReading: 'Ao ler',
|
||
screenAlwaysOnAlways: 'Sempre',
|
||
screenAlwaysOnTitle: 'Tela sempre acesa',
|
||
reopenOnboarding: 'Reabrir introdução',
|
||
reopenOnboardingSubtitle: 'Ver introdução e assistente de personalização',
|
||
navBarPosition: 'Posição da barra de navegação',
|
||
navBarPositionSubtitle: 'Posição da barra de navegação em tela larga',
|
||
navBarPositionLeft: 'Esquerda',
|
||
navBarPositionTitle: 'Posição da barra de navegação',
|
||
splitViewRatio: 'Proporção de tela dividida',
|
||
splitViewRatioSubtitle: 'Proporção de painéis esquerdo/direito na tela dividida',
|
||
splitViewRatioTitle: 'Proporção de tela dividida',
|
||
splitViewEnabled: 'Tela dividida',
|
||
splitViewEnabledSubtitle: 'Ativar tela dividida em tela larga',
|
||
shaderBackground: 'Plano de fundo shader',
|
||
shaderBackgroundSubtitle: 'Efeito de gradiente fluido nos cartões de citações',
|
||
),
|
||
performance: TSettingsPerformance(
|
||
performance: 'Desempenho',
|
||
smartMode: 'Modo inteligente',
|
||
smartModeSubtitle: 'Alternar automaticamente conforme a rede',
|
||
preload: 'Pré-carregar',
|
||
preloadSubtitle: 'Carregar conteúdo antecipadamente',
|
||
cacheStrategy: 'Estratégia de cache',
|
||
cacheStrategySubtitle: 'Controlar comportamento de cache de conteúdo',
|
||
imageQuality: 'Qualidade da imagem',
|
||
imageQualityOriginal: 'Carregar originais, usa mais dados',
|
||
imageQualitySaver: 'Comprimir imagens, economiza dados',
|
||
imageQualityBalanced: 'Equilibrar qualidade e uso de dados',
|
||
dataSaver: 'Economia de dados',
|
||
dataSaverSubtitle: 'Reduzir consumo de dados',
|
||
cacheStrategyTitle: 'Estratégia de cache',
|
||
imageQualityTitle: 'Qualidade da imagem',
|
||
),
|
||
privacy: TSettingsPrivacy(
|
||
privacyAndPermissions: 'Privacidade e permissões',
|
||
appLock: 'Bloqueio do app',
|
||
appLockSubtitle: 'Face ID / Desbloqueio por impressão digital',
|
||
clipboardRead: 'Leitura da área de transferência',
|
||
clipboardReadSubtitle:
|
||
'Permitir leitura do conteúdo da área de transferência',
|
||
permissionManagement: 'Permissões',
|
||
permissionManagementSubtitle: 'Gerenciar permissões do app',
|
||
privacyPolicy: 'Política de privacidade',
|
||
privacyPolicySubtitle: 'Ver conteúdo da política de privacidade',
|
||
nearbyDiscovery: 'Descoberta por proximidade',
|
||
nearbyDiscoverySubtitle: 'Permitir que usuários próximos te descubram',
|
||
),
|
||
advanced: TSettingsAdvanced(
|
||
advanced: 'Avançado',
|
||
moreSettings: 'Mais configurações',
|
||
moreSettingsSubtitle: 'Compatibilidade, depuração, proxy, bateria',
|
||
autoCheckUpdate: 'Verificar atualizações automaticamente',
|
||
autoCheckUpdateSubtitle: 'Verificar nova versão ao iniciar',
|
||
syncSettings: 'Sincronizar configurações',
|
||
syncSettingsSubtitle: 'Sincronizar preferências entre dispositivos',
|
||
logManagement: 'Registros',
|
||
logManagementSubtitle: 'Visualizar e exportar registros do app',
|
||
exportImportSettings: 'Exportar / Importar',
|
||
exportImportSettingsSubtitle: 'Migrar configurações via JSON',
|
||
dataExport: 'Exportar dados',
|
||
dataExportSubtitle: 'Exportar dados pessoais',
|
||
clearCache: 'Limpar cache',
|
||
clearCacheSubtitle: 'Limpar dados em cache localmente',
|
||
resetSettings: 'Redefinir configurações',
|
||
resetSettingsSubtitle: 'Restaurar todas as configurações para o padrão',
|
||
youMayBeLookingFor: 'Você pode estar procurando',
|
||
fontManagement: 'Fontes',
|
||
clearCacheConfirm:
|
||
'Tem certeza de que deseja limpar todos os dados em cache?',
|
||
resetSettingsConfirm:
|
||
'Tem certeza de que deseja redefinir todas as configurações? Isso não pode ser desfeito.',
|
||
exportSettings: 'Exportar configurações',
|
||
importSettings: 'Importar configurações',
|
||
importSettingsDesc:
|
||
'Cole o JSON exportado abaixo. A importação substituirá as configurações atuais.',
|
||
confirmImport: 'Confirmar importação',
|
||
importSuccess: 'Importação realizada com sucesso',
|
||
importFailed: 'Falha na importação, formato inválido',
|
||
pasteJson: 'Colar JSON',
|
||
pasteJsonPlaceholder: 'Cole o conteúdo JSON exportado...',
|
||
otherSettings: 'Outras configurações',
|
||
otherSettingsSubtitle: 'Avançado, acessibilidade, bateria e armazenamento',
|
||
),
|
||
cache: TSettingsCache(
|
||
cacheManagement: 'Gerenciamento de Cache de Imagens',
|
||
storageOverview: 'Resumo de Armazenamento',
|
||
totalCache: 'Cache Total',
|
||
fileCount: 'Arquivos',
|
||
feedCache: 'Cache de Feed',
|
||
cacheBreakdown: 'Detalhamento do Cache',
|
||
recentCache: 'Cache Recente',
|
||
expiredCache: 'Cache Expirado',
|
||
cacheFiles: 'Arquivos de Cache',
|
||
cacheActions: 'Ações de Cache',
|
||
autoCleanPolicy: 'Política de Limpeza Automática',
|
||
autoCleanPolicyDesc:
|
||
'Cache mais antigo que o tempo definido será limpo automaticamente',
|
||
clearExpiredCache: 'Limpar Cache Expirado',
|
||
clearAllCache: 'Limpar Todo o Cache',
|
||
cacheSizeLimit: 'Limite de Tamanho do Cache',
|
||
cacheSizeLimitDesc: 'Alertar ao exceder o limite',
|
||
batchDelete: 'Exclusão em Lote',
|
||
selectAll: 'Selecionar Tudo',
|
||
deselectAll: 'Desselecionar Tudo',
|
||
deleteSelected: 'Excluir Selecionados',
|
||
cleaningProgress: 'Limpando...',
|
||
cleanLog: 'Registro de Limpeza',
|
||
cleanLogDesc: 'Ver histórico de limpeza de cache',
|
||
noCache: 'Sem Cache de Imagens',
|
||
noCacheHint: 'O cache de imagens aparecerá aqui após a navegação',
|
||
retry: 'Tentar Novamente',
|
||
loadFailed: 'Falha ao Carregar',
|
||
fileDetail: 'Detalhe do Arquivo',
|
||
fileName: 'Nome do Arquivo',
|
||
fileSize: 'Tamanho do Arquivo',
|
||
createdTime: 'Criado',
|
||
expiresTime: 'Expira',
|
||
resolution: 'Resolução',
|
||
format: 'Formato',
|
||
sourceUrl: 'URL de Origem',
|
||
category: 'Categoria',
|
||
expired: 'Expirado',
|
||
sortBy: 'Ordenar Por',
|
||
sortByDate: 'Por Data',
|
||
sortBySize: 'Por Tamanho',
|
||
sortByType: 'Por Tipo',
|
||
usedSpace: 'Usado',
|
||
refLimit: 'Limite',
|
||
confirmDelete: 'Excluir este arquivo de cache?',
|
||
confirmClearExpired:
|
||
'O cache expirado será limpo. Isso não pode ser desfeito.',
|
||
confirmClearAll: 'Todo o cache será limpo. Isso não pode ser desfeito.',
|
||
irreversible: 'Isso não pode ser desfeito',
|
||
cleared: 'Limpo',
|
||
clearFailed: 'Falha ao Limpar',
|
||
filesUnit: 'arquivos',
|
||
daysUnit: 'dias',
|
||
policyOff: 'Desativado',
|
||
edit: 'Editar',
|
||
cancel: 'Cancelar',
|
||
delete: 'Excluir',
|
||
clear: 'Limpar',
|
||
totalCacheLabel: 'Total',
|
||
basicInfo: 'Info Básica',
|
||
imageInfo: 'Info da Imagem',
|
||
sourceInfo: 'Info da Origem',
|
||
clearLog: 'Limpar',
|
||
noCleanLog: 'Sem registros de limpeza',
|
||
selectedCount: 'Selecionados',
|
||
status: 'Status',
|
||
done: 'Concluído',
|
||
all: 'Tudo',
|
||
withinDays: 'dentro de',
|
||
beforeDays: 'antes de',
|
||
currentLabel: 'Atual',
|
||
autoCleanSuffix: 'limpeza automática de cache expirado',
|
||
currentLimitLabel: 'Limite atual',
|
||
confirmBatchDelete: 'Excluir arquivos de cache selecionados?',
|
||
deleted: 'Excluído',
|
||
unknown: 'Desconhecido',
|
||
logCleared: 'Registro limpo',
|
||
confirmClearLog: 'Limpar todos os registros de limpeza?',
|
||
clearingExpired: 'Limpando cache expirado...',
|
||
clearingAll: 'Limpando todo o cache...',
|
||
clearingBatch: 'Exclusão em lote...',
|
||
storageSpace: 'Espaço de Armazenamento',
|
||
database: 'Banco de Dados',
|
||
hive: 'Hive',
|
||
cacheCount: 'Contagem de Cache',
|
||
categoryStats: 'Estatísticas por Categoria',
|
||
feedCacheCount: 'Cache de Feed',
|
||
pendingSync: 'Sincronização Pendente',
|
||
hiveStorage: 'Armazenamento Hive',
|
||
chatSessions: 'Sessões',
|
||
chatAttachments: 'Anexos de Sessão',
|
||
chatTrash: 'Lixeira de Sessão',
|
||
transferRecords: 'Registros de Transferência',
|
||
pairedDevices: 'Dispositivos Emparelhados',
|
||
receivedFiles: 'Arquivos Recebidos',
|
||
readLater: 'Ler Depois',
|
||
cacheCleanup: 'Limpeza de Cache',
|
||
cleanExpiredCache: 'Limpar Cache Expirado',
|
||
cleanChatTrash: 'Limpar Lixeira de Sessão',
|
||
cleanChatThumbnails: 'Limpar Miniaturas de Sessão',
|
||
clearAllCache2: 'Limpar Todo o Cache',
|
||
cleanTransferCache: 'Limpar Cache de Transferência',
|
||
clearAllChatData: 'Limpar Todos os Dados de Sessão',
|
||
cleanReadlaterCache: 'Limpar Cache de Ler Depois',
|
||
clearReadlaterData: 'Limpar Todos os Dados de Ler Depois',
|
||
cacheStrategy: 'Estratégia de Cache',
|
||
cacheLimit: 'Limite de Cache',
|
||
expiryDays: 'Dias de Expiração',
|
||
offlineMode2: 'Modo Offline',
|
||
wifiPreload: 'Pré-carregamento WiFi',
|
||
autoSync: 'Sincronização Automática',
|
||
cleaningCache: 'Limpando cache...',
|
||
itemsUnit: 'itens',
|
||
piecesUnit: 'unidades',
|
||
cleaningChatTrash: 'Lixeira de Sessão limpa',
|
||
cleaningChatThumbnails: 'Miniaturas de Sessão limpas',
|
||
cleaningTransferCache: 'Cache de Transferência limpo',
|
||
clearingAllChatData: 'Todos os dados de sessão foram limpos',
|
||
cleaningReadlaterCache: 'Cache de Ler Depois limpo',
|
||
clearingReadlaterData: 'Todos os dados de Ler Depois foram limpos',
|
||
allCacheCleared: 'Todo o cache foi limpo',
|
||
cleanFailed2: 'Falha na limpeza: {0}',
|
||
confirmCleanChatTrashTitle: 'Limpar Lixeira de Sessão',
|
||
confirmCleanChatTrashContent: 'Mensagens e arquivos na lixeira com mais de 30 dias serão excluídos permanentemente. Esta ação não pode ser desfeita.',
|
||
confirmCleanChatThumbnailsTitle: 'Limpar Miniaturas de Sessão',
|
||
confirmCleanChatThumbnailsContent: 'Todo o cache de miniaturas de imagens de sessão será limpo. As imagens originais não serão excluídas.',
|
||
confirmClearAllCacheTitle: 'Limpar Todo o Cache',
|
||
confirmClearAllCacheContent: 'Tem certeza de que deseja limpar todos os dados de cache? O conteúdo offline será excluído. Esta ação não pode ser desfeita.',
|
||
confirmCleanTransferCacheTitle: 'Limpar Cache de Transferência',
|
||
confirmCleanTransferCacheContent: 'Miniaturas de transferência, arquivos temporários e registros com mais de 30 dias serão limpos. Arquivos recebidos não serão excluídos.',
|
||
confirmClearAllChatDataTitle: 'Limpar Todos os Dados de Sessão',
|
||
confirmClearAllChatDataContent: 'Todas as sessões, mensagens, anexos e dados da lixeira serão excluídos. Esta ação não pode ser desfeita!',
|
||
confirmCleanReadlaterCacheTitle: 'Limpar Cache de Ler Depois',
|
||
confirmCleanReadlaterCacheContent: 'Miniaturas, anexos e arquivos temporários de sincronização de Ler Depois serão limpos. Os registros de mensagens não serão excluídos.',
|
||
confirmClearReadlaterDataTitle: 'Limpar Todos os Dados de Ler Depois',
|
||
confirmClearReadlaterDataContent: 'Todas as mensagens, anexos e miniaturas de Ler Depois serão excluídos. Esta ação não pode ser desfeita!',
|
||
clearAll: 'Limpar Tudo',
|
||
clean2: 'Limpar',
|
||
enabled2: 'Ativado',
|
||
disabled2: 'Desativado',
|
||
mbUnit: 'MB',
|
||
daysUnit2: 'dias',
|
||
cleanTrash: 'Limpar lixeira',
|
||
trashSourceInfoTitle: 'Fontes da lixeira',
|
||
trashSourceInfoContent: 'Os itens na lixeira vêm de:\n\n💬 Mensagens de sessão — Registros de sessão excluídos\n📖 Ler depois — Artigos salvos excluídos\n📁 Transferências de arquivos — Registros de transferência excluídos\n\nEstes itens serão limpos automaticamente após um período de retenção.',
|
||
undoCleanTrash: 'Desfazer',
|
||
cleanTrashCountdown: 'A lixeira será esvaziada em {0}s, toque para desfazer',
|
||
),
|
||
permission: TSettingsPermission(
|
||
pageTitle: 'Gestão de Permissões',
|
||
loadFailed: 'Falha ao carregar',
|
||
headerTitle: 'Info de Permissões',
|
||
headerDesc:
|
||
'Xianyan solicita apenas permissões necessárias para funções principais. Pode gerir permissões a qualquer momento. Negar algumas permissões pode afetar funcionalidades.',
|
||
appPermissionSection: 'Permissões da App',
|
||
appPermissionSubtitle: 'Funcionalidades que requerem autorização',
|
||
systemCapabilitySection: 'Capacidades do Sistema',
|
||
systemCapabilitySubtitle: 'Geridas pelo SO, sem autorização manual',
|
||
disclaimer:
|
||
'Xianyan não solicita permissões excessivas. Algumas são solicitadas apenas para funções específicas.',
|
||
usageStats: 'Estatísticas de Uso',
|
||
noUsageData: 'Sem dados de uso de permissões',
|
||
totalCountPrefix: 'Total ',
|
||
totalCountSuffix: ' vezes',
|
||
badgeSystem: 'Sistema',
|
||
badgeRequired: 'Obrigatório',
|
||
badgeOptional: 'Opcional',
|
||
statusGranted: 'Concedido',
|
||
statusDenied: 'Negado',
|
||
statusPermanentlyDenied: 'Recusado',
|
||
statusNotDetermined: 'Não Solicitado',
|
||
statusRestricted: 'Restrito',
|
||
recentUsagePrefix: 'Recente: ',
|
||
timesSuffix: ' vezes',
|
||
btnGoSettings: 'Configurações',
|
||
btnRequest: 'Solicitar',
|
||
frequencyHigh: 'Alta',
|
||
frequencyMedium: 'Média',
|
||
frequencyLow: 'Baixa',
|
||
permCameraLabel: 'Câmera',
|
||
permCameraDesc:
|
||
'Usada para tirar fotos, escanear QR codes e pareamento de transferência. Solicitada apenas ao usar ativamente, nunca em segundo plano.',
|
||
permCameraUsage:
|
||
'Papel de parede — Tirar foto|QR Code — Escanear login/pareamento|Transferência — Escanear conexão',
|
||
permCameraDenial:
|
||
'Não é possível tirar fotos, escanear QR codes ou parear dispositivos',
|
||
permPhotosLabel: 'Fotos e armazenamento',
|
||
permPhotosDesc:
|
||
'Usada para selecionar imagens, salvar obras no álbum e configurar avatar. Acessa apenas imagens selecionadas, nunca lê o álbum inteiro.',
|
||
permPhotosUsage:
|
||
'Papel de parede — Selecionar imagem|Salvar cartão — Salvar no álbum|Perfil — Configurar avatar',
|
||
permPhotosDenial: 'Não é possível selecionar imagens ou salvar no álbum',
|
||
permNotificationLabel: 'Notificações',
|
||
permNotificationDesc:
|
||
'Usada para citações diárias, lembretes de check-in, anúncios, status de transferência e mensagens interativas. Pode ser desativada nas configurações.',
|
||
permNotificationUsage:
|
||
'Citação diária — Push agendado|Check-in — Lembrete diário|Transferência — Status|Mensagens — Curtidas e comentários',
|
||
permNotificationDenial:
|
||
'Não é possível receber citações, lembretes e mensagens',
|
||
permLocationLabel: 'Localização (aproximada)',
|
||
permLocationDesc:
|
||
'Usada para informações meteorológicas e lembretes de termos solares. Usa apenas localização aproximada (nível cidade), nunca precisa, sem rastreamento.',
|
||
permLocationUsage:
|
||
'Clima — Clima da cidade atual|Termos solares — Lembretes locais',
|
||
permLocationDenial:
|
||
'Não é possível obter informações meteorológicas e lembretes',
|
||
permNearbyDevicesLabel: 'Dispositivos próximos',
|
||
permNearbyDevicesDesc:
|
||
'Usada para descoberta e conexão de dispositivos LAN na transferência. Solicitada apenas ao usar a transferência.',
|
||
permNearbyDevicesUsage:
|
||
'Transferência — Descoberta LAN|Conexão — WiFi Direct',
|
||
permNearbyDevicesDenial:
|
||
'Não é possível descobrir ou conectar dispositivos LAN',
|
||
permMicrophoneLabel: 'Microfone',
|
||
permMicrophoneDesc:
|
||
'Usada para leitura por voz, busca por voz e entrada de voz no chat IA. Solicitada apenas ao usar ativamente, nunca grava em segundo plano.',
|
||
permMicrophoneUsage:
|
||
'Leitura por voz — Ler frases|Busca por voz — Entrada de voz|Chat IA — Mensagem de voz',
|
||
permMicrophoneDenial:
|
||
'Não é possível usar busca por voz, leitura por voz e entrada de voz',
|
||
permStorageLabel: 'Armazenamento',
|
||
permStorageDesc:
|
||
'Usada para salvar cartões e papéis de parede localmente, exportar fontes e dados. Android 12 e inferior (API≤32) precisa de permissão de leitura; Android 13+ usa permissão de fotos; escrita usa armazenamento particionado.',
|
||
permStorageUsage:
|
||
'Salvar cartão — Exportar localmente|Papel de parede — Salvar|Fontes — Baixar fontes|Dados — Exportar dados',
|
||
permStorageDenial:
|
||
'Não é possível salvar cartões e papéis de parede localmente',
|
||
permNetworkLabel: 'Conexão de rede',
|
||
permNetworkDesc:
|
||
'Xianyan precisa de rede para buscar citações, sincronizar dados e notificações. Verifique se a permissão de rede está ativada.',
|
||
permNetworkUsage:
|
||
'Citações — Carregar seleções diárias|Sincronização — Sync na nuvem|Notificações — Receber mensagens',
|
||
permNetworkDenial: 'Não é possível buscar citações e sincronizar dados',
|
||
permClipboardLabel: 'Área de transferência',
|
||
permClipboardDesc:
|
||
'Usada para copiar citações e colar texto no editor. Acessa apenas ao operar ativamente, nunca lê automaticamente.',
|
||
permClipboardUsage:
|
||
'Copiar citação — Cópia com um toque|Editor — Colar texto|Busca — Colar palavras-chave',
|
||
permClipboardDenial: 'Não é possível copiar citações e colar texto',
|
||
permShareLabel: 'Compartilhar',
|
||
permShareDesc:
|
||
'Permite compartilhar conteúdo com outros apps via folha de compartilhamento do sistema',
|
||
permShareUsage:
|
||
'Compartilhar citação — Compartilhar no WeChat/QQ|Compartilhar cartão — Compartilhar em redes|Exportar log — Compartilhar arquivos',
|
||
permShareDenial: 'Não é possível compartilhar conteúdo com outros apps',
|
||
permTrackingLabel: 'Rastreamento',
|
||
permTrackingDesc: 'Permitir rastreamento de atividade para recomendações personalizadas',
|
||
permTrackingUsage: 'Recomendações personalizadas|Análise de preferências',
|
||
permTrackingDenial: 'Recomendações personalizadas indisponíveis',
|
||
),
|
||
dataCollection: TSettingsDataCollection(
|
||
pageTitle: 'Dados que Recolhemos',
|
||
introTitle: 'Aviso de Recolha de Dados',
|
||
introDesc:
|
||
'Xianyan valoriza a sua privacidade. Abaixo estão as categorias de informações que recolhemos, utilizamos e armazenamos. Apenas recolhemos dados necessários para funções principais e nunca vendemos a terceiros.',
|
||
collectionMethod: 'Método de recolha: ',
|
||
riskHigh: 'Risco Alto',
|
||
riskMedium: 'Risco Médio',
|
||
riskLow: 'Risco Baixo',
|
||
riskNone: 'Sem Risco',
|
||
categoryAccount: 'Info da Conta',
|
||
categoryAccountItems:
|
||
'Nome de utilizador, Palavra-passe(criptografada), Email, Telefone(opcional), Pergunta segurança(criptografada)',
|
||
categoryAccountMethod: 'Fornecido ao registar-se',
|
||
categoryProfile: 'Perfil',
|
||
categoryProfileItems: 'Apelido, Bio, Avatar',
|
||
categoryProfileMethod: 'Enviado ao editar perfil',
|
||
categoryDevice: 'Info do Dispositivo',
|
||
categoryDeviceItems:
|
||
'Modelo dispositivo, Plataforma, device_id, Endereço IP, User-Agent',
|
||
categoryDeviceMethod: 'Recolhido automaticamente ao iniciar',
|
||
categoryBehavior: 'Comportamento de Uso',
|
||
categoryBehaviorItems:
|
||
'Histórico navegação, Termos pesquisa, Comentários, Gostos e Favoritos',
|
||
categoryBehaviorMethod: 'Registado automaticamente nas ações',
|
||
categoryLocation: 'Info de Localização',
|
||
categoryLocationItems: 'Cidade inferida por IP (sem GPS)',
|
||
categoryLocationMethod: 'Inferida automaticamente em pedidos de rede',
|
||
categoryLocalStorage: 'Armazenamento Local',
|
||
categoryLocalStorageItems:
|
||
'SharedPreferences, SQLite, Diretório temporário',
|
||
categoryLocalStorageMethod: 'Escrito localmente durante execução',
|
||
categoryCloudStorage: 'Armazenamento na Nuvem',
|
||
categoryCloudStorageItems:
|
||
'Notas, Favoritos, Rascunhos nuvem(criptografados), Perfil utilizador',
|
||
categoryCloudStorageMethod:
|
||
'Carregado para servidor durante sincronização',
|
||
categoryNotCollected: 'Dados Não Recolhidos',
|
||
categoryNotCollectedItems:
|
||
'Contactos, SMS, Localização GPS precisa, Biometria, Dados publicitários',
|
||
categoryNotCollectedMethod: '—',
|
||
rightsTitle: 'Os Seus Direitos',
|
||
rightAccess: 'Direito de Acesso',
|
||
rightAccessDesc: 'Tem o direito de saber que informações recolhemos',
|
||
rightCorrection: 'Direito de Retificação',
|
||
rightCorrectionDesc:
|
||
'Tem o direito de solicitar correção de informações inexatas',
|
||
rightDeletion: 'Direito de Eliminação',
|
||
rightDeletionDesc:
|
||
'Tem o direito de solicitar a eliminação dos seus dados pessoais',
|
||
rightExport: 'Direito de Exportação',
|
||
rightExportDesc: 'Tem o direito de exportar os seus dados pessoais',
|
||
rightWithdraw: 'Direito de Retirada',
|
||
rightWithdrawDesc:
|
||
'Tem o direito de retirar o consentimento para a recolha de dados',
|
||
footerTitle: 'Aviso Legal',
|
||
footerDesc:
|
||
'Podemos ajustar o âmbito de recolha conforme atualizações e notificaremos na app. Para questões, contacte-nos através da página "Sobre".',
|
||
),
|
||
),
|
||
about: TAbout(
|
||
appInfo: 'Informações do App',
|
||
learnUs: 'Sobre Nós',
|
||
learnUsSlogan: 'Conecte com palavras, expresse com o coração',
|
||
techStack: 'Tecnologias',
|
||
techLanguage: 'Linguagem',
|
||
techState: 'Gerenciamento de Estado',
|
||
techRouter: 'Roteamento',
|
||
techNetwork: 'Rede',
|
||
buildInfo: 'Info de Compilação',
|
||
version: 'Versão',
|
||
buildNumber: 'Número de Compilação',
|
||
buildTime: 'Data de Compilação',
|
||
deviceInfo: 'Info do Dispositivo',
|
||
os: 'SO',
|
||
deviceType: 'Tipo de Dispositivo',
|
||
deviceUnknown: 'Desconhecido',
|
||
deviceMobile: 'Móvel',
|
||
deviceDesktop: 'Desktop',
|
||
renderEngine: 'Motor de Renderização',
|
||
screenDetail: 'Detalhes da Tela',
|
||
screenSize: 'Tamanho da Tela',
|
||
pixelRatio: 'Proporção de Pixels',
|
||
platformCompat: 'Compatibilidade de Plataformas',
|
||
updateLog: 'Novidades',
|
||
updateLog1: 'Nova página Sobre com design de vidro líquido',
|
||
updateLog2: 'Exibição de informações multiplataforma',
|
||
updateLog3: 'Melhorias de desempenho e UX',
|
||
openSource: 'Licenças de Código Aberto',
|
||
footerSlogan: 'Feito com amor',
|
||
officialSiteTitle: 'Site Oficial',
|
||
officialSite: 'Página Inicial',
|
||
officialSiteDesc: 'Visite o site oficial para novidades e downloads',
|
||
businessSite: 'Site comercial',
|
||
otherProducts: 'Outros Produtos',
|
||
productPoetry: 'Poesia Cênica',
|
||
productPoetryDesc: 'Recomenda poesias conforme o momento e local',
|
||
productKitchen: 'Cozinha XiaoMa',
|
||
productKitchenDesc:
|
||
'10.000+ receitas, 1.000+ ingredientes, enciclopédia culinária',
|
||
developer: 'Desenvolvedor',
|
||
companyName: 'Micro storm studio',
|
||
companyDesc: 'Especializados em desenvolvimento de apps móveis',
|
||
contactEmail: 'E-mail de Contato',
|
||
viewEmails: 'Ver endereços de e-mail',
|
||
emailAnyContact: '📬 Pode nos contatar por qualquer e-mail',
|
||
emailReplyDays: '⏱ Respondemos em 1 a 3 dias normalmente',
|
||
emailTimeoutTip: '⏳ Sem resposta? Tente outro endereço de e-mail',
|
||
emailGroupChatTip: '💬 Participe do chat em grupo para respostas mais rápidas',
|
||
emailSubjectTip: '📝 Assunto: indique « App 闲言 – Dúvida »',
|
||
emailCorrectionTip: '✏️ Também pode informar pela página de correções',
|
||
wechatAccount: 'Conta Oficial do WeChat',
|
||
teamInfo: 'Equipe',
|
||
roleDesign: 'Dev e Design',
|
||
roleUIUX: 'UI/UX',
|
||
roleBackend: 'Backend',
|
||
roleNative: 'Stack Nativo',
|
||
roleSupport: 'Suporte i18n',
|
||
member1: '无书的书',
|
||
member1Sig: 'Sempre quase lá',
|
||
member2: 'ayk',
|
||
member2Sig: '',
|
||
member3: '伯乐不相马',
|
||
member3Sig: 'De quem é esse roxo tão uau~',
|
||
member4: '泼茶香',
|
||
member4Sig: 'Criar gatos juntos, ver o mar',
|
||
member1Social: 'TikTok:@itbole',
|
||
member2Social: 'Twitter@Ayk_Ago',
|
||
member3Social: 'telegram@iboler',
|
||
qqGroup: 'Grupo QQ',
|
||
qqGroupDesc: 'Junte-se ao grupo para compartilhar sua experiência',
|
||
joinQQGroup: 'Entrar no Grupo QQ',
|
||
qqGroupConfirm:
|
||
'Você vai sair do app e abrir a página do grupo QQ. Continuar?',
|
||
qqGroupTelegram: 'Grupo Telegram',
|
||
qqGroupTelegramDesc: 'https://t.me/Windmill_CodeTalk',
|
||
icpInfo: 'APP Número de registro ICP',
|
||
icpInfoHint:
|
||
'Na China continental, o registro ICP para aplicativos conectados à Internet é obrigatório como medida de segurança. Verifica a identidade do desenvolvedor e permite rastreabilidade completa através de sites governamentais. Usuários estrangeiros podem ignorar.',
|
||
icpDesc: 'Número de registro ICP do MIIT',
|
||
viewIcpDetail: 'Ver Detalhes do Registro',
|
||
icpLaunchConfirm:
|
||
'Você vai sair do app e visitar o site de registro ICP. Continuar?',
|
||
contributors: 'Colaboradores',
|
||
contributorsDesc: 'Obrigado a todos os colaboradores',
|
||
specialThanks: 'Agradecimento Especial',
|
||
specialThanksDesc: 'Obrigado às seguintes organizações e pessoas',
|
||
contributorRole1: 'Desenvolvimento de Código',
|
||
contributorRole2: 'Design UI',
|
||
contributorRole3: 'Testes',
|
||
contributorRole4: 'Documentação',
|
||
contributorRole5: 'Testador Especial',
|
||
contributorRole5Name: '广州性感母蟑螂',
|
||
thanksFlutter:
|
||
'Obrigado à equipe Flutter pelo excelente framework multiplataforma',
|
||
thanksOpenSource:
|
||
'Obrigado à comunidade open source por contribuições e apoio',
|
||
thanksQQGroup: 'Obrigado aos membros do grupo QQ por feedback e sugestões',
|
||
thanksUsers: 'Obrigado a todos os usuários pelo apoio',
|
||
specialThanksTools: 'Ferramentas e Plugins',
|
||
bottomEnd: '— Fim —',
|
||
copied: 'Copiado para a área de transferência',
|
||
openLink: 'Abrir Link',
|
||
leaveAppHint: 'Você vai sair do Xianyan e abrir um link externo',
|
||
copyLink: 'Copiar Link',
|
||
goTo: 'Ir',
|
||
aboutTitle: 'Sobre',
|
||
basicInfo: 'Informações básicas',
|
||
softwareInfoDesc: 'Ver versão e detalhes',
|
||
learnUsMenuDesc: 'A história e visão do Xianyan',
|
||
usageGuide: 'Guia do usuário',
|
||
usageGuideDesc: 'Introdução e guia de operação',
|
||
interactionFeedback: 'Feedback',
|
||
userFeedback: 'Feedback do usuário',
|
||
userFeedbackDesc: 'Enviar opiniões ou sugestões',
|
||
rateAppMenu: 'Avaliar app',
|
||
rateAppMenuDesc: 'Avalie-nos na loja de apps',
|
||
contactEmailMenuDesc: 'Ver todos os e-mails',
|
||
rateDialogTitle: 'Dê-nos 5 estrelas!',
|
||
rateDialogContent1: 'Se você gosta do Xianyan, deixe uma avaliação!',
|
||
rateDialogContent2: 'Seu apoio é nossa motivação',
|
||
laterButton: 'Mais tarde',
|
||
huaweiStore: 'Huawei AppGallery',
|
||
appStore: 'Loja de aplicativos',
|
||
goRate: 'Avaliar',
|
||
emailHint1: 'Sem resposta em 24h, tente outro e-mail',
|
||
emailHint2: 'Qualquer e-mail serve para contato',
|
||
legalInfo: 'Informações legais',
|
||
softwareAgreement: 'Acordo de software',
|
||
softwareAgreementDesc: 'Política de privacidade, termos, etc.',
|
||
dataCollectionMenu: 'Coleta de dados',
|
||
dataCollectionMenuDesc: 'Ver quais informações coletamos',
|
||
softwarePermission: 'Permissões',
|
||
softwarePermissionDesc: 'Ver declaração de permissões',
|
||
openSourceDesc: 'Ver licenças open source',
|
||
updateLogMenuDesc: 'Ver histórico de atualizações',
|
||
checkUpdate: 'Verificar atualizações',
|
||
alreadyLatest: 'Já atualizado',
|
||
alreadyLatestDesc: 'Você já tem a versão mais recente',
|
||
okButton: 'OK',
|
||
comingSoon: 'Em breve',
|
||
distributionChannel: 'Canal de distribuição',
|
||
distAndroid: 'Baixado do site oficial do Xianyan',
|
||
distIOS: 'Distribuído via App Store',
|
||
distMacOS: 'Distribuído via App Store',
|
||
distHarmony: 'Distribuído via AppGallery',
|
||
distWeb: 'Solicitação necessária',
|
||
distWindows: 'Baixado do site oficial do Xianyan',
|
||
),
|
||
auth: TAuth(
|
||
welcomeBack: 'Bem-vindo de volta',
|
||
loginToAccount: 'Entre na sua conta Xianyan',
|
||
password: 'Senha',
|
||
verifyCode: 'Código',
|
||
token: 'Token',
|
||
legacyUser: 'Legado',
|
||
passwordLogin: 'Login com senha',
|
||
codeLogin: 'Login com código',
|
||
tokenLogin: 'Login com Token',
|
||
legacyLogin: 'Login legado',
|
||
noAccountRegister: 'Sem conta? Registre-se agora',
|
||
skipLogin: 'Pular login',
|
||
otherMethods: 'Outros métodos',
|
||
otherLoginMethods: 'Outros métodos de login',
|
||
webLogin: 'Login Web',
|
||
wechat: 'WeChat',
|
||
qrcode: 'Código QR',
|
||
loginAgreePrefix: 'Ao entrar, você concorda ',
|
||
registerAgreePrefix: 'Ao se registrar, você concorda ',
|
||
userAgreement: 'Termos de uso',
|
||
and: ' e ',
|
||
privacyPolicy: 'Política de privacidade',
|
||
resetPassword: 'Redefinir senha',
|
||
resetPasswordHint: 'Entre com código para alterar sua senha',
|
||
featureNotSupported: 'Este recurso não é suportado neste dispositivo',
|
||
loginSuccess: 'Login bem-sucedido, bem-vindo!',
|
||
pleaseAgreeTerms: 'Aceite os termos e a política de privacidade primeiro',
|
||
pleaseEnterAccount: 'Insira nome de usuário ou email',
|
||
pleaseEnterPassword: 'Insira a senha',
|
||
passwordTooShort: 'A senha deve ter pelo menos 6 caracteres',
|
||
pleaseEnterEmail: 'Insira o endereço de email',
|
||
pleaseEnterValidEmail: 'Insira um endereço de email válido',
|
||
pleaseEnterCode: 'Insira o código de verificação',
|
||
codeExpiredOrWrong: 'Código incorreto ou expirado',
|
||
codeLoginFailed: 'Falha no login com código',
|
||
pleaseEnterToken: 'Insira o Token',
|
||
tokenTooShort: 'Token muito curto, verifique e tente novamente',
|
||
tokenLoginFailed: 'Falha no login com Token',
|
||
legacyMigrating: 'Este método está em migração, use outro método',
|
||
openInBrowser: 'Abrir no navegador',
|
||
registerNotice: 'Aviso de registro',
|
||
iUnderstand: 'Entendi',
|
||
createAccount: 'Criar conta',
|
||
registerNewAccount: 'Registre-se para começar',
|
||
username: 'Nome de usuário',
|
||
usernameHint: '3-30 caracteres, letras/números/underline/CJK',
|
||
usernameTooShort: 'Username must be at least 3 characters',
|
||
usernameInvalidChars: 'Username can only contain letters, numbers, underscores and Chinese',
|
||
usernameChecking: 'Checking username...',
|
||
usernameTaken: 'This username is already taken',
|
||
emailRequired: 'Email (obrigatório)',
|
||
emailHint: 'Para verificação e recuperação de senha',
|
||
nextStep: 'Próximo',
|
||
prevStep: 'Voltar',
|
||
codeSentTo: 'Código enviado para',
|
||
enterCodeHint: 'Insira o código de 6 dígitos',
|
||
resend: 'Reenviar',
|
||
codeNotReceivedTip:
|
||
'Não recebeu o código? Verifique o spam. Contate o suporte se precisar.',
|
||
setPassword: 'Definir senha',
|
||
passwordHint: 'Senha de 6-30 caracteres',
|
||
confirmPassword: 'Confirmar senha',
|
||
confirmPasswordHint: 'Insira a senha novamente',
|
||
secQuestionOptional: 'Pergunta de segurança (opcional)',
|
||
selected: 'Selecionado',
|
||
enhanceSecurity: 'Melhorar segurança da conta',
|
||
selectSecQuestion: 'Selecionar pergunta de segurança',
|
||
enterSecAnswerHint: 'Insira a resposta (1-50 caracteres)',
|
||
subscribeEmail: 'Assinar emails da equipe Xianyan',
|
||
completeRegister: 'Concluir registro',
|
||
hasAccountLogin: 'Já tem conta? Entre',
|
||
pleaseFillRequired: 'Preencha todos os campos obrigatórios',
|
||
passwordMismatch: 'As senhas não coincidem',
|
||
codeError: 'Erro no código de verificação',
|
||
registerSuccess: 'Registro bem-sucedido, bem-vindo!',
|
||
codeSendFailed: 'Falha ao enviar código, verifique o email',
|
||
codeSent: 'Código de verificação enviado',
|
||
codeSendFailedShort: 'Falha ao enviar código',
|
||
emailRegistered: 'Email já registrado',
|
||
emailRegisteredHint:
|
||
'Este email ({email}) j\u00e1 est\u00e1 registrado. Ir para a p\u00e1gina de login?',
|
||
goLogin: 'Ir para login',
|
||
forgotPassword: 'Esqueceu a senha?',
|
||
rememberAccount: 'Lembrar conta',
|
||
accountOrEmail: 'Nome de usuário ou email',
|
||
emailAddress: 'Endereço de email',
|
||
emailVerifyCode: 'Código de verificação por email',
|
||
sendCode: 'Enviar código',
|
||
emailNotReceivedHint:
|
||
'Não recebeu o email? Verifique o spam ou tente mais tarde',
|
||
tokenLoginHint:
|
||
'Insira Token para login rápido\nIdeal para sincronização multi-dispositivo',
|
||
pasteOrEnterToken: 'Colar ou inserir Token',
|
||
tokenManageHint: 'Obtenha Token em Segurança e gerenciamento de Tokens',
|
||
legacyLoginTitle: 'Login legado',
|
||
legacyLoginSubtitle: 'Login com sistema de conta anterior',
|
||
aboutLegacyLogin: 'Sobre login legado',
|
||
legacyLoginNotice:
|
||
'Usuários registrados entre 2019 e junho 2023 são legados com benefícios:\n• Manter pontos e níveis\n• Badge e título exclusivos\n• Acesso prioritário a recursos premium\n\nEste método está em migração, use outro método.',
|
||
loginSuccessTitle: 'Login bem-sucedido',
|
||
redirecting: 'Redirecionando...',
|
||
selectOpenMethod: 'Selecione como abrir:',
|
||
browser: 'Navegador',
|
||
unableOpenBrowser: 'Não é possível abrir o navegador',
|
||
cannotVerifyEmail: 'Não consegue verificar o email?',
|
||
skipEmailVerifyTip: 'Você pode pular a verificação e definir uma pergunta de segurança no próximo passo. Perguntas de segurança servem para recuperação de senha.',
|
||
setSecQuestionToContinue: 'Definir pergunta de segurança para continuar',
|
||
warmTips: 'Dicas',
|
||
tipOpenWithoutLogin: 'XianYan permanece aberto — a maioria das funções funciona sem login',
|
||
tipServerMayFail: 'Problemas no servidor podem causar falhas no registro',
|
||
tipWillImprove: 'Melhoraremos o processo de registro em atualizações futuras',
|
||
tips: 'Dicas',
|
||
forgotPasswordTitle: 'Esqueceu a senha',
|
||
forgotPasswordSubtitle: 'Redefina sua senha por verificação',
|
||
resetBySecQuestion: 'Pergunta de segurança',
|
||
resetByVerifyCode: 'Código de verificação',
|
||
resetByContactService: 'Contatar suporte',
|
||
newPasswordHint: 'Insira nova senha (6-30 caracteres)',
|
||
resetCodeAccountHint: 'E-mail ou número de celular',
|
||
resetPasswordSuccess: 'Senha redefinida com sucesso',
|
||
resetPasswordFailed: 'Falha ao redefinir a senha',
|
||
contactServiceTitle: 'Contatar suporte',
|
||
contactServiceSubtitle: 'Se não conseguir redefinir sua senha pelos métodos acima, contate o suporte com as seguintes informações',
|
||
contactServiceInfoAccount: 'Conta/nome de usuário registrado',
|
||
contactServiceInfoEmail: 'E-mail registrado',
|
||
contactServiceInfoDevice: 'Informações do dispositivo (modelo/versão do SO)',
|
||
contactServiceInfoDescription: 'Descrição do problema (data de registro, uso, etc.)',
|
||
contactServiceMethod: 'Método de contato',
|
||
contactServiceMethodDetail: 'Contate o suporte pela página "Sobre" no app ou por e-mail oficial, fornecendo as informações acima para verificação de identidade e assistência.',
|
||
experimentalFeature: 'Recurso experimental',
|
||
experimentalFeatureDesc: 'A conta Xianyan é um recurso experimental. O registro e o login têm pouco impacto no uso e não são recomendados. A maioria dos recursos funciona sem login.',
|
||
dontShowAgain: 'Não mostrar novamente',
|
||
viewExperimentalFeatures: 'Ver recursos experimentais',
|
||
userBatchFlag: 'Lote: {flag}',
|
||
openPeriod: 'Aberto: {period}',
|
||
expireNotice: 'Fecha após {year}',
|
||
),
|
||
progress: TProgress(
|
||
title: 'Progresso',
|
||
inputHint: 'Digite o nome do progresso...',
|
||
noData: 'Sem dados de progresso',
|
||
addProgress: 'Adicionar Progresso',
|
||
editProgress: 'Editar Progresso',
|
||
deleteItem: 'Excluir Item',
|
||
clearAll: 'Limpar Todo Progresso Personalizado',
|
||
clearAllConfirm: 'Limpar Progresso Personalizado',
|
||
clearAllConfirmMsg:
|
||
'Tem certeza de que deseja excluir todos os progressos personalizados? Esta ação não pode ser desfeita.',
|
||
cancel: 'Cancelar',
|
||
add: 'Adicionar',
|
||
save: 'Salvar',
|
||
name: 'Nome',
|
||
nameHint: 'Ex: Contagem regressiva do exame',
|
||
tag: 'Etiqueta',
|
||
tagHint: 'Ex: Último esforço',
|
||
type: 'Tipo',
|
||
countdown: 'Contagem regressiva',
|
||
progress: 'Progresso',
|
||
targetDate: 'Data alvo',
|
||
displayStyle: 'Estilo de exibição',
|
||
custom: 'Personalizado',
|
||
system: 'Sistema',
|
||
settings: 'Configurações de Progresso',
|
||
styleSetting: 'Estilo de exibição',
|
||
styleSettingDesc: 'Personalizar o estilo de exibição do progresso',
|
||
dataManagement: 'Gerenciamento de Dados',
|
||
dataManagementDesc: 'Gerenciar dados de progresso personalizado',
|
||
shareCard: 'Compartilhar Cartão de Progresso',
|
||
shareCardDesc: 'Gerar relatório de progresso para compartilhar',
|
||
refreshData: 'Atualizar Dados',
|
||
refreshDataDesc: 'Recalcular progresso do sistema',
|
||
selectStyle: 'Selecionar Estilo de Exibição',
|
||
applyStyleTo: 'Aplicar "{style}" a',
|
||
applyAll: 'Aplicar a Todos',
|
||
current: 'Atual',
|
||
applied: '{style} aplicado',
|
||
allApplied: '{style} aplicado a todos',
|
||
noUserItems: 'Sem progressos personalizados',
|
||
noShareData: 'Sem dados de progresso para compartilhar',
|
||
saveToAlbum: 'Salvar no Álbum',
|
||
systemShare: 'Compartilhamento do Sistema',
|
||
saveFailed: 'Falha ao salvar',
|
||
shareFailed: 'Falha ao compartilhar',
|
||
savedToAlbum: 'Salvo no álbum',
|
||
progressReport: 'Relatório de Progresso Xianyan',
|
||
totalProgress: 'Progresso Total',
|
||
inProgress: 'Em Andamento',
|
||
completed: 'Concluído',
|
||
moreItems: 'Mais {n} itens',
|
||
done: 'Concluído',
|
||
progressLabel: 'Progresso',
|
||
deleted: 'Excluído',
|
||
cleared: 'Limpo',
|
||
updated: 'Atualizado',
|
||
refreshed: 'Atualizado',
|
||
styleDescProgressBar: 'Barra horizontal, mostra a proporção de conclusão',
|
||
styleDescRingProgress: 'Estilo anel, ideal para porcentagens',
|
||
styleDescCountdownGrid:
|
||
'Grade Dias/Horas/Min/Seg, contagem regressiva em tempo real',
|
||
styleDescTagOnly: 'Exibição simples de etiqueta, para itens expirados',
|
||
nameRequired: 'Por favor, insira o nome do progresso',
|
||
dateMustBeFuture: 'A data alvo deve ser posterior a hoje',
|
||
undo: 'Desfazer',
|
||
itemDeleted: 'Excluído "{name}"',
|
||
allCleared: 'Todo progresso personalizado foi limpo',
|
||
),
|
||
onboarding: TOnboarding(
|
||
welcomeTitle: 'Bem-vindo ao Xianyan',
|
||
welcomeSubtitle: 'Abrir a vida com palavras · Citações + Papéis de parede',
|
||
featureDailyQuote: 'Citação do dia',
|
||
featureDailyQuoteDesc:
|
||
'Uma citação selecionada todos os dias para começar sua leitura',
|
||
featureDailyQuoteDetail:
|
||
'Uma citação elegante selecionada para você diariamente, com favoritos, compartilhamento e criação de papéis',
|
||
featureWallpaper: 'Criador de papéis',
|
||
featureWallpaperDesc:
|
||
'Transforme citações em belos papéis de parede para compartilhar',
|
||
featureWallpaperDetail:
|
||
'Crie papéis de parede impressionantes de suas citações favoritas com vários modelos e estilos',
|
||
featureFileTransfer: 'Transferência de arquivos',
|
||
featureFileTransferDesc:
|
||
'Transferência rápida entre dispositivos via LAN/Bluetooth',
|
||
featureFileTransferDetail:
|
||
'Transfira arquivos rapidamente por LAN, com Bluetooth, WiFi Direct e mais',
|
||
featureChatFlow: 'Fluxo de chat',
|
||
featureChatFlowDesc: 'Inscreva-se em feeds RSS, agregue seu conteúdo',
|
||
featureChatFlowDetail:
|
||
'Inscreva-se em feeds RSS, agregue o conteúdo que você segue, recomendações inteligentes',
|
||
permissionEntry: 'Permissões do app',
|
||
dataCollectionEntry: 'Coleta de dados',
|
||
languageLabel: 'Idioma / Language',
|
||
startButton: 'Começar',
|
||
gotIt: 'Entendi',
|
||
dailyQuoteLabel: 'Citação de hoje',
|
||
collectAction: 'Favorito',
|
||
shareAction: 'Compartilhar',
|
||
makeWallpaperAction: 'Papel',
|
||
templateSimple: 'Minimalista',
|
||
templateGradient: 'Gradiente',
|
||
templateGlass: 'Fosco',
|
||
transferring: 'Transferindo 70%',
|
||
wifiDirect: 'WiFi Direct',
|
||
mobileDevice: 'Dispositivo móvel',
|
||
pcDevice: 'Dispositivo PC',
|
||
rssLabel: 'Feeds RSS',
|
||
addRssSource: 'Adicionar feed',
|
||
welcomeNavLabel: 'Bem-vindo',
|
||
agreementTitle: 'Acordos',
|
||
agreementSubtitle:
|
||
'Leia e concorde com os seguintes acordos para proteger seus direitos',
|
||
privacyPolicyTab: 'Política de privacidade',
|
||
userAgreementTab: 'Acordo do usuário',
|
||
permissionInfoTab: 'Permissões',
|
||
updateDateLabel: 'Atualizado: ',
|
||
permissionUsageTitle: 'Uso de permissões do app',
|
||
permissionUsageDesc:
|
||
'As permissões abaixo são solicitadas apenas ao usar funções relacionadas',
|
||
requiredWarning: 'Negar afetará as funções principais',
|
||
optionalLabel: 'Opcional',
|
||
systemManagedLabel: 'Gerenciado pelo sistema',
|
||
requiredBadge: 'Obrigatório',
|
||
systemBadge: 'Sistema',
|
||
agreeAllCheckbox:
|
||
'Li e concordo com o 《Acordo do usuário》 e a 《Política de privacidade》',
|
||
readPermissionCheckbox: 'Li o 《Uso de permissões do app》',
|
||
agreeAndContinue: 'Concordar e continuar',
|
||
rejectAndExit: 'Recusar e sair',
|
||
skipOnboarding: 'Pular',
|
||
agreementNavLabel: 'Acordos',
|
||
personalizationTitle: 'Personalização',
|
||
personalizationSubtitle:
|
||
'Crie sua experiência de leitura, ajustável a qualquer momento',
|
||
livePreview: 'Pré-visualização ao vivo',
|
||
appearance: 'Aparência',
|
||
features: 'Funções',
|
||
accentColor: 'Cor de destaque',
|
||
cardStyle: 'Estilo do cartão',
|
||
fontStyle: 'Fonte',
|
||
shaderBackground: 'Fundo com efeitos',
|
||
soundFeedback: 'Resposta sonora',
|
||
showOnNextLaunch: 'Mostrar introdução no próximo início',
|
||
completeSetup: 'Concluído, entrar no Xianyan',
|
||
),
|
||
theme: TTheme(
|
||
title: 'Personalização de tema',
|
||
presetSection: 'Predefinições de tema',
|
||
appearanceSection: 'Modo de aparência',
|
||
autoDarkSection: 'Escuro programado',
|
||
accentColorSection: 'Cor de destaque',
|
||
fontSection: 'Configurações de fonte',
|
||
glassEffectSection: 'Efeito vidro fosco',
|
||
animationSection: 'Intensidade de animação',
|
||
cornerRadiusSection: 'Estilo de arredondamento',
|
||
cardStyleSection: 'Estilo de cartão',
|
||
tabExpressionSection: 'Captura de luz',
|
||
tabCharacterSection: 'Preferência de forma Tab',
|
||
bubbleStyleSection: 'Estilo de bolha',
|
||
wallpaperSection: 'Papel de parede',
|
||
previewSection: 'Pré-visualização em tempo real',
|
||
shareSection: 'Compartilhar tema',
|
||
modeLight: 'Claro',
|
||
modeDark: 'Escuro',
|
||
modeAmoled: 'Preto puro',
|
||
modeSystem: 'Seguir sistema',
|
||
autoDarkOff: 'Desativado',
|
||
autoDarkSunset: 'Pôr do sol',
|
||
autoDarkCustom: 'Personalizado',
|
||
sunsetHint: 'Mudança automática ao pôr do sol (aprox. 18:00 – 06:30)',
|
||
accentPurple: 'Lavanda',
|
||
accentCoral: 'Coral',
|
||
accentTeal: 'Menta',
|
||
accentBlue: 'Azul céu',
|
||
accentOrange: 'Laranja quente',
|
||
accentPink: 'Flor de cerejeira',
|
||
accentGreen: 'Esmeralda',
|
||
accentRose: 'Ouro rosa',
|
||
accentNoir: 'Preto tinta',
|
||
accentCustom: 'Personalizado',
|
||
customAccentTitle: 'Cor de destaque personalizada',
|
||
hueLabel: 'Matiz',
|
||
applyLabel: 'Aplicar',
|
||
fontSizeLabel: 'Tamanho da fonte',
|
||
fontWeightLabel: 'Peso da fonte',
|
||
fontStyleLabel: 'Estilo da fonte',
|
||
fontSizeXs: 'Minúsculo',
|
||
fontSizeSmall: 'Pequeno',
|
||
fontSizeNormal: 'Padrão',
|
||
fontSizeLarge: 'Grande',
|
||
fontSizeXlarge: 'Muito grande',
|
||
fontWeightLight: 'Leve',
|
||
fontWeightRegular: 'Padrão',
|
||
fontWeightMedium: 'Médio',
|
||
fontWeightSemibold: 'Semi-negrito',
|
||
fontStyleSystem: 'Padrão do sistema',
|
||
fontStyleSerif: 'Serif',
|
||
fontStyleMono: 'Monoespaçado',
|
||
fontStyleRounded: 'Arredondado',
|
||
glassOff: 'Desativado',
|
||
glassLight: 'Suave',
|
||
glassMedium: 'Médio',
|
||
glassStrong: 'Intenso',
|
||
animNone: 'Nenhuma',
|
||
animSubtle: 'Sutil',
|
||
animNormal: 'Padrão',
|
||
animPlayful: 'Brincalhão',
|
||
cornerCompact: 'Compacto',
|
||
cornerStandard: 'Padrão',
|
||
cornerRounded: 'Arredondado',
|
||
cornerSuper: 'Extra redondo',
|
||
cornerRadiusPreview: 'Pré-visualização',
|
||
cardStandard: 'Padrão',
|
||
cardBorderless: 'Sem borda',
|
||
cardShadow: 'Sombra',
|
||
cardMinimal: 'Minimalista',
|
||
cardIos: 'Xianyan',
|
||
tabExpressionDesc: 'Expressividade dos ícones de navegação selecionados',
|
||
tabExpressionExaggerated: 'Captura de luz',
|
||
tabExpressionSubtle: 'Captura de luz·Sutil',
|
||
tabCharacterDesc:
|
||
'Estilo de personagem dos ícones de navegação, animal ou humano',
|
||
tabCharacterPet: 'Animal',
|
||
tabCharacterHuman: 'Humano',
|
||
tabCharacterCat: 'Miau',
|
||
tabCharacterDog: 'Au au',
|
||
tabCharacterBoy: 'Menino',
|
||
tabCharacterGirl: 'Menina',
|
||
bubbleStyleDesc: 'Aparência das bolhas de chat, efeito global',
|
||
bubbleStandard: 'Padrão',
|
||
bubbleMinimal: 'Minimalista',
|
||
bubbleGlass: 'Vidro fosco',
|
||
bubbleShadow: 'Sombra',
|
||
selectWallpaper: 'Escolher papel de parede',
|
||
clearWallpaper: 'Remover papel de parede',
|
||
wallpaperOnlineSet: 'Papel online definido',
|
||
wallpaperGallerySet: 'Papel da galeria definido',
|
||
wallpaperGradientSet: 'Gradiente definido',
|
||
wallpaperSolidSet: 'Cor sólida definida',
|
||
wallpaperDefaultSet: 'Papel de parede definido',
|
||
wallpaperOnline: 'Papel online',
|
||
wallpaperGradientPreset: 'Gradientes predefinidos',
|
||
wallpaperFromGallery: 'Escolher da galeria',
|
||
wallpaperSolidBackground: 'Fundo cor sólida',
|
||
gradientPresetTitle: 'Gradientes predefinidos',
|
||
solidColorTitle: 'Fundo cor sólida',
|
||
applyCustomColor: 'Aplicar cor personalizada',
|
||
wpStarry: 'Céu estrelado',
|
||
wpForest: 'Floresta',
|
||
wpOcean: 'Oceano',
|
||
wpDesert: 'Deserto',
|
||
wpAurora: 'Aurora',
|
||
wpSunset: 'Pôr do sol',
|
||
wpLavender: 'Lavanda',
|
||
wpMist: 'Neblina matutina',
|
||
solidInkBlack: 'Preto tinta',
|
||
solidDeepBlue: 'Azul profundo',
|
||
solidInkGreen: 'Verde tinta',
|
||
solidWarmGray: 'Cinza quente',
|
||
solidWineRed: 'Vermelho vinho',
|
||
solidIndigo: 'Índigo',
|
||
solidOffWhite: 'Branco natural',
|
||
solidLightGray: 'Cinza claro',
|
||
photoPermissionTitle: 'Acesso à galeria necessário',
|
||
photoPermissionDesc:
|
||
'Permita que Xianyan acesse a galeria nas configurações do sistema.',
|
||
goToSettings: 'Ir para configurações',
|
||
resetTitle: 'Redefinir tema',
|
||
resetConfirm:
|
||
'Redefinir todas as configurações do tema para os valores padrão?',
|
||
resetToDefault: 'Redefinir para padrão',
|
||
previewTitleText: 'Pré-visualização do título',
|
||
previewBodyText:
|
||
'Pré-visualização do texto — cor de destaque, tamanho e peso da fonte, arredondamento e efeito vidro visíveis aqui.',
|
||
exportJson: 'Exportar JSON',
|
||
importJson: 'Importar JSON',
|
||
themeConfigJson: 'Configuração de tema JSON',
|
||
closeLabel: 'Fechar',
|
||
copyLabel: 'Copiar',
|
||
importConfigTitle: 'Importar configuração de tema',
|
||
pasteJsonPlaceholder: 'Colar configuração JSON',
|
||
importLabel: 'Importar',
|
||
presetInk: 'Preto tinta',
|
||
presetLavender: 'Lavanda',
|
||
presetSunset: 'Quente',
|
||
presetMint: 'Menta',
|
||
presetMidnight: 'Meia-noite',
|
||
presetSakura: 'Flor de cerejeira',
|
||
systemDefaultFont: 'Padrão do sistema',
|
||
previewCornerRadius: 'Canto',
|
||
previewCardStyle: 'Cartão',
|
||
previewGlassEffect: 'Vidro',
|
||
fontPreviewSample: 'Olá mundo',
|
||
),
|
||
search: TSearch(
|
||
placeholder: 'Buscar citações, poesias, filmes, artigos...',
|
||
typeAll: 'Tudo',
|
||
typeSentence: 'Citações',
|
||
typePoetry: 'Poesias',
|
||
typeArticle: 'Artigos',
|
||
typeFilm: 'Filmes',
|
||
typeMusic: 'Música',
|
||
typeBook: 'Clássicos',
|
||
typeHanzi: 'Hanzi',
|
||
typeCy: 'Idiomas',
|
||
modeFuzzy: 'Difuso',
|
||
modeExact: 'Exato',
|
||
modeRelated: 'Relacionado',
|
||
typeRowLabel: 'Tipo de busca',
|
||
modeRowLabel: 'Modo de busca',
|
||
suggestions: 'Sugestões',
|
||
hotSearch: 'Em alta',
|
||
searchHistory: 'Histórico',
|
||
countTimes: '{0} vezes',
|
||
noResults: 'Nenhum resultado encontrado',
|
||
tryDifferentKeyword: 'Tente outra palavra-chave',
|
||
loadingMore: 'Carregando mais resultados...',
|
||
loading: 'Carregando...',
|
||
foundCountSearching: '{0} encontrados, buscando...',
|
||
foundCountResults: '{0} resultados encontrados',
|
||
modeLabel: 'Modo: {0}',
|
||
keywordHighlight: 'Destaques de palavras-chave',
|
||
hotSearchRank: 'Em alta',
|
||
periodToday: 'Hoje',
|
||
periodWeek: 'Esta semana',
|
||
periodMonth: 'Este mês',
|
||
loadFailed: 'Falha ao carregar',
|
||
noHotSearch: 'Sem tendências para {0}',
|
||
numberWan: 'w',
|
||
searchPreference: 'Preferências de busca',
|
||
noPreference: 'Sem preferências de busca',
|
||
preferenceHint:
|
||
'Suas preferências de tipo são registradas automaticamente ao buscar',
|
||
preferenceDetail: 'Detalhes das preferências',
|
||
preferenceOverview: 'Visão geral',
|
||
totalSearchCount: 'Total de buscas',
|
||
mostSearched: 'Mais buscados',
|
||
preferenceTypeCount: 'Tipos de preferências',
|
||
lastSearch: 'Última busca: {0}',
|
||
justNow: 'Agora mesmo',
|
||
minutesAgo: '{0} min atrás',
|
||
hoursAgo: '{0} h atrás',
|
||
daysAgo: '{0} dias atrás',
|
||
contentPreference: 'Preferências de conteúdo',
|
||
contentPreferenceHint:
|
||
'Tipos desativados serão excluídos das recomendações',
|
||
contentPoetry: 'Poesia clássica',
|
||
contentChengyu: 'Idiomas',
|
||
contentStory: 'Histórias',
|
||
contentWisdom: 'Citações',
|
||
contentRiddle: 'Charadas',
|
||
contentBrainteaser: 'Quebra-cabeças',
|
||
contentEfs: 'Provérbios',
|
||
clearPreferenceTitle: 'Limpar preferências',
|
||
clearPreferenceConfirm:
|
||
'Limpar todas as preferências de busca? Esta ação não pode ser desfeita.',
|
||
privacyTipPrefix: 'Podemos coletar seu histórico de busca, ',
|
||
privacyTipDataCollection: 'Saiba sobre a coleta de dados',
|
||
privacyTipAnd: ' e ',
|
||
privacyTipPrivacyPolicy: 'Política de privacidade',
|
||
),
|
||
accountSettings: TAccountSettings(
|
||
title: 'Configurações da conta',
|
||
nickname: 'Apelido',
|
||
notSet: 'Não definido',
|
||
bio: 'Biografia',
|
||
notFilled: 'Não preenchido',
|
||
bindEmail: 'Vincular email',
|
||
notBound: 'Não vinculado',
|
||
bindMobile: 'Vincular celular',
|
||
changePassword: 'Alterar senha',
|
||
securityQuestion: 'Pergunta de segurança',
|
||
alreadySet: 'Definido',
|
||
securityAndToken: 'Segurança e tokens',
|
||
exportPersonalInfo: 'Exportar dados pessoais',
|
||
deleteAccount: 'Excluir conta',
|
||
logout: 'Sair',
|
||
logoutConfirm: 'Tem certeza de que deseja sair?',
|
||
logoutButton: 'Sair',
|
||
verified: 'Verificado',
|
||
unverified: 'Não verificado',
|
||
dangerZone: 'Zona de perigo',
|
||
dangerZoneDesc: 'Após a exclusão da conta, todos os dados serão excluídos permanentemente e não poderão ser recuperados. Após o envio, há um período de revisão de 3 dias durante o qual você pode cancelar a qualquer momento.',
|
||
deletionStatus: 'Status da solicitação de exclusão',
|
||
currentStatus: 'Status atual',
|
||
deletionReason: 'Motivo da exclusão',
|
||
applicationTime: 'Hora da solicitação',
|
||
autoDeletion: 'Exclusão automática',
|
||
pendingReview: 'Revisão pendente',
|
||
cancelDeletionRequest: 'Cancelar solicitação de exclusão',
|
||
cancelDeletionConfirmDesc: 'Tem certeza de que deseja cancelar a solicitação de exclusão? Sua conta voltará ao normal após o cancelamento.',
|
||
confirmCancel: 'Confirmar cancelamento',
|
||
deletionCancelled: 'Solicitação de exclusão cancelada',
|
||
cancelFailed: 'Cancelamento falhou',
|
||
deletionWarningContent: 'Após a exclusão, os dados da sua conta não poderão ser recuperados:\n\n• Todos os favoritos e notas\n• Registros de check-in e pontos\n• Perfil e configurações\n• Artigos e dados de interação\n\nApós o envio, há um período de revisão de 3 dias.\nA conta será excluída permanentemente após aprovação ou timeout.\n\nEsta ação não pode ser desfeita.',
|
||
iUnderstandContinue: 'Entendi, continuar',
|
||
securityVerification: 'Verificação de segurança',
|
||
inputDeleteConfirm: 'Digite "DELETE" para confirmar a exclusão:',
|
||
inputDeletePlaceholder: 'Digite DELETE',
|
||
deletionReasonOptional: 'Motivo (opcional)',
|
||
submitDeletionRequest: 'Enviar solicitação de exclusão',
|
||
loginRequiredForDeletion: 'Login necessário para excluir conta',
|
||
loginRequiredForDeletionDesc: 'Faça login primeiro para solicitar a exclusão da conta',
|
||
historicalDeletionRecord: 'Registros de exclusão anteriores',
|
||
finalStatus: 'Status final',
|
||
unknown: 'Desconhecido',
|
||
requestDeletion: 'Solicitar exclusão de conta',
|
||
noPendingDeletionDesc: 'Você não tem solicitações de exclusão pendentes. Se desejar excluir sua conta, clique no botão abaixo.',
|
||
deletionProcess: 'Processo de exclusão:',
|
||
step1SubmitRequest: 'Enviar solicitação (verificação de segurança necessária)',
|
||
step2ReviewPeriod: 'Período de revisão de 3 dias',
|
||
step3AutoDeletion: 'Revisão do admin ou exclusão automática após timeout',
|
||
step4PermanentDeletion: 'Conta e todos os dados excluídos permanentemente',
|
||
importantNotes: 'Notas importantes',
|
||
note1DataIrreversible: 'Todos os dados não podem ser recuperados após a exclusão',
|
||
note2CancelAnytime: 'Você pode cancelar a solicitação a qualquer momento durante o período de revisão de 3 dias',
|
||
note3PermanentDeletion: 'A conta será excluída permanentemente após aprovação do admin ou timeout',
|
||
note4ContactAdmin: 'Em caso de dúvidas, entre em contato com o admin ou deixe feedback na página Sobre',
|
||
userInfoFailed: 'Falha ao obter informações do usuário',
|
||
userInitiatedDeletion: 'Exclusão iniciada pelo usuário',
|
||
deletionSubmitted: 'Solicitação de exclusão enviada',
|
||
reviewIn3Days: 'O admin revisará em 3 dias',
|
||
requestFailed: 'Solicitação falhou',
|
||
estimatedAutoDeletion: 'Exclusão automática estimada em {0}',
|
||
deletionRequestCancelled: 'Solicitação de exclusão cancelada',
|
||
),
|
||
dataManagement: TDataManagement(
|
||
title: 'Gerenciamento de dados',
|
||
storageOverview: 'Visão geral do armazenamento',
|
||
totalLocalData: '{count} registros locais',
|
||
favorites: 'Favoritos',
|
||
history: 'Histórico',
|
||
notes: 'Notas',
|
||
shares: 'Compartilhamentos',
|
||
entriesUnit: 'registros',
|
||
dataDistribution: 'Distribuição de dados',
|
||
dataCategories: 'Categorias de dados',
|
||
favoriteData: 'Dados de favoritos',
|
||
localFavorites: '{count} favoritos locais',
|
||
readingHistory: 'Histórico de navegação',
|
||
localHistory: '{count} registros locais',
|
||
noteData: 'Dados de notas',
|
||
localNotes: '{count} notas locais',
|
||
shareHistory: 'Histórico de compartilhamentos',
|
||
shareRecords: '{count} compartilhamentos',
|
||
imageCache: 'Cache de imagens',
|
||
hanziCache: 'Cache de Hanzi',
|
||
queryCache: '{count} cache de consultas',
|
||
offlineQueue: 'Fila offline',
|
||
pendingSync: '{count} pendentes de sincronização',
|
||
clearName: 'Limpar {name}',
|
||
clearConfirm: 'Limpar {name}? Esta ação não pode ser desfeita.',
|
||
cleared: '{name} limpo',
|
||
dangerZone: 'Zona de perigo',
|
||
clearAllData: 'Limpar todos os dados',
|
||
clearAllConfirm:
|
||
'Todos os dados locais serão removidos. Esta ação não pode ser desfeita!',
|
||
clearAll: 'Limpar tudo',
|
||
clearAllLocalData: 'Limpar todos os dados locais',
|
||
allDataCleared: 'Todos os dados foram limpos',
|
||
),
|
||
source: TSource(
|
||
title: 'Fonte de frases',
|
||
dataOverview: 'Visão geral dos dados',
|
||
totalContent: 'Conteúdo total',
|
||
openChannels: 'Canais abertos',
|
||
totalViews: 'Visualizações totais',
|
||
searchChannel: 'Buscar canais...',
|
||
channelManagement: 'Gerenciamento de canais',
|
||
enabledCount: 'Ativados',
|
||
manage: 'Gerenciar',
|
||
noChannelFound: 'Nenhum canal encontrado',
|
||
displaySettings: 'Configurações de exibição',
|
||
sortOrder: 'Ordem de classificação',
|
||
newestFirst: 'Mais recentes primeiro',
|
||
hottestFirst: 'Mais populares primeiro',
|
||
contentDedup: 'Deduplicação de conteúdo',
|
||
dedupSubtitle: 'Excluir conteúdo já visto ao atualizar',
|
||
mixMode: 'Modo misto',
|
||
perPage: 'Por página',
|
||
perPageUnit: '{count} registros',
|
||
homeCardSettings: 'Configurações de cartões',
|
||
cardSource: 'Fonte dos cartões',
|
||
cardSourceSubtitle: 'Configurar a fonte de conteúdo dos cartões',
|
||
cardMixMode: 'Modo misto dos cartões',
|
||
advanced: 'Avançado',
|
||
importSource: 'Importar fonte',
|
||
importSubtitle: 'Importar arquivo JSON / CSV',
|
||
moreSources: 'Mais fontes',
|
||
moreSourcesSubtitle: 'Descobrir mais canais de conteúdo',
|
||
enableAll: 'Ativar todos',
|
||
disableAll: 'Desativar todos',
|
||
contentCount: 'Conteúdo',
|
||
viewCount: 'Visualizações',
|
||
status: 'Status',
|
||
enabledStatus: 'Ativado',
|
||
disabledStatus: 'Desativado',
|
||
browseChannel: 'Navegar no canal',
|
||
channelInfo: '{count} registros · {views} visualizações',
|
||
importSentenceSource: 'Importar fonte de frases',
|
||
importComingSoon:
|
||
'Importação em breve!\n\nSuporte para:\n• Importação JSON / CSV\n• Assinatura URL para fontes remotas\n• Mapeamento de campos personalizado',
|
||
newest: 'Recentes',
|
||
hottest: 'Populares',
|
||
localMode: 'Local Mode',
|
||
localModeDesc: 'Imported content is stored locally only',
|
||
urlImport: 'URL Import',
|
||
fileImport: 'File Import',
|
||
channelManage: 'Channel Management',
|
||
validate: 'Validate',
|
||
inputUrl: 'Enter URL',
|
||
analyzeUrl: 'Analyze URL',
|
||
dataFormat: 'Data Format',
|
||
channelConfig: 'Channel Config',
|
||
channelName: 'Channel Name',
|
||
channelIcon: 'Channel Icon',
|
||
showOnHome: 'Show on Home',
|
||
createChannel: 'Create Channel',
|
||
preview: 'Preview',
|
||
uploadFile: 'Upload File',
|
||
downloadTemplate: 'Download Template',
|
||
customChannel: 'Custom Channel',
|
||
mergedChannel: 'Merged Channel',
|
||
urlBadge: 'URL',
|
||
fileBadge: 'File',
|
||
shareChannel: 'Share Channel',
|
||
configWithData: 'Config + Data',
|
||
configOnly: 'Config Only',
|
||
analysisReport: 'Analysis Report',
|
||
devicePerf: 'Device Performance',
|
||
urlValidation: 'URL Validation',
|
||
fileValidation: 'File Validation',
|
||
contentQuality: 'Content Quality',
|
||
frequencyLimit: 'Frequency Limit',
|
||
),
|
||
favorites: TFavorites(
|
||
title: 'Meus favoritos',
|
||
manage: 'Gerenciar',
|
||
favorites: 'Favoritos',
|
||
categories: 'Categorias',
|
||
noStats: 'Sem estatísticas',
|
||
searchFavorites: 'Buscar nos favoritos',
|
||
newestFav: 'Mais recentes',
|
||
oldestFav: 'Mais antigos',
|
||
sortByType: 'Por tipo',
|
||
newest: 'Recentes',
|
||
oldest: 'Antigos',
|
||
type: 'Tipo',
|
||
selectedCount: '{count} selecionados',
|
||
selectAll: 'Selecionar tudo',
|
||
unfavorite: 'Remover dos favoritos',
|
||
batchUnfavorite: 'Remoção em lote',
|
||
batchUnfavoriteConfirm: 'Remover {count} itens selecionados dos favoritos?',
|
||
unfavoriteSuccess: 'Removido dos favoritos',
|
||
unfavoriteConfirm: 'Remover dos favoritos',
|
||
unfavoriteItemConfirm: 'Remover "{title}" dos favoritos?',
|
||
thinkAgain: 'Cancelar',
|
||
copyContent: 'Copiar conteúdo',
|
||
share: 'Compartilhar',
|
||
addTag: 'Adicionar tag',
|
||
moveGroup: 'Mover para grupo',
|
||
article: 'Artigo',
|
||
tool: 'Ferramenta',
|
||
page: 'Página',
|
||
localMode: 'Modo local · Entre para sincronizar com a nuvem',
|
||
loginSync: 'Entrar e sincronizar',
|
||
noMatchingFavorites: 'Nenhum favorito correspondente',
|
||
noFavoritesYet: 'Nenhum favorito ainda',
|
||
tryOtherKeywords: 'Tente outras palavras-chave',
|
||
tapToFavorite: 'Toque em ícone de coração na página inicial para favoritar',
|
||
shareFavorite: 'Compartilhar favorito',
|
||
systemShare: 'Compartilhamento do sistema',
|
||
noContentToCopy: 'Nenhum conteúdo para copiar',
|
||
copiedToClipboard: 'Copiado para a área de transferência',
|
||
addTagTitle: 'Adicionar tag',
|
||
tagSeparatorHint: 'Separe as tags com vírgulas',
|
||
tagPlaceholder: 'ex: Motivação, Poesia, Vida',
|
||
tagSaved: 'Tag salva',
|
||
exportFavorites: 'Exportar favoritos',
|
||
exportAsText: 'Exportar como texto',
|
||
exportAsJson: 'Exportar como JSON',
|
||
exportAsCsv: 'Exportar como CSV',
|
||
noFavoritesToExport: 'Nenhum favorito para exportar',
|
||
exportHeader: 'Exportação de favoritos Xianyan',
|
||
formatCopied: '{format} copiado para a área de transferência',
|
||
moveToGroup: 'Mover para grupo',
|
||
defaultGroup: 'Grupo padrão',
|
||
newGroup: 'Novo grupo...',
|
||
movedToGroup: 'Movido para "{group}"',
|
||
moveFailed: 'Falha ao mover',
|
||
newGroupTitle: 'Novo grupo',
|
||
groupNamePlaceholder: 'Nome do grupo',
|
||
createAndMove: 'Criar e mover',
|
||
createdAndMoved: 'Criado e movido para "{name}"',
|
||
operationFailed: 'Operação falhou',
|
||
favoriteGroups: 'Grupos de favoritos',
|
||
createNew: 'Novo',
|
||
noGroups: 'Sem grupos',
|
||
tapToCreateGroup: 'Toque em + para criar um grupo',
|
||
deleteGroup: 'Excluir grupo',
|
||
deleteGroupConfirm:
|
||
'Excluir grupo "{name}"? Os favoritos serão movidos para o grupo padrão.',
|
||
groupDeleted: 'Grupo excluído',
|
||
deleteFailed: 'Falha ao excluir',
|
||
renameGroup: 'Renomear grupo',
|
||
newNamePlaceholder: 'Novo nome',
|
||
renamed: 'Renomeado',
|
||
renameFailed: 'Falha ao renomear',
|
||
groupCreated: 'Grupo criado',
|
||
createFailed: 'Falha ao criar',
|
||
noTitle: 'Sem título',
|
||
noContentToShare: 'Nenhum conteúdo para compartilhar',
|
||
shareCopied: 'Conteúdo de compartilhamento copiado',
|
||
thisContent: 'este conteúdo',
|
||
sourceLocal: 'Local',
|
||
sourceCloud: 'Nuvem',
|
||
syncStatusSyncing: 'Sincronizando',
|
||
syncStatusSynced: 'Sincronizado',
|
||
syncStatusConflict: 'Conflito',
|
||
sortByTitle: 'Por título',
|
||
sortByTag: 'Por tag',
|
||
sortByGroup: 'Por grupo',
|
||
filterByGroup: 'Filtrar por grupo',
|
||
allGroups: 'Todos os grupos',
|
||
tagCloud: 'Nuvem de tags',
|
||
noTags: 'Sem tags',
|
||
tagCount: '{count} tags',
|
||
exportSaved: 'Salvo em {path}',
|
||
exportSaveFailed: 'Falha ao salvar',
|
||
swipeToUnfavorite: 'Deslize para a esquerda para remover dos favoritos',
|
||
cardSwipeHint: 'Esquerda para remover · Direita para compartilhar',
|
||
manualSort: 'Ordenação manual',
|
||
preview: 'Visualização',
|
||
offlineMode: 'Modo offline',
|
||
offlineSyncHint: 'Sincronização automática ao conectar',
|
||
archive: 'Arquivar',
|
||
archived: 'Arquivado',
|
||
expiredReminder: 'Lembrete de favoritos',
|
||
expiredReminderMessage: 'Você tem {count} favoritos não visitados há mais de {days} dias',
|
||
viewExpired: 'Ver',
|
||
reminderSettings: 'Configurações de lembrete',
|
||
reminderEnabled: 'Ativar lembrete',
|
||
reminderDays: 'Dias de lembrete',
|
||
),
|
||
offline: TOffline(
|
||
title: 'Modo offline',
|
||
online: 'Online',
|
||
offline: 'Offline',
|
||
onlineDesc: 'Rede conectada, todas as funções disponíveis',
|
||
offlineDesc: 'Rede desconectada, apenas conteúdo em cache',
|
||
syncNow: 'Sincronizar agora',
|
||
pendingActions: 'Ações pendentes',
|
||
pendingSync: 'Pendente',
|
||
lastSync: 'Última sincronização',
|
||
successCount: '{count} bem-sucedidos',
|
||
noData: 'Nenhum',
|
||
syncAll: 'Sincronizar tudo',
|
||
clearQueue: 'Limpar fila',
|
||
preloadManagement: 'Gerenciamento de pré-carregamento',
|
||
wifiAutoPreload: 'Pré-carregamento WiFi automático',
|
||
wifiAutoPreloadSubtitle: 'Cache automático de recomendações no WiFi',
|
||
autoSyncOnReconnect: 'Sincronização automática ao reconectar',
|
||
autoSyncOnReconnectSubtitle:
|
||
'Sincronizar ações offline automaticamente ao voltar online',
|
||
preloadChannels: 'Canais de pré-carregamento',
|
||
preloadNow: 'Pré-carregar agora',
|
||
smartPreloadStrategy: 'Estratégia inteligente de pré-carregamento',
|
||
preloadMode: 'Modo de pré-carregamento',
|
||
preloadContent: 'Conteúdo de pré-carregamento',
|
||
preloadFrequency: 'Frequência de pré-carregamento',
|
||
batteryThreshold: 'Limite de bateria baixa',
|
||
smartMode: 'Inteligente',
|
||
wifiOnly: 'Somente WiFi',
|
||
disabledMode: 'Desativado',
|
||
textContent: 'Texto',
|
||
imageContent: 'Imagens',
|
||
audioContent: 'Áudio',
|
||
realtime: 'Tempo real',
|
||
hourly: 'A cada hora',
|
||
daily: 'Diariamente',
|
||
smartModeDesc:
|
||
'Modo inteligente: pré-carregamento completo no WiFi, somente texto no celular, pausa com bateria baixa',
|
||
cacheStrategy: 'Estratégia de cache',
|
||
offlineModeSwitch: 'Modo offline',
|
||
offlineModeSwitchSubtitle:
|
||
'Cache automático do conteúdo navegado quando ativado',
|
||
cacheLimit: 'Limite de cache',
|
||
cacheExpiryDays: 'Dias de validade do cache',
|
||
maxOfflineActions: 'Máximo de ações offline',
|
||
maxRetryCount: 'Máximo de tentativas',
|
||
daysUnit: 'dias',
|
||
clearQueueTitle: 'Limpar fila',
|
||
clearQueueConfirm:
|
||
'Limpar todas as ações pendentes? Esta ação não pode ser desfeita.',
|
||
syncComplete: 'Sincronização concluída, {count} bem-sucedidos',
|
||
syncNoSuccess: 'Sincronização concluída, nenhum item bem-sucedido',
|
||
syncFailed: 'Sincronização falhou, tente novamente mais tarde',
|
||
syncError: 'Erro de sincronização: {error}',
|
||
wifiPreloadDisabled: 'Pré-carregamento WiFi desativado, ative-o primeiro',
|
||
networkUnavailable: 'Rede indisponível, verifique sua conexão',
|
||
preloadComplete: 'Pré-carregamento concluído, {count} canais em cache',
|
||
preloadSkipped: '{count} canais já em cache, ignorados',
|
||
allChannelsCached: 'Todos os canais já estão em cache',
|
||
preloadFailed: 'Pré-carregamento falhou, verifique sua conexão',
|
||
preloadError: 'Erro de pré-carregamento: {error}',
|
||
preloadModeDisabledHint: 'Modo de pré-carregamento desativado',
|
||
wifiOnlyModeHint: 'Modo apenas WiFi ativado',
|
||
preloadNoNewContent: 'Sem novo conteúdo para pré-carregar',
|
||
),
|
||
accountInsights: TAccountInsights(
|
||
title: 'Insights da Conta',
|
||
markAllRead: 'Marcar Tudo como Lido',
|
||
close: 'Fechar',
|
||
testAccountWarning: 'Esta pode ser uma conta de teste oficial do Xianyan, usada por várias pessoas. Não altere a senha nem crie notas com esta conta. Registre sua própria conta se necessário',
|
||
ohosDeviceWarning: 'Alguns dispositivos podem apresentar anomalias de identificação, como exibir desconhecido ou erros de fator de segurança',
|
||
allNormal: 'Tudo Normal',
|
||
noSecurityIssues: 'Nenhum problema de segurança',
|
||
totalCount: '{0} total · {1} não lidos',
|
||
refresh: 'Atualizar',
|
||
markedAsRead: '"{0}" marcado como lido',
|
||
selectReminderMethod: 'Selecione o método de lembrete, ou cancele para manter o estado atual',
|
||
snooze7Days: 'Silenciar por 7 dias',
|
||
ignoreForever: 'Ignorar · Nunca lembrar novamente',
|
||
snoozeSet: 'Silenciado por 7 dias',
|
||
ignoredSet: 'Ignorado, não será lembrado novamente',
|
||
allMarkedAsRead: 'Todos marcados como lidos',
|
||
deleted2: 'Excluído',
|
||
markRead: 'Marcar como Lido',
|
||
highPriority: 'Alta Prioridade',
|
||
mediumPriority: 'Média Prioridade',
|
||
lowPriority: 'Baixa Prioridade',
|
||
justNow: 'Agora mesmo',
|
||
hoursAgo: '{0} horas atrás',
|
||
daysAgo: '{0} dias atrás',
|
||
monthsAgo: '{0} meses atrás',
|
||
),
|
||
note: TNote(
|
||
title: 'My Notes',
|
||
searchNotes: 'Search Notes',
|
||
editNote: 'Edit Note',
|
||
newNote: 'New Note',
|
||
loginRequired: 'Login required to view',
|
||
loginToUseNotes: 'Login to use the notes feature',
|
||
goLogin: 'Login',
|
||
searchPlaceholder: 'Search note title or content',
|
||
all: 'All',
|
||
note: 'Note',
|
||
excerpt: 'Excerpt',
|
||
checklist: 'Checklist',
|
||
sortBy: 'Sort By',
|
||
sortByUpdateTime: 'Update Time',
|
||
sortByCreateTime: 'Create Time',
|
||
sortByTitle: 'Title',
|
||
groupBy: 'Group By',
|
||
groupByDate: 'By Date',
|
||
groupByCategory: 'By Category',
|
||
groupByType: 'By Type',
|
||
groupBySource: 'By Source',
|
||
switchLayout: 'Switch Layout',
|
||
layoutList: 'List',
|
||
layoutGrid: 'Waterfall',
|
||
layoutTimeline: 'Timeline',
|
||
selectedCount: '{0} selected',
|
||
selectAll: 'Select All',
|
||
deselectAll: 'Deselect All',
|
||
batchSelect: 'Batch Select',
|
||
multiSelect: 'Multi-Select',
|
||
batchDelete: 'Batch Delete',
|
||
batchDeleteConfirm: 'Delete {0} selected notes?',
|
||
deletedCount: '{0} notes deleted',
|
||
dragReorder: 'Drag Reorder',
|
||
dragToReorder: 'Drag cards to reorder',
|
||
starFavorite: 'Favorite',
|
||
unfavorite: 'Unfavorite',
|
||
exportNote: 'Export',
|
||
copyNote: 'Copy',
|
||
newNoteMenu: 'New Note',
|
||
sortMenu: 'Sort',
|
||
groupMenu: 'Group',
|
||
showStarOnly: 'Favorites Only',
|
||
showAll: 'Show All',
|
||
statsPanel: 'Statistics',
|
||
reorderMenu: 'Drag Reorder',
|
||
confirmClear: 'Confirm Clear',
|
||
clearAllWarning: 'All notes will be deleted. This cannot be undone',
|
||
clearAll: 'Clear All',
|
||
allCleared: 'All notes cleared',
|
||
noNotes: 'No Notes',
|
||
tapToStart: 'Tap the button below to start',
|
||
reachedBottom: 'End of list',
|
||
notesCount: '{0} notes',
|
||
unknownDate: 'Unknown Date',
|
||
today: 'Today',
|
||
yesterday: 'Yesterday',
|
||
uncategorized: 'Uncategorized',
|
||
noSource: 'No Source',
|
||
noTitle: 'Untitled',
|
||
deleteNote: 'Delete Note',
|
||
deleteNoteConfirm: 'Delete "{0}"?',
|
||
noteLoadFailed: 'Failed to load note',
|
||
titlePlaceholder: 'Title (optional, auto-named if empty)',
|
||
categoryLabel: 'Category',
|
||
sourceLabel: 'Source',
|
||
publicLabel: 'Public',
|
||
optionalPlaceholder: 'Optional',
|
||
visibleToAll: 'Visible to everyone',
|
||
visibleToSelf: 'Only visible to you',
|
||
selectSourceType: 'Select Source Type',
|
||
excerptPlaceholder: 'Paste or enter excerpt content...',
|
||
checklistPlaceholder: '- [ ] Todo 1\n- [ ] Todo 2\n- [x] Done',
|
||
notePlaceholder: 'Start writing (Markdown supported)...',
|
||
noPreviewContent: 'No content to preview',
|
||
switchToEdit: 'Switch to edit mode to start writing',
|
||
selectPreviewFont: 'Select Preview Font',
|
||
systemDefault: 'System Default',
|
||
noTitleNote: 'Untitled Note',
|
||
noteSaved: 'Note saved',
|
||
unsaved: 'Unsaved',
|
||
saved: 'Saved',
|
||
charCount: '{0} chars',
|
||
sourcePoetry: 'Poetry',
|
||
sourceArticle: 'Article',
|
||
sourceHanzi: 'Hanzi',
|
||
sourceIdiom: 'Idiom',
|
||
bold: 'Bold',
|
||
italic: 'Italic',
|
||
heading: 'Heading',
|
||
list: 'List',
|
||
orderedList: 'Ordered',
|
||
quote: 'Quote',
|
||
link: 'Link',
|
||
code: 'Code',
|
||
divider: 'Divider',
|
||
noteStats: 'Note Statistics',
|
||
totalNotes: 'Total Notes',
|
||
weekNew: 'This Week',
|
||
totalWords: 'Total Words',
|
||
typeDistribution: 'Type Distribution',
|
||
categoryDistribution: 'Category Distribution',
|
||
noCategoryData: 'No category data',
|
||
starredNotes: 'Starred Notes',
|
||
exportTitle: 'Notes Export',
|
||
exportCountNote: '{0} notes total',
|
||
copiedToClipboard: 'Copied to clipboard',
|
||
exportTypeLabel: 'Type',
|
||
exportCategoryLabel: 'Category',
|
||
exportPublicYes: 'Yes',
|
||
exportSourceLabel: 'Source',
|
||
exportCreateTime: 'Created',
|
||
exportUpdateTime: 'Updated',
|
||
exportShareSubject: 'Notes Export ({0})',
|
||
pinToDiscover: 'Pin to Discover',
|
||
pinToDiscoverDesc: 'When enabled, the note will appear at the top of the Discover feed',
|
||
close: 'Close',
|
||
pinnedToDiscover: 'Pinned to Discover',
|
||
unpinnedFromDiscover: 'Unpinned from Discover',
|
||
confirmPin: 'Confirm Pin',
|
||
confirmUnpin: 'Confirm Unpin',
|
||
),
|
||
widget: TWidget(
|
||
title: 'Widgets de Desktop',
|
||
devDialogContent: 'O recurso de Widget está em desenvolvimento ativo. Algumas funcionalidades podem estar incompletas ou instáveis.\n\nAtualmente suportado: Exibição básica de widgets e push de dados\nEm breve: Mais estilos de widgets, interações, sincronização multiplataforma',
|
||
dontRemind: 'Não lembrar novamente',
|
||
viewExperimentalFeatures: 'Ver recursos experimentais',
|
||
iKnow: 'Eu entendo',
|
||
priorityCore: 'Widgets principais',
|
||
priorityRecommended: 'Recomendados',
|
||
priorityPractical: 'Widgets práticos',
|
||
priorityFun: 'Widgets divertidos',
|
||
addedToDesktop: '{0} adicionado à tela inicial',
|
||
addWidgetTitle: 'Adicionar "{0}"',
|
||
unsupportedAddHint: 'Adição rápida não suportada neste dispositivo. Adicione manualmente:',
|
||
failedAddHint: 'Adição rápida falhou. Adicione manualmente:',
|
||
harmonyStep1: '1️⃣ Pressione longamente um espaço vazio na tela inicial',
|
||
harmonyStep2: '2️⃣ Selecione "Cartões de serviço"',
|
||
harmonyStep3: '3️⃣ Encontre "Xianyan"',
|
||
harmonyStep4: '4️⃣ Selecione "{0}" e adicione à tela inicial',
|
||
androidStep1: '1️⃣ Pressione longamente um espaço vazio na tela inicial',
|
||
androidStep2: '2️⃣ Selecione "Widgets"',
|
||
androidStep3: '3️⃣ Encontre "Xianyan"',
|
||
androidStep4: '4️⃣ Arraste "{0}" para a tela inicial',
|
||
iosStep1: '1️⃣ Deslize para a direita para a vista Hoje',
|
||
iosStep2: '2️⃣ Role para baixo e toque em "Editar"',
|
||
iosStep3: '3️⃣ Encontre "Xianyan"',
|
||
iosStep4: '4️⃣ Selecione "{0}" e adicione',
|
||
pushData: 'Enviar dados',
|
||
pushedDataToWidget: 'Dados enviados para o widget {0}',
|
||
gotIt: 'Entendido',
|
||
syncTheme: 'Sincronizar tema',
|
||
pushedThemeToWidget: 'Tema atual enviado para os widgets',
|
||
platformCompatTitle: 'Compatibilidade de plataforma',
|
||
androidCompatDesc: 'Incompleto, problemas de comunicação nativa',
|
||
iosCompatDesc: 'WidgetKit + SwiftUI, interação requer iOS 17+',
|
||
harmonyCompatDesc: 'FormExtension + ArkUI, capacidades limitadas, o sistema limita a frequência de atualização',
|
||
syncThemeHint: 'Toque em "Sincronizar tema" para enviar o modo escuro/claro atual para todos os widgets instalados',
|
||
installed: 'Instalado',
|
||
add: 'Adicionar',
|
||
dataPreview: 'Visualização de dados',
|
||
refresh: 'Atualizar',
|
||
typeDailySentence: 'Citação diária',
|
||
typeReadlater: 'Ler depois',
|
||
typeDailyCard: 'Cartão diário',
|
||
typeDailyFortune: 'Fortuna do dia',
|
||
typeCountdown: 'Contagem regressiva',
|
||
typePomodoro: 'Pomodoro',
|
||
typeSolarTerm: 'Poesia de termos solares',
|
||
typeCheckin: 'Check-in diário',
|
||
typeDailyWithCharacter: 'Citação diária + Personagem',
|
||
subtitleDailySentence: 'Citação diária selecionada',
|
||
subtitleReadlater: 'Contagem de não lidos e pré-visualização recente',
|
||
subtitleDailyCard: 'Lindo cartão diário com data e citação',
|
||
subtitleDailyFortune: 'Horóscopo de hoje e palavras-chave da sorte',
|
||
subtitleCountdown: 'Eventos de contagem regressiva personalizados',
|
||
subtitlePomodoro: 'Temporizador de foco rápido na tela inicial',
|
||
subtitleSolarTerm: 'Termo solar atual e poesia relacionada',
|
||
subtitleCheckin: 'Dias consecutivos de check-in e check-in rápido',
|
||
subtitleDailyWithCharacter: 'Personagem + citação diária recomendada',
|
||
previewNoData: 'Sem dados',
|
||
previewReadlaterCount: '{0} não lidos',
|
||
previewPomodoroRemaining: '{0}s restantes',
|
||
previewCheckinDays: '{0} dias consecutivos',
|
||
previewDailyCard: 'Cartão diário',
|
||
badgeHarmony: 'Harmony',
|
||
),
|
||
fileTransfer: TFileTransfer(
|
||
generateCode: 'Generate Code',
|
||
generateCodeDesc: 'Generate a pairing code for the other device to enter',
|
||
generateCodeButton: '🔑 Generate Code',
|
||
pairingCode: 'Pairing Code',
|
||
waitingForInput: '⏳ Waiting for input...',
|
||
copyCode: 'Copy Code',
|
||
copiedTitle: '✅ Copied',
|
||
copiedContent: 'Pairing code {0} copied to clipboard',
|
||
inputCode: 'Enter Code',
|
||
inputCodeDesc: 'Enter the 4-digit pairing code from the other device',
|
||
pairingButton: '🔗 Pair & Connect',
|
||
pairingInProgress: 'Pairing...',
|
||
pairingSuccess: 'Pairing Successful',
|
||
connectedWith: 'Connected with {0}',
|
||
startChat: 'Start Chat',
|
||
inputIncomplete: 'Incomplete Input',
|
||
inputIncompleteDesc: 'Please enter a 4-digit pairing code',
|
||
notConnected: 'Not Connected',
|
||
connectServerFirst: 'Please connect to the signaling server first',
|
||
generateFailed: 'Generation Failed',
|
||
joinFailed: 'Join Failed',
|
||
p2pDirect: 'P2P Direct',
|
||
p2pConnected: '🔗 P2P Direct Connected',
|
||
p2pListening: '📡 P2P Waiting for Connection...',
|
||
p2pConnecting: '🔄 P2P Connecting...',
|
||
p2pError: '⚠️ P2P Connection Error',
|
||
p2pDisconnected: '🔗 P2P Direct Not Connected',
|
||
p2pNotSupported: '🔗 P2P Direct (Not Supported)',
|
||
localAddress: 'Local Address: {0}',
|
||
stopP2pService: 'Stop P2P Service',
|
||
startP2pService: 'Start P2P Service',
|
||
p2pStartFailed: 'Start Failed',
|
||
p2pStartFailedDesc: 'P2P service failed to start, please check network permissions',
|
||
or: 'or',
|
||
confirm: 'OK',
|
||
),
|
||
beta: TBeta(
|
||
pageTitle: '🧪 Beta',
|
||
back: 'Voltar',
|
||
previewTab: 'Pré-visualização',
|
||
issuesTab: 'Problemas',
|
||
confirmClose: 'Desativar "{0}"? Você não poderá usar este recurso experimental.',
|
||
confirmOpen: 'Ativar "{0}"? Este recurso pode ser instável.',
|
||
cancel: 'Cancelar',
|
||
close: 'Desativar',
|
||
open: 'Ativar',
|
||
emptyFeatures: 'Sem recursos experimentais',
|
||
reload: 'Recarregar',
|
||
loadFailed: 'Falha ao carregar',
|
||
retry: 'Tentar novamente',
|
||
filterAll: 'Todos',
|
||
filterPending: 'Pendente',
|
||
filterFixing: 'Em correção',
|
||
filterFixed: 'Corrigido',
|
||
emptyIssues: 'Sem problemas',
|
||
rolloutPercentage: 'Implantação {0}%',
|
||
targetGroup: 'Grupo: {0}',
|
||
issueStats: 'Problemas: {0} pendentes, {1} em correção, {2} corrigidos',
|
||
severityHigh: 'Alta',
|
||
severityMedium: 'Média',
|
||
severityLow: 'Baixa',
|
||
statusPending: 'Pendente',
|
||
statusFixing: 'Em correção',
|
||
statusFixed: 'Corrigido',
|
||
statusDeveloping: 'Em desenvolvimento',
|
||
statusTesting: 'Em testes',
|
||
statusPreview: 'Pré-visualização',
|
||
statusReleased: 'Lançado',
|
||
comingSoon: 'Em breve',
|
||
gotIt: 'Entendi',
|
||
// Questionário
|
||
questionnaireBtn: '📝 Preencher Questionário',
|
||
questionnaireTitle: 'Questionário Beta GMS',
|
||
q1KnowGooglePlay: 'Você está familiarizado com o Google Play?',
|
||
q2HasGmsDevice: 'Você tem um dispositivo com suporte a GMS (Google Mobile Services)?',
|
||
q3WillingToBeta: 'Gostaria de participar do beta GMS do Xianyan APP?',
|
||
q4EnterGmail: 'Insira seu endereço Gmail',
|
||
q4GmailHint: 'Após aprovação, você terá acesso ao beta GMS',
|
||
qYes: 'Sim',
|
||
qNo: 'Não',
|
||
qSubmit: 'Enviar',
|
||
qNext: 'Próximo',
|
||
qEndTitle: 'Questionário Concluído',
|
||
qEndThanks: '🎉 Obrigado por participar! Analisaremos sua inscrição em breve.',
|
||
qEndNotQualified: 'Infelizmente, você não atende aos requisitos do beta no momento.',
|
||
qInvalidEmail: 'Insira um endereço Gmail válido',
|
||
qSubmitting: 'Enviando...',
|
||
qSubmitSuccess: '✅ Enviado com sucesso',
|
||
qSubmitFailed: 'Falha no envio, tente novamente mais tarde',
|
||
qEndThankYou: 'Obrigado por participar',
|
||
),
|
||
submit: TSubmit(
|
||
title: 'Anonymous Submit',
|
||
contentLabel: 'Content',
|
||
titleLabel: 'Title',
|
||
authorLabel: 'Author',
|
||
categoryLabel: 'Category',
|
||
titleHint: 'Optional',
|
||
authorHint: 'Optional',
|
||
contentHint: 'Required, 10-100 chars',
|
||
submit: 'Submit',
|
||
submitting: 'Submitting…',
|
||
contentRequired: 'Please enter content',
|
||
contentTooShort: 'Content must be at least 10 characters',
|
||
contentTooLong: 'Content cannot exceed 100 characters',
|
||
reviewing: 'Under Review',
|
||
reviewDesc: 'Submission received, will be shown after approval',
|
||
historyTitle: 'Submission History',
|
||
historyEmpty: 'No submissions yet',
|
||
statusReviewing: 'Reviewing',
|
||
statusApproved: 'Approved',
|
||
statusRejected: 'Rejected',
|
||
catYiyan: 'One Word',
|
||
catXinde: 'Insight',
|
||
catYiju: 'One Line',
|
||
catSignature: 'Signature',
|
||
deleteRecord: 'Delete',
|
||
deleteConfirm: 'Delete this submission record?',
|
||
),
|
||
studyPlan: TStudyPlan(
|
||
pageTitle: 'Plano de Estudo',
|
||
emptyTitle: 'Comece Sua Jornada de Aprendizado',
|
||
emptySubtitle: 'Crie um plano de estudo, mantenha-o diariamente\nPequenos passos levam a grandes conquistas',
|
||
createFirst: 'Criar Primeiro Plano',
|
||
createPlan: 'Criar Plano',
|
||
createStudyPlan: 'Criar Plano de Estudo',
|
||
selectTemplate: 'Selecionar Modelo',
|
||
dailyGoal: 'Meta Diária',
|
||
perDay: '/dia',
|
||
addPlan: 'Adicionar Novo Plano',
|
||
completeOne: 'Completar 1',
|
||
more: 'Mais',
|
||
pausePlan: 'Pausar Plano',
|
||
resumePlan: 'Retomar Plano',
|
||
deletePlan: 'Excluir Plano',
|
||
confirmDelete: 'Confirmar Exclusão',
|
||
confirmDeleteMsg: 'Excluir "{0}"? Todos os registros de aprendizado também serão excluídos.',
|
||
cancel: 'Cancelar',
|
||
delete: 'Excluir',
|
||
readingGoal: 'Meta de Leitura',
|
||
todayViews: 'Visualizações Hoje',
|
||
todayFavorites: 'Favoritos Hoje',
|
||
todayNotes: 'Notas Hoje',
|
||
streakDays: 'Sequência',
|
||
setReadingGoal: 'Definir Meta de Leitura',
|
||
dailyViewGoal: 'Visualizações Diárias',
|
||
dailyFavoriteGoal: 'Favoritos Diários',
|
||
dailyNoteGoal: 'Notas Diárias',
|
||
streakGoal: 'Meta de Sequência',
|
||
todayProgress: 'Hoje',
|
||
totalCompleted: 'Total Concluído',
|
||
streakLabel: 'Dias Consecutivos',
|
||
startDate: 'Data de Início',
|
||
dailyTarget: 'Meta Diária',
|
||
recentRecords: 'Registros Recentes',
|
||
noRecords: 'Nenhum registro de aprendizado ainda',
|
||
completed: 'Concluído',
|
||
days: 'dias',
|
||
planDetail: 'Detalhes do Plano',
|
||
settings: 'Configurações',
|
||
managePlans: 'Gerenciar Planos de Estudo',
|
||
activePlans: 'Ativos',
|
||
pausedPlans: 'Pausados',
|
||
allPlans: 'Todos',
|
||
restructureTitle: 'Aviso de atualização de recurso',
|
||
restructureMessage: 'O plano de estudo será reestruturado na próxima versão e renomeado para «Plano de vida»\nAlgumas funcionalidades mudarão. Fique atento',
|
||
restructureConfirm: 'OK',
|
||
restructureDontRemind: 'Não lembrar mais',
|
||
restructureDetails: 'Saiba mais',
|
||
restructureDetailsTitle: 'Detalhes da atualização do plano de estudo',
|
||
restructureDetailsBody: '[Renomeação] "Plano de estudo" passará a ser "Plano de vida" com escopo ampliado\n[Novo] Metas de aprendizado personalizadas e lembretes\n[Melhorado] Interação da página de detalhes do plano\n[Melhorado] Categorias de modelos mais claras\nNota: Os dados existentes serão migrados automaticamente.',
|
||
catPoetry: 'Poesia',
|
||
catChengyu: 'Idioma',
|
||
catClassic: 'Clássico',
|
||
catWisdom: 'Sabedoria',
|
||
catCustom: 'Personalizado',
|
||
dailyPoetry5Title: 'Diário 5 Poemas',
|
||
dailyPoetry5Desc: 'Leia 5 poemas diariamente',
|
||
dailyPoetry3Title: 'Plano Leve de Poesia',
|
||
dailyPoetry3Desc: '3 poemas diários, fácil de manter',
|
||
dailyChengyu5Title: 'Mestre de Idiomas',
|
||
dailyChengyu5Desc: 'Aprenda 5 idiomas diariamente',
|
||
dailyWisdom3Title: 'Coleção de Sabedoria',
|
||
dailyWisdom3Desc: '3 citações diárias para inspirar sabedoria',
|
||
weeklyClassicTitle: 'Leitura Clássica',
|
||
weeklyClassicDesc: 'Leia uma citação clássica por semana',
|
||
dailyMix5Title: 'Aprendizado Misto',
|
||
dailyMix5Desc: '5 itens mistos diariamente para desenvolvimento integral',
|
||
),
|
||
correction: TCorrection(
|
||
pageTitle: 'Correção de conteúdo',
|
||
correctionType: 'Tipo de correção',
|
||
contentType: 'Tipo de conteúdo',
|
||
contentId: 'ID do conteúdo',
|
||
contentIdHint: 'Digite o número ID do conteúdo',
|
||
contentIdTip: 'Se não houver ID, digite 1',
|
||
contentIdTipConfirm: 'Entendi',
|
||
correctionDesc: 'Descrição da correção',
|
||
correctionDescHint: 'Descreva pelo menos 10 caracteres',
|
||
correctionDescMinLength: 'Descreva detalhadamente o conteúdo a corrigir (pelo menos 10 caracteres)...',
|
||
submit: 'Enviar correção',
|
||
submitSuccess: 'Enviado! Obrigado pelo feedback',
|
||
submitSuccessMessage: 'Enviado com sucesso! Obrigado pelo feedback, o administrador processará.',
|
||
submitFailed: 'Falha no envio',
|
||
typeError: 'Erro de conteúdo',
|
||
typeTypo: 'Erro de digitação',
|
||
typeMissing: 'Conteúdo ausente',
|
||
typeSuggestion: 'Sugestão de melhoria',
|
||
catArticle: 'Artigo',
|
||
catHanzi: 'Hanzi',
|
||
catChengyu: 'Chengyu',
|
||
catPoetry: 'Poesia',
|
||
catZc: 'Vocabulário',
|
||
catRiddle: 'Enigma',
|
||
catOther: 'Outro',
|
||
includeEmail: 'Incluir endereço de email',
|
||
contactEmail: 'Email de contato',
|
||
emailOptional: 'Opcional',
|
||
emailPlaceholder: 'Para contatá-lo (opcional)',
|
||
userLabel: 'Usuário',
|
||
securityVerify: 'Verificação de segurança',
|
||
captchaPrompt: 'Calcule o seguinte resultado',
|
||
captchaPlaceholder: 'Digite a resposta',
|
||
captchaCancel: 'Cancelar',
|
||
captchaConfirm: 'Confirmar',
|
||
captchaError: 'Captcha incorreto, reenvie',
|
||
records: 'Histórico de correções',
|
||
noRecords: 'Sem correções',
|
||
contactEmailFeedback: 'Contatar por email',
|
||
statusPending: 'Pendente',
|
||
statusProcessed: 'Processado',
|
||
statusRejected: 'Rejeitado',
|
||
statusUnknown: 'Desconhecido',
|
||
sourceLocal: '📱 Local',
|
||
sourceAdmin: '👤 Admin',
|
||
emptyContent: 'Digite a descrição da correção',
|
||
invalidId: 'Digite um ID de conteúdo válido',
|
||
),
|
||
leisure: TLeisure(
|
||
priceBudget: 'Económico',
|
||
priceMid: 'Médio',
|
||
pricePremium: 'Premium',
|
||
pricePaid: 'Pago',
|
||
priceCommercial: 'Comercial',
|
||
priceUnknown: 'Desconhecido',
|
||
filterLabel: 'Filtrar por tags',
|
||
filterBloom: 'Floração',
|
||
filterFood: 'Gastronomia',
|
||
filterAltitude: 'Alta altitude',
|
||
filterRisk: 'Risco',
|
||
filterSunrise: 'Nascer do sol',
|
||
filterSeaside: 'Costa',
|
||
heatExtremely: 'Muito popular',
|
||
heatHigh: 'Popular',
|
||
heatMedium: 'Moderado',
|
||
heatLow: 'Baixo',
|
||
heatCold: 'De nicho',
|
||
restructureTitle: 'Atualização em breve',
|
||
restructureMessage: 'Lazer será atualizado na próxima versão com mais tipos de cartões e filtros',
|
||
restructureConfirm: 'OK',
|
||
restructureDontRemind: 'Não lembrar mais',
|
||
restructureDetails: 'Detalhes',
|
||
restructureDetailsTitle: 'Notas de atualização do Lazer',
|
||
restructureDetailsBody: '[Novo] Níveis de preço ampliados para Económico/Médio/Premium\n[Novo] Tags de filtro multilingues\n[Otimizado] Exibição e interação de cartões\n[Otimizado] Suporte multilingue de popularidade',
|
||
),
|
||
);
|