Files
xianyan/lib/l10n/languages/pt.dart
2026-06-06 06:54:22 +08:00

1892 lines
81 KiB
Dart
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/// ============================================================
/// 闲言APP — 葡萄牙语翻译数据
/// 创建时间: 2026-05-29
/// 更新时间: 2026-06-01
/// 作用: 葡萄牙语(pt)翻译文本
/// 上次更新: 新增accountSettings/dataManagement/source/favorites/offline模块翻译
/// ============================================================
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',
),
home: THome(
base: THomeBase(
batteryCritical: 'Bateria muito baixa! Carregue agora 🔴',
batteryLow: 'Bateria baixa, lembre-se de carregar 💛',
defaultSentence: '',
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: 'Puxe para 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',
),
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',
fileType: 'Arquivo',
linkType: 'Link',
docType: 'Documento',
textType: 'Texto',
imageEmoji: '🖼️ Imagem',
videoEmoji: '🎬 Vídeo',
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',
),
),
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',
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',
),
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',
),
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',
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',
),
notification: 'Notificações',
pushNotification: 'Notificações push',
pushNotificationSubtitle: 'Sugestões diárias, check-in e alertas sazonais',
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',
),
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',
),
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...',
),
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 de Chat',
chatAttachments: 'Anexos de Chat',
chatTrash: 'Lixeira do Chat',
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 do Chat',
cleanChatThumbnails: 'Limpar Miniaturas do Chat',
clearAllCache2: 'Limpar Todo o Cache',
cleanTransferCache: 'Limpar Cache de Transferência',
clearAllChatData: 'Limpar Todos os Dados de Chat',
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 do Chat limpa',
cleaningChatThumbnails: 'Miniaturas do Chat limpas',
cleaningTransferCache: 'Cache de Transferência limpo',
clearingAllChatData: 'Todos os dados de chat 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 do Chat',
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 do Chat',
confirmCleanChatThumbnailsContent: 'Todo o cache de miniaturas de imagens do chat 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 Chat',
confirmClearAllChatDataContent: 'Todas as sessões de chat, 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',
),
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',
shakeEnabled: 'Ativado',
shakeDisabled: 'Desativado',
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',
permShakeLabel: 'Agitar',
permShakeDesc:
'Agite o telefone para acionar funções como trocar citações ou atualizar conteúdo',
permShakeUsage: 'Trocar citação diária|Atualizar conteúdo|Easter egg',
permShakeDenial: 'Não é possível usar agitar para trocar citações',
),
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 ❤️',
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',
emailPrimary: '🌐 Principal',
emailSupport: '🤝 Suporte',
emailAny: '📬 Geral',
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:@loveroiy',
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',
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',
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?',
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',
),
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',
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',
shakeToSwitch: 'Agitar para trocar',
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: 'Livros',
typeHanzi: 'Hanzi',
typeCy: 'Idiomas',
modeFuzzy: 'Difuso',
modeExact: 'Exato',
modeRelated: 'Relacionado',
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.',
),
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',
),
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 leitura',
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',
),
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 ❤️ 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',
),
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',
),
);