tane/apps/app_seeds/lib/i18n/strings_pt.g.dart
vjrj f844d7c4f6 feat(links): surface source repo + Weblate links on site and in app
- site: set sourceURL (git.comunes.org/comunes/tane) and weblateURL
  (translate.comunes.org/projects/tane) — activates footer + collaborate links
- app About screen: add 'Source code' and 'Help translate' link tiles
- i18n: add about.sourceCode / about.translate / about.translateSubtitle
  (en base + es/pt/fr/de/ast; ja falls back to base), regenerate slang
- docs: add TRANSLATIONS.md runbook for the Weblate app component + git
  token + slang-regeneration workflow
2026-07-15 19:12:16 +02:00

1989 lines
100 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

///
/// 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$avatar$pt avatar = _Translations$avatar$pt._(_root);
@override late final _Translations$favorites$pt favorites = _Translations$favorites$pt._(_root);
@override late final _Translations$seedSaving$pt seedSaving = _Translations$seedSaving$pt._(_root);
@override late final _Translations$calendar$pt calendar = _Translations$calendar$pt._(_root);
@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$printLabels$pt printLabels = _Translations$printLabels$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);
@override late final _Translations$yourPeople$pt yourPeople = _Translations$yourPeople$pt._(_root);
@override late final _Translations$ratings$pt ratings = _Translations$ratings$pt._(_root);
@override late final _Translations$notifications$pt notifications = _Translations$notifications$pt._(_root);
@override late final _Translations$plantare$pt plantare = _Translations$plantare$pt._(_root);
@override late final _Translations$handover$pt handover = _Translations$handover$pt._(_root);
@override late final _Translations$sale$pt sale = _Translations$sale$pt._(_root);
@override late final _Translations$legal$pt legal = _Translations$legal$pt._(_root);
@override late final _Translations$marketGate$pt marketGate = _Translations$marketGate$pt._(_root);
@override late final _Translations$report$pt report = _Translations$report$pt._(_root);
@override late final _Translations$block$pt block = _Translations$block$pt._(_root);
}
// Path: avatar
class _Translations$avatar$pt extends Translations$avatar$en {
_Translations$avatar$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'A tua foto ou avatar';
@override String get fromPhoto => 'Tirar ou escolher uma foto';
@override String get illustration => 'Ou escolhe um desenho';
@override String get remove => 'Remover';
}
// Path: favorites
class _Translations$favorites$pt extends Translations$favorites$en {
_Translations$favorites$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Favoritos';
@override String get empty => 'Ainda não tens favoritos. Guarda ofertas que gostes do mercado.';
@override String get save => 'Guardar nos favoritos';
@override String get remove => 'Remover dos favoritos';
@override String get unavailable => 'Já não está disponível';
}
// Path: seedSaving
class _Translations$seedSaving$pt extends Translations$seedSaving$en {
_Translations$seedSaving$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Guardar a sua semente';
@override String get subtitle => 'O que é preciso para manter a variedade fiel';
@override String get lifeCycle => 'Ciclo';
@override String get cycleAnnual => 'Anual';
@override String get cycleBiennial => 'Bienal — dá semente no 2.º ano';
@override String get cyclePerennial => 'Perene';
@override String get pollination => 'Polinização';
@override String get pollSelf => 'Autopoliniza-se';
@override String get pollCross => 'Cruza-se com outras';
@override String get pollMixed => 'Autopoliniza-se, mas às vezes cruza';
@override String get byInsect => 'por insetos';
@override String get byWind => 'pelo vento';
@override String get isolation => 'Separe-a';
@override String isolationRange({required Object min, required Object max}) => '${min}${max} m de outras variedades';
@override String isolationSingle({required Object min}) => '${min} m de outras variedades';
@override String get plants => 'Guarde de várias plantas';
@override String plantsValue({required Object n}) => 'De pelo menos ${n} plantas';
@override String get processing => 'Como limpá-la';
@override String get procDry => 'Semente seca (debulhar)';
@override String get procWet => 'Semente húmida (fermentar e lavar)';
@override String get difficulty => 'Dificuldade';
@override String get diffEasy => 'Fácil';
@override String get diffMedium => 'Média';
@override String get diffHard => 'Difícil';
@override String get advisory => 'Orientativo — adapte-o ao seu clima e variedade.';
@override String get sourcePrefix => 'Fonte';
}
// Path: calendar
class _Translations$calendar$pt extends Translations$calendar$en {
_Translations$calendar$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Este mês';
@override String get filterChip => 'Este mês';
@override String get selfNote => 'O que anotaste nas tuas variedades.';
@override String nothing({required Object month}) => 'Nada anotado para ${month}.';
}
// 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 => 'Tane';
}
// 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 Tane 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 => 'Favoritos';
@override String get following => 'A seguir';
@override String get plantares => 'Plantares';
@override String get sales => 'Vendas';
@override String get calendar => 'Calendário';
@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 langFr => 'Français';
@override String get langDe => 'Deutsch';
@override String get langJa => '日本語';
@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 Tane';
}
// 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, required Object days}) => 'Última cópia em ${date} · a cada ${days} dias';
@override String autoBackupNone({required Object days}) => 'Uma cópia é guardada automaticamente a cada ${days} dias';
@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 Tane';
@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 => 'Tane — 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 Tane (種, "semente" em japonês) 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 seu nome vem de tanemaki (種まき), "semear / espalhar sementes". 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 Tane é 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 sourceCode => 'Código-fonte';
@override String get translate => 'Ajuda a traduzir';
@override String get translateSubtitle => 'Ajuda a trazer o Tane para o teu idioma';
@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 Tane';
@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';
@override String get loadError => 'Não foi possível abrir o teu banco de sementes. Talvez estivesse ocupado — tenta de novo.';
@override String get retry => 'Tentar de novo';
}
// 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 price => 'Preço';
@override String get priceHint => 'Deixa vazio para combinar depois';
@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: printLabels
class _Translations$printLabels$pt extends Translations$printLabels$en {
_Translations$printLabels$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get action => 'Imprimir etiquetas';
@override String get title => 'Imprimir etiquetas';
@override String get selectHint => 'Escolhe as sementes para imprimir as etiquetas';
@override String get selectAll => 'Selecionar tudo';
@override String selected({required Object n}) => '${n} selecionadas';
@override String get none => 'Seleciona sementes primeiro';
@override String get format => 'Tamanho da etiqueta';
@override String get formatStickers => 'Autocolantes pequenos';
@override String get formatStickersHint => 'Muitas etiquetas pequenas por folha — para colar em envelopes';
@override String get formatCards => 'Cartões grandes';
@override String get formatCardsHint => 'Menos etiquetas, maiores — para frascos e caixas';
@override String count({required Object n}) => '${n} etiquetas';
@override String get save => 'Guardar etiquetas';
@override String get saved => 'Etiquetas guardadas';
@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 editorHint => 'Anota tu os meses típicos desta variedade na tua zona — são as tuas notas.';
@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 => 'Escolhe que servidores usar. Deixa assim se não souberes.';
@override String get serversAdvanced => 'Adicionar outro servidor';
@override String get serverAddress => 'Endereço do servidor';
@override String get serverInvalid => 'Introduz um endereço válido (wss://…)';
@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';
@override String get photo => 'Foto';
}
// 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';
@override String get identities => 'As tuas identidades';
@override String get identitiesHelp => 'Mantém identidades separadas — cada uma com as suas mensagens e contactos. Todas vêm da tua única cópia de segurança, por isso mudar não acrescenta nada para lembrar.';
@override String identityLabel({required Object n}) => 'Identidade ${n}';
@override String get current => 'Em uso';
@override String get newIdentity => 'Nova identidade';
@override String get switchTitle => 'Mudar de identidade?';
@override String get switchBody => 'As mensagens e contactos são guardados separadamente para cada identidade. Podes voltar quando quiseres.';
@override String get switchAction => 'Mudar';
}
// 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';
@override String get today => 'Hoje';
@override String get yesterday => 'Ontem';
@override String get sendError => 'Não foi possível enviar — verifica a tua ligação';
@override String get noLinks => 'Não são permitidos links nas mensagens';
}
// 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: yourPeople
class _Translations$yourPeople$pt extends Translations$yourPeople$en {
_Translations$yourPeople$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'A tua gente';
@override String get help => 'Pessoas que conheces e avalizas, e pessoas que te avalizam.';
@override String get youVouchFor => 'Tu avalizas';
@override String get vouchesForYou => 'Avalizam-te';
@override String get youVouchForEmpty => 'Ainda não avalizas ninguém. Quando conheceres alguém, abre a vossa conversa e toca em "Conheço esta pessoa".';
@override String get vouchesForYouEmpty => 'Ainda ninguém te avaliza';
@override String get revoke => 'Deixar de avalizar';
@override String get revokeConfirm => 'Deixar de avalizar esta pessoa?';
@override String get offline => 'Sem ligação — tenta novamente quando estiveres em linha';
}
// Path: ratings
class _Translations$ratings$pt extends Translations$ratings$en {
_Translations$ratings$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get rate => 'Avaliar esta pessoa';
@override String get edit => 'Editar a tua avaliação';
@override String get commentHint => 'Como correu? (opcional)';
@override String fromYourCircle({required Object n}) => '${n} de pessoas que conheces';
@override String get retract => 'Remover a tua avaliação';
@override String get saved => 'Avaliação guardada';
}
// Path: notifications
class _Translations$notifications$pt extends Translations$notifications$en {
_Translations$notifications$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String newMessageFrom({required Object name}) => 'Nova mensagem de ${name}';
}
// Path: plantare
class _Translations$plantare$pt extends Translations$plantare$en {
_Translations$plantare$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Plantares';
@override String get help => 'Um Plantare é o compromisso de reproduzir uma semente e devolver uma parte — assim uma variedade continua a viajar de mão em mão. Não é uma venda.';
@override String get add => 'Adicionar compromisso';
@override String get empty => 'Ainda não há compromissos. Quando partilhares ou receberes semente com o compromisso de a reproduzir e devolver algo, anota-o aqui.';
@override String get iReturn => 'Reproduzo e devolvo eu';
@override String get owedToMe => 'Devolvem-me a mim';
@override String get direction => 'Quem reproduz e devolve';
@override String get counterparty => 'Com quem?';
@override String get counterpartyHint => 'Uma pessoa ou um coletivo (opcional)';
@override String get owed => 'O que é devolvido?';
@override String get owedHint => 'p. ex. um punhado na próxima temporada (opcional)';
@override String get note => 'Nota (opcional)';
@override String get save => 'Guardar';
@override String get markReturned => 'Marcar devolvido';
@override String get markForgiven => 'Dar por saldado';
@override String get reopen => 'Reabrir';
@override String get delete => 'Remover';
@override String get statusReturned => 'Devolvido';
@override String get statusForgiven => 'Saldado';
@override String get openSection => 'Pendentes';
@override String get settledSection => 'Feitos';
@override String get removeConfirm => 'Remover este compromisso?';
@override String returnBy({required Object date}) => 'Devolver até ${date}';
@override String get overdue => 'vencido';
@override String get dueByLabel => 'Devolver até (opcional)';
@override String get dueByHint => 'Um lembrete gentil, nunca imposto';
@override String get pickDate => 'Escolher data';
@override String get clearDate => 'Limpar data';
@override String get sectionTitle => 'Compromissos';
}
// Path: handover
class _Translations$handover$pt extends Translations$handover$en {
_Translations$handover$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Dei ou recebi sementes';
@override String get help => 'Uma oferta, uma troca ou uma venda: anota-o, com promessa de devolver semente ou sem ela.';
@override String get iGave => 'Dei sementes';
@override String get iReceived => 'Recebi sementes';
@override String get whichLot => 'De que lote?';
@override String get howMuch => 'Quanto?';
@override String get allOfIt => 'Tudo';
@override String get partOfIt => 'Uma parte';
@override String get paymentChip => 'Houve dinheiro pelo meio';
@override String get promiseGave => 'Vão devolver-me semente';
@override String get promiseReceived => 'Vou devolver semente';
}
// Path: sale
class _Translations$sale$pt extends Translations$sale$en {
_Translations$sale$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Vendas';
@override String get help => 'Regista semente vendida ou comprada — dinheiro, Ğ1 ou qualquer moeda. Um modelo separado do presente e do Plantare. Nunca se cobra comissão pelas sementes.';
@override String get add => 'Registar venda';
@override String get empty => 'Ainda não há vendas. Anota aqui o que vendes ou compras.';
@override String get iSold => 'Vendi';
@override String get iBought => 'Comprei';
@override String get direction => 'Vendes ou compras?';
@override String get counterparty => 'Com quem?';
@override String get counterpartyHint => 'Uma pessoa ou um coletivo (opcional)';
@override String get amount => 'Montante';
@override String get currency => 'Moeda';
@override String get currencyHint => '€, Ğ1, horas… (opcional)';
@override String get hours => 'horas';
@override String get note => 'Nota (opcional)';
@override String get save => 'Guardar';
@override String get delete => 'Remover';
@override String get removeConfirm => 'Remover esta venda?';
}
// Path: legal
class _Translations$legal$pt extends Translations$legal$en {
_Translations$legal$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Privacidade e regras';
@override String get subtitle => 'A tua privacidade, as regras do mercado e a legalidade das sementes';
@override String get privacyTitle => 'A tua privacidade';
@override String get privacyBody => 'O Tane funciona sem conta, e tudo o que registas fica no teu dispositivo, cifrado. Não há publicidade, nem rastreadores, nem servidor do Tane.\n\nNada é partilhado a não ser que tu queiras: quando publicas uma oferta ou o teu perfil, ou envias uma mensagem, viaja por servidores comunitários. As ofertas levam apenas uma zona aproximada — nunca a tua morada.\n\nO que publicas é público, e podem ficar cópias mesmo depois de o retirares — por isso partilha com cuidado.';
@override String get rulesTitle => 'As regras do jogo';
@override String get rulesBody => 'O Tane é uma ferramenta, não uma loja: as trocas são acordadas diretamente entre pessoas e ninguém fica com comissão. Isso também significa que és responsável pelo que ofereces e envias.\n\nNo mercado: sê honesto com as tuas sementes, oferece apenas o que podes partilhar, trata bem as pessoas e não faças spam. Podes bloquear qualquer pessoa e denunciar ofertas ou pessoas que quebrem as regras — as denúncias são tratadas nos servidores comunitários.';
@override String get seedsTitle => 'Sobre partilhar sementes e mudas';
@override String get seedsBody => 'Oferecer e trocar sementes entre amadores é amplamente reconhecido na maioria dos países. Vender pode ser diferente: em muitos lugares, vender sementes de variedades não registadas oficialmente é restrito — consulta as regras locais antes de pedir um preço.\n\nEnviar sementes para outro país também costuma ser restrito, e as variedades protegidas comercialmente não podem ser propagadas sem autorização. Na dúvida, melhor local e melhor oferta.\n\nO mesmo se aplica a mudas e plantas jovens, mas a planta viva pode ter regras de transporte e fitossanitárias mais rígidas do que a semente: movê-la entre regiões ou países pode exigir controlos adicionais.';
@override String get readFull => 'Ler os documentos completos na web';
}
// Path: marketGate
class _Translations$marketGate$pt extends Translations$marketGate$en {
_Translations$marketGate$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get title => 'Antes de entrares no mercado';
@override String get intro => 'O mercado é um espaço partilhado entre vizinhas e vizinhos. Ao continuar, aceitas umas poucas regras simples:';
@override String get ruleHonest => 'Sê honesto com as sementes que ofereces';
@override String get ruleLegal => 'Partilha apenas o que podes partilhar onde vives';
@override String get ruleRespect => 'Trata bem as pessoas — sem spam nem abusos';
@override String get publicNote => 'O que publicares aqui é público, e podem ficar cópias mesmo que o retires depois.';
@override String get viewLegal => 'Privacidade e regras';
@override String get accept => 'Aceito';
@override String get decline => 'Agora não';
}
// Path: report
class _Translations$report$pt extends Translations$report$en {
_Translations$report$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get offer => 'Denunciar esta oferta';
@override String get person => 'Denunciar esta pessoa';
@override String get title => 'Denunciar';
@override String get prompt => 'O que se passa?';
@override String get reasonSpam => 'Spam ou uma burla';
@override String get reasonAbuse => 'Abusivo ou desrespeitoso';
@override String get reasonIllegal => 'Sementes que não deviam ser oferecidas';
@override String get reasonOther => 'Outra coisa';
@override String get detailsHint => 'Acrescenta detalhes (opcional)';
@override String get send => 'Enviar denúncia';
@override String get sentHidden => 'Denúncia enviada — já não voltas a ver isto';
@override String get failed => 'Não foi possível enviar a denúncia — verifica a tua ligação';
@override String get alsoBlock => 'Bloquear também esta pessoa';
}
// Path: block
class _Translations$block$pt extends Translations$block$en {
_Translations$block$pt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get action => 'Bloquear esta pessoa';
@override String get confirmTitle => 'Bloquear esta pessoa?';
@override String get confirmBody => 'Deixas de ver as suas ofertas e mensagens. Podes desbloqueá-la mais tarde em Pessoas bloqueadas, na configuração de partilha.';
@override String get confirm => 'Bloquear';
@override String get blockedToast => 'Pessoa bloqueada — as suas ofertas e mensagens ficam ocultas';
@override String get manageTitle => 'Pessoas bloqueadas';
@override String get manageEmpty => 'Não bloqueaste ninguém';
@override String get unblock => 'Desbloquear';
}
// 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) {
'avatar.title' => 'A tua foto ou avatar',
'avatar.fromPhoto' => 'Tirar ou escolher uma foto',
'avatar.illustration' => 'Ou escolhe um desenho',
'avatar.remove' => 'Remover',
'favorites.title' => 'Favoritos',
'favorites.empty' => 'Ainda não tens favoritos. Guarda ofertas que gostes do mercado.',
'favorites.save' => 'Guardar nos favoritos',
'favorites.remove' => 'Remover dos favoritos',
'favorites.unavailable' => 'Já não está disponível',
'seedSaving.title' => 'Guardar a sua semente',
'seedSaving.subtitle' => 'O que é preciso para manter a variedade fiel',
'seedSaving.lifeCycle' => 'Ciclo',
'seedSaving.cycleAnnual' => 'Anual',
'seedSaving.cycleBiennial' => 'Bienal — dá semente no 2.º ano',
'seedSaving.cyclePerennial' => 'Perene',
'seedSaving.pollination' => 'Polinização',
'seedSaving.pollSelf' => 'Autopoliniza-se',
'seedSaving.pollCross' => 'Cruza-se com outras',
'seedSaving.pollMixed' => 'Autopoliniza-se, mas às vezes cruza',
'seedSaving.byInsect' => 'por insetos',
'seedSaving.byWind' => 'pelo vento',
'seedSaving.isolation' => 'Separe-a',
'seedSaving.isolationRange' => ({required Object min, required Object max}) => '${min}${max} m de outras variedades',
'seedSaving.isolationSingle' => ({required Object min}) => '${min} m de outras variedades',
'seedSaving.plants' => 'Guarde de várias plantas',
'seedSaving.plantsValue' => ({required Object n}) => 'De pelo menos ${n} plantas',
'seedSaving.processing' => 'Como limpá-la',
'seedSaving.procDry' => 'Semente seca (debulhar)',
'seedSaving.procWet' => 'Semente húmida (fermentar e lavar)',
'seedSaving.difficulty' => 'Dificuldade',
'seedSaving.diffEasy' => 'Fácil',
'seedSaving.diffMedium' => 'Média',
'seedSaving.diffHard' => 'Difícil',
'seedSaving.advisory' => 'Orientativo — adapte-o ao seu clima e variedade.',
'seedSaving.sourcePrefix' => 'Fonte',
'calendar.title' => 'Este mês',
'calendar.filterChip' => 'Este mês',
'calendar.selfNote' => 'O que anotaste nas tuas variedades.',
'calendar.nothing' => ({required Object month}) => 'Nada anotado para ${month}.',
'app.title' => 'Tane',
'bootstrap.failed' => 'O Tane 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' => 'Favoritos',
'menu.following' => 'A seguir',
'menu.plantares' => 'Plantares',
'menu.sales' => 'Vendas',
'menu.calendar' => 'Calendário',
'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.langFr' => 'Français',
'settings.langDe' => 'Deutsch',
'settings.langJa' => '日本語',
'settings.about' => 'Acerca de',
'settings.aboutText' => 'Inventário local e cifrado para sementes tradicionais. AGPL-3.0.',
'settings.aboutOpen' => 'Acerca do Tane',
'backup.title' => 'Cópia de segurança',
'backup.autoBackupTitle' => 'Cópias automáticas',
'backup.autoBackupLast' => ({required Object date, required Object days}) => 'Última cópia em ${date} · a cada ${days} dias',
'backup.autoBackupNone' => ({required Object days}) => 'Uma cópia é guardada automaticamente a cada ${days} dias',
'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 Tane',
'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' => 'Tane — 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 Tane (種, "semente" em japonês) 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 seu nome vem de tanemaki (種まき), "semear / espalhar sementes". 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 Tane é o Plantare digital.',
'about.version' => 'Versão',
'about.license' => 'Licença',
'about.licenseValue' => 'AGPL-3.0',
'about.website' => 'Sítio web',
'about.sourceCode' => 'Código-fonte',
'about.translate' => 'Ajuda a traduzir',
'about.translateSubtitle' => 'Ajuda a trazer o Tane para o teu idioma',
'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 Tane',
'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',
'inventory.loadError' => 'Não foi possível abrir o teu banco de sementes. Talvez estivesse ocupado — tenta de novo.',
'inventory.retry' => 'Tentar de novo',
'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.price' => 'Preço',
'share.priceHint' => 'Deixa vazio para combinar depois',
'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',
'printLabels.action' => 'Imprimir etiquetas',
'printLabels.title' => 'Imprimir etiquetas',
'printLabels.selectHint' => 'Escolhe as sementes para imprimir as etiquetas',
'printLabels.selectAll' => 'Selecionar tudo',
'printLabels.selected' => ({required Object n}) => '${n} selecionadas',
'printLabels.none' => 'Seleciona sementes primeiro',
'printLabels.format' => 'Tamanho da etiqueta',
'printLabels.formatStickers' => 'Autocolantes pequenos',
'printLabels.formatStickersHint' => 'Muitas etiquetas pequenas por folha — para colar em envelopes',
'printLabels.formatCards' => 'Cartões grandes',
'printLabels.formatCardsHint' => 'Menos etiquetas, maiores — para frascos e caixas',
'printLabels.count' => ({required Object n}) => '${n} etiquetas',
'printLabels.save' => 'Guardar etiquetas',
'printLabels.saved' => 'Etiquetas guardadas',
'printLabels.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.editorHint' => 'Anota tu os meses típicos desta variedade na tua zona — são as tuas notas.',
'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' => 'Escolhe que servidores usar. Deixa assim se não souberes.',
'market.serversAdvanced' => 'Adicionar outro servidor',
'market.serverAddress' => 'Endereço do servidor',
'market.serverInvalid' => 'Introduz um endereço válido (wss://…)',
'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',
'market.photo' => 'Foto',
'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',
'profile.identities' => 'As tuas identidades',
'profile.identitiesHelp' => 'Mantém identidades separadas — cada uma com as suas mensagens e contactos. Todas vêm da tua única cópia de segurança, por isso mudar não acrescenta nada para lembrar.',
'profile.identityLabel' => ({required Object n}) => 'Identidade ${n}',
'profile.current' => 'Em uso',
'profile.newIdentity' => 'Nova identidade',
'profile.switchTitle' => 'Mudar de identidade?',
'profile.switchBody' => 'As mensagens e contactos são guardados separadamente para cada identidade. Podes voltar quando quiseres.',
'profile.switchAction' => 'Mudar',
'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',
'chat.today' => 'Hoje',
'chat.yesterday' => 'Ontem',
'chat.sendError' => 'Não foi possível enviar — verifica a tua ligação',
'chat.noLinks' => 'Não são permitidos links nas mensagens',
'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',
'yourPeople.title' => 'A tua gente',
'yourPeople.help' => 'Pessoas que conheces e avalizas, e pessoas que te avalizam.',
'yourPeople.youVouchFor' => 'Tu avalizas',
'yourPeople.vouchesForYou' => 'Avalizam-te',
'yourPeople.youVouchForEmpty' => 'Ainda não avalizas ninguém. Quando conheceres alguém, abre a vossa conversa e toca em "Conheço esta pessoa".',
'yourPeople.vouchesForYouEmpty' => 'Ainda ninguém te avaliza',
'yourPeople.revoke' => 'Deixar de avalizar',
'yourPeople.revokeConfirm' => 'Deixar de avalizar esta pessoa?',
'yourPeople.offline' => 'Sem ligação — tenta novamente quando estiveres em linha',
'ratings.rate' => 'Avaliar esta pessoa',
'ratings.edit' => 'Editar a tua avaliação',
'ratings.commentHint' => 'Como correu? (opcional)',
'ratings.fromYourCircle' => ({required Object n}) => '${n} de pessoas que conheces',
'ratings.retract' => 'Remover a tua avaliação',
'ratings.saved' => 'Avaliação guardada',
'notifications.newMessageFrom' => ({required Object name}) => 'Nova mensagem de ${name}',
'plantare.title' => 'Plantares',
'plantare.help' => 'Um Plantare é o compromisso de reproduzir uma semente e devolver uma parte — assim uma variedade continua a viajar de mão em mão. Não é uma venda.',
'plantare.add' => 'Adicionar compromisso',
'plantare.empty' => 'Ainda não há compromissos. Quando partilhares ou receberes semente com o compromisso de a reproduzir e devolver algo, anota-o aqui.',
'plantare.iReturn' => 'Reproduzo e devolvo eu',
'plantare.owedToMe' => 'Devolvem-me a mim',
'plantare.direction' => 'Quem reproduz e devolve',
'plantare.counterparty' => 'Com quem?',
'plantare.counterpartyHint' => 'Uma pessoa ou um coletivo (opcional)',
'plantare.owed' => 'O que é devolvido?',
'plantare.owedHint' => 'p. ex. um punhado na próxima temporada (opcional)',
'plantare.note' => 'Nota (opcional)',
'plantare.save' => 'Guardar',
'plantare.markReturned' => 'Marcar devolvido',
'plantare.markForgiven' => 'Dar por saldado',
'plantare.reopen' => 'Reabrir',
'plantare.delete' => 'Remover',
'plantare.statusReturned' => 'Devolvido',
'plantare.statusForgiven' => 'Saldado',
'plantare.openSection' => 'Pendentes',
'plantare.settledSection' => 'Feitos',
'plantare.removeConfirm' => 'Remover este compromisso?',
'plantare.returnBy' => ({required Object date}) => 'Devolver até ${date}',
'plantare.overdue' => 'vencido',
'plantare.dueByLabel' => 'Devolver até (opcional)',
'plantare.dueByHint' => 'Um lembrete gentil, nunca imposto',
'plantare.pickDate' => 'Escolher data',
'plantare.clearDate' => 'Limpar data',
'plantare.sectionTitle' => 'Compromissos',
'handover.title' => 'Dei ou recebi sementes',
'handover.help' => 'Uma oferta, uma troca ou uma venda: anota-o, com promessa de devolver semente ou sem ela.',
'handover.iGave' => 'Dei sementes',
'handover.iReceived' => 'Recebi sementes',
'handover.whichLot' => 'De que lote?',
'handover.howMuch' => 'Quanto?',
'handover.allOfIt' => 'Tudo',
'handover.partOfIt' => 'Uma parte',
'handover.paymentChip' => 'Houve dinheiro pelo meio',
'handover.promiseGave' => 'Vão devolver-me semente',
'handover.promiseReceived' => 'Vou devolver semente',
'sale.title' => 'Vendas',
'sale.help' => 'Regista semente vendida ou comprada — dinheiro, Ğ1 ou qualquer moeda. Um modelo separado do presente e do Plantare. Nunca se cobra comissão pelas sementes.',
'sale.add' => 'Registar venda',
_ => null,
} ?? switch (path) {
'sale.empty' => 'Ainda não há vendas. Anota aqui o que vendes ou compras.',
'sale.iSold' => 'Vendi',
'sale.iBought' => 'Comprei',
'sale.direction' => 'Vendes ou compras?',
'sale.counterparty' => 'Com quem?',
'sale.counterpartyHint' => 'Uma pessoa ou um coletivo (opcional)',
'sale.amount' => 'Montante',
'sale.currency' => 'Moeda',
'sale.currencyHint' => '€, Ğ1, horas… (opcional)',
'sale.hours' => 'horas',
'sale.note' => 'Nota (opcional)',
'sale.save' => 'Guardar',
'sale.delete' => 'Remover',
'sale.removeConfirm' => 'Remover esta venda?',
'legal.title' => 'Privacidade e regras',
'legal.subtitle' => 'A tua privacidade, as regras do mercado e a legalidade das sementes',
'legal.privacyTitle' => 'A tua privacidade',
'legal.privacyBody' => 'O Tane funciona sem conta, e tudo o que registas fica no teu dispositivo, cifrado. Não há publicidade, nem rastreadores, nem servidor do Tane.\n\nNada é partilhado a não ser que tu queiras: quando publicas uma oferta ou o teu perfil, ou envias uma mensagem, viaja por servidores comunitários. As ofertas levam apenas uma zona aproximada — nunca a tua morada.\n\nO que publicas é público, e podem ficar cópias mesmo depois de o retirares — por isso partilha com cuidado.',
'legal.rulesTitle' => 'As regras do jogo',
'legal.rulesBody' => 'O Tane é uma ferramenta, não uma loja: as trocas são acordadas diretamente entre pessoas e ninguém fica com comissão. Isso também significa que és responsável pelo que ofereces e envias.\n\nNo mercado: sê honesto com as tuas sementes, oferece apenas o que podes partilhar, trata bem as pessoas e não faças spam. Podes bloquear qualquer pessoa e denunciar ofertas ou pessoas que quebrem as regras — as denúncias são tratadas nos servidores comunitários.',
'legal.seedsTitle' => 'Sobre partilhar sementes e mudas',
'legal.seedsBody' => 'Oferecer e trocar sementes entre amadores é amplamente reconhecido na maioria dos países. Vender pode ser diferente: em muitos lugares, vender sementes de variedades não registadas oficialmente é restrito — consulta as regras locais antes de pedir um preço.\n\nEnviar sementes para outro país também costuma ser restrito, e as variedades protegidas comercialmente não podem ser propagadas sem autorização. Na dúvida, melhor local e melhor oferta.\n\nO mesmo se aplica a mudas e plantas jovens, mas a planta viva pode ter regras de transporte e fitossanitárias mais rígidas do que a semente: movê-la entre regiões ou países pode exigir controlos adicionais.',
'legal.readFull' => 'Ler os documentos completos na web',
'marketGate.title' => 'Antes de entrares no mercado',
'marketGate.intro' => 'O mercado é um espaço partilhado entre vizinhas e vizinhos. Ao continuar, aceitas umas poucas regras simples:',
'marketGate.ruleHonest' => 'Sê honesto com as sementes que ofereces',
'marketGate.ruleLegal' => 'Partilha apenas o que podes partilhar onde vives',
'marketGate.ruleRespect' => 'Trata bem as pessoas — sem spam nem abusos',
'marketGate.publicNote' => 'O que publicares aqui é público, e podem ficar cópias mesmo que o retires depois.',
'marketGate.viewLegal' => 'Privacidade e regras',
'marketGate.accept' => 'Aceito',
'marketGate.decline' => 'Agora não',
'report.offer' => 'Denunciar esta oferta',
'report.person' => 'Denunciar esta pessoa',
'report.title' => 'Denunciar',
'report.prompt' => 'O que se passa?',
'report.reasonSpam' => 'Spam ou uma burla',
'report.reasonAbuse' => 'Abusivo ou desrespeitoso',
'report.reasonIllegal' => 'Sementes que não deviam ser oferecidas',
'report.reasonOther' => 'Outra coisa',
'report.detailsHint' => 'Acrescenta detalhes (opcional)',
'report.send' => 'Enviar denúncia',
'report.sentHidden' => 'Denúncia enviada — já não voltas a ver isto',
'report.failed' => 'Não foi possível enviar a denúncia — verifica a tua ligação',
'report.alsoBlock' => 'Bloquear também esta pessoa',
'block.action' => 'Bloquear esta pessoa',
'block.confirmTitle' => 'Bloquear esta pessoa?',
'block.confirmBody' => 'Deixas de ver as suas ofertas e mensagens. Podes desbloqueá-la mais tarde em Pessoas bloqueadas, na configuração de partilha.',
'block.confirm' => 'Bloquear',
'block.blockedToast' => 'Pessoa bloqueada — as suas ofertas e mensagens ficam ocultas',
'block.manageTitle' => 'Pessoas bloqueadas',
'block.manageEmpty' => 'Não bloqueaste ninguém',
'block.unblock' => 'Desbloquear',
_ => null,
};
}
}