1892 lines
81 KiB
Dart
1892 lines
81 KiB
Dart
/// ============================================================
|
||
/// 闲言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',
|
||
),
|
||
);
|