tane/apps/app_seeds/lib/i18n/strings_pt_BR.g.dart
vjrj d80f6d50fa
Some checks are pending
ci / analyze (push) Waiting to run
ci / test-commons-core (push) Waiting to run
ci / test-app-seeds (push) Waiting to run
feat(i18n): complete Portuguese, add Brazilian Portuguese (pt_BR)
Fill the ~74 UI strings pt.i18n.json was missing (saved searches, label
scanning, Plantaré, lot history), then add pt_BR as a proper Brazilian
variant rather than a copy of European Portuguese: tu/teu/tua -> você/
seu/sua with matching verb conjugation, partilhar -> compartilhar, and
Guardar -> Salvar for UI actions (seed-saving keeps "guardar", the
correct term in both variants). Wires AppLocale.ptBr into the language
picker and regenerates slang output.
2026-07-20 23:11:01 +02:00

2170 lines
112 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';
import 'strings_pt.g.dart';
// Path: <root>
class TranslationsPtBr extends TranslationsPt 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.
TranslationsPtBr({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.ptBr,
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-BR>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsPtBr _root = this; // ignore: unused_field
@override
TranslationsPtBr $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsPtBr(meta: meta ?? this.$meta);
// Translations
@override late final _Translations$avatar$pt_BR avatar = _Translations$avatar$pt_BR._(_root);
@override late final _Translations$favorites$pt_BR favorites = _Translations$favorites$pt_BR._(_root);
@override late final _Translations$savedSearches$pt_BR savedSearches = _Translations$savedSearches$pt_BR._(_root);
@override late final _Translations$seedSaving$pt_BR seedSaving = _Translations$seedSaving$pt_BR._(_root);
@override late final _Translations$calendar$pt_BR calendar = _Translations$calendar$pt_BR._(_root);
@override late final _Translations$app$pt_BR app = _Translations$app$pt_BR._(_root);
@override late final _Translations$bootstrap$pt_BR bootstrap = _Translations$bootstrap$pt_BR._(_root);
@override late final _Translations$common$pt_BR common = _Translations$common$pt_BR._(_root);
@override late final _Translations$home$pt_BR home = _Translations$home$pt_BR._(_root);
@override late final _Translations$photo$pt_BR photo = _Translations$photo$pt_BR._(_root);
@override late final _Translations$menu$pt_BR menu = _Translations$menu$pt_BR._(_root);
@override late final _Translations$settings$pt_BR settings = _Translations$settings$pt_BR._(_root);
@override late final _Translations$backup$pt_BR backup = _Translations$backup$pt_BR._(_root);
@override late final _Translations$about$pt_BR about = _Translations$about$pt_BR._(_root);
@override late final _Translations$intro$pt_BR intro = _Translations$intro$pt_BR._(_root);
@override late final _Translations$inventory$pt_BR inventory = _Translations$inventory$pt_BR._(_root);
@override late final _Translations$draft$pt_BR draft = _Translations$draft$pt_BR._(_root);
@override late final _Translations$quickAdd$pt_BR quickAdd = _Translations$quickAdd$pt_BR._(_root);
@override late final _Translations$detail$pt_BR detail = _Translations$detail$pt_BR._(_root);
@override late final _Translations$germination$pt_BR germination = _Translations$germination$pt_BR._(_root);
@override late final _Translations$viability$pt_BR viability = _Translations$viability$pt_BR._(_root);
@override late final _Translations$editVariety$pt_BR editVariety = _Translations$editVariety$pt_BR._(_root);
@override late final _Translations$addLot$pt_BR addLot = _Translations$addLot$pt_BR._(_root);
@override late final _Translations$harvest$pt_BR harvest = _Translations$harvest$pt_BR._(_root);
@override late final _Translations$lotType$pt_BR lotType = _Translations$lotType$pt_BR._(_root);
@override late final _Translations$presentation$pt_BR presentation = _Translations$presentation$pt_BR._(_root);
@override late final _Translations$provenance$pt_BR provenance = _Translations$provenance$pt_BR._(_root);
@override late final _Translations$abundance$pt_BR abundance = _Translations$abundance$pt_BR._(_root);
@override late final _Translations$share$pt_BR share = _Translations$share$pt_BR._(_root);
@override late final _Translations$printLabels$pt_BR printLabels = _Translations$printLabels$pt_BR._(_root);
@override late final _Translations$scan$pt_BR scan = _Translations$scan$pt_BR._(_root);
@override late final _Translations$cropCalendar$pt_BR cropCalendar = _Translations$cropCalendar$pt_BR._(_root);
@override late final _Translations$needsReproduction$pt_BR needsReproduction = _Translations$needsReproduction$pt_BR._(_root);
@override late final _Translations$preservation$pt_BR preservation = _Translations$preservation$pt_BR._(_root);
@override late final _Translations$conditionCheck$pt_BR conditionCheck = _Translations$conditionCheck$pt_BR._(_root);
@override late final _Translations$desiccant$pt_BR desiccant = _Translations$desiccant$pt_BR._(_root);
@override late final _Translations$unit$pt_BR unit = _Translations$unit$pt_BR._(_root);
@override late final _Translations$market$pt_BR market = _Translations$market$pt_BR._(_root);
@override late final _Translations$profile$pt_BR profile = _Translations$profile$pt_BR._(_root);
@override late final _Translations$chatList$pt_BR chatList = _Translations$chatList$pt_BR._(_root);
@override late final _Translations$chat$pt_BR chat = _Translations$chat$pt_BR._(_root);
@override late final _Translations$trust$pt_BR trust = _Translations$trust$pt_BR._(_root);
@override late final _Translations$yourPeople$pt_BR yourPeople = _Translations$yourPeople$pt_BR._(_root);
@override late final _Translations$ratings$pt_BR ratings = _Translations$ratings$pt_BR._(_root);
@override late final _Translations$notifications$pt_BR notifications = _Translations$notifications$pt_BR._(_root);
@override late final _Translations$plantare$pt_BR plantare = _Translations$plantare$pt_BR._(_root);
@override late final _Translations$handover$pt_BR handover = _Translations$handover$pt_BR._(_root);
@override late final _Translations$history$pt_BR history = _Translations$history$pt_BR._(_root);
@override late final _Translations$sale$pt_BR sale = _Translations$sale$pt_BR._(_root);
@override late final _Translations$legal$pt_BR legal = _Translations$legal$pt_BR._(_root);
@override late final _Translations$marketGate$pt_BR marketGate = _Translations$marketGate$pt_BR._(_root);
@override late final _Translations$report$pt_BR report = _Translations$report$pt_BR._(_root);
@override late final _Translations$block$pt_BR block = _Translations$block$pt_BR._(_root);
}
// Path: avatar
class _Translations$avatar$pt_BR extends Translations$avatar$pt {
_Translations$avatar$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'A sua 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_BR extends Translations$favorites$pt {
_Translations$favorites$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Favoritos';
@override String get empty => 'Ainda não tem favoritos. Salve ofertas que goste do mercado.';
@override String get save => 'Salvar nos favoritos';
@override String get remove => 'Remover dos favoritos';
@override String get unavailable => 'Já não está disponível';
}
// Path: savedSearches
class _Translations$savedSearches$pt_BR extends Translations$savedSearches$pt {
_Translations$savedSearches$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Pesquisas salvas';
@override String get empty => 'Ainda não há pesquisas salvas. Salve uma pesquisa no mercado e te avisamos quando aparecer algo parecido na sua zona.';
@override String get save => 'Salvar esta pesquisa';
@override String get nameLabel => 'Dá um nome a esta pesquisa';
@override String get namePlaceholder => 'ex.: Tomates perto de mim';
@override String get saved => 'Pesquisa salva — vamos te avisar sobre novas correspondências perto de você';
@override String get openTooltip => 'Pesquisas salvas';
@override String get delete => 'Eliminar';
@override String get deleteConfirm => 'Eliminar esta pesquisa salva?';
@override String newMatchesBadge({required Object n}) => '${n} novas';
@override String alert({required Object label}) => 'Sementes perto de você: ${label}';
}
// Path: seedSaving
class _Translations$seedSaving$pt_BR extends Translations$seedSaving$pt {
_Translations$seedSaving$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$calendar$pt {
_Translations$calendar$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 você anotou nas suas variedades.';
@override String nothing({required Object month}) => 'Nada anotado para ${month}.';
}
// Path: app
class _Translations$app$pt_BR extends Translations$app$pt {
_Translations$app$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Tane';
}
// Path: bootstrap
class _Translations$bootstrap$pt_BR extends Translations$bootstrap$pt {
_Translations$bootstrap$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$common$pt {
_Translations$common$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get save => 'Salvar';
@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 compartilha está em pausa';
}
// Path: home
class _Translations$home$pt_BR extends Translations$home$pt {
_Translations$home$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get tagline => 'Compartilha e cultiva sementes locais';
@override String get openMarket => 'Mercado';
@override String get openMarketSubtitle => 'Descobre e compartilha sementes por perto';
@override String get yourInventory => 'O seu inventário';
@override String get yourInventorySubtitle => 'Gere as suas sementes';
}
// Path: photo
class _Translations$photo$pt_BR extends Translations$photo$pt {
_Translations$photo$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$menu$pt {
_Translations$menu$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get tagline => 'o seu banco de sementes';
@override String get inventory => 'Inventário';
@override String get market => 'Mercado';
@override String get profile => 'O seu 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_BR extends Translations$settings$pt {
_Translations$settings$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 langPtBr => 'Português (Brasil)';
@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_BR extends Translations$backup$pt {
_Translations$backup$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 é salva automaticamente a cada ${days} dias';
@override String get exportJson => 'Salvar 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 salva — 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 seu 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 arquivo duas vezes acrescenta-o duas vezes.';
@override String get importAction => 'Importar';
@override String get exportSaved => 'Cópia salva';
@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 arquivo não pôde ser lido como uma cópia do Tane';
@override String get failed => 'Algo correu mal';
@override String get recoveryTitle => 'O seu código de recuperação';
@override String get recoverySubtitle => 'Imprime-o e guarda-o bem: abre as suas cópias noutro aparelho';
@override String get recoveryIntro => 'Este código abre as suas cópias salvas e recupera o seu banco em qualquer aparelho. Guarde duas cópias em papel em lugares seguros, como a sua melhor semente. Quem o tiver pode ler as suas cópias, por isso não o compartilhe com ninguém.';
@override String get recoveryCopy => 'Copiar';
@override String get recoverySave => 'Salvar a folha';
@override String get recoverySheetTitle => 'Tane — a sua folha de recuperação';
@override String get recoveryPromptTitle => 'Escreve o seu código de recuperação';
@override String get recoveryPromptBody => 'Esta cópia foi salva com outro código. Escreve o código da sua 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_BR extends Translations$about$pt {
_Translations$about$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 compartilhar 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 compartilhá-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 compartilhado) 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 seu 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_BR extends Translations$intro$pt {
_Translations$intro$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR slides = _Translations$intro$slides$pt_BR._(_root);
}
// Path: inventory
class _Translations$inventory$pt_BR extends Translations$inventory$pt {
_Translations$inventory$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 seus 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 seu banco de sementes. Talvez estivesse ocupado — tenta de novo.';
@override String get retry => 'Tentar de novo';
}
// Path: draft
class _Translations$draft$pt_BR extends Translations$draft$pt {
_Translations$draft$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$quickAdd$pt {
_Translations$quickAdd$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 => 'Salvar';
@override String get saveAndAddAnother => 'Salvar e adicionar outra';
@override String addedCount({required Object n}) => '${n} adicionadas';
@override String get cancel => 'Cancelar';
}
// Path: detail
class _Translations$detail$pt_BR extends Translations$detail$pt {
_Translations$detail$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 reference => 'Saber mais';
@override String get refGbif => 'GBIF';
@override String get refWikipedia => 'Wikipédia';
@override String get refWikispecies => 'Wikispecies';
@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_BR extends Translations$germination$pt {
_Translations$germination$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$viability$pt {
_Translations$viability$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$editVariety$pt {
_Translations$editVariety$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$addLot$pt {
_Translations$addLot$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$harvest$pt {
_Translations$harvest$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$lotType$pt {
_Translations$lotType$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$presentation$pt {
_Translations$presentation$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$provenance$pt {
_Translations$provenance$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$abundance$pt {
_Translations$abundance$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 compartilhar';
@override String get enoughToShare => 'Bastante, para compartilhar com moderação';
@override String get enoughForMe => 'Suficiente para mim';
@override String get runningLow => 'Resta pouca';
}
// Path: share
class _Translations$share$pt_BR extends Translations$share$pt {
_Translations$share$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get add => 'Compartilhas esta?';
@override String get title => 'Compartilhas esta?';
@override String get nudge => 'Tem de sobra: podia compartilhar um pouco.';
@override String get price => 'Preço';
@override String get priceHint => 'Deixe 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 => 'Compartilho';
@override String get printCatalog => 'Imprimir o que compartilho';
@override String get catalogTitle => 'O que compartilho';
@override String get catalogSaved => 'Catálogo salvo';
@override String get cancelled => 'Cancelado';
}
// Path: printLabels
class _Translations$printLabels$pt_BR extends Translations$printLabels$pt {
_Translations$printLabels$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 => 'Salvar etiquetas';
@override String get saved => 'Etiquetas salvas';
@override String get cancelled => 'Cancelado';
}
// Path: scan
class _Translations$scan$pt_BR extends Translations$scan$pt {
_Translations$scan$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get action => 'Digitalizar um rótulo de semente';
@override String get title => 'Digitalizar um rótulo';
@override String get notALabel => 'Esse código não é um rótulo de semente';
@override String get addTitle => 'Não está na sua coleção';
@override String addBody({required Object label}) => 'Adicionar “${label}” às suas sementes?';
@override String get add => 'Adicionar';
@override String get added => 'Adicionado à sua coleção';
}
// Path: cropCalendar
class _Translations$cropCalendar$pt_BR extends Translations$cropCalendar$pt {
_Translations$cropCalendar$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 => 'Anote os meses típicos desta variedade na sua zona — são suas notas.';
@override String get unset => '';
}
// Path: needsReproduction
class _Translations$needsReproduction$pt_BR extends Translations$needsReproduction$pt {
_Translations$needsReproduction$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$preservation$pt {
_Translations$preservation$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$conditionCheck$pt {
_Translations$conditionCheck$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$desiccant$pt {
_Translations$desiccant$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$pt {
_Translations$unit$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR handful = _Translations$unit$handful$pt_BR._(_root);
@override late final _Translations$unit$teaspoon$pt_BR teaspoon = _Translations$unit$teaspoon$pt_BR._(_root);
@override late final _Translations$unit$spoon$pt_BR spoon = _Translations$unit$spoon$pt_BR._(_root);
@override late final _Translations$unit$cup$pt_BR cup = _Translations$unit$cup$pt_BR._(_root);
@override late final _Translations$unit$jar$pt_BR jar = _Translations$unit$jar$pt_BR._(_root);
@override late final _Translations$unit$sack$pt_BR sack = _Translations$unit$sack$pt_BR._(_root);
@override late final _Translations$unit$packet$pt_BR packet = _Translations$unit$packet$pt_BR._(_root);
@override late final _Translations$unit$cob$pt_BR cob = _Translations$unit$cob$pt_BR._(_root);
@override late final _Translations$unit$pod$pt_BR pod = _Translations$unit$pod$pt_BR._(_root);
@override late final _Translations$unit$ear$pt_BR ear = _Translations$unit$ear$pt_BR._(_root);
@override late final _Translations$unit$head$pt_BR head = _Translations$unit$head$pt_BR._(_root);
@override late final _Translations$unit$fruit$pt_BR fruit = _Translations$unit$fruit$pt_BR._(_root);
@override late final _Translations$unit$bulb$pt_BR bulb = _Translations$unit$bulb$pt_BR._(_root);
@override late final _Translations$unit$tuber$pt_BR tuber = _Translations$unit$tuber$pt_BR._(_root);
@override late final _Translations$unit$seedHead$pt_BR seedHead = _Translations$unit$seedHead$pt_BR._(_root);
@override late final _Translations$unit$bunch$pt_BR bunch = _Translations$unit$bunch$pt_BR._(_root);
@override late final _Translations$unit$plant$pt_BR plant = _Translations$unit$plant$pt_BR._(_root);
@override late final _Translations$unit$pot$pt_BR pot = _Translations$unit$pot$pt_BR._(_root);
@override late final _Translations$unit$tray$pt_BR tray = _Translations$unit$tray$pt_BR._(_root);
@override late final _Translations$unit$seedling$pt_BR seedling = _Translations$unit$seedling$pt_BR._(_root);
@override late final _Translations$unit$tree$pt_BR tree = _Translations$unit$tree$pt_BR._(_root);
@override late final _Translations$unit$cutting$pt_BR cutting = _Translations$unit$cutting$pt_BR._(_root);
@override late final _Translations$unit$grams$pt_BR grams = _Translations$unit$grams$pt_BR._(_root);
@override late final _Translations$unit$count$pt_BR count = _Translations$unit$count$pt_BR._(_root);
}
// Path: market
class _Translations$market$pt_BR extends Translations$market$pt {
_Translations$market$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Sementes perto de você';
@override String get subtitle => 'O que outras pessoas compartilham por perto';
@override String get notSetUp => 'Ainda não configurou a compartilha';
@override String get notSetUpBody => 'Ativa a compartilha para ver e dar sementes a pessoas por perto. Mantém-se aproximado — a sua zona, nunca a sua morada exata.';
@override String get setUp => 'Configurar a compartilha';
@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 sua zona';
@override String get setAreaBody => 'Diz ao mercado a sua zona aproximada para ver sementes por perto.';
@override String get searching => 'A procurar pela sua zona…';
@override String get empty => 'Ainda não há sementes compartilhadas perto de você';
@override String get searchHint => 'Procurar nestas sementes';
@override String get noMatches => 'Nenhuma semente compartilhada corresponde à procura';
@override String get near => 'Perto de você';
@override String get contact => 'Mensagem';
@override String get mine => 'Você';
@override String get configTitle => 'Configuração de compartilha';
@override String get setupIntro => 'Compartilhar com pessoas por perto é opcional. Basta indicar a sua zona aproximada — já está conectado a servidores comunitários compartilhados para que outras pessoas encontrem o que você oferece, sem nenhuma empresa no meio.';
@override String get areaLabel => 'A sua zona';
@override String get areaHelp => 'Mantém-se aproximado de propósito — a sua zona, nunca um ponto exato.';
@override String get areaSet => 'A sua zona está definida — aproximada, nunca o seu ponto exato';
@override String get areaNotSet => 'Zona por definir — usa a sua 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 => 'Escolha que servidores usar. Deixe assim se não souber.';
@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 => 'Salvar';
@override String get saved => 'Salvo';
@override String get wanted => 'Procuro';
@override String get shareMine => 'Compartilhar as minhas sementes';
@override String sharedCount({required Object n}) => 'Compartilhadas ${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 sua localização — verifica se a localização está ativa e a permissão concedida';
@override String get queued => 'Salvo — vamos compartilhá-las quando você tiver conexão';
@override String get shareFailed => 'Não foi possível contactar os servidores — as suas sementes não foram compartilhadas. 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 => 'Compartilhado por';
@override String get noProfile => 'Esta pessoa ainda não compartilhou 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_BR extends Translations$profile$pt {
_Translations$profile$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'O seu perfil';
@override String get name => 'Nome';
@override String get nameHint => 'Como os outros te veem';
@override String get about => 'Sobre você';
@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 sua chave';
@override String get yourId => 'A sua identidade';
@override String get idHelp => 'Compartilha-a para que te reconheçam';
@override String get copy => 'Copiar';
@override String get copied => 'Copiado';
@override String get save => 'Salvar';
@override String get saved => 'Perfil salvo';
@override String get identities => 'As suas identidades';
@override String get identitiesHelp => 'Mantém identidades separadas — cada uma com as suas mensagens e contactos. Todas vêm da sua ú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 contatos são guardados separadamente para cada identidade. Pode voltar quando quiser.';
@override String get switchAction => 'Mudar';
}
// Path: chatList
class _Translations$chatList$pt_BR extends Translations$chatList$pt {
_Translations$chatList$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$chat$pt {
_Translations$chat$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 compartilha para enviar mensagens';
@override String get payG1 => 'Pagar em Ğ1';
@override String get g1Copied => 'Endereço Ğ1 copiado — cola-o na sua carteira';
@override String get today => 'Hoje';
@override String get yesterday => 'Ontem';
@override String get sendError => 'Não foi possível enviar — verifica a sua ligação';
@override String get noLinks => 'Não são permitidos links nas mensagens';
}
// Path: trust
class _Translations$trust$pt_BR extends Translations$trust$pt {
_Translations$trust$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 seu círculo';
}
// Path: yourPeople
class _Translations$yourPeople$pt_BR extends Translations$yourPeople$pt {
_Translations$yourPeople$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'A sua gente';
@override String get help => 'Pessoas que conheces e avalizas, e pessoas que te avalizam.';
@override String get youVouchFor => 'Você avaliza';
@override String get vouchesForYou => 'Avalizam-te';
@override String get youVouchForEmpty => 'Ainda não avaliza ninguém. Quando conhecer alguém, abra a conversa com essa pessoa e toque 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 conexão — tente novamente quando estiver online';
}
// Path: ratings
class _Translations$ratings$pt_BR extends Translations$ratings$pt {
_Translations$ratings$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get rate => 'Avaliar esta pessoa';
@override String get edit => 'Editar a sua 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 sua avaliação';
@override String get saved => 'Avaliação salva';
}
// Path: notifications
class _Translations$notifications$pt_BR extends Translations$notifications$pt {
_Translations$notifications$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String newMessageFrom({required Object name}) => 'Nova mensagem de ${name}';
}
// Path: plantare
class _Translations$plantare$pt_BR extends Translations$plantare$pt {
_Translations$plantare$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 compartilhar ou receber semente com o compromisso de reproduzi-la e devolver algo, anote 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 => 'Salvar';
@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';
@override String get propose => 'Propor um Plantaré assinado';
@override String get proposeHelp => 'Ambos mantêm a mesma promessa, assinada pelos dois — prova de que esta semente mudou de mãos e será cultivada e devolvida.';
@override String proposeTo({required Object name}) => 'Com ${name}';
@override String get sent => 'Proposta enviada — a aguardar que assinem';
@override String get seedLabel => 'Que semente?';
@override String get seedHint => 'A variedade a que se refere esta promessa';
@override String get returnKindLabel => 'O que volta?';
@override String get returnSimilar => 'Uma quantidade semelhante de semente';
@override String get returnSimilarNote => 'polinização aberta · não transgénico · cultivado organicamente';
@override String get returnWork => 'Algumas horas de trabalho';
@override String get returnOther => 'Outra coisa';
@override String get workHoursLabel => 'Quantas horas?';
@override String get proposalsSection => 'À espera da sua resposta';
@override String incomingFrom({required Object name}) => '${name} propõe um Plantaré';
@override String get accept => 'Aceitar e assinar';
@override String get declineAction => 'Recusar';
@override String get declineReasonHint => 'Motivo (opcional)';
@override String get acceptedToast => 'Assinado — agora ambos o mantêm';
@override String get declinedToast => 'Recusado';
@override String get badgeAwaiting => 'A aguardar assinatura';
@override String get badgeSigned => 'Assinado por ambos';
@override String get badgeDeclined => 'Recusado';
@override String get offline => 'Você está offline — será enviado quando reconectar';
}
// Path: handover
class _Translations$handover$pt_BR extends Translations$handover$pt {
_Translations$handover$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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: history
class _Translations$history$pt_BR extends Translations$history$pt {
_Translations$history$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'História deste lote';
@override String get tooltip => 'História';
@override String get sowToday => 'Semeado hoje';
@override String get harvestToday => 'Colhido hoje';
@override String get sownRecorded => 'Sementeira registada';
@override String get harvestRecorded => 'Colheita registada';
@override String get movementReceived => 'Recebido';
@override String get movementGiven => 'Oferecido';
@override String get movementSown => 'Semeado';
@override String get movementHarvested => 'Colhido';
@override String get movementGerminationTest => 'Teste de germinação';
@override String get movementSplit => 'Dividido em lotes';
@override String get movementDiscarded => 'Descartado';
@override String get created => 'Adicionado à sua coleção';
@override String from({required Object origin}) => 'De ${origin}';
@override String germinationResult({required Object percent}) => 'Teste de germinação — ${percent}%';
@override String get linkedEarlier => 'Vem de um lote anterior';
@override String get outcomeQuestion => 'Como correu?';
@override String get outcomeGood => 'Bem';
@override String get outcomeMixed => 'Mais ou menos';
@override String get outcomePoor => 'Mal';
@override String get outcomeNoteHint => 'Uma nota para o seu eu futuro (opcional)';
@override String get outcomeSaved => 'Registado';
@override String get ratedGood => 'Correu bem';
@override String get ratedMixed => 'Correu mais ou menos';
@override String get ratedPoor => 'Correu mal';
@override String get outcomeTitle => 'Nota da estação';
@override String outcomeYear({required Object year}) => 'Estação ${year}';
@override String isolationHint({required Object meters}) => 'Esta espécie cruza-se com vizinhas próximas — cultiva-a a cerca de ${meters} m de distância de outras para a manter pura';
}
// Path: sale
class _Translations$sale$pt_BR extends Translations$sale$pt {
_Translations$sale$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 => 'Salvar';
@override String get delete => 'Remover';
@override String get removeConfirm => 'Remover esta venda?';
}
// Path: legal
class _Translations$legal$pt_BR extends Translations$legal$pt {
_Translations$legal$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Privacidade e regras';
@override String get subtitle => 'A sua privacidade, as regras do mercado e a legalidade das sementes';
@override String get privacyTitle => 'A sua privacidade';
@override String get privacyBody => 'O Tane funciona sem conta, e tudo o que você registra fica no seu dispositivo, cifrado. Não há publicidade, nem rastreadores, nem servidor do Tane.\n\nNada é compartilhado a não ser que você queira: quando publica uma oferta ou o seu perfil, ou envia uma mensagem, viaja por servidores comunitários. As ofertas levam apenas uma zona aproximada — nunca a sua morada.\n\nO que publica é público, e podem ficar cópias mesmo depois de você retirar — por isso compartilhe 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 é responsável pelo que oferece e envia.\n\nNo mercado: seja honesto com suas sementes, ofereça apenas o que pode compartilhar, trate bem as pessoas e não faça spam. Pode 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 compartilhar 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_BR extends Translations$marketGate$pt {
_Translations$marketGate$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Antes de entrar no mercado';
@override String get intro => 'O mercado é um espaço compartilhado entre vizinhas e vizinhos. Ao continuar, aceitas umas poucas regras simples:';
@override String get ruleHonest => 'Seja honesto com as sementes que oferece';
@override String get ruleLegal => 'Compartilhe apenas o que pode compartilhar onde vive';
@override String get ruleRespect => 'Trata bem as pessoas — sem spam nem abusos';
@override String get publicNote => 'O que você publicar aqui é público, e podem ficar cópias mesmo que você retire 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_BR extends Translations$report$pt {
_Translations$report$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 sua ligação';
@override String get alsoBlock => 'Bloquear também esta pessoa';
}
// Path: block
class _Translations$block$pt_BR extends Translations$block$pt {
_Translations$block$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get action => 'Bloquear esta pessoa';
@override String get confirmTitle => 'Bloquear esta pessoa?';
@override String get confirmBody => 'Deixa de ver as suas ofertas e mensagens. Pode desbloqueá-la mais tarde em Pessoas bloqueadas, na configuração de compartilhamento.';
@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 => 'Você não bloqueou ninguém';
@override String get unblock => 'Desbloquear';
}
// Path: intro.slides
class _Translations$intro$slides$pt_BR extends Translations$intro$slides$pt {
_Translations$intro$slides$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override late final _Translations$intro$slides$welcome$pt_BR welcome = _Translations$intro$slides$welcome$pt_BR._(_root);
@override late final _Translations$intro$slides$inventory$pt_BR inventory = _Translations$intro$slides$inventory$pt_BR._(_root);
@override late final _Translations$intro$slides$privacy$pt_BR privacy = _Translations$intro$slides$privacy$pt_BR._(_root);
@override late final _Translations$intro$slides$share$pt_BR share = _Translations$intro$slides$share$pt_BR._(_root);
@override late final _Translations$intro$slides$plantare$pt_BR plantare = _Translations$intro$slides$plantare$pt_BR._(_root);
}
// Path: unit.handful
class _Translations$unit$handful$pt_BR extends Translations$unit$handful$pt {
_Translations$unit$handful$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$teaspoon$pt {
_Translations$unit$teaspoon$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$spoon$pt {
_Translations$unit$spoon$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'colher';
@override String get plural => 'colheres';
}
// Path: unit.cup
class _Translations$unit$cup$pt_BR extends Translations$unit$cup$pt {
_Translations$unit$cup$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$jar$pt {
_Translations$unit$jar$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'frasco';
@override String get plural => 'frascos';
}
// Path: unit.sack
class _Translations$unit$sack$pt_BR extends Translations$unit$sack$pt {
_Translations$unit$sack$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'saco';
@override String get plural => 'sacos';
}
// Path: unit.packet
class _Translations$unit$packet$pt_BR extends Translations$unit$packet$pt {
_Translations$unit$packet$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'pacote';
@override String get plural => 'pacotes';
}
// Path: unit.cob
class _Translations$unit$cob$pt_BR extends Translations$unit$cob$pt {
_Translations$unit$cob$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$pod$pt {
_Translations$unit$pod$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'vagem';
@override String get plural => 'vagens';
}
// Path: unit.ear
class _Translations$unit$ear$pt_BR extends Translations$unit$ear$pt {
_Translations$unit$ear$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'espiga';
@override String get plural => 'espigas';
}
// Path: unit.head
class _Translations$unit$head$pt_BR extends Translations$unit$head$pt {
_Translations$unit$head$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$fruit$pt {
_Translations$unit$fruit$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'fruto';
@override String get plural => 'frutos';
}
// Path: unit.bulb
class _Translations$unit$bulb$pt_BR extends Translations$unit$bulb$pt {
_Translations$unit$bulb$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'bolbo';
@override String get plural => 'bolbos';
}
// Path: unit.tuber
class _Translations$unit$tuber$pt_BR extends Translations$unit$tuber$pt {
_Translations$unit$tuber$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$seedHead$pt {
_Translations$unit$seedHead$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$bunch$pt {
_Translations$unit$bunch$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'molho';
@override String get plural => 'molhos';
}
// Path: unit.plant
class _Translations$unit$plant$pt_BR extends Translations$unit$plant$pt {
_Translations$unit$plant$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'planta';
@override String get plural => 'plantas';
}
// Path: unit.pot
class _Translations$unit$pot$pt_BR extends Translations$unit$pot$pt {
_Translations$unit$pot$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'vaso';
@override String get plural => 'vasos';
}
// Path: unit.tray
class _Translations$unit$tray$pt_BR extends Translations$unit$tray$pt {
_Translations$unit$tray$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'tabuleiro';
@override String get plural => 'tabuleiros';
}
// Path: unit.seedling
class _Translations$unit$seedling$pt_BR extends Translations$unit$seedling$pt {
_Translations$unit$seedling$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$unit$tree$pt {
_Translations$unit$tree$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'árvore';
@override String get plural => 'árvores';
}
// Path: unit.cutting
class _Translations$unit$cutting$pt_BR extends Translations$unit$cutting$pt {
_Translations$unit$cutting$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'estaca';
@override String get plural => 'estacas';
}
// Path: unit.grams
class _Translations$unit$grams$pt_BR extends Translations$unit$grams$pt {
_Translations$unit$grams$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get singular => 'grama';
@override String get plural => 'gramas';
}
// Path: unit.count
class _Translations$unit$count$pt_BR extends Translations$unit$count$pt {
_Translations$unit$count$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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_BR extends Translations$intro$slides$welcome$pt {
_Translations$intro$slides$welcome$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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 compartilha.';
}
// Path: intro.slides.inventory
class _Translations$intro$slides$inventory$pt_BR extends Translations$intro$slides$inventory$pt {
_Translations$intro$slides$inventory$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'O seu banco de sementes, no bolso';
@override String get body => 'Anote o que tem, de que ano, quanto e de onde veio — com o nome que você usa. Uma foto e um nome chegam para começar.';
}
// Path: intro.slides.privacy
class _Translations$intro$slides$privacy$pt_BR extends Translations$intro$slides$privacy$pt {
_Translations$intro$slides$privacy$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Seu, e só seu';
@override String get body => 'Sem conta, sem internet, sem rastreadores. Os seus dados vivem cifrados no seu aparelho, e só o que você escolher é compartilhado.';
}
// Path: intro.slides.share
class _Translations$intro$slides$share$pt_BR extends Translations$intro$slides$share$pt {
_Translations$intro$slides$share$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _root; // ignore: unused_field
// Translations
@override String get title => 'Compartilhar, como sempre se fez';
@override String get body => 'Ofereça o que sobra — dar, trocar ou vender — e deixe que alguém perto de você o encontre. Só se mostra uma distância aproximada, nunca a sua morada; o acordo fecha-se em pessoa.';
}
// Path: intro.slides.plantare
class _Translations$intro$slides$plantare$pt_BR extends Translations$intro$slides$plantare$pt {
_Translations$intro$slides$plantare$pt_BR._(TranslationsPtBr root) : this._root = root, super.internal(root);
final TranslationsPtBr _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-BR>.
/// 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 TranslationsPtBr {
dynamic _flatMapFunction(String path) {
return switch (path) {
'avatar.title' => 'A sua 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 tem favoritos. Salve ofertas que goste do mercado.',
'favorites.save' => 'Salvar nos favoritos',
'favorites.remove' => 'Remover dos favoritos',
'favorites.unavailable' => 'Já não está disponível',
'savedSearches.title' => 'Pesquisas salvas',
'savedSearches.empty' => 'Ainda não há pesquisas salvas. Salve uma pesquisa no mercado e te avisamos quando aparecer algo parecido na sua zona.',
'savedSearches.save' => 'Salvar esta pesquisa',
'savedSearches.nameLabel' => 'Dá um nome a esta pesquisa',
'savedSearches.namePlaceholder' => 'ex.: Tomates perto de mim',
'savedSearches.saved' => 'Pesquisa salva — vamos te avisar sobre novas correspondências perto de você',
'savedSearches.openTooltip' => 'Pesquisas salvas',
'savedSearches.delete' => 'Eliminar',
'savedSearches.deleteConfirm' => 'Eliminar esta pesquisa salva?',
'savedSearches.newMatchesBadge' => ({required Object n}) => '${n} novas',
'savedSearches.alert' => ({required Object label}) => 'Sementes perto de você: ${label}',
'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 você anotou nas suas 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' => 'Salvar',
'common.cancel' => 'Cancelar',
'common.delete' => 'Eliminar',
'common.edit' => 'Editar',
'common.type' => 'Tipo',
'common.comingSoon' => 'Em breve',
'common.offline' => 'Sem ligação — a compartilha está em pausa',
'home.tagline' => 'Compartilha e cultiva sementes locais',
'home.openMarket' => 'Mercado',
'home.openMarketSubtitle' => 'Descobre e compartilha sementes por perto',
'home.yourInventory' => 'O seu inventário',
'home.yourInventorySubtitle' => 'Gere as suas 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 seu banco de sementes',
'menu.inventory' => 'Inventário',
'menu.market' => 'Mercado',
'menu.profile' => 'O seu 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.langPtBr' => 'Português (Brasil)',
'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 é salva automaticamente a cada ${days} dias',
'backup.exportJson' => 'Salvar 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 salva — 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 seu 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 arquivo duas vezes acrescenta-o duas vezes.',
'backup.importAction' => 'Importar',
'backup.exportSaved' => 'Cópia salva',
'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 arquivo não pôde ser lido como uma cópia do Tane',
'backup.failed' => 'Algo correu mal',
'backup.recoveryTitle' => 'O seu código de recuperação',
'backup.recoverySubtitle' => 'Imprime-o e guarda-o bem: abre as suas cópias noutro aparelho',
'backup.recoveryIntro' => 'Este código abre as suas cópias salvas e recupera o seu banco em qualquer aparelho. Guarde duas cópias em papel em lugares seguros, como a sua melhor semente. Quem o tiver pode ler as suas cópias, por isso não o compartilhe com ninguém.',
'backup.recoveryCopy' => 'Copiar',
'backup.recoverySave' => 'Salvar a folha',
'backup.recoverySheetTitle' => 'Tane — a sua folha de recuperação',
'backup.recoveryPromptTitle' => 'Escreve o seu código de recuperação',
'backup.recoveryPromptBody' => 'Esta cópia foi salva com outro código. Escreve o código da sua 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 compartilhar 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 compartilhá-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 compartilhado) 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 seu 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 compartilha.',
'intro.slides.inventory.title' => 'O seu banco de sementes, no bolso',
'intro.slides.inventory.body' => 'Anote o que tem, de que ano, quanto e de onde veio — com o nome que você usa. Uma foto e um nome chegam para começar.',
'intro.slides.privacy.title' => 'Seu, e só seu',
'intro.slides.privacy.body' => 'Sem conta, sem internet, sem rastreadores. Os seus dados vivem cifrados no seu aparelho, e só o que você escolher é compartilhado.',
'intro.slides.share.title' => 'Compartilhar, como sempre se fez',
'intro.slides.share.body' => 'Ofereça o que sobra — dar, trocar ou vender — e deixe que alguém perto de você o encontre. Só se mostra uma distância aproximada, nunca a sua 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 seus filtros.',
'inventory.clearFilters' => 'Limpar filtros',
'inventory.uncategorized' => 'Sem categoria',
'inventory.needsReproductionFilter' => 'Para reproduzir',
'inventory.loadError' => 'Não foi possível abrir o seu 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' => 'Salvar',
'quickAdd.saveAndAddAnother' => 'Salvar 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.reference' => 'Saber mais',
'detail.refGbif' => 'GBIF',
'detail.refWikipedia' => 'Wikipédia',
'detail.refWikispecies' => 'Wikispecies',
'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 compartilhar',
'abundance.enoughToShare' => 'Bastante, para compartilhar com moderação',
'abundance.enoughForMe' => 'Suficiente para mim',
'abundance.runningLow' => 'Resta pouca',
'share.add' => 'Compartilhas esta?',
'share.title' => 'Compartilhas esta?',
'share.nudge' => 'Tem de sobra: podia compartilhar um pouco.',
'share.price' => 'Preço',
'share.priceHint' => 'Deixe vazio para combinar depois',
'share.private' => 'Só para mim',
'share.gift' => 'Para dar',
'share.exchange' => 'Para trocar',
'share.sell' => 'À venda',
'share.filterChip' => 'Compartilho',
'share.printCatalog' => 'Imprimir o que compartilho',
'share.catalogTitle' => 'O que compartilho',
'share.catalogSaved' => 'Catálogo salvo',
'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' => 'Salvar etiquetas',
'printLabels.saved' => 'Etiquetas salvas',
'printLabels.cancelled' => 'Cancelado',
'scan.action' => 'Digitalizar um rótulo de semente',
'scan.title' => 'Digitalizar um rótulo',
'scan.notALabel' => 'Esse código não é um rótulo de semente',
'scan.addTitle' => 'Não está na sua coleção',
'scan.addBody' => ({required Object label}) => 'Adicionar “${label}” às suas sementes?',
'scan.add' => 'Adicionar',
'scan.added' => 'Adicionado à sua coleção',
'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' => 'Anote os meses típicos desta variedade na sua zona — são suas 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 você',
'market.subtitle' => 'O que outras pessoas compartilham por perto',
'market.notSetUp' => 'Ainda não configurou a compartilha',
'market.notSetUpBody' => 'Ativa a compartilha para ver e dar sementes a pessoas por perto. Mantém-se aproximado — a sua zona, nunca a sua morada exata.',
'market.setUp' => 'Configurar a compartilha',
'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 sua zona',
'market.setAreaBody' => 'Diz ao mercado a sua zona aproximada para ver sementes por perto.',
'market.searching' => 'A procurar pela sua zona…',
'market.empty' => 'Ainda não há sementes compartilhadas perto de você',
'market.searchHint' => 'Procurar nestas sementes',
'market.noMatches' => 'Nenhuma semente compartilhada corresponde à procura',
'market.near' => 'Perto de você',
'market.contact' => 'Mensagem',
'market.mine' => 'Você',
'market.configTitle' => 'Configuração de compartilha',
'market.setupIntro' => 'Compartilhar com pessoas por perto é opcional. Basta indicar a sua zona aproximada — já está conectado a servidores comunitários compartilhados para que outras pessoas encontrem o que você oferece, sem nenhuma empresa no meio.',
'market.areaLabel' => 'A sua zona',
'market.areaHelp' => 'Mantém-se aproximado de propósito — a sua zona, nunca um ponto exato.',
'market.areaSet' => 'A sua zona está definida — aproximada, nunca o seu ponto exato',
'market.areaNotSet' => 'Zona por definir — usa a sua 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' => 'Escolha que servidores usar. Deixe assim se não souber.',
'market.serversAdvanced' => 'Adicionar outro servidor',
'market.serverAddress' => 'Endereço do servidor',
'market.serverInvalid' => 'Introduz um endereço válido (wss://…)',
'market.save' => 'Salvar',
'market.saved' => 'Salvo',
'market.wanted' => 'Procuro',
'market.shareMine' => 'Compartilhar as minhas sementes',
'market.sharedCount' => ({required Object n}) => 'Compartilhadas ${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 sua localização — verifica se a localização está ativa e a permissão concedida',
'market.queued' => 'Salvo — vamos compartilhá-las quando você tiver conexão',
'market.shareFailed' => 'Não foi possível contactar os servidores — as suas sementes não foram compartilhadas. 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' => 'Compartilhado por',
'market.noProfile' => 'Esta pessoa ainda não compartilhou o seu perfil',
'market.copyId' => 'Copiar código',
'market.idCopied' => 'Código copiado',
'market.photo' => 'Foto',
'profile.title' => 'O seu perfil',
'profile.name' => 'Nome',
'profile.nameHint' => 'Como os outros te veem',
'profile.about' => 'Sobre você',
'profile.aboutHint' => 'Uma linha — o que cultivas, onde',
'profile.g1' => 'Endereço Ğ1 (opcional)',
'profile.g1Hint' => 'Para que te paguem em Ğ1 — separado da sua chave',
'profile.yourId' => 'A sua identidade',
'profile.idHelp' => 'Compartilha-a para que te reconheçam',
'profile.copy' => 'Copiar',
'profile.copied' => 'Copiado',
'profile.save' => 'Salvar',
'profile.saved' => 'Perfil salvo',
'profile.identities' => 'As suas identidades',
'profile.identitiesHelp' => 'Mantém identidades separadas — cada uma com as suas mensagens e contactos. Todas vêm da sua ú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 contatos são guardados separadamente para cada identidade. Pode voltar quando quiser.',
'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 compartilha para enviar mensagens',
'chat.payG1' => 'Pagar em Ğ1',
'chat.g1Copied' => 'Endereço Ğ1 copiado — cola-o na sua carteira',
'chat.today' => 'Hoje',
'chat.yesterday' => 'Ontem',
'chat.sendError' => 'Não foi possível enviar — verifica a sua 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 seu círculo',
'yourPeople.title' => 'A sua gente',
'yourPeople.help' => 'Pessoas que conheces e avalizas, e pessoas que te avalizam.',
'yourPeople.youVouchFor' => 'Você avaliza',
'yourPeople.vouchesForYou' => 'Avalizam-te',
'yourPeople.youVouchForEmpty' => 'Ainda não avaliza ninguém. Quando conhecer alguém, abra a conversa com essa pessoa e toque 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 conexão — tente novamente quando estiver online',
'ratings.rate' => 'Avaliar esta pessoa',
'ratings.edit' => 'Editar a sua avaliação',
'ratings.commentHint' => 'Como correu? (opcional)',
'ratings.fromYourCircle' => ({required Object n}) => '${n} de pessoas que conheces',
'ratings.retract' => 'Remover a sua avaliação',
'ratings.saved' => 'Avaliação salva',
'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 compartilhar ou receber semente com o compromisso de reproduzi-la e devolver algo, anote 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' => 'Salvar',
'plantare.markReturned' => 'Marcar devolvido',
'plantare.markForgiven' => 'Dar por saldado',
'plantare.reopen' => 'Reabrir',
'plantare.delete' => 'Remover',
'plantare.statusReturned' => 'Devolvido',
'plantare.statusForgiven' => 'Saldado',
'plantare.openSection' => 'Pendentes',
_ => null,
} ?? switch (path) {
'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',
'plantare.propose' => 'Propor um Plantaré assinado',
'plantare.proposeHelp' => 'Ambos mantêm a mesma promessa, assinada pelos dois — prova de que esta semente mudou de mãos e será cultivada e devolvida.',
'plantare.proposeTo' => ({required Object name}) => 'Com ${name}',
'plantare.sent' => 'Proposta enviada — a aguardar que assinem',
'plantare.seedLabel' => 'Que semente?',
'plantare.seedHint' => 'A variedade a que se refere esta promessa',
'plantare.returnKindLabel' => 'O que volta?',
'plantare.returnSimilar' => 'Uma quantidade semelhante de semente',
'plantare.returnSimilarNote' => 'polinização aberta · não transgénico · cultivado organicamente',
'plantare.returnWork' => 'Algumas horas de trabalho',
'plantare.returnOther' => 'Outra coisa',
'plantare.workHoursLabel' => 'Quantas horas?',
'plantare.proposalsSection' => 'À espera da sua resposta',
'plantare.incomingFrom' => ({required Object name}) => '${name} propõe um Plantaré',
'plantare.accept' => 'Aceitar e assinar',
'plantare.declineAction' => 'Recusar',
'plantare.declineReasonHint' => 'Motivo (opcional)',
'plantare.acceptedToast' => 'Assinado — agora ambos o mantêm',
'plantare.declinedToast' => 'Recusado',
'plantare.badgeAwaiting' => 'A aguardar assinatura',
'plantare.badgeSigned' => 'Assinado por ambos',
'plantare.badgeDeclined' => 'Recusado',
'plantare.offline' => 'Você está offline — será enviado quando reconectar',
'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',
'history.title' => 'História deste lote',
'history.tooltip' => 'História',
'history.sowToday' => 'Semeado hoje',
'history.harvestToday' => 'Colhido hoje',
'history.sownRecorded' => 'Sementeira registada',
'history.harvestRecorded' => 'Colheita registada',
'history.movementReceived' => 'Recebido',
'history.movementGiven' => 'Oferecido',
'history.movementSown' => 'Semeado',
'history.movementHarvested' => 'Colhido',
'history.movementGerminationTest' => 'Teste de germinação',
'history.movementSplit' => 'Dividido em lotes',
'history.movementDiscarded' => 'Descartado',
'history.created' => 'Adicionado à sua coleção',
'history.from' => ({required Object origin}) => 'De ${origin}',
'history.germinationResult' => ({required Object percent}) => 'Teste de germinação — ${percent}%',
'history.linkedEarlier' => 'Vem de um lote anterior',
'history.outcomeQuestion' => 'Como correu?',
'history.outcomeGood' => 'Bem',
'history.outcomeMixed' => 'Mais ou menos',
'history.outcomePoor' => 'Mal',
'history.outcomeNoteHint' => 'Uma nota para o seu eu futuro (opcional)',
'history.outcomeSaved' => 'Registado',
'history.ratedGood' => 'Correu bem',
'history.ratedMixed' => 'Correu mais ou menos',
'history.ratedPoor' => 'Correu mal',
'history.outcomeTitle' => 'Nota da estação',
'history.outcomeYear' => ({required Object year}) => 'Estação ${year}',
'history.isolationHint' => ({required Object meters}) => 'Esta espécie cruza-se com vizinhas próximas — cultiva-a a cerca de ${meters} m de distância de outras para a manter pura',
'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',
'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' => 'Salvar',
'sale.delete' => 'Remover',
'sale.removeConfirm' => 'Remover esta venda?',
'legal.title' => 'Privacidade e regras',
'legal.subtitle' => 'A sua privacidade, as regras do mercado e a legalidade das sementes',
'legal.privacyTitle' => 'A sua privacidade',
'legal.privacyBody' => 'O Tane funciona sem conta, e tudo o que você registra fica no seu dispositivo, cifrado. Não há publicidade, nem rastreadores, nem servidor do Tane.\n\nNada é compartilhado a não ser que você queira: quando publica uma oferta ou o seu perfil, ou envia uma mensagem, viaja por servidores comunitários. As ofertas levam apenas uma zona aproximada — nunca a sua morada.\n\nO que publica é público, e podem ficar cópias mesmo depois de você retirar — por isso compartilhe 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 é responsável pelo que oferece e envia.\n\nNo mercado: seja honesto com suas sementes, ofereça apenas o que pode compartilhar, trate bem as pessoas e não faça spam. Pode 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 compartilhar 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 entrar no mercado',
'marketGate.intro' => 'O mercado é um espaço compartilhado entre vizinhas e vizinhos. Ao continuar, aceitas umas poucas regras simples:',
'marketGate.ruleHonest' => 'Seja honesto com as sementes que oferece',
'marketGate.ruleLegal' => 'Compartilhe apenas o que pode compartilhar onde vive',
'marketGate.ruleRespect' => 'Trata bem as pessoas — sem spam nem abusos',
'marketGate.publicNote' => 'O que você publicar aqui é público, e podem ficar cópias mesmo que você retire 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 sua ligação',
'report.alsoBlock' => 'Bloquear também esta pessoa',
'block.action' => 'Bloquear esta pessoa',
'block.confirmTitle' => 'Bloquear esta pessoa?',
'block.confirmBody' => 'Deixa de ver as suas ofertas e mensagens. Pode desbloqueá-la mais tarde em Pessoas bloqueadas, na configuração de compartilhamento.',
'block.confirm' => 'Bloquear',
'block.blockedToast' => 'Pessoa bloqueada — as suas ofertas e mensagens ficam ocultas',
'block.manageTitle' => 'Pessoas bloqueadas',
'block.manageEmpty' => 'Você não bloqueou ninguém',
'block.unblock' => 'Desbloquear',
_ => null,
};
}
}