tane/apps/app_seeds/lib/i18n/strings_ast.g.dart
vjrj 2b419e6516 feat(market): embed offer photos inline instead of a media server
Replace the Blossom media-server approach with a fully decentralized one:
generate a small (~320px) JPEG thumbnail from the lot's cover photo and
embed it in the offer event as a data: URI, so photos ride the relays with
no server and no IP leak. The full photo stays in the encrypted inventory.

- offer_thumbnail.dart: downscale-until-it-fits data-URI builder + decoder
- market_widgets: render data: URIs from memory, http(s) URLs from network
- offers_cubit: publish a thumbnail (best-effort) in place of an upload
- drop MediaTransport/Blossom from commons_core (http/crypto deps) and the
  media-server setting; parked on branch parked/offer-photos-blossom

Relay event-size limits cap the image to a thumbnail; higher-res sharing
would need the parked Blossom path.
2026-07-10 21:27:59 +02:00

1491 lines
70 KiB
Dart

///
/// Generated file. Do not edit.
///
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
// dart format off
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:slang/generated.dart';
import 'strings.g.dart';
// Path: <root>
class TranslationsAst extends Translations with BaseTranslations<AppLocale, Translations> {
/// You can call this constructor and build your own translation instance of this locale.
/// Constructing via the enum [AppLocale.build] is preferred.
TranslationsAst({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.ast,
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 <ast>.
@override final TranslationMetadata<AppLocale, Translations> $meta;
/// Access flat map
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
late final TranslationsAst _root = this; // ignore: unused_field
@override
TranslationsAst $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsAst(meta: meta ?? this.$meta);
// Translations
@override late final _Translations$app$ast app = _Translations$app$ast._(_root);
@override late final _Translations$bootstrap$ast bootstrap = _Translations$bootstrap$ast._(_root);
@override late final _Translations$common$ast common = _Translations$common$ast._(_root);
@override late final _Translations$home$ast home = _Translations$home$ast._(_root);
@override late final _Translations$photo$ast photo = _Translations$photo$ast._(_root);
@override late final _Translations$menu$ast menu = _Translations$menu$ast._(_root);
@override late final _Translations$settings$ast settings = _Translations$settings$ast._(_root);
@override late final _Translations$backup$ast backup = _Translations$backup$ast._(_root);
@override late final _Translations$about$ast about = _Translations$about$ast._(_root);
@override late final _Translations$intro$ast intro = _Translations$intro$ast._(_root);
@override late final _Translations$inventory$ast inventory = _Translations$inventory$ast._(_root);
@override late final _Translations$draft$ast draft = _Translations$draft$ast._(_root);
@override late final _Translations$quickAdd$ast quickAdd = _Translations$quickAdd$ast._(_root);
@override late final _Translations$detail$ast detail = _Translations$detail$ast._(_root);
@override late final _Translations$germination$ast germination = _Translations$germination$ast._(_root);
@override late final _Translations$viability$ast viability = _Translations$viability$ast._(_root);
@override late final _Translations$editVariety$ast editVariety = _Translations$editVariety$ast._(_root);
@override late final _Translations$addLot$ast addLot = _Translations$addLot$ast._(_root);
@override late final _Translations$harvest$ast harvest = _Translations$harvest$ast._(_root);
@override late final _Translations$lotType$ast lotType = _Translations$lotType$ast._(_root);
@override late final _Translations$presentation$ast presentation = _Translations$presentation$ast._(_root);
@override late final _Translations$provenance$ast provenance = _Translations$provenance$ast._(_root);
@override late final _Translations$abundance$ast abundance = _Translations$abundance$ast._(_root);
@override late final _Translations$share$ast share = _Translations$share$ast._(_root);
@override late final _Translations$printLabels$ast printLabels = _Translations$printLabels$ast._(_root);
@override late final _Translations$cropCalendar$ast cropCalendar = _Translations$cropCalendar$ast._(_root);
@override late final _Translations$needsReproduction$ast needsReproduction = _Translations$needsReproduction$ast._(_root);
@override late final _Translations$preservation$ast preservation = _Translations$preservation$ast._(_root);
@override late final _Translations$conditionCheck$ast conditionCheck = _Translations$conditionCheck$ast._(_root);
@override late final _Translations$desiccant$ast desiccant = _Translations$desiccant$ast._(_root);
@override late final _Translations$unit$ast unit = _Translations$unit$ast._(_root);
@override late final _Translations$market$ast market = _Translations$market$ast._(_root);
@override late final _Translations$profile$ast profile = _Translations$profile$ast._(_root);
@override late final _Translations$chatList$ast chatList = _Translations$chatList$ast._(_root);
@override late final _Translations$chat$ast chat = _Translations$chat$ast._(_root);
@override late final _Translations$trust$ast trust = _Translations$trust$ast._(_root);
}
// Path: app
class _Translations$app$ast extends Translations$app$en {
_Translations$app$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Tanemaki';
}
// Path: bootstrap
class _Translations$bootstrap$ast extends Translations$bootstrap$en {
_Translations$bootstrap$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get failed => 'Tanemaki nun pudo aniciar';
@override String get retry => 'Reintentar';
}
// Path: common
class _Translations$common$ast extends Translations$common$en {
_Translations$common$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get save => 'Guardar';
@override String get cancel => 'Encaboxar';
@override String get delete => 'Desaniciar';
@override String get edit => 'Editar';
@override String get type => 'Triba';
@override String get comingSoon => 'Aína';
}
// Path: home
class _Translations$home$ast extends Translations$home$en {
_Translations$home$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get tagline => 'Comparte y cultiva simiente llocal';
@override String get openMarket => 'Mercáu';
@override String get openMarketSubtitle => 'Descubri y comparte simiente cerca';
@override String get yourInventory => 'El to inventariu';
@override String get yourInventorySubtitle => 'Remana la to simiente';
}
// Path: photo
class _Translations$photo$ast extends Translations$photo$en {
_Translations$photo$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get camera => 'Facer una semeya';
@override String get gallery => 'Escoyer de la galería';
@override String get setAsCover => 'Poner de portada';
@override String get isCover => 'Semeya de portada';
@override String get deleteConfirm => '¿Desaniciar esta semeya?';
}
// Path: menu
class _Translations$menu$ast extends Translations$menu$en {
_Translations$menu$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get tagline => 'el to bancu de simiente';
@override String get inventory => 'Inventariu';
@override String get market => 'Mercáu';
@override String get profile => 'El to perfil';
@override String get chat => 'Charra';
@override String get wishlist => 'Llista de deseos';
@override String get following => 'Siguiendo';
@override String get settings => 'Axustes';
}
// Path: settings
class _Translations$settings$ast extends Translations$settings$en {
_Translations$settings$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get language => 'Llingua';
@override String get systemLanguage => 'Llingua del sistema';
@override String get langEs => 'Español';
@override String get langEn => 'English';
@override String get langPt => 'Português';
@override String get langAst => 'Asturianu';
@override String get about => 'Tocante a';
@override String get aboutText => 'Inventariu llocal y cifráu pa simiente tradicional. AGPL-3.0.';
@override String get aboutOpen => 'Tocante a Tanemaki';
}
// Path: backup
class _Translations$backup$ast extends Translations$backup$en {
_Translations$backup$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Copia de seguranza';
@override String get autoBackupTitle => 'Copies automátiques';
@override String autoBackupLast({required Object date}) => 'Cabera copia guardada\'l ${date}';
@override String get autoBackupNone => 'Guárdase una copia automáticamente en segundu planu';
@override String get exportJson => 'Guardar una copia de seguranza';
@override String get exportJsonSubtitle => 'Una copia completa pa guardar a salvo, restaurar dempués o pasar a otru preséu';
@override String get importJson => 'Restaurar una copia';
@override String get importJsonSubtitle => 'Recupera una copia guardada — nun se dobla nada';
@override String get exportCsv => 'Esportar a una fueya de cálculu';
@override String get exportCsvSubtitle => 'Una llista cenciella pa Excel o LibreOffice — ensin semeyes';
@override String get importCsv => 'Importar una llista';
@override String get importCsvSubtitle => 'Amiesta entraes dende una fueya de cálculu';
@override String get importConfirmTitle => '¿Restaurar una copia?';
@override String get importConfirmBody => 'Les entraes fusiónense col to inventariu; si una entrada esiste en dambos llaos, gana la versión más nueva. Nun se dobla nada.';
@override String get importCsvConfirmTitle => '¿Importar una llista?';
@override String get importCsvConfirmBody => 'Cada filera amiéstase como una entrada nueva. Nun fusiona nin troca, asina qu\'importar el mesmu ficheru dos veces amiéstalu dos veces.';
@override String get importAction => 'Importar';
@override String get exportSaved => 'Copia guardada';
@override String get cancelled => 'Encaboxáu';
@override String importDone({required Object added, required Object updated}) => 'Importáu: ${added} nueves, ${updated} anovaes';
@override String importCsvDone({required Object count}) => 'Amestaes ${count} entraes';
@override String get importFailed => 'Esti ficheru nun se pudo lleer como una copia de Tanemaki';
@override String get failed => 'Daqué salió mal';
@override String get recoveryTitle => 'El to códigu de recuperación';
@override String get recoverySubtitle => 'Imprémelu y guárdalu bien: abre les tos copies n\'otru preséu';
@override String get recoveryIntro => 'Esti códigu abre les tos copies guardaes y recupera\'l to bancu en cualquier preséu. Guarda dos copies en papel en sitios seguros, como la to meyor simiente. Quien lu tenga pue lleer les tos copies, asina que nun lu compartas con naide.';
@override String get recoveryCopy => 'Copiar';
@override String get recoverySave => 'Guardar la fueya';
@override String get recoverySheetTitle => 'Tanemaki — la to fueya de recuperación';
@override String get recoveryPromptTitle => 'Escribi\'l to códigu de recuperación';
@override String get recoveryPromptBody => 'Esta copia guardóse con otru códigu. Escribi\'l códigu de la to fueya de recuperación p\'abrilla.';
@override String get recoveryWrongCode => 'Esi códigu nun abre esta copia';
}
// Path: about
class _Translations$about$ast extends Translations$about$en {
_Translations$about$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Tocante a';
@override String get kanji => '種まき';
@override String get tagline => 'Una app local-first y descentralizada pa remanar y compartir simiente y plantones tradicionales.';
@override String get intro => 'Tanemaki (種まき, «semar / esparder simiente» en xaponés; nome curtiu Tane, 種 «grana») ayuda a persones y coleutivos a llevar un inventariu amable del so bancu de simiente, decidir qué ufierten y compartilo llocalmente — ensin un intermediariu central que pueda controlalo, censuralo o ser multáu por ello. L\'oxetivu ye a la vez práuticu y políticu: sofitar les variedaes tradicionales de simiente y plantar cara al monopoliu simienteru.';
@override String get heritage => 'El nome honra les vieyes tradiciones xaponeses d\'ayuda mutua alredor del arroz — yui (trabayu comunitariu compartíu) y tanomoshi (fondos de reciprocidá) — qu\'inspiraron el papel Plantare, la «moneda comunitaria pal intercambiu de simiente» (BAH-Semilleru, 2009, CC-BY-SA). Tanemaki ye\'l Plantare dixital.';
@override String get version => 'Versión';
@override String get license => 'Llicencia';
@override String get licenseValue => 'AGPL-3.0';
@override String get website => 'Sitiu web';
@override String get openSourceLicenses => 'Llicencies de códigu abiertu';
@override String get openSourceLicensesSubtitle => 'Biblioteques de terceros y les sos llicencies';
@override String copyright({required Object years}) => '© ${years} Asociación Comunes, baxo AGPLv3';
}
// Path: intro
class _Translations$intro$ast extends Translations$intro$en {
_Translations$intro$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get skip => 'Saltar';
@override String get next => 'Siguiente';
@override String get start => 'Entamar';
@override String get menuEntry => 'Cómo furrula Tanemaki';
@override late final _Translations$intro$slides$ast slides = _Translations$intro$slides$ast._(_root);
}
// Path: inventory
class _Translations$inventory$ast extends Translations$inventory$en {
_Translations$inventory$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Inventariu';
@override String get searchHint => 'Guetar simiente';
@override String get empty => 'Entá nun hai simiente. Toca + p\'amestar la primera.';
@override String get noMatches => 'Nenguna simiente concasa colos filtros.';
@override String get clearFilters => 'Quitar filtros';
@override String get uncategorized => 'Ensin categoría';
@override String get needsReproductionFilter => 'Por reproducir';
}
// Path: draft
class _Translations$draft$ast extends Translations$draft$en {
_Translations$draft$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get capture => 'Capturar semeyes';
@override String captured({required Object n}) => '${n} capturaes por catalogar';
@override String get triageTitle => 'Por catalogar';
@override String triageCount({required Object n}) => '${n} por catalogar';
@override String get untitled => 'Ensin nome';
@override String get nameField => 'Ponle nome a esta simiente';
@override String get nameHint => '¿Qué ye?';
@override String get suggestFromPhoto => 'Suxerir nome de la semeya';
@override String get discard => 'Descartar';
}
// Path: quickAdd
class _Translations$quickAdd$ast extends Translations$quickAdd$en {
_Translations$quickAdd$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Amestar una simiente';
@override String get labelField => 'Nome';
@override String get labelRequired => 'Ponle un nome';
@override String get addPhoto => 'Amestar semeya';
@override String get quantity => '¿Cuánta?';
@override String get more => 'Amestar más…';
@override String get save => 'Guardar';
@override String get saveAndAddAnother => 'Guardar y amestar otra';
@override String addedCount({required Object n}) => '${n} amestaes';
@override String get cancel => 'Encaboxar';
}
// Path: detail
class _Translations$detail$ast extends Translations$detail$en {
_Translations$detail$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get notFound => 'Esta simiente yá nun ta equí.';
@override String get lots => 'Llotes';
@override String get noLots => 'Entá nun hai llotes.';
@override String get names => 'Conocida tamién como';
@override String get addName => 'Amestar nome';
@override String get links => 'Enllaces';
@override String get addLink => 'Amestar enllaz';
@override String get linkUrl => 'URL';
@override String get linkTitle => 'Títulu (opcional)';
@override String get reference => 'Saber más';
@override String get refGbif => 'GBIF';
@override String get refWikipedia => 'Wikipedia';
@override String get refWikispecies => 'Wikispecies';
@override String get notes => 'Notes';
@override String get addLot => 'Amestar llote';
@override String get editLot => 'Editar llote';
@override String get deleteConfirm => '¿Desaniciar esta simiente?';
@override String year({required Object year}) => 'Añu ${year}';
@override String get noYear => 'Añu desconocíu';
}
// Path: germination
class _Translations$germination$ast extends Translations$germination$en {
_Translations$germination$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Germinación';
@override String get add => 'Amestar prueba';
@override String get sampleSize => 'Amuesa';
@override String get germinated => 'Germinaes';
@override String get none => 'Entá nun hai pruebes de germinación.';
@override String result({required Object percent}) => '${percent}%';
}
// Path: viability
class _Translations$viability$ast extends Translations$viability$en {
_Translations$viability$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get expiringSoon => 'Úsala o multiplícala esta temporada';
@override String expiringSoonYears({required Object years}) => 'Úsala o multiplícala esta temporada · dura ~${years} años';
@override String get expired => 'Pasa la so viabilidá típica — a multiplicar';
@override String expiredYears({required Object years}) => 'Pasa la so viabilidá típica (~${years} años) — a multiplicar';
}
// Path: editVariety
class _Translations$editVariety$ast extends Translations$editVariety$en {
_Translations$editVariety$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Editar simiente';
@override String get name => 'Nome';
@override String get category => 'Categoría';
@override String get notes => 'Notes';
@override String get species => 'Especie (del catálogu)';
@override String get speciesHint => 'Guetar una especie…';
@override String get speciesSuggested => 'Suxerida pol nome';
@override String get organic => 'Ecolóxica';
@override String get organicHint => 'Cultivada de mou ecolóxicu (eco)';
}
// Path: addLot
class _Translations$addLot$ast extends Translations$addLot$en {
_Translations$addLot$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Amestar llote';
@override String get year => 'Data de coyecha';
@override String get quantity => '¿Cuánta?';
@override String get amount => 'Cantidá';
}
// Path: harvest
class _Translations$harvest$ast extends Translations$harvest$en {
_Translations$harvest$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get pickTitle => 'Escoyer mes / añu';
@override String get anyMonth => 'Cualquier mes';
@override String get noDate => 'Indicar data de coyecha';
@override List<String> get monthNames => [
'xineru',
'febreru',
'marzu',
'abril',
'mayu',
'xunu',
'xunetu',
'agostu',
'setiembre',
'ochobre',
'payares',
'avientu',
];
}
// Path: lotType
class _Translations$lotType$ast extends Translations$lotType$en {
_Translations$lotType$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get seed => 'Simiente';
@override String get plant => 'Planta';
@override String get seedling => 'Planton';
@override String get tree => 'Árbol / matu';
@override String get bulb => 'Bulbu / tubérculu';
@override String get cutting => 'Esqueje';
}
// Path: presentation
class _Translations$presentation$ast extends Translations$presentation$en {
_Translations$presentation$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Envase';
@override String get none => 'Ensin especificar';
@override String get pot => 'Tiestu';
@override String get tray => 'Bandexa';
@override String get plug => 'Alvéolu';
@override String get bareRoot => 'Raíz esnuda';
@override String get rootBall => 'Cepellón';
}
// Path: provenance
class _Translations$provenance$ast extends Translations$provenance$en {
_Translations$provenance$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get section => 'D\'ónde vien';
@override String get seedsFrom => 'Simiente de';
@override String get seedsFromHint => 'Quién la cultivó o la dio';
@override String get place => 'Llugar';
@override String get placeHint => 'D\'ónde vien (con provincia)';
@override String get addSeedsFrom => 'Simiente de';
@override String get addPlace => 'Llugar';
}
// Path: abundance
class _Translations$abundance$ast extends Translations$abundance$en {
_Translations$abundance$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get add => 'Cuánta tengo';
@override String get title => 'Cuánta tengo';
@override String get none => 'Ensin indicar';
@override String get plentyToShare => 'A esgaya pa compartir';
@override String get enoughToShare => 'Abondo, pa compartir con mesura';
@override String get enoughForMe => 'Abondo pa min';
@override String get runningLow => 'Queda poca';
}
// Path: share
class _Translations$share$ast extends Translations$share$en {
_Translations$share$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get add => '¿Compártesla?';
@override String get title => '¿Compártesla?';
@override String get nudge => 'Tienes a esgaya: podríes compartir un poco.';
@override String get private => 'Namás pa min';
@override String get gift => 'Pa regalar';
@override String get exchange => 'Pa trocar';
@override String get sell => 'En venta';
@override String get filterChip => 'Comparto';
@override String get printCatalog => 'Imprentar lo que comparto';
@override String get catalogTitle => 'Lo que comparto';
@override String get catalogSaved => 'Catálogu guardáu';
@override String get cancelled => 'Encaboxáu';
}
// Path: printLabels
class _Translations$printLabels$ast extends Translations$printLabels$en {
_Translations$printLabels$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get action => 'Imprentar etiquetes';
@override String get title => 'Imprentar etiquetes';
@override String get selectHint => 'Escueyi les semientes pa imprentar les sos etiquetes';
@override String get selectAll => 'Seleicionar too';
@override String selected({required Object n}) => '${n} seleicionaes';
@override String get none => 'Seleiciona semientes primero';
@override String get format => 'Tamañu d\'etiqueta';
@override String get formatStickers => 'Pegatines pequeñes';
@override String get formatStickersHint => 'Munches etiquetes pequeñes per fueya — pa pegar en sobres';
@override String get formatCards => 'Tarxetes grandes';
@override String get formatCardsHint => 'Menos etiquetes, más grandes — pa botes y caxes';
@override String count({required Object n}) => '${n} etiquetes';
@override String get save => 'Guardar etiquetes';
@override String get saved => 'Etiquetes guardaes';
@override String get cancelled => 'Encaboxáu';
}
// Path: cropCalendar
class _Translations$cropCalendar$ast extends Translations$cropCalendar$en {
_Translations$cropCalendar$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get add => 'Calendariu de cultivu';
@override String get title => 'Calendariu de cultivu';
@override String get sow => 'Sema';
@override String get transplant => 'Tresplante';
@override String get flowering => 'Floriamientu';
@override String get fruiting => 'Fructificación';
@override String get seedHarvest => 'Coyecha de simiente';
@override String get unset => '';
}
// Path: needsReproduction
class _Translations$needsReproduction$ast extends Translations$needsReproduction$en {
_Translations$needsReproduction$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get label => 'Reproducir esta temporada';
@override String get hint => 'Cultívala enantes de que s\'acabe la simiente';
@override String get badge => 'Por reproducir';
}
// Path: preservation
class _Translations$preservation$ast extends Translations$preservation$en {
_Translations$preservation$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get add => 'Cómo se caltién';
@override String get title => 'Cómo se caltién';
@override String get none => 'Ensin especificar';
@override String get jarWithDesiccant => 'Bote con desecante';
@override String get glassJar => 'Bote de cristal';
@override String get paperEnvelope => 'Sobre de papel';
@override String get paperBag => 'Bolsa de papel';
@override String get plasticBag => 'Bolsa de plásticu';
}
// Path: conditionCheck
class _Translations$conditionCheck$ast extends Translations$conditionCheck$en {
_Translations$conditionCheck$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get advanced => 'Caltenimientu y detalles del bancu';
@override String get title => 'Revisiones de caltenimientu';
@override String get add => 'Amestar revisión';
@override String get containers => 'Botes / recipientes';
@override String get desiccant => 'Desecante';
@override String get none => 'Entá nun hai revisiones.';
@override String summary({required Object count, required Object state}) => '${count} bote(s) · ${state}';
}
// Path: desiccant
class _Translations$desiccant$ast extends Translations$desiccant$en {
_Translations$desiccant$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get none => 'Nun tien';
@override String get add => 'Pónse';
@override String get replace => 'Cámbiase';
@override String get dry => 'Azul — secu';
@override String get fresh => 'Recién puestu';
}
// Path: unit
class _Translations$unit$ast extends Translations$unit$en {
_Translations$unit$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get aFew => 'delles poques';
@override String get some => 'dalgunes';
@override String get plenty => 'munches';
@override String get pinch => 'una migaya';
@override late final _Translations$unit$handful$ast handful = _Translations$unit$handful$ast._(_root);
@override late final _Translations$unit$teaspoon$ast teaspoon = _Translations$unit$teaspoon$ast._(_root);
@override late final _Translations$unit$spoon$ast spoon = _Translations$unit$spoon$ast._(_root);
@override late final _Translations$unit$cup$ast cup = _Translations$unit$cup$ast._(_root);
@override late final _Translations$unit$jar$ast jar = _Translations$unit$jar$ast._(_root);
@override late final _Translations$unit$sack$ast sack = _Translations$unit$sack$ast._(_root);
@override late final _Translations$unit$packet$ast packet = _Translations$unit$packet$ast._(_root);
@override late final _Translations$unit$cob$ast cob = _Translations$unit$cob$ast._(_root);
@override late final _Translations$unit$pod$ast pod = _Translations$unit$pod$ast._(_root);
@override late final _Translations$unit$ear$ast ear = _Translations$unit$ear$ast._(_root);
@override late final _Translations$unit$head$ast head = _Translations$unit$head$ast._(_root);
@override late final _Translations$unit$fruit$ast fruit = _Translations$unit$fruit$ast._(_root);
@override late final _Translations$unit$bulb$ast bulb = _Translations$unit$bulb$ast._(_root);
@override late final _Translations$unit$tuber$ast tuber = _Translations$unit$tuber$ast._(_root);
@override late final _Translations$unit$seedHead$ast seedHead = _Translations$unit$seedHead$ast._(_root);
@override late final _Translations$unit$bunch$ast bunch = _Translations$unit$bunch$ast._(_root);
@override late final _Translations$unit$plant$ast plant = _Translations$unit$plant$ast._(_root);
@override late final _Translations$unit$pot$ast pot = _Translations$unit$pot$ast._(_root);
@override late final _Translations$unit$tray$ast tray = _Translations$unit$tray$ast._(_root);
@override late final _Translations$unit$seedling$ast seedling = _Translations$unit$seedling$ast._(_root);
@override late final _Translations$unit$tree$ast tree = _Translations$unit$tree$ast._(_root);
@override late final _Translations$unit$cutting$ast cutting = _Translations$unit$cutting$ast._(_root);
@override late final _Translations$unit$grams$ast grams = _Translations$unit$grams$ast._(_root);
@override late final _Translations$unit$count$ast count = _Translations$unit$count$ast._(_root);
}
// Path: market
class _Translations$market$ast extends Translations$market$en {
_Translations$market$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Simiente cerca de ti';
@override String get subtitle => 'Lo qu\'otres persones comparten cerca';
@override String get notSetUp => 'Entá nun configurasti\'l compartir';
@override String get notSetUpBody => 'Activa\'l compartir pa ver y dar simiente a xente cercano. Caltiénse averao — la to zona, enxamás la to direición esacta.';
@override String get setUp => 'Configurar el compartir';
@override String get cantReach => 'Nun se pue coneutar colos servidores agora mesmo';
@override String get cantReachBody => 'Inténtalo otra vez, o revisa los servidores na configuración avanzada.';
@override String get retry => 'Retentar';
@override String get setArea => 'Indica la to zona';
@override String get setAreaBody => 'Dile al mercáu la to zona averada pa ver simiente cerca.';
@override String get searching => 'Guetando pela to zona…';
@override String get empty => 'Entá nun hai simiente compartida cerca de ti';
@override String get near => 'Cerca de ti';
@override String get contact => 'Mensaxe';
@override String get mine => 'Tu';
@override String get configTitle => 'Configuración de compartir';
@override String get setupIntro => 'Compartir con xente cercano ye opcional. Namás indica la to zona averada — yá tas coneutáu a servidores comunitarios compartíos pa qu\'otres persones atopen lo qu\'ufiertes, ensin nenguna empresa en mediu.';
@override String get areaLabel => 'La to zona';
@override String get areaHelp => 'Caltiénse averao a costafecha — la to zona, enxamás un puntu esactu.';
@override String get areaSet => 'La to zona ta puesta — averada, enxamás el to puntu esactu';
@override String get areaNotSet => 'Zona ensin definir — usa\'l to allugamientu, o amiesta un códigu n\'Avanzáu';
@override String get advanced => 'Avanzáu';
@override String get areaCodeLabel => 'Códigu de zona';
@override String get areaCodeHint => 'Un códigu curtiu como sp3e9 — non un nome de llugar';
@override String get serversLabel => 'Servidores de la comunidá';
@override String get serversHelp => 'Una direición per llinia (wss://…). Déxalo asina si nun sabes.';
@override String get serversAdvanced => 'Amestar otru servidor';
@override String get save => 'Guardar';
@override String get saved => 'Guardáu';
@override String get wanted => 'Gueto';
@override String get shareMine => 'Compartir la mio simiente';
@override String sharedCount({required Object n}) => 'Compartíes ${n} simientes';
@override String get nothingToShare => 'Marca primero dalguna simiente pa regalar, trocar o vender';
@override String get useLocation => 'Usar el mio allugamientu averáu';
@override String get locationFailed => 'Nun se pudo consiguir el to allugamientu — comprueba que l\'allugamientu ta activáu y el permisu concedíu';
@override String get queued => 'Guardáu — compartirémosles cuando tengas conexón';
@override String get shareFailed => 'Nun se pudo coneutar colos sirvidores — les tos granes nun se compartieron. Vuelvi a intentalo nun momentu.';
@override String get rangeLabel => 'Hasta ónde guetar';
@override String get rangeNear => 'Bien cerca';
@override String get rangeArea => 'Pela mio zona';
@override String get rangeRegion => 'La mio rexón';
@override String get sharedBy => 'Compartíu por';
@override String get noProfile => 'Esta persona entá nun compartió\'l so perfil';
@override String get copyId => 'Copiar códigu';
@override String get idCopied => 'Códigu copiáu';
@override String get photo => 'Semeya';
}
// Path: profile
class _Translations$profile$ast extends Translations$profile$en {
_Translations$profile$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'El to perfil';
@override String get name => 'Nome';
@override String get nameHint => 'Cómo te ven los demás';
@override String get about => 'Sobre ti';
@override String get aboutHint => 'Una llinia — qué cultives, ónde';
@override String get g1 => 'Direición Ğ1 (opcional)';
@override String get g1Hint => 'Pa que te paguen en Ğ1 — aparte de la to clave';
@override String get yourId => 'La to identidá';
@override String get idHelp => 'Compártela pa que te reconozan';
@override String get copy => 'Copiar';
@override String get copied => 'Copiao';
@override String get save => 'Guardar';
@override String get saved => 'Perfil guardáu';
}
// Path: chatList
class _Translations$chatList$ast extends Translations$chatList$en {
_Translations$chatList$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Mensaxes';
@override String get empty => 'Entá nun hai charres. Escríbi-y a alguien dende\'l mercáu.';
}
// Path: chat
class _Translations$chat$ast extends Translations$chat$en {
_Translations$chat$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Charra';
@override String get hint => 'Escribi un mensaxe…';
@override String get send => 'Unviar';
@override String get empty => 'Entá nun hai mensaxes — saluda';
@override String get offline => 'Configura\'l compartir pa unviar mensaxes';
@override String get payG1 => 'Pagar en Ğ1';
@override String get g1Copied => 'Direición Ğ1 copiada — apégala na to cartera';
}
// Path: trust
class _Translations$trust$ast extends Translations$trust$en {
_Translations$trust$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get none => 'Naide los avala entá';
@override String count({required Object n}) => 'Avalada por ${n}';
@override String get vouch => 'Conozo a esta persona';
@override String get vouched => 'Avales a esta persona';
@override String get circle => 'Nel to círculu';
}
// Path: intro.slides
class _Translations$intro$slides$ast extends Translations$intro$slides$en {
_Translations$intro$slides$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override late final _Translations$intro$slides$welcome$ast welcome = _Translations$intro$slides$welcome$ast._(_root);
@override late final _Translations$intro$slides$inventory$ast inventory = _Translations$intro$slides$inventory$ast._(_root);
@override late final _Translations$intro$slides$privacy$ast privacy = _Translations$intro$slides$privacy$ast._(_root);
@override late final _Translations$intro$slides$share$ast share = _Translations$intro$slides$share$ast._(_root);
@override late final _Translations$intro$slides$plantare$ast plantare = _Translations$intro$slides$plantare$ast._(_root);
}
// Path: unit.handful
class _Translations$unit$handful$ast extends Translations$unit$handful$en {
_Translations$unit$handful$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'puñáu';
@override String get plural => 'puñaos';
}
// Path: unit.teaspoon
class _Translations$unit$teaspoon$ast extends Translations$unit$teaspoon$en {
_Translations$unit$teaspoon$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'cuyaradina';
@override String get plural => 'cuyaradines';
}
// Path: unit.spoon
class _Translations$unit$spoon$ast extends Translations$unit$spoon$en {
_Translations$unit$spoon$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'cuyar';
@override String get plural => 'cuyares';
}
// Path: unit.cup
class _Translations$unit$cup$ast extends Translations$unit$cup$en {
_Translations$unit$cup$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'taza';
@override String get plural => 'tazes';
}
// Path: unit.jar
class _Translations$unit$jar$ast extends Translations$unit$jar$en {
_Translations$unit$jar$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'bote';
@override String get plural => 'botes';
}
// Path: unit.sack
class _Translations$unit$sack$ast extends Translations$unit$sack$en {
_Translations$unit$sack$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'sacu';
@override String get plural => 'sacos';
}
// Path: unit.packet
class _Translations$unit$packet$ast extends Translations$unit$packet$en {
_Translations$unit$packet$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'sobre';
@override String get plural => 'sobres';
}
// Path: unit.cob
class _Translations$unit$cob$ast extends Translations$unit$cob$en {
_Translations$unit$cob$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'panoya';
@override String get plural => 'panoyes';
}
// Path: unit.pod
class _Translations$unit$pod$ast extends Translations$unit$pod$en {
_Translations$unit$pod$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'vaina';
@override String get plural => 'vaines';
}
// Path: unit.ear
class _Translations$unit$ear$ast extends Translations$unit$ear$en {
_Translations$unit$ear$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'espiga';
@override String get plural => 'espigues';
}
// Path: unit.head
class _Translations$unit$head$ast extends Translations$unit$head$en {
_Translations$unit$head$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'cabezuela';
@override String get plural => 'cabezueles';
}
// Path: unit.fruit
class _Translations$unit$fruit$ast extends Translations$unit$fruit$en {
_Translations$unit$fruit$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'frutu';
@override String get plural => 'frutos';
}
// Path: unit.bulb
class _Translations$unit$bulb$ast extends Translations$unit$bulb$en {
_Translations$unit$bulb$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'bulbu';
@override String get plural => 'bulbos';
}
// Path: unit.tuber
class _Translations$unit$tuber$ast extends Translations$unit$tuber$en {
_Translations$unit$tuber$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'tubérculu';
@override String get plural => 'tubérculos';
}
// Path: unit.seedHead
class _Translations$unit$seedHead$ast extends Translations$unit$seedHead$en {
_Translations$unit$seedHead$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'cabeza de simiente';
@override String get plural => 'cabeces de simiente';
}
// Path: unit.bunch
class _Translations$unit$bunch$ast extends Translations$unit$bunch$en {
_Translations$unit$bunch$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'manoyu';
@override String get plural => 'manoyos';
}
// Path: unit.plant
class _Translations$unit$plant$ast extends Translations$unit$plant$en {
_Translations$unit$plant$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'planta';
@override String get plural => 'plantes';
}
// Path: unit.pot
class _Translations$unit$pot$ast extends Translations$unit$pot$en {
_Translations$unit$pot$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'tiestu';
@override String get plural => 'tiestos';
}
// Path: unit.tray
class _Translations$unit$tray$ast extends Translations$unit$tray$en {
_Translations$unit$tray$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'bandexa';
@override String get plural => 'bandexes';
}
// Path: unit.seedling
class _Translations$unit$seedling$ast extends Translations$unit$seedling$en {
_Translations$unit$seedling$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'plántula';
@override String get plural => 'plántules';
}
// Path: unit.tree
class _Translations$unit$tree$ast extends Translations$unit$tree$en {
_Translations$unit$tree$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'árbol';
@override String get plural => 'árboles';
}
// Path: unit.cutting
class _Translations$unit$cutting$ast extends Translations$unit$cutting$en {
_Translations$unit$cutting$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'esqueje';
@override String get plural => 'esquejes';
}
// Path: unit.grams
class _Translations$unit$grams$ast extends Translations$unit$grams$en {
_Translations$unit$grams$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'gramu';
@override String get plural => 'gramos';
}
// Path: unit.count
class _Translations$unit$count$ast extends Translations$unit$count$en {
_Translations$unit$count$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get singular => 'grana';
@override String get plural => 'granes';
}
// Path: intro.slides.welcome
class _Translations$intro$slides$welcome$ast extends Translations$intro$slides$welcome$en {
_Translations$intro$slides$welcome$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'La grana que te traxo hasta equí';
@override String get body => 'Cada simiente tradicional ye una carta escrita por miles de xeneraciones, que pasó de mano en mano. Somos lo que somos gracies a esi intercambiu.';
}
// Path: intro.slides.inventory
class _Translations$intro$slides$inventory$ast extends Translations$intro$slides$inventory$en {
_Translations$intro$slides$inventory$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'El to bancu de simiente, nel bolsu';
@override String get body => 'Apunta qué tienes, de qué añu, cuánto y d\'ónde vieno, col nome que tu uses. Una semeya y un nome abasten pa entamar.';
}
// Path: intro.slides.privacy
class _Translations$intro$slides$privacy$ast extends Translations$intro$slides$privacy$en {
_Translations$intro$slides$privacy$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Tuyo y namás tuyo';
@override String get body => 'Ensin cuenta, ensin internet, ensin rastrexadores. Los tos datos viven cifraos nel to preséu y namás se comparte lo que tu decidas.';
}
// Path: intro.slides.share
class _Translations$intro$slides$share$ast extends Translations$intro$slides$share$en {
_Translations$intro$slides$share$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Compartir, como siempres se fizo';
@override String get body => 'Ufierta lo que te sobra —regalu, truecu o venta— y qu\'alguien cerca lo atope. Namás s\'amuesa la distancia averada, enxamás la to direición; el tratu ciérraslu en persona.';
}
// Path: intro.slides.plantare
class _Translations$intro$slides$plantare$ast extends Translations$intro$slides$plantare$en {
_Translations$intro$slides$plantare$ast._(TranslationsAst root) : this._root = root, super.internal(root);
final TranslationsAst _root; // ignore: unused_field
// Translations
@override String get title => 'Semar ye multiplicar';
@override String get body => 'Col Plantare, quien recibe promete devolver simiente más alantre. Y como pa devolvela hai que cultivala, cada préstamu multiplica\'l común.';
}
/// The flat map containing all translations for locale <ast>.
/// 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 TranslationsAst {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Tanemaki',
'bootstrap.failed' => 'Tanemaki nun pudo aniciar',
'bootstrap.retry' => 'Reintentar',
'common.save' => 'Guardar',
'common.cancel' => 'Encaboxar',
'common.delete' => 'Desaniciar',
'common.edit' => 'Editar',
'common.type' => 'Triba',
'common.comingSoon' => 'Aína',
'home.tagline' => 'Comparte y cultiva simiente llocal',
'home.openMarket' => 'Mercáu',
'home.openMarketSubtitle' => 'Descubri y comparte simiente cerca',
'home.yourInventory' => 'El to inventariu',
'home.yourInventorySubtitle' => 'Remana la to simiente',
'photo.camera' => 'Facer una semeya',
'photo.gallery' => 'Escoyer de la galería',
'photo.setAsCover' => 'Poner de portada',
'photo.isCover' => 'Semeya de portada',
'photo.deleteConfirm' => '¿Desaniciar esta semeya?',
'menu.tagline' => 'el to bancu de simiente',
'menu.inventory' => 'Inventariu',
'menu.market' => 'Mercáu',
'menu.profile' => 'El to perfil',
'menu.chat' => 'Charra',
'menu.wishlist' => 'Llista de deseos',
'menu.following' => 'Siguiendo',
'menu.settings' => 'Axustes',
'settings.language' => 'Llingua',
'settings.systemLanguage' => 'Llingua del sistema',
'settings.langEs' => 'Español',
'settings.langEn' => 'English',
'settings.langPt' => 'Português',
'settings.langAst' => 'Asturianu',
'settings.about' => 'Tocante a',
'settings.aboutText' => 'Inventariu llocal y cifráu pa simiente tradicional. AGPL-3.0.',
'settings.aboutOpen' => 'Tocante a Tanemaki',
'backup.title' => 'Copia de seguranza',
'backup.autoBackupTitle' => 'Copies automátiques',
'backup.autoBackupLast' => ({required Object date}) => 'Cabera copia guardada\'l ${date}',
'backup.autoBackupNone' => 'Guárdase una copia automáticamente en segundu planu',
'backup.exportJson' => 'Guardar una copia de seguranza',
'backup.exportJsonSubtitle' => 'Una copia completa pa guardar a salvo, restaurar dempués o pasar a otru preséu',
'backup.importJson' => 'Restaurar una copia',
'backup.importJsonSubtitle' => 'Recupera una copia guardada — nun se dobla nada',
'backup.exportCsv' => 'Esportar a una fueya de cálculu',
'backup.exportCsvSubtitle' => 'Una llista cenciella pa Excel o LibreOffice — ensin semeyes',
'backup.importCsv' => 'Importar una llista',
'backup.importCsvSubtitle' => 'Amiesta entraes dende una fueya de cálculu',
'backup.importConfirmTitle' => '¿Restaurar una copia?',
'backup.importConfirmBody' => 'Les entraes fusiónense col to inventariu; si una entrada esiste en dambos llaos, gana la versión más nueva. Nun se dobla nada.',
'backup.importCsvConfirmTitle' => '¿Importar una llista?',
'backup.importCsvConfirmBody' => 'Cada filera amiéstase como una entrada nueva. Nun fusiona nin troca, asina qu\'importar el mesmu ficheru dos veces amiéstalu dos veces.',
'backup.importAction' => 'Importar',
'backup.exportSaved' => 'Copia guardada',
'backup.cancelled' => 'Encaboxáu',
'backup.importDone' => ({required Object added, required Object updated}) => 'Importáu: ${added} nueves, ${updated} anovaes',
'backup.importCsvDone' => ({required Object count}) => 'Amestaes ${count} entraes',
'backup.importFailed' => 'Esti ficheru nun se pudo lleer como una copia de Tanemaki',
'backup.failed' => 'Daqué salió mal',
'backup.recoveryTitle' => 'El to códigu de recuperación',
'backup.recoverySubtitle' => 'Imprémelu y guárdalu bien: abre les tos copies n\'otru preséu',
'backup.recoveryIntro' => 'Esti códigu abre les tos copies guardaes y recupera\'l to bancu en cualquier preséu. Guarda dos copies en papel en sitios seguros, como la to meyor simiente. Quien lu tenga pue lleer les tos copies, asina que nun lu compartas con naide.',
'backup.recoveryCopy' => 'Copiar',
'backup.recoverySave' => 'Guardar la fueya',
'backup.recoverySheetTitle' => 'Tanemaki — la to fueya de recuperación',
'backup.recoveryPromptTitle' => 'Escribi\'l to códigu de recuperación',
'backup.recoveryPromptBody' => 'Esta copia guardóse con otru códigu. Escribi\'l códigu de la to fueya de recuperación p\'abrilla.',
'backup.recoveryWrongCode' => 'Esi códigu nun abre esta copia',
'about.title' => 'Tocante a',
'about.kanji' => '種まき',
'about.tagline' => 'Una app local-first y descentralizada pa remanar y compartir simiente y plantones tradicionales.',
'about.intro' => 'Tanemaki (種まき, «semar / esparder simiente» en xaponés; nome curtiu Tane, 種 «grana») ayuda a persones y coleutivos a llevar un inventariu amable del so bancu de simiente, decidir qué ufierten y compartilo llocalmente — ensin un intermediariu central que pueda controlalo, censuralo o ser multáu por ello. L\'oxetivu ye a la vez práuticu y políticu: sofitar les variedaes tradicionales de simiente y plantar cara al monopoliu simienteru.',
'about.heritage' => 'El nome honra les vieyes tradiciones xaponeses d\'ayuda mutua alredor del arroz — yui (trabayu comunitariu compartíu) y tanomoshi (fondos de reciprocidá) — qu\'inspiraron el papel Plantare, la «moneda comunitaria pal intercambiu de simiente» (BAH-Semilleru, 2009, CC-BY-SA). Tanemaki ye\'l Plantare dixital.',
'about.version' => 'Versión',
'about.license' => 'Llicencia',
'about.licenseValue' => 'AGPL-3.0',
'about.website' => 'Sitiu web',
'about.openSourceLicenses' => 'Llicencies de códigu abiertu',
'about.openSourceLicensesSubtitle' => 'Biblioteques de terceros y les sos llicencies',
'about.copyright' => ({required Object years}) => '© ${years} Asociación Comunes, baxo AGPLv3',
'intro.skip' => 'Saltar',
'intro.next' => 'Siguiente',
'intro.start' => 'Entamar',
'intro.menuEntry' => 'Cómo furrula Tanemaki',
'intro.slides.welcome.title' => 'La grana que te traxo hasta equí',
'intro.slides.welcome.body' => 'Cada simiente tradicional ye una carta escrita por miles de xeneraciones, que pasó de mano en mano. Somos lo que somos gracies a esi intercambiu.',
'intro.slides.inventory.title' => 'El to bancu de simiente, nel bolsu',
'intro.slides.inventory.body' => 'Apunta qué tienes, de qué añu, cuánto y d\'ónde vieno, col nome que tu uses. Una semeya y un nome abasten pa entamar.',
'intro.slides.privacy.title' => 'Tuyo y namás tuyo',
'intro.slides.privacy.body' => 'Ensin cuenta, ensin internet, ensin rastrexadores. Los tos datos viven cifraos nel to preséu y namás se comparte lo que tu decidas.',
'intro.slides.share.title' => 'Compartir, como siempres se fizo',
'intro.slides.share.body' => 'Ufierta lo que te sobra —regalu, truecu o venta— y qu\'alguien cerca lo atope. Namás s\'amuesa la distancia averada, enxamás la to direición; el tratu ciérraslu en persona.',
'intro.slides.plantare.title' => 'Semar ye multiplicar',
'intro.slides.plantare.body' => 'Col Plantare, quien recibe promete devolver simiente más alantre. Y como pa devolvela hai que cultivala, cada préstamu multiplica\'l común.',
'inventory.title' => 'Inventariu',
'inventory.searchHint' => 'Guetar simiente',
'inventory.empty' => 'Entá nun hai simiente. Toca + p\'amestar la primera.',
'inventory.noMatches' => 'Nenguna simiente concasa colos filtros.',
'inventory.clearFilters' => 'Quitar filtros',
'inventory.uncategorized' => 'Ensin categoría',
'inventory.needsReproductionFilter' => 'Por reproducir',
'draft.capture' => 'Capturar semeyes',
'draft.captured' => ({required Object n}) => '${n} capturaes por catalogar',
'draft.triageTitle' => 'Por catalogar',
'draft.triageCount' => ({required Object n}) => '${n} por catalogar',
'draft.untitled' => 'Ensin nome',
'draft.nameField' => 'Ponle nome a esta simiente',
'draft.nameHint' => '¿Qué ye?',
'draft.suggestFromPhoto' => 'Suxerir nome de la semeya',
'draft.discard' => 'Descartar',
'quickAdd.title' => 'Amestar una simiente',
'quickAdd.labelField' => 'Nome',
'quickAdd.labelRequired' => 'Ponle un nome',
'quickAdd.addPhoto' => 'Amestar semeya',
'quickAdd.quantity' => '¿Cuánta?',
'quickAdd.more' => 'Amestar más…',
'quickAdd.save' => 'Guardar',
'quickAdd.saveAndAddAnother' => 'Guardar y amestar otra',
'quickAdd.addedCount' => ({required Object n}) => '${n} amestaes',
'quickAdd.cancel' => 'Encaboxar',
'detail.notFound' => 'Esta simiente yá nun ta equí.',
'detail.lots' => 'Llotes',
'detail.noLots' => 'Entá nun hai llotes.',
'detail.names' => 'Conocida tamién como',
'detail.addName' => 'Amestar nome',
'detail.links' => 'Enllaces',
'detail.addLink' => 'Amestar enllaz',
'detail.linkUrl' => 'URL',
'detail.linkTitle' => 'Títulu (opcional)',
'detail.reference' => 'Saber más',
'detail.refGbif' => 'GBIF',
'detail.refWikipedia' => 'Wikipedia',
'detail.refWikispecies' => 'Wikispecies',
'detail.notes' => 'Notes',
'detail.addLot' => 'Amestar llote',
'detail.editLot' => 'Editar llote',
'detail.deleteConfirm' => '¿Desaniciar esta simiente?',
'detail.year' => ({required Object year}) => 'Añu ${year}',
'detail.noYear' => 'Añu desconocíu',
'germination.title' => 'Germinación',
'germination.add' => 'Amestar prueba',
'germination.sampleSize' => 'Amuesa',
'germination.germinated' => 'Germinaes',
'germination.none' => 'Entá nun hai pruebes de germinación.',
'germination.result' => ({required Object percent}) => '${percent}%',
'viability.expiringSoon' => 'Úsala o multiplícala esta temporada',
'viability.expiringSoonYears' => ({required Object years}) => 'Úsala o multiplícala esta temporada · dura ~${years} años',
'viability.expired' => 'Pasa la so viabilidá típica — a multiplicar',
'viability.expiredYears' => ({required Object years}) => 'Pasa la so viabilidá típica (~${years} años) — a multiplicar',
'editVariety.title' => 'Editar simiente',
'editVariety.name' => 'Nome',
'editVariety.category' => 'Categoría',
'editVariety.notes' => 'Notes',
'editVariety.species' => 'Especie (del catálogu)',
'editVariety.speciesHint' => 'Guetar una especie…',
'editVariety.speciesSuggested' => 'Suxerida pol nome',
'editVariety.organic' => 'Ecolóxica',
'editVariety.organicHint' => 'Cultivada de mou ecolóxicu (eco)',
'addLot.title' => 'Amestar llote',
'addLot.year' => 'Data de coyecha',
'addLot.quantity' => '¿Cuánta?',
'addLot.amount' => 'Cantidá',
'harvest.pickTitle' => 'Escoyer mes / añu',
'harvest.anyMonth' => 'Cualquier mes',
'harvest.noDate' => 'Indicar data de coyecha',
'harvest.monthNames.0' => 'xineru',
'harvest.monthNames.1' => 'febreru',
'harvest.monthNames.2' => 'marzu',
'harvest.monthNames.3' => 'abril',
'harvest.monthNames.4' => 'mayu',
'harvest.monthNames.5' => 'xunu',
'harvest.monthNames.6' => 'xunetu',
'harvest.monthNames.7' => 'agostu',
'harvest.monthNames.8' => 'setiembre',
'harvest.monthNames.9' => 'ochobre',
'harvest.monthNames.10' => 'payares',
'harvest.monthNames.11' => 'avientu',
'lotType.seed' => 'Simiente',
'lotType.plant' => 'Planta',
'lotType.seedling' => 'Planton',
'lotType.tree' => 'Árbol / matu',
'lotType.bulb' => 'Bulbu / tubérculu',
'lotType.cutting' => 'Esqueje',
'presentation.title' => 'Envase',
'presentation.none' => 'Ensin especificar',
'presentation.pot' => 'Tiestu',
'presentation.tray' => 'Bandexa',
'presentation.plug' => 'Alvéolu',
'presentation.bareRoot' => 'Raíz esnuda',
'presentation.rootBall' => 'Cepellón',
'provenance.section' => 'D\'ónde vien',
'provenance.seedsFrom' => 'Simiente de',
'provenance.seedsFromHint' => 'Quién la cultivó o la dio',
'provenance.place' => 'Llugar',
'provenance.placeHint' => 'D\'ónde vien (con provincia)',
'provenance.addSeedsFrom' => 'Simiente de',
'provenance.addPlace' => 'Llugar',
'abundance.add' => 'Cuánta tengo',
'abundance.title' => 'Cuánta tengo',
'abundance.none' => 'Ensin indicar',
'abundance.plentyToShare' => 'A esgaya pa compartir',
'abundance.enoughToShare' => 'Abondo, pa compartir con mesura',
'abundance.enoughForMe' => 'Abondo pa min',
'abundance.runningLow' => 'Queda poca',
'share.add' => '¿Compártesla?',
'share.title' => '¿Compártesla?',
'share.nudge' => 'Tienes a esgaya: podríes compartir un poco.',
'share.private' => 'Namás pa min',
'share.gift' => 'Pa regalar',
'share.exchange' => 'Pa trocar',
'share.sell' => 'En venta',
'share.filterChip' => 'Comparto',
'share.printCatalog' => 'Imprentar lo que comparto',
'share.catalogTitle' => 'Lo que comparto',
'share.catalogSaved' => 'Catálogu guardáu',
'share.cancelled' => 'Encaboxáu',
'printLabels.action' => 'Imprentar etiquetes',
'printLabels.title' => 'Imprentar etiquetes',
'printLabels.selectHint' => 'Escueyi les semientes pa imprentar les sos etiquetes',
'printLabels.selectAll' => 'Seleicionar too',
'printLabels.selected' => ({required Object n}) => '${n} seleicionaes',
'printLabels.none' => 'Seleiciona semientes primero',
'printLabels.format' => 'Tamañu d\'etiqueta',
'printLabels.formatStickers' => 'Pegatines pequeñes',
'printLabels.formatStickersHint' => 'Munches etiquetes pequeñes per fueya — pa pegar en sobres',
'printLabels.formatCards' => 'Tarxetes grandes',
'printLabels.formatCardsHint' => 'Menos etiquetes, más grandes — pa botes y caxes',
'printLabels.count' => ({required Object n}) => '${n} etiquetes',
'printLabels.save' => 'Guardar etiquetes',
'printLabels.saved' => 'Etiquetes guardaes',
'printLabels.cancelled' => 'Encaboxáu',
'cropCalendar.add' => 'Calendariu de cultivu',
'cropCalendar.title' => 'Calendariu de cultivu',
'cropCalendar.sow' => 'Sema',
'cropCalendar.transplant' => 'Tresplante',
'cropCalendar.flowering' => 'Floriamientu',
'cropCalendar.fruiting' => 'Fructificación',
'cropCalendar.seedHarvest' => 'Coyecha de simiente',
'cropCalendar.unset' => '',
'needsReproduction.label' => 'Reproducir esta temporada',
'needsReproduction.hint' => 'Cultívala enantes de que s\'acabe la simiente',
'needsReproduction.badge' => 'Por reproducir',
'preservation.add' => 'Cómo se caltién',
'preservation.title' => 'Cómo se caltién',
'preservation.none' => 'Ensin especificar',
'preservation.jarWithDesiccant' => 'Bote con desecante',
'preservation.glassJar' => 'Bote de cristal',
'preservation.paperEnvelope' => 'Sobre de papel',
'preservation.paperBag' => 'Bolsa de papel',
'preservation.plasticBag' => 'Bolsa de plásticu',
'conditionCheck.advanced' => 'Caltenimientu y detalles del bancu',
'conditionCheck.title' => 'Revisiones de caltenimientu',
'conditionCheck.add' => 'Amestar revisión',
'conditionCheck.containers' => 'Botes / recipientes',
'conditionCheck.desiccant' => 'Desecante',
'conditionCheck.none' => 'Entá nun hai revisiones.',
'conditionCheck.summary' => ({required Object count, required Object state}) => '${count} bote(s) · ${state}',
'desiccant.none' => 'Nun tien',
'desiccant.add' => 'Pónse',
'desiccant.replace' => 'Cámbiase',
'desiccant.dry' => 'Azul — secu',
'desiccant.fresh' => 'Recién puestu',
'unit.aFew' => 'delles poques',
'unit.some' => 'dalgunes',
'unit.plenty' => 'munches',
'unit.pinch' => 'una migaya',
'unit.handful.singular' => 'puñáu',
'unit.handful.plural' => 'puñaos',
'unit.teaspoon.singular' => 'cuyaradina',
'unit.teaspoon.plural' => 'cuyaradines',
'unit.spoon.singular' => 'cuyar',
'unit.spoon.plural' => 'cuyares',
'unit.cup.singular' => 'taza',
'unit.cup.plural' => 'tazes',
'unit.jar.singular' => 'bote',
'unit.jar.plural' => 'botes',
'unit.sack.singular' => 'sacu',
'unit.sack.plural' => 'sacos',
'unit.packet.singular' => 'sobre',
'unit.packet.plural' => 'sobres',
'unit.cob.singular' => 'panoya',
'unit.cob.plural' => 'panoyes',
'unit.pod.singular' => 'vaina',
'unit.pod.plural' => 'vaines',
'unit.ear.singular' => 'espiga',
'unit.ear.plural' => 'espigues',
'unit.head.singular' => 'cabezuela',
'unit.head.plural' => 'cabezueles',
'unit.fruit.singular' => 'frutu',
'unit.fruit.plural' => 'frutos',
'unit.bulb.singular' => 'bulbu',
'unit.bulb.plural' => 'bulbos',
'unit.tuber.singular' => 'tubérculu',
'unit.tuber.plural' => 'tubérculos',
'unit.seedHead.singular' => 'cabeza de simiente',
'unit.seedHead.plural' => 'cabeces de simiente',
'unit.bunch.singular' => 'manoyu',
'unit.bunch.plural' => 'manoyos',
'unit.plant.singular' => 'planta',
'unit.plant.plural' => 'plantes',
'unit.pot.singular' => 'tiestu',
'unit.pot.plural' => 'tiestos',
'unit.tray.singular' => 'bandexa',
'unit.tray.plural' => 'bandexes',
'unit.seedling.singular' => 'plántula',
'unit.seedling.plural' => 'plántules',
'unit.tree.singular' => 'árbol',
'unit.tree.plural' => 'árboles',
'unit.cutting.singular' => 'esqueje',
'unit.cutting.plural' => 'esquejes',
'unit.grams.singular' => 'gramu',
'unit.grams.plural' => 'gramos',
'unit.count.singular' => 'grana',
'unit.count.plural' => 'granes',
'market.title' => 'Simiente cerca de ti',
'market.subtitle' => 'Lo qu\'otres persones comparten cerca',
'market.notSetUp' => 'Entá nun configurasti\'l compartir',
'market.notSetUpBody' => 'Activa\'l compartir pa ver y dar simiente a xente cercano. Caltiénse averao — la to zona, enxamás la to direición esacta.',
'market.setUp' => 'Configurar el compartir',
'market.cantReach' => 'Nun se pue coneutar colos servidores agora mesmo',
'market.cantReachBody' => 'Inténtalo otra vez, o revisa los servidores na configuración avanzada.',
'market.retry' => 'Retentar',
'market.setArea' => 'Indica la to zona',
'market.setAreaBody' => 'Dile al mercáu la to zona averada pa ver simiente cerca.',
'market.searching' => 'Guetando pela to zona…',
'market.empty' => 'Entá nun hai simiente compartida cerca de ti',
'market.near' => 'Cerca de ti',
'market.contact' => 'Mensaxe',
'market.mine' => 'Tu',
'market.configTitle' => 'Configuración de compartir',
'market.setupIntro' => 'Compartir con xente cercano ye opcional. Namás indica la to zona averada — yá tas coneutáu a servidores comunitarios compartíos pa qu\'otres persones atopen lo qu\'ufiertes, ensin nenguna empresa en mediu.',
'market.areaLabel' => 'La to zona',
'market.areaHelp' => 'Caltiénse averao a costafecha — la to zona, enxamás un puntu esactu.',
'market.areaSet' => 'La to zona ta puesta — averada, enxamás el to puntu esactu',
'market.areaNotSet' => 'Zona ensin definir — usa\'l to allugamientu, o amiesta un códigu n\'Avanzáu',
'market.advanced' => 'Avanzáu',
'market.areaCodeLabel' => 'Códigu de zona',
'market.areaCodeHint' => 'Un códigu curtiu como sp3e9 — non un nome de llugar',
'market.serversLabel' => 'Servidores de la comunidá',
'market.serversHelp' => 'Una direición per llinia (wss://…). Déxalo asina si nun sabes.',
'market.serversAdvanced' => 'Amestar otru servidor',
'market.save' => 'Guardar',
'market.saved' => 'Guardáu',
'market.wanted' => 'Gueto',
'market.shareMine' => 'Compartir la mio simiente',
'market.sharedCount' => ({required Object n}) => 'Compartíes ${n} simientes',
'market.nothingToShare' => 'Marca primero dalguna simiente pa regalar, trocar o vender',
'market.useLocation' => 'Usar el mio allugamientu averáu',
'market.locationFailed' => 'Nun se pudo consiguir el to allugamientu — comprueba que l\'allugamientu ta activáu y el permisu concedíu',
'market.queued' => 'Guardáu — compartirémosles cuando tengas conexón',
'market.shareFailed' => 'Nun se pudo coneutar colos sirvidores — les tos granes nun se compartieron. Vuelvi a intentalo nun momentu.',
'market.rangeLabel' => 'Hasta ónde guetar',
'market.rangeNear' => 'Bien cerca',
'market.rangeArea' => 'Pela mio zona',
'market.rangeRegion' => 'La mio rexón',
'market.sharedBy' => 'Compartíu por',
'market.noProfile' => 'Esta persona entá nun compartió\'l so perfil',
'market.copyId' => 'Copiar códigu',
'market.idCopied' => 'Códigu copiáu',
'market.photo' => 'Semeya',
'profile.title' => 'El to perfil',
'profile.name' => 'Nome',
'profile.nameHint' => 'Cómo te ven los demás',
'profile.about' => 'Sobre ti',
'profile.aboutHint' => 'Una llinia — qué cultives, ónde',
'profile.g1' => 'Direición Ğ1 (opcional)',
'profile.g1Hint' => 'Pa que te paguen en Ğ1 — aparte de la to clave',
'profile.yourId' => 'La to identidá',
'profile.idHelp' => 'Compártela pa que te reconozan',
'profile.copy' => 'Copiar',
'profile.copied' => 'Copiao',
'profile.save' => 'Guardar',
'profile.saved' => 'Perfil guardáu',
'chatList.title' => 'Mensaxes',
'chatList.empty' => 'Entá nun hai charres. Escríbi-y a alguien dende\'l mercáu.',
'chat.title' => 'Charra',
'chat.hint' => 'Escribi un mensaxe…',
'chat.send' => 'Unviar',
'chat.empty' => 'Entá nun hai mensaxes — saluda',
'chat.offline' => 'Configura\'l compartir pa unviar mensaxes',
'chat.payG1' => 'Pagar en Ğ1',
'chat.g1Copied' => 'Direición Ğ1 copiada — apégala na to cartera',
'trust.none' => 'Naide los avala entá',
'trust.count' => ({required Object n}) => 'Avalada por ${n}',
'trust.vouch' => 'Conozo a esta persona',
'trust.vouched' => 'Avales a esta persona',
'trust.circle' => 'Nel to círculu',
_ => null,
};
}
}