tane/apps/app_seeds/lib/i18n/strings_pt.g.dart
vjrj 69f63d2b62 Merge branch 'claude/intelligent-bardeen-0d5ee9': market detail page, filters, publish-dedup
# Conflicts:
#	apps/app_seeds/lib/i18n/strings.g.dart
#	apps/app_seeds/lib/i18n/strings_ast.g.dart
2026-07-10 19:11:59 +02:00

1447 lines
68 KiB
Dart

///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
// dart format off
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsPt extends Translations with BaseTranslations<AppLocale, Translations> {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsPt({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
$meta = meta ?? TranslationMetadata(
locale: AppLocale.pt,
overrides: overrides ?? {},
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
),
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
$meta.setFlatMapFunction(_flatMapFunction);
}
/// Metadata for the translations of <pt>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsPt _root = this; // ignore: unused_field
@override
TranslationsPt $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsPt(meta: meta ?? this.$meta);
// Translations
@override late final _Translations$app$pt app = _Translations$app$pt._(_root);
@override late final _Translations$bootstrap$pt bootstrap = _Translations$bootstrap$pt._(_root);
@override late final _Translations$common$pt common = _Translations$common$pt._(_root);
@override late final _Translations$home$pt home = _Translations$home$pt._(_root);
@override late final _Translations$photo$pt photo = _Translations$photo$pt._(_root);
@override late final _Translations$menu$pt menu = _Translations$menu$pt._(_root);
@override late final _Translations$settings$pt settings = _Translations$settings$pt._(_root);
@override late final _Translations$backup$pt backup = _Translations$backup$pt._(_root);
@override late final _Translations$about$pt about = _Translations$about$pt._(_root);
@override late final _Translations$intro$pt intro = _Translations$intro$pt._(_root);
@override late final _Translations$inventory$pt inventory = _Translations$inventory$pt._(_root);
@override late final _Translations$draft$pt draft = _Translations$draft$pt._(_root);
@override late final _Translations$quickAdd$pt quickAdd = _Translations$quickAdd$pt._(_root);
@override late final _Translations$detail$pt detail = _Translations$detail$pt._(_root);
@override late final _Translations$germination$pt germination = _Translations$germination$pt._(_root);
@override late final _Translations$viability$pt viability = _Translations$viability$pt._(_root);
@override late final _Translations$editVariety$pt editVariety = _Translations$editVariety$pt._(_root);
@override late final _Translations$addLot$pt addLot = _Translations$addLot$pt._(_root);
@override late final _Translations$harvest$pt harvest = _Translations$harvest$pt._(_root);
@override late final _Translations$lotType$pt lotType = _Translations$lotType$pt._(_root);
@override late final _Translations$presentation$pt presentation = _Translations$presentation$pt._(_root);
@override late final _Translations$provenance$pt provenance = _Translations$provenance$pt._(_root);
@override late final _Translations$abundance$pt abundance = _Translations$abundance$pt._(_root);
@override late final _Translations$share$pt share = _Translations$share$pt._(_root);
@override late final _Translations$cropCalendar$pt cropCalendar = _Translations$cropCalendar$pt._(_root);
@override late final _Translations$needsReproduction$pt needsReproduction = _Translations$needsReproduction$pt._(_root);
@override late final _Translations$preservation$pt preservation = _Translations$preservation$pt._(_root);
@override late final _Translations$conditionCheck$pt conditionCheck = _Translations$conditionCheck$pt._(_root);
@override late final _Translations$desiccant$pt desiccant = _Translations$desiccant$pt._(_root);
@override late final _Translations$unit$pt unit = _Translations$unit$pt._(_root);
@override late final _Translations$market$pt market = _Translations$market$pt._(_root);
@override late final _Translations$profile$pt profile = _Translations$profile$pt._(_root);
@override late final _Translations$chatList$pt chatList = _Translations$chatList$pt._(_root);
@override late final _Translations$chat$pt chat = _Translations$chat$pt._(_root);
@override late final _Translations$trust$pt trust = _Translations$trust$pt._(_root);
}
// Path: app
class _Translations$app$pt extends Translations$app$en {
_Translations$app$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Tanemaki';
}
// Path: bootstrap
class _Translations$bootstrap$pt extends Translations$bootstrap$en {
_Translations$bootstrap$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get failed => 'O Tanemaki não conseguiu iniciar';
@override String get retry => 'Tentar de novo';
}
// Path: common
class _Translations$common$pt extends Translations$common$en {
_Translations$common$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get save => 'Guardar';
@override String get cancel => 'Cancelar';
@override String get delete => 'Eliminar';
@override String get edit => 'Editar';
@override String get type => 'Tipo';
@override String get comingSoon => 'Em breve';
@override String get offline => 'Sem ligação — a partilha está em pausa';
}
// Path: home
class _Translations$home$pt extends Translations$home$en {
_Translations$home$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get tagline => 'Partilha e cultiva sementes locais';
@override String get openMarket => 'Mercado';
@override String get openMarketSubtitle => 'Descobre e partilha sementes por perto';
@override String get yourInventory => 'O teu inventário';
@override String get yourInventorySubtitle => 'Gere as tuas sementes';
}
// Path: photo
class _Translations$photo$pt extends Translations$photo$en {
_Translations$photo$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get camera => 'Tirar uma foto';
@override String get gallery => 'Escolher da galeria';
@override String get setAsCover => 'Usar como capa';
@override String get isCover => 'Foto de capa';
@override String get deleteConfirm => 'Eliminar esta foto?';
}
// Path: menu
class _Translations$menu$pt extends Translations$menu$en {
_Translations$menu$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get tagline => 'o teu banco de sementes';
@override String get inventory => 'Inventário';
@override String get market => 'Mercado';
@override String get profile => 'O teu perfil';
@override String get chat => 'Conversas';
@override String get wishlist => 'Lista de desejos';
@override String get following => 'A seguir';
@override String get settings => 'Definições';
}
// Path: settings
class _Translations$settings$pt extends Translations$settings$en {
_Translations$settings$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get language => 'Idioma';
@override String get systemLanguage => 'Idioma do sistema';
@override String get langEs => 'Español';
@override String get langEn => 'English';
@override String get langPt => 'Português';
@override String get langAst => 'Asturianu';
@override String get about => 'Acerca de';
@override String get aboutText => 'Inventário local e cifrado para sementes tradicionais. AGPL-3.0.';
@override String get aboutOpen => 'Acerca do Tanemaki';
}
// Path: backup
class _Translations$backup$pt extends Translations$backup$en {
_Translations$backup$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Cópia de segurança';
@override String get autoBackupTitle => 'Cópias automáticas';
@override String autoBackupLast({required Object date}) => 'Última cópia guardada em ${date}';
@override String get autoBackupNone => 'Uma cópia é guardada automaticamente em segundo plano';
@override String get exportJson => 'Guardar uma cópia de segurança';
@override String get exportJsonSubtitle => 'Uma cópia completa para guardar em segurança, restaurar depois ou levar para outro aparelho';
@override String get importJson => 'Restaurar uma cópia';
@override String get importJsonSubtitle => 'Recupera uma cópia guardada — nada fica duplicado';
@override String get exportCsv => 'Exportar para uma folha de cálculo';
@override String get exportCsvSubtitle => 'Uma lista simples para Excel ou LibreOffice — sem fotos';
@override String get importCsv => 'Importar uma lista';
@override String get importCsvSubtitle => 'Acrescenta entradas a partir de uma folha de cálculo';
@override String get importConfirmTitle => 'Restaurar uma cópia?';
@override String get importConfirmBody => 'As entradas fundem-se com o teu inventário; quando a mesma entrada existe dos dois lados, vence a versão mais recente. Nada fica duplicado.';
@override String get importCsvConfirmTitle => 'Importar uma lista?';
@override String get importCsvConfirmBody => 'Cada linha é acrescentada como uma entrada nova. Não funde nem substitui, por isso importar o mesmo ficheiro duas vezes acrescenta-o duas vezes.';
@override String get importAction => 'Importar';
@override String get exportSaved => 'Cópia guardada';
@override String get cancelled => 'Cancelado';
@override String importDone({required Object added, required Object updated}) => 'Importado: ${added} novas, ${updated} atualizadas';
@override String importCsvDone({required Object count}) => '${count} entradas acrescentadas';
@override String get importFailed => 'Este ficheiro não pôde ser lido como uma cópia do Tanemaki';
@override String get failed => 'Algo correu mal';
@override String get recoveryTitle => 'O teu código de recuperação';
@override String get recoverySubtitle => 'Imprime-o e guarda-o bem: abre as tuas cópias noutro aparelho';
@override String get recoveryIntro => 'Este código abre as tuas cópias guardadas e recupera o teu banco em qualquer aparelho. Guarda duas cópias em papel em sítios seguros, como a tua melhor semente. Quem o tiver pode ler as tuas cópias, por isso não o partilhes com ninguém.';
@override String get recoveryCopy => 'Copiar';
@override String get recoverySave => 'Guardar a folha';
@override String get recoverySheetTitle => 'Tanemaki — a tua folha de recuperação';
@override String get recoveryPromptTitle => 'Escreve o teu código de recuperação';
@override String get recoveryPromptBody => 'Esta cópia foi guardada com outro código. Escreve o código da tua folha de recuperação para a abrir.';
@override String get recoveryWrongCode => 'Esse código não abre esta cópia';
}
// Path: about
class _Translations$about$pt extends Translations$about$en {
_Translations$about$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Acerca de';
@override String get kanji => '種まき';
@override String get tagline => 'Uma aplicação local e descentralizada para gerir e partilhar sementes e plântulas tradicionais.';
@override String get intro => 'O Tanemaki (種まき, "semear / espalhar sementes" em japonês; nome curto Tane, 種 "semente") ajuda pessoas e coletivos a manter um inventário amigável do seu banco de sementes, decidir o que oferecem e partilhá-lo localmente — sem um intermediário central que possa controlar, censurar ou ser multado por isso. O objetivo é prático e político ao mesmo tempo: apoiar as variedades tradicionais e fazer frente ao monopólio das sementes.';
@override String get heritage => 'O nome honra as antigas tradições japonesas de ajuda mútua à volta do arroz — yui (trabalho comunitário partilhado) e tanomoshi (fundos de reciprocidade) — que inspiraram o Plantare em papel, a "moeda comunitária de troca de sementes" (BAH-Semillero, 2009, CC-BY-SA). O Tanemaki é o Plantare digital.';
@override String get version => 'Versão';
@override String get license => 'Licença';
@override String get licenseValue => 'AGPL-3.0';
@override String get website => 'Sítio web';
@override String get openSourceLicenses => 'Licenças de código aberto';
@override String get openSourceLicensesSubtitle => 'Bibliotecas de terceiros e as suas licenças';
@override String copyright({required Object years}) => '© ${years} Associação Comunes, sob AGPLv3';
}
// Path: intro
class _Translations$intro$pt extends Translations$intro$en {
_Translations$intro$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get skip => 'Saltar';
@override String get next => 'Seguinte';
@override String get start => 'Começar';
@override String get menuEntry => 'Como funciona o Tanemaki';
@override late final _Translations$intro$slides$pt slides = _Translations$intro$slides$pt._(_root);
}
// Path: inventory
class _Translations$inventory$pt extends Translations$inventory$en {
_Translations$inventory$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Inventário';
@override String get searchHint => 'Procurar sementes';
@override String get empty => 'Ainda não há sementes. Toca em + para adicionar a primeira.';
@override String get noMatches => 'Nenhuma semente corresponde aos teus filtros.';
@override String get clearFilters => 'Limpar filtros';
@override String get uncategorized => 'Sem categoria';
@override String get needsReproductionFilter => 'Para reproduzir';
}
// Path: draft
class _Translations$draft$pt extends Translations$draft$en {
_Translations$draft$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get capture => 'Capturar fotos';
@override String captured({required Object n}) => '${n} capturadas para catalogar';
@override String get triageTitle => 'Para catalogar';
@override String triageCount({required Object n}) => '${n} para catalogar';
@override String get untitled => 'Sem nome';
@override String get nameField => 'Dá um nome a esta semente';
@override String get nameHint => 'O que é?';
@override String get suggestFromPhoto => 'Sugerir nome a partir da foto';
@override String get discard => 'Descartar';
}
// Path: quickAdd
class _Translations$quickAdd$pt extends Translations$quickAdd$en {
_Translations$quickAdd$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Adicionar uma semente';
@override String get labelField => 'Nome';
@override String get labelRequired => 'Dá-lhe um nome';
@override String get addPhoto => 'Adicionar foto';
@override String get quantity => 'Quanto?';
@override String get more => 'Adicionar mais…';
@override String get save => 'Guardar';
@override String get saveAndAddAnother => 'Guardar e adicionar outra';
@override String addedCount({required Object n}) => '${n} adicionadas';
@override String get cancel => 'Cancelar';
}
// Path: detail
class _Translations$detail$pt extends Translations$detail$en {
_Translations$detail$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get notFound => 'Esta semente já não está aqui.';
@override String get lots => 'Lotes';
@override String get noLots => 'Ainda não há lotes.';
@override String get names => 'Também conhecida como';
@override String get addName => 'Adicionar nome';
@override String get links => 'Ligações';
@override String get addLink => 'Adicionar ligação';
@override String get linkUrl => 'URL';
@override String get linkTitle => 'Título (opcional)';
@override String get notes => 'Notas';
@override String get addLot => 'Adicionar lote';
@override String get editLot => 'Editar lote';
@override String get deleteConfirm => 'Eliminar esta semente?';
@override String year({required Object year}) => 'Ano ${year}';
@override String get noYear => 'Ano desconhecido';
}
// Path: germination
class _Translations$germination$pt extends Translations$germination$en {
_Translations$germination$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Germinação';
@override String get add => 'Adicionar teste';
@override String get sampleSize => 'Tamanho da amostra';
@override String get germinated => 'Germinadas';
@override String get none => 'Ainda não há testes de germinação.';
@override String result({required Object percent}) => '${percent}%';
}
// Path: viability
class _Translations$viability$pt extends Translations$viability$en {
_Translations$viability$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get expiringSoon => 'Usa ou reproduz nesta época';
@override String expiringSoonYears({required Object years}) => 'Usa ou reproduz nesta época · dura ~${years} anos';
@override String get expired => 'Passou a viabilidade típica — reproduzir';
@override String expiredYears({required Object years}) => 'Passou a viabilidade típica (~${years} anos) — reproduzir';
}
// Path: editVariety
class _Translations$editVariety$pt extends Translations$editVariety$en {
_Translations$editVariety$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Editar semente';
@override String get name => 'Nome';
@override String get category => 'Categoria';
@override String get notes => 'Notas';
@override String get species => 'Espécie (do catálogo)';
@override String get speciesHint => 'Procura uma espécie…';
@override String get speciesSuggested => 'Sugerida pelo nome';
@override String get organic => 'Biológica';
@override String get organicHint => 'Cultivada em modo biológico';
}
// Path: addLot
class _Translations$addLot$pt extends Translations$addLot$en {
_Translations$addLot$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Adicionar lote';
@override String get year => 'Data de colheita';
@override String get quantity => 'Quanto?';
@override String get amount => 'Quantidade';
}
// Path: harvest
class _Translations$harvest$pt extends Translations$harvest$en {
_Translations$harvest$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get pickTitle => 'Escolhe mês / ano';
@override String get anyMonth => 'Qualquer mês';
@override String get noDate => 'Definir data de colheita';
@override List<String> get monthNames => [
'janeiro',
'fevereiro',
'março',
'abril',
'maio',
'junho',
'julho',
'agosto',
'setembro',
'outubro',
'novembro',
'dezembro',
];
}
// Path: lotType
class _Translations$lotType$pt extends Translations$lotType$en {
_Translations$lotType$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get seed => 'Sementes';
@override String get plant => 'Planta';
@override String get seedling => 'Plântula';
@override String get tree => 'Árvore / arbusto';
@override String get bulb => 'Bolbo / tubérculo';
@override String get cutting => 'Estaca';
}
// Path: presentation
class _Translations$presentation$pt extends Translations$presentation$en {
_Translations$presentation$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Apresentação';
@override String get none => 'Sem indicar';
@override String get pot => 'Vaso';
@override String get tray => 'Tabuleiro';
@override String get plug => 'Alvéolo';
@override String get bareRoot => 'Raiz nua';
@override String get rootBall => 'Torrão';
}
// Path: provenance
class _Translations$provenance$pt extends Translations$provenance$en {
_Translations$provenance$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get section => 'De onde vem';
@override String get seedsFrom => 'Sementes de';
@override String get seedsFromHint => 'Quem as cultivou ou ofereceu';
@override String get place => 'Lugar';
@override String get placeHint => 'De onde vêm (com a região)';
@override String get addSeedsFrom => 'Sementes de';
@override String get addPlace => 'Lugar';
}
// Path: abundance
class _Translations$abundance$pt extends Translations$abundance$en {
_Translations$abundance$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get add => 'Quanta tenho';
@override String get title => 'Quanta tenho';
@override String get none => 'Sem indicar';
@override String get plentyToShare => 'De sobra para partilhar';
@override String get enoughToShare => 'Bastante, para partilhar com moderação';
@override String get enoughForMe => 'Suficiente para mim';
@override String get runningLow => 'Resta pouca';
}
// Path: share
class _Translations$share$pt extends Translations$share$en {
_Translations$share$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get add => 'Partilhas esta?';
@override String get title => 'Partilhas esta?';
@override String get nudge => 'Tens de sobra: podias partilhar um pouco.';
@override String get private => 'Só para mim';
@override String get gift => 'Para dar';
@override String get exchange => 'Para trocar';
@override String get sell => 'À venda';
@override String get filterChip => 'Partilho';
@override String get printCatalog => 'Imprimir o que partilho';
@override String get catalogTitle => 'O que partilho';
@override String get catalogSaved => 'Catálogo guardado';
@override String get cancelled => 'Cancelado';
}
// Path: cropCalendar
class _Translations$cropCalendar$pt extends Translations$cropCalendar$en {
_Translations$cropCalendar$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get add => 'Calendário de cultivo';
@override String get title => 'Calendário de cultivo';
@override String get sow => 'Sementeira';
@override String get transplant => 'Transplante';
@override String get flowering => 'Floração';
@override String get fruiting => 'Frutificação';
@override String get seedHarvest => 'Colheita de semente';
@override String get unset => '';
}
// Path: needsReproduction
class _Translations$needsReproduction$pt extends Translations$needsReproduction$en {
_Translations$needsReproduction$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get label => 'Reproduzir nesta época';
@override String get hint => 'Cultiva-a antes que a semente acabe';
@override String get badge => 'Por reproduzir';
}
// Path: preservation
class _Translations$preservation$pt extends Translations$preservation$en {
_Translations$preservation$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get add => 'Como está guardada';
@override String get title => 'Como está guardada';
@override String get none => 'Sem indicar';
@override String get jarWithDesiccant => 'Frasco com agente secante';
@override String get glassJar => 'Frasco de vidro';
@override String get paperEnvelope => 'Envelope de papel';
@override String get paperBag => 'Saco de papel';
@override String get plasticBag => 'Saco de plástico';
}
// Path: conditionCheck
class _Translations$conditionCheck$pt extends Translations$conditionCheck$en {
_Translations$conditionCheck$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get advanced => 'Armazenamento e detalhes de banco de sementes';
@override String get title => 'Verificações de armazenamento';
@override String get add => 'Adicionar verificação';
@override String get containers => 'Frascos / recipientes';
@override String get desiccant => 'Agente secante';
@override String get none => 'Ainda não há verificações de armazenamento.';
@override String summary({required Object count, required Object state}) => '${count} frasco(s) · ${state}';
}
// Path: desiccant
class _Translations$desiccant$pt extends Translations$desiccant$en {
_Translations$desiccant$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get none => 'Nenhum';
@override String get add => 'Adicionar';
@override String get replace => 'Substituir';
@override String get dry => 'Azul — seco';
@override String get fresh => 'Acabado de renovar';
}
// Path: unit
class _Translations$unit$pt extends Translations$unit$en {
_Translations$unit$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get aFew => 'algumas';
@override String get some => 'bastantes';
@override String get plenty => 'muitas';
@override String get pinch => 'uma pitada';
@override late final _Translations$unit$handful$pt handful = _Translations$unit$handful$pt._(_root);
@override late final _Translations$unit$teaspoon$pt teaspoon = _Translations$unit$teaspoon$pt._(_root);
@override late final _Translations$unit$spoon$pt spoon = _Translations$unit$spoon$pt._(_root);
@override late final _Translations$unit$cup$pt cup = _Translations$unit$cup$pt._(_root);
@override late final _Translations$unit$jar$pt jar = _Translations$unit$jar$pt._(_root);
@override late final _Translations$unit$sack$pt sack = _Translations$unit$sack$pt._(_root);
@override late final _Translations$unit$packet$pt packet = _Translations$unit$packet$pt._(_root);
@override late final _Translations$unit$cob$pt cob = _Translations$unit$cob$pt._(_root);
@override late final _Translations$unit$pod$pt pod = _Translations$unit$pod$pt._(_root);
@override late final _Translations$unit$ear$pt ear = _Translations$unit$ear$pt._(_root);
@override late final _Translations$unit$head$pt head = _Translations$unit$head$pt._(_root);
@override late final _Translations$unit$fruit$pt fruit = _Translations$unit$fruit$pt._(_root);
@override late final _Translations$unit$bulb$pt bulb = _Translations$unit$bulb$pt._(_root);
@override late final _Translations$unit$tuber$pt tuber = _Translations$unit$tuber$pt._(_root);
@override late final _Translations$unit$seedHead$pt seedHead = _Translations$unit$seedHead$pt._(_root);
@override late final _Translations$unit$bunch$pt bunch = _Translations$unit$bunch$pt._(_root);
@override late final _Translations$unit$plant$pt plant = _Translations$unit$plant$pt._(_root);
@override late final _Translations$unit$pot$pt pot = _Translations$unit$pot$pt._(_root);
@override late final _Translations$unit$tray$pt tray = _Translations$unit$tray$pt._(_root);
@override late final _Translations$unit$seedling$pt seedling = _Translations$unit$seedling$pt._(_root);
@override late final _Translations$unit$tree$pt tree = _Translations$unit$tree$pt._(_root);
@override late final _Translations$unit$cutting$pt cutting = _Translations$unit$cutting$pt._(_root);
@override late final _Translations$unit$grams$pt grams = _Translations$unit$grams$pt._(_root);
@override late final _Translations$unit$count$pt count = _Translations$unit$count$pt._(_root);
}
// Path: market
class _Translations$market$pt extends Translations$market$en {
_Translations$market$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Sementes perto de ti';
@override String get subtitle => 'O que outras pessoas partilham por perto';
@override String get notSetUp => 'Ainda não configuraste a partilha';
@override String get notSetUpBody => 'Ativa a partilha para ver e dar sementes a pessoas por perto. Mantém-se aproximado — a tua zona, nunca a tua morada exata.';
@override String get setUp => 'Configurar a partilha';
@override String get cantReach => 'Não é possível ligar aos servidores neste momento';
@override String get cantReachBody => 'Tenta de novo, ou verifica os servidores na configuração avançada.';
@override String get retry => 'Tentar de novo';
@override String get setArea => 'Indica a tua zona';
@override String get setAreaBody => 'Diz ao mercado a tua zona aproximada para ver sementes por perto.';
@override String get searching => 'A procurar pela tua zona…';
@override String get empty => 'Ainda não há sementes partilhadas perto de ti';
@override String get searchHint => 'Procurar nestas sementes';
@override String get noMatches => 'Nenhuma semente partilhada corresponde à procura';
@override String get near => 'Perto de ti';
@override String get contact => 'Mensagem';
@override String get mine => 'Tu';
@override String get configTitle => 'Configuração de partilha';
@override String get setupIntro => 'Partilhar com pessoas por perto é opcional. Basta indicar a tua zona aproximada — já estás ligado a servidores comunitários partilhados para que outras pessoas encontrem o que ofereces, sem nenhuma empresa no meio.';
@override String get areaLabel => 'A tua zona';
@override String get areaHelp => 'Mantém-se aproximado de propósito — a tua zona, nunca um ponto exato.';
@override String get areaSet => 'A tua zona está definida — aproximada, nunca o teu ponto exato';
@override String get areaNotSet => 'Zona por definir — usa a tua localização, ou adiciona um código em Avançado';
@override String get advanced => 'Avançado';
@override String get areaCodeLabel => 'Código de zona';
@override String get areaCodeHint => 'Um código curto como sp3e9 — não um nome de lugar';
@override String get serversLabel => 'Servidores da comunidade';
@override String get serversHelp => 'Um endereço por linha (wss://…). Deixa assim se não souberes.';
@override String get serversAdvanced => 'Adicionar outro servidor';
@override String get save => 'Guardar';
@override String get saved => 'Guardado';
@override String get wanted => 'Procuro';
@override String get shareMine => 'Partilhar as minhas sementes';
@override String sharedCount({required Object n}) => 'Partilhadas ${n} sementes';
@override String get nothingToShare => 'Marca primeiro algumas sementes para dar, trocar ou vender';
@override String get useLocation => 'Usar a minha localização aproximada';
@override String get locationFailed => 'Não foi possível obter a tua localização — verifica se a localização está ativa e a permissão concedida';
@override String get queued => 'Guardado — vamos partilhá-las quando tiveres ligação';
@override String get shareFailed => 'Não foi possível contactar os servidores — as tuas sementes não foram partilhadas. Tenta de novo daqui a pouco.';
@override String get rangeLabel => 'Até onde procurar';
@override String get rangeNear => 'Muito perto';
@override String get rangeArea => 'Pela minha zona';
@override String get rangeRegion => 'A minha região';
@override String get sharedBy => 'Partilhado por';
@override String get noProfile => 'Esta pessoa ainda não partilhou o seu perfil';
@override String get copyId => 'Copiar código';
@override String get idCopied => 'Código copiado';
}
// Path: profile
class _Translations$profile$pt extends Translations$profile$en {
_Translations$profile$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'O teu perfil';
@override String get name => 'Nome';
@override String get nameHint => 'Como os outros te veem';
@override String get about => 'Sobre ti';
@override String get aboutHint => 'Uma linha — o que cultivas, onde';
@override String get g1 => 'Endereço Ğ1 (opcional)';
@override String get g1Hint => 'Para que te paguem em Ğ1 — separado da tua chave';
@override String get yourId => 'A tua identidade';
@override String get idHelp => 'Partilha-a para que te reconheçam';
@override String get copy => 'Copiar';
@override String get copied => 'Copiado';
@override String get save => 'Guardar';
@override String get saved => 'Perfil guardado';
}
// Path: chatList
class _Translations$chatList$pt extends Translations$chatList$en {
_Translations$chatList$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Mensagens';
@override String get empty => 'Ainda não há conversas. Escreve a alguém a partir do mercado.';
}
// Path: chat
class _Translations$chat$pt extends Translations$chat$en {
_Translations$chat$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Conversa';
@override String get hint => 'Escreve uma mensagem…';
@override String get send => 'Enviar';
@override String get empty => 'Ainda não há mensagens — diz olá';
@override String get offline => 'Configura a partilha para enviar mensagens';
@override String get payG1 => 'Pagar em Ğ1';
@override String get g1Copied => 'Endereço Ğ1 copiado — cola-o na tua carteira';
}
// Path: trust
class _Translations$trust$pt extends Translations$trust$en {
_Translations$trust$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get none => 'Ainda ninguém os avaliza';
@override String count({required Object n}) => 'Avalizada por ${n}';
@override String get vouch => 'Conheço esta pessoa';
@override String get vouched => 'Avalizas esta pessoa';
@override String get circle => 'No teu círculo';
}
// Path: intro.slides
class _Translations$intro$slides$pt extends Translations$intro$slides$en {
_Translations$intro$slides$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override late final _Translations$intro$slides$welcome$pt welcome = _Translations$intro$slides$welcome$pt._(_root);
@override late final _Translations$intro$slides$inventory$pt inventory = _Translations$intro$slides$inventory$pt._(_root);
@override late final _Translations$intro$slides$privacy$pt privacy = _Translations$intro$slides$privacy$pt._(_root);
@override late final _Translations$intro$slides$share$pt share = _Translations$intro$slides$share$pt._(_root);
@override late final _Translations$intro$slides$plantare$pt plantare = _Translations$intro$slides$plantare$pt._(_root);
}
// Path: unit.handful
class _Translations$unit$handful$pt extends Translations$unit$handful$en {
_Translations$unit$handful$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'mão-cheia';
@override String get plural => 'mãos-cheias';
}
// Path: unit.teaspoon
class _Translations$unit$teaspoon$pt extends Translations$unit$teaspoon$en {
_Translations$unit$teaspoon$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'colher de chá';
@override String get plural => 'colheres de chá';
}
// Path: unit.spoon
class _Translations$unit$spoon$pt extends Translations$unit$spoon$en {
_Translations$unit$spoon$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'colher';
@override String get plural => 'colheres';
}
// Path: unit.cup
class _Translations$unit$cup$pt extends Translations$unit$cup$en {
_Translations$unit$cup$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'chávena';
@override String get plural => 'chávenas';
}
// Path: unit.jar
class _Translations$unit$jar$pt extends Translations$unit$jar$en {
_Translations$unit$jar$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'frasco';
@override String get plural => 'frascos';
}
// Path: unit.sack
class _Translations$unit$sack$pt extends Translations$unit$sack$en {
_Translations$unit$sack$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'saco';
@override String get plural => 'sacos';
}
// Path: unit.packet
class _Translations$unit$packet$pt extends Translations$unit$packet$en {
_Translations$unit$packet$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'pacote';
@override String get plural => 'pacotes';
}
// Path: unit.cob
class _Translations$unit$cob$pt extends Translations$unit$cob$en {
_Translations$unit$cob$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'maçaroca';
@override String get plural => 'maçarocas';
}
// Path: unit.pod
class _Translations$unit$pod$pt extends Translations$unit$pod$en {
_Translations$unit$pod$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'vagem';
@override String get plural => 'vagens';
}
// Path: unit.ear
class _Translations$unit$ear$pt extends Translations$unit$ear$en {
_Translations$unit$ear$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'espiga';
@override String get plural => 'espigas';
}
// Path: unit.head
class _Translations$unit$head$pt extends Translations$unit$head$en {
_Translations$unit$head$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'cabeça';
@override String get plural => 'cabeças';
}
// Path: unit.fruit
class _Translations$unit$fruit$pt extends Translations$unit$fruit$en {
_Translations$unit$fruit$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'fruto';
@override String get plural => 'frutos';
}
// Path: unit.bulb
class _Translations$unit$bulb$pt extends Translations$unit$bulb$en {
_Translations$unit$bulb$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'bolbo';
@override String get plural => 'bolbos';
}
// Path: unit.tuber
class _Translations$unit$tuber$pt extends Translations$unit$tuber$en {
_Translations$unit$tuber$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'tubérculo';
@override String get plural => 'tubérculos';
}
// Path: unit.seedHead
class _Translations$unit$seedHead$pt extends Translations$unit$seedHead$en {
_Translations$unit$seedHead$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'capítulo';
@override String get plural => 'capítulos';
}
// Path: unit.bunch
class _Translations$unit$bunch$pt extends Translations$unit$bunch$en {
_Translations$unit$bunch$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'molho';
@override String get plural => 'molhos';
}
// Path: unit.plant
class _Translations$unit$plant$pt extends Translations$unit$plant$en {
_Translations$unit$plant$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'planta';
@override String get plural => 'plantas';
}
// Path: unit.pot
class _Translations$unit$pot$pt extends Translations$unit$pot$en {
_Translations$unit$pot$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'vaso';
@override String get plural => 'vasos';
}
// Path: unit.tray
class _Translations$unit$tray$pt extends Translations$unit$tray$en {
_Translations$unit$tray$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'tabuleiro';
@override String get plural => 'tabuleiros';
}
// Path: unit.seedling
class _Translations$unit$seedling$pt extends Translations$unit$seedling$en {
_Translations$unit$seedling$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'plântula';
@override String get plural => 'plântulas';
}
// Path: unit.tree
class _Translations$unit$tree$pt extends Translations$unit$tree$en {
_Translations$unit$tree$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'árvore';
@override String get plural => 'árvores';
}
// Path: unit.cutting
class _Translations$unit$cutting$pt extends Translations$unit$cutting$en {
_Translations$unit$cutting$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'estaca';
@override String get plural => 'estacas';
}
// Path: unit.grams
class _Translations$unit$grams$pt extends Translations$unit$grams$en {
_Translations$unit$grams$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'grama';
@override String get plural => 'gramas';
}
// Path: unit.count
class _Translations$unit$count$pt extends Translations$unit$count$en {
_Translations$unit$count$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get singular => 'semente';
@override String get plural => 'sementes';
}
// Path: intro.slides.welcome
class _Translations$intro$slides$welcome$pt extends Translations$intro$slides$welcome$en {
_Translations$intro$slides$welcome$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'A semente que te trouxe até aqui';
@override String get body => 'Cada semente tradicional é uma carta escrita por milhares de gerações, passada de mão em mão. Somos o que somos graças a essa partilha.';
}
// Path: intro.slides.inventory
class _Translations$intro$slides$inventory$pt extends Translations$intro$slides$inventory$en {
_Translations$intro$slides$inventory$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'O teu banco de sementes, no bolso';
@override String get body => 'Anota o que tens, de que ano, quanto e de onde veio — com o nome que tu usas. Uma foto e um nome chegam para começar.';
}
// Path: intro.slides.privacy
class _Translations$intro$slides$privacy$pt extends Translations$intro$slides$privacy$en {
_Translations$intro$slides$privacy$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Teu, e só teu';
@override String get body => 'Sem conta, sem internet, sem rastreadores. Os teus dados vivem cifrados no teu aparelho, e só o que tu escolheres é partilhado.';
}
// Path: intro.slides.share
class _Translations$intro$slides$share$pt extends Translations$intro$slides$share$en {
_Translations$intro$slides$share$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Partilhar, como sempre se fez';
@override String get body => 'Oferece o que te sobra — dar, trocar ou vender — e deixa que alguém perto de ti o encontre. Só se mostra uma distância aproximada, nunca a tua morada; o acordo fecha-se em pessoa.';
}
// Path: intro.slides.plantare
class _Translations$intro$slides$plantare$pt extends Translations$intro$slides$plantare$en {
_Translations$intro$slides$plantare$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Semear é multiplicar';
@override String get body => 'Com um Plantare, quem recebe semente promete devolver uma parte mais tarde. E como devolvê-la implica cultivá-la, cada empréstimo multiplica o comum.';
}
/// The flat map containing all translations for locale <pt>.
/// Only for edge cases! For simple maps, use the map function of this library.
///
/// The Dart AOT compiler has issues with very large switch statements,
/// so the map is split into smaller functions (512 entries each).
extension on TranslationsPt {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Tanemaki',
'bootstrap.failed' => 'O Tanemaki não conseguiu iniciar',
'bootstrap.retry' => 'Tentar de novo',
'common.save' => 'Guardar',
'common.cancel' => 'Cancelar',
'common.delete' => 'Eliminar',
'common.edit' => 'Editar',
'common.type' => 'Tipo',
'common.comingSoon' => 'Em breve',
'common.offline' => 'Sem ligação — a partilha está em pausa',
'home.tagline' => 'Partilha e cultiva sementes locais',
'home.openMarket' => 'Mercado',
'home.openMarketSubtitle' => 'Descobre e partilha sementes por perto',
'home.yourInventory' => 'O teu inventário',
'home.yourInventorySubtitle' => 'Gere as tuas sementes',
'photo.camera' => 'Tirar uma foto',
'photo.gallery' => 'Escolher da galeria',
'photo.setAsCover' => 'Usar como capa',
'photo.isCover' => 'Foto de capa',
'photo.deleteConfirm' => 'Eliminar esta foto?',
'menu.tagline' => 'o teu banco de sementes',
'menu.inventory' => 'Inventário',
'menu.market' => 'Mercado',
'menu.profile' => 'O teu perfil',
'menu.chat' => 'Conversas',
'menu.wishlist' => 'Lista de desejos',
'menu.following' => 'A seguir',
'menu.settings' => 'Definições',
'settings.language' => 'Idioma',
'settings.systemLanguage' => 'Idioma do sistema',
'settings.langEs' => 'Español',
'settings.langEn' => 'English',
'settings.langPt' => 'Português',
'settings.langAst' => 'Asturianu',
'settings.about' => 'Acerca de',
'settings.aboutText' => 'Inventário local e cifrado para sementes tradicionais. AGPL-3.0.',
'settings.aboutOpen' => 'Acerca do Tanemaki',
'backup.title' => 'Cópia de segurança',
'backup.autoBackupTitle' => 'Cópias automáticas',
'backup.autoBackupLast' => ({required Object date}) => 'Última cópia guardada em ${date}',
'backup.autoBackupNone' => 'Uma cópia é guardada automaticamente em segundo plano',
'backup.exportJson' => 'Guardar uma cópia de segurança',
'backup.exportJsonSubtitle' => 'Uma cópia completa para guardar em segurança, restaurar depois ou levar para outro aparelho',
'backup.importJson' => 'Restaurar uma cópia',
'backup.importJsonSubtitle' => 'Recupera uma cópia guardada — nada fica duplicado',
'backup.exportCsv' => 'Exportar para uma folha de cálculo',
'backup.exportCsvSubtitle' => 'Uma lista simples para Excel ou LibreOffice — sem fotos',
'backup.importCsv' => 'Importar uma lista',
'backup.importCsvSubtitle' => 'Acrescenta entradas a partir de uma folha de cálculo',
'backup.importConfirmTitle' => 'Restaurar uma cópia?',
'backup.importConfirmBody' => 'As entradas fundem-se com o teu inventário; quando a mesma entrada existe dos dois lados, vence a versão mais recente. Nada fica duplicado.',
'backup.importCsvConfirmTitle' => 'Importar uma lista?',
'backup.importCsvConfirmBody' => 'Cada linha é acrescentada como uma entrada nova. Não funde nem substitui, por isso importar o mesmo ficheiro duas vezes acrescenta-o duas vezes.',
'backup.importAction' => 'Importar',
'backup.exportSaved' => 'Cópia guardada',
'backup.cancelled' => 'Cancelado',
'backup.importDone' => ({required Object added, required Object updated}) => 'Importado: ${added} novas, ${updated} atualizadas',
'backup.importCsvDone' => ({required Object count}) => '${count} entradas acrescentadas',
'backup.importFailed' => 'Este ficheiro não pôde ser lido como uma cópia do Tanemaki',
'backup.failed' => 'Algo correu mal',
'backup.recoveryTitle' => 'O teu código de recuperação',
'backup.recoverySubtitle' => 'Imprime-o e guarda-o bem: abre as tuas cópias noutro aparelho',
'backup.recoveryIntro' => 'Este código abre as tuas cópias guardadas e recupera o teu banco em qualquer aparelho. Guarda duas cópias em papel em sítios seguros, como a tua melhor semente. Quem o tiver pode ler as tuas cópias, por isso não o partilhes com ninguém.',
'backup.recoveryCopy' => 'Copiar',
'backup.recoverySave' => 'Guardar a folha',
'backup.recoverySheetTitle' => 'Tanemaki — a tua folha de recuperação',
'backup.recoveryPromptTitle' => 'Escreve o teu código de recuperação',
'backup.recoveryPromptBody' => 'Esta cópia foi guardada com outro código. Escreve o código da tua folha de recuperação para a abrir.',
'backup.recoveryWrongCode' => 'Esse código não abre esta cópia',
'about.title' => 'Acerca de',
'about.kanji' => '種まき',
'about.tagline' => 'Uma aplicação local e descentralizada para gerir e partilhar sementes e plântulas tradicionais.',
'about.intro' => 'O Tanemaki (種まき, "semear / espalhar sementes" em japonês; nome curto Tane, 種 "semente") ajuda pessoas e coletivos a manter um inventário amigável do seu banco de sementes, decidir o que oferecem e partilhá-lo localmente — sem um intermediário central que possa controlar, censurar ou ser multado por isso. O objetivo é prático e político ao mesmo tempo: apoiar as variedades tradicionais e fazer frente ao monopólio das sementes.',
'about.heritage' => 'O nome honra as antigas tradições japonesas de ajuda mútua à volta do arroz — yui (trabalho comunitário partilhado) e tanomoshi (fundos de reciprocidade) — que inspiraram o Plantare em papel, a "moeda comunitária de troca de sementes" (BAH-Semillero, 2009, CC-BY-SA). O Tanemaki é o Plantare digital.',
'about.version' => 'Versão',
'about.license' => 'Licença',
'about.licenseValue' => 'AGPL-3.0',
'about.website' => 'Sítio web',
'about.openSourceLicenses' => 'Licenças de código aberto',
'about.openSourceLicensesSubtitle' => 'Bibliotecas de terceiros e as suas licenças',
'about.copyright' => ({required Object years}) => '© ${years} Associação Comunes, sob AGPLv3',
'intro.skip' => 'Saltar',
'intro.next' => 'Seguinte',
'intro.start' => 'Começar',
'intro.menuEntry' => 'Como funciona o Tanemaki',
'intro.slides.welcome.title' => 'A semente que te trouxe até aqui',
'intro.slides.welcome.body' => 'Cada semente tradicional é uma carta escrita por milhares de gerações, passada de mão em mão. Somos o que somos graças a essa partilha.',
'intro.slides.inventory.title' => 'O teu banco de sementes, no bolso',
'intro.slides.inventory.body' => 'Anota o que tens, de que ano, quanto e de onde veio — com o nome que tu usas. Uma foto e um nome chegam para começar.',
'intro.slides.privacy.title' => 'Teu, e só teu',
'intro.slides.privacy.body' => 'Sem conta, sem internet, sem rastreadores. Os teus dados vivem cifrados no teu aparelho, e só o que tu escolheres é partilhado.',
'intro.slides.share.title' => 'Partilhar, como sempre se fez',
'intro.slides.share.body' => 'Oferece o que te sobra — dar, trocar ou vender — e deixa que alguém perto de ti o encontre. Só se mostra uma distância aproximada, nunca a tua morada; o acordo fecha-se em pessoa.',
'intro.slides.plantare.title' => 'Semear é multiplicar',
'intro.slides.plantare.body' => 'Com um Plantare, quem recebe semente promete devolver uma parte mais tarde. E como devolvê-la implica cultivá-la, cada empréstimo multiplica o comum.',
'inventory.title' => 'Inventário',
'inventory.searchHint' => 'Procurar sementes',
'inventory.empty' => 'Ainda não há sementes. Toca em + para adicionar a primeira.',
'inventory.noMatches' => 'Nenhuma semente corresponde aos teus filtros.',
'inventory.clearFilters' => 'Limpar filtros',
'inventory.uncategorized' => 'Sem categoria',
'inventory.needsReproductionFilter' => 'Para reproduzir',
'draft.capture' => 'Capturar fotos',
'draft.captured' => ({required Object n}) => '${n} capturadas para catalogar',
'draft.triageTitle' => 'Para catalogar',
'draft.triageCount' => ({required Object n}) => '${n} para catalogar',
'draft.untitled' => 'Sem nome',
'draft.nameField' => 'Dá um nome a esta semente',
'draft.nameHint' => 'O que é?',
'draft.suggestFromPhoto' => 'Sugerir nome a partir da foto',
'draft.discard' => 'Descartar',
'quickAdd.title' => 'Adicionar uma semente',
'quickAdd.labelField' => 'Nome',
'quickAdd.labelRequired' => 'Dá-lhe um nome',
'quickAdd.addPhoto' => 'Adicionar foto',
'quickAdd.quantity' => 'Quanto?',
'quickAdd.more' => 'Adicionar mais…',
'quickAdd.save' => 'Guardar',
'quickAdd.saveAndAddAnother' => 'Guardar e adicionar outra',
'quickAdd.addedCount' => ({required Object n}) => '${n} adicionadas',
'quickAdd.cancel' => 'Cancelar',
'detail.notFound' => 'Esta semente já não está aqui.',
'detail.lots' => 'Lotes',
'detail.noLots' => 'Ainda não há lotes.',
'detail.names' => 'Também conhecida como',
'detail.addName' => 'Adicionar nome',
'detail.links' => 'Ligações',
'detail.addLink' => 'Adicionar ligação',
'detail.linkUrl' => 'URL',
'detail.linkTitle' => 'Título (opcional)',
'detail.notes' => 'Notas',
'detail.addLot' => 'Adicionar lote',
'detail.editLot' => 'Editar lote',
'detail.deleteConfirm' => 'Eliminar esta semente?',
'detail.year' => ({required Object year}) => 'Ano ${year}',
'detail.noYear' => 'Ano desconhecido',
'germination.title' => 'Germinação',
'germination.add' => 'Adicionar teste',
'germination.sampleSize' => 'Tamanho da amostra',
'germination.germinated' => 'Germinadas',
'germination.none' => 'Ainda não há testes de germinação.',
'germination.result' => ({required Object percent}) => '${percent}%',
'viability.expiringSoon' => 'Usa ou reproduz nesta época',
'viability.expiringSoonYears' => ({required Object years}) => 'Usa ou reproduz nesta época · dura ~${years} anos',
'viability.expired' => 'Passou a viabilidade típica — reproduzir',
'viability.expiredYears' => ({required Object years}) => 'Passou a viabilidade típica (~${years} anos) — reproduzir',
'editVariety.title' => 'Editar semente',
'editVariety.name' => 'Nome',
'editVariety.category' => 'Categoria',
'editVariety.notes' => 'Notas',
'editVariety.species' => 'Espécie (do catálogo)',
'editVariety.speciesHint' => 'Procura uma espécie…',
'editVariety.speciesSuggested' => 'Sugerida pelo nome',
'editVariety.organic' => 'Biológica',
'editVariety.organicHint' => 'Cultivada em modo biológico',
'addLot.title' => 'Adicionar lote',
'addLot.year' => 'Data de colheita',
'addLot.quantity' => 'Quanto?',
'addLot.amount' => 'Quantidade',
'harvest.pickTitle' => 'Escolhe mês / ano',
'harvest.anyMonth' => 'Qualquer mês',
'harvest.noDate' => 'Definir data de colheita',
'harvest.monthNames.0' => 'janeiro',
'harvest.monthNames.1' => 'fevereiro',
'harvest.monthNames.2' => 'março',
'harvest.monthNames.3' => 'abril',
'harvest.monthNames.4' => 'maio',
'harvest.monthNames.5' => 'junho',
'harvest.monthNames.6' => 'julho',
'harvest.monthNames.7' => 'agosto',
'harvest.monthNames.8' => 'setembro',
'harvest.monthNames.9' => 'outubro',
'harvest.monthNames.10' => 'novembro',
'harvest.monthNames.11' => 'dezembro',
'lotType.seed' => 'Sementes',
'lotType.plant' => 'Planta',
'lotType.seedling' => 'Plântula',
'lotType.tree' => 'Árvore / arbusto',
'lotType.bulb' => 'Bolbo / tubérculo',
'lotType.cutting' => 'Estaca',
'presentation.title' => 'Apresentação',
'presentation.none' => 'Sem indicar',
'presentation.pot' => 'Vaso',
'presentation.tray' => 'Tabuleiro',
'presentation.plug' => 'Alvéolo',
'presentation.bareRoot' => 'Raiz nua',
'presentation.rootBall' => 'Torrão',
'provenance.section' => 'De onde vem',
'provenance.seedsFrom' => 'Sementes de',
'provenance.seedsFromHint' => 'Quem as cultivou ou ofereceu',
'provenance.place' => 'Lugar',
'provenance.placeHint' => 'De onde vêm (com a região)',
'provenance.addSeedsFrom' => 'Sementes de',
'provenance.addPlace' => 'Lugar',
'abundance.add' => 'Quanta tenho',
'abundance.title' => 'Quanta tenho',
'abundance.none' => 'Sem indicar',
'abundance.plentyToShare' => 'De sobra para partilhar',
'abundance.enoughToShare' => 'Bastante, para partilhar com moderação',
'abundance.enoughForMe' => 'Suficiente para mim',
'abundance.runningLow' => 'Resta pouca',
'share.add' => 'Partilhas esta?',
'share.title' => 'Partilhas esta?',
'share.nudge' => 'Tens de sobra: podias partilhar um pouco.',
'share.private' => 'Só para mim',
'share.gift' => 'Para dar',
'share.exchange' => 'Para trocar',
'share.sell' => 'À venda',
'share.filterChip' => 'Partilho',
'share.printCatalog' => 'Imprimir o que partilho',
'share.catalogTitle' => 'O que partilho',
'share.catalogSaved' => 'Catálogo guardado',
'share.cancelled' => 'Cancelado',
'cropCalendar.add' => 'Calendário de cultivo',
'cropCalendar.title' => 'Calendário de cultivo',
'cropCalendar.sow' => 'Sementeira',
'cropCalendar.transplant' => 'Transplante',
'cropCalendar.flowering' => 'Floração',
'cropCalendar.fruiting' => 'Frutificação',
'cropCalendar.seedHarvest' => 'Colheita de semente',
'cropCalendar.unset' => '',
'needsReproduction.label' => 'Reproduzir nesta época',
'needsReproduction.hint' => 'Cultiva-a antes que a semente acabe',
'needsReproduction.badge' => 'Por reproduzir',
'preservation.add' => 'Como está guardada',
'preservation.title' => 'Como está guardada',
'preservation.none' => 'Sem indicar',
'preservation.jarWithDesiccant' => 'Frasco com agente secante',
'preservation.glassJar' => 'Frasco de vidro',
'preservation.paperEnvelope' => 'Envelope de papel',
'preservation.paperBag' => 'Saco de papel',
'preservation.plasticBag' => 'Saco de plástico',
'conditionCheck.advanced' => 'Armazenamento e detalhes de banco de sementes',
'conditionCheck.title' => 'Verificações de armazenamento',
'conditionCheck.add' => 'Adicionar verificação',
'conditionCheck.containers' => 'Frascos / recipientes',
'conditionCheck.desiccant' => 'Agente secante',
'conditionCheck.none' => 'Ainda não há verificações de armazenamento.',
'conditionCheck.summary' => ({required Object count, required Object state}) => '${count} frasco(s) · ${state}',
'desiccant.none' => 'Nenhum',
'desiccant.add' => 'Adicionar',
'desiccant.replace' => 'Substituir',
'desiccant.dry' => 'Azul — seco',
'desiccant.fresh' => 'Acabado de renovar',
'unit.aFew' => 'algumas',
'unit.some' => 'bastantes',
'unit.plenty' => 'muitas',
'unit.pinch' => 'uma pitada',
'unit.handful.singular' => 'mão-cheia',
'unit.handful.plural' => 'mãos-cheias',
'unit.teaspoon.singular' => 'colher de chá',
'unit.teaspoon.plural' => 'colheres de chá',
'unit.spoon.singular' => 'colher',
'unit.spoon.plural' => 'colheres',
'unit.cup.singular' => 'chávena',
'unit.cup.plural' => 'chávenas',
'unit.jar.singular' => 'frasco',
'unit.jar.plural' => 'frascos',
'unit.sack.singular' => 'saco',
'unit.sack.plural' => 'sacos',
'unit.packet.singular' => 'pacote',
'unit.packet.plural' => 'pacotes',
'unit.cob.singular' => 'maçaroca',
'unit.cob.plural' => 'maçarocas',
'unit.pod.singular' => 'vagem',
'unit.pod.plural' => 'vagens',
'unit.ear.singular' => 'espiga',
'unit.ear.plural' => 'espigas',
'unit.head.singular' => 'cabeça',
'unit.head.plural' => 'cabeças',
'unit.fruit.singular' => 'fruto',
'unit.fruit.plural' => 'frutos',
'unit.bulb.singular' => 'bolbo',
'unit.bulb.plural' => 'bolbos',
'unit.tuber.singular' => 'tubérculo',
'unit.tuber.plural' => 'tubérculos',
'unit.seedHead.singular' => 'capítulo',
'unit.seedHead.plural' => 'capítulos',
'unit.bunch.singular' => 'molho',
'unit.bunch.plural' => 'molhos',
'unit.plant.singular' => 'planta',
'unit.plant.plural' => 'plantas',
'unit.pot.singular' => 'vaso',
'unit.pot.plural' => 'vasos',
'unit.tray.singular' => 'tabuleiro',
'unit.tray.plural' => 'tabuleiros',
'unit.seedling.singular' => 'plântula',
'unit.seedling.plural' => 'plântulas',
'unit.tree.singular' => 'árvore',
'unit.tree.plural' => 'árvores',
'unit.cutting.singular' => 'estaca',
'unit.cutting.plural' => 'estacas',
'unit.grams.singular' => 'grama',
'unit.grams.plural' => 'gramas',
'unit.count.singular' => 'semente',
'unit.count.plural' => 'sementes',
'market.title' => 'Sementes perto de ti',
'market.subtitle' => 'O que outras pessoas partilham por perto',
'market.notSetUp' => 'Ainda não configuraste a partilha',
'market.notSetUpBody' => 'Ativa a partilha para ver e dar sementes a pessoas por perto. Mantém-se aproximado — a tua zona, nunca a tua morada exata.',
'market.setUp' => 'Configurar a partilha',
'market.cantReach' => 'Não é possível ligar aos servidores neste momento',
'market.cantReachBody' => 'Tenta de novo, ou verifica os servidores na configuração avançada.',
'market.retry' => 'Tentar de novo',
'market.setArea' => 'Indica a tua zona',
'market.setAreaBody' => 'Diz ao mercado a tua zona aproximada para ver sementes por perto.',
'market.searching' => 'A procurar pela tua zona…',
'market.empty' => 'Ainda não há sementes partilhadas perto de ti',
'market.searchHint' => 'Procurar nestas sementes',
'market.noMatches' => 'Nenhuma semente partilhada corresponde à procura',
'market.near' => 'Perto de ti',
'market.contact' => 'Mensagem',
'market.mine' => 'Tu',
'market.configTitle' => 'Configuração de partilha',
'market.setupIntro' => 'Partilhar com pessoas por perto é opcional. Basta indicar a tua zona aproximada — já estás ligado a servidores comunitários partilhados para que outras pessoas encontrem o que ofereces, sem nenhuma empresa no meio.',
'market.areaLabel' => 'A tua zona',
'market.areaHelp' => 'Mantém-se aproximado de propósito — a tua zona, nunca um ponto exato.',
'market.areaSet' => 'A tua zona está definida — aproximada, nunca o teu ponto exato',
'market.areaNotSet' => 'Zona por definir — usa a tua localização, ou adiciona um código em Avançado',
'market.advanced' => 'Avançado',
'market.areaCodeLabel' => 'Código de zona',
'market.areaCodeHint' => 'Um código curto como sp3e9 — não um nome de lugar',
'market.serversLabel' => 'Servidores da comunidade',
'market.serversHelp' => 'Um endereço por linha (wss://…). Deixa assim se não souberes.',
'market.serversAdvanced' => 'Adicionar outro servidor',
'market.save' => 'Guardar',
'market.saved' => 'Guardado',
'market.wanted' => 'Procuro',
'market.shareMine' => 'Partilhar as minhas sementes',
'market.sharedCount' => ({required Object n}) => 'Partilhadas ${n} sementes',
'market.nothingToShare' => 'Marca primeiro algumas sementes para dar, trocar ou vender',
'market.useLocation' => 'Usar a minha localização aproximada',
'market.locationFailed' => 'Não foi possível obter a tua localização — verifica se a localização está ativa e a permissão concedida',
'market.queued' => 'Guardado — vamos partilhá-las quando tiveres ligação',
'market.shareFailed' => 'Não foi possível contactar os servidores — as tuas sementes não foram partilhadas. Tenta de novo daqui a pouco.',
'market.rangeLabel' => 'Até onde procurar',
'market.rangeNear' => 'Muito perto',
'market.rangeArea' => 'Pela minha zona',
'market.rangeRegion' => 'A minha região',
'market.sharedBy' => 'Partilhado por',
'market.noProfile' => 'Esta pessoa ainda não partilhou o seu perfil',
'market.copyId' => 'Copiar código',
'market.idCopied' => 'Código copiado',
'profile.title' => 'O teu perfil',
'profile.name' => 'Nome',
'profile.nameHint' => 'Como os outros te veem',
'profile.about' => 'Sobre ti',
'profile.aboutHint' => 'Uma linha — o que cultivas, onde',
'profile.g1' => 'Endereço Ğ1 (opcional)',
'profile.g1Hint' => 'Para que te paguem em Ğ1 — separado da tua chave',
'profile.yourId' => 'A tua identidade',
'profile.idHelp' => 'Partilha-a para que te reconheçam',
'profile.copy' => 'Copiar',
'profile.copied' => 'Copiado',
'profile.save' => 'Guardar',
'profile.saved' => 'Perfil guardado',
'chatList.title' => 'Mensagens',
'chatList.empty' => 'Ainda não há conversas. Escreve a alguém a partir do mercado.',
'chat.title' => 'Conversa',
'chat.hint' => 'Escreve uma mensagem…',
'chat.send' => 'Enviar',
'chat.empty' => 'Ainda não há mensagens — diz olá',
'chat.offline' => 'Configura a partilha para enviar mensagens',
'chat.payG1' => 'Pagar em Ğ1',
'chat.g1Copied' => 'Endereço Ğ1 copiado — cola-o na tua carteira',
'trust.none' => 'Ainda ninguém os avaliza',
'trust.count' => ({required Object n}) => 'Avalizada por ${n}',
'trust.vouch' => 'Conheço esta pessoa',
'trust.vouched' => 'Avalizas esta pessoa',
'trust.circle' => 'No teu círculo',
_ => null,
};
}
}