Apply a Material 3 seed-green palette and rounded components across the home, inventory, quick-add, quantity picker and variety-detail screens. The full-screen photo viewer can now set any photo as the cover (via attachment sort order) and delete after confirmation. Lot forms and packaging surface as choice chips. Extract About out of Settings into its own screen (app version via package_info_plus, website link). Add es/en strings for the new lot types, presentation, home tagline and About. Update Seedees v2 mockups.
799 lines
32 KiB
Dart
799 lines
32 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 TranslationsEs 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.
|
|
TranslationsEs({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.es,
|
|
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 <es>.
|
|
@override final TranslationMetadata<AppLocale, Translations> $meta;
|
|
|
|
/// Access flat map
|
|
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
|
|
|
|
late final TranslationsEs _root = this; // ignore: unused_field
|
|
|
|
@override
|
|
TranslationsEs $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsEs(meta: meta ?? this.$meta);
|
|
|
|
// Translations
|
|
@override late final _Translations$app$es app = _Translations$app$es._(_root);
|
|
@override late final _Translations$common$es common = _Translations$common$es._(_root);
|
|
@override late final _Translations$home$es home = _Translations$home$es._(_root);
|
|
@override late final _Translations$photo$es photo = _Translations$photo$es._(_root);
|
|
@override late final _Translations$menu$es menu = _Translations$menu$es._(_root);
|
|
@override late final _Translations$settings$es settings = _Translations$settings$es._(_root);
|
|
@override late final _Translations$about$es about = _Translations$about$es._(_root);
|
|
@override late final _Translations$inventory$es inventory = _Translations$inventory$es._(_root);
|
|
@override late final _Translations$quickAdd$es quickAdd = _Translations$quickAdd$es._(_root);
|
|
@override late final _Translations$detail$es detail = _Translations$detail$es._(_root);
|
|
@override late final _Translations$germination$es germination = _Translations$germination$es._(_root);
|
|
@override late final _Translations$editVariety$es editVariety = _Translations$editVariety$es._(_root);
|
|
@override late final _Translations$addLot$es addLot = _Translations$addLot$es._(_root);
|
|
@override late final _Translations$harvest$es harvest = _Translations$harvest$es._(_root);
|
|
@override late final _Translations$lotType$es lotType = _Translations$lotType$es._(_root);
|
|
@override late final _Translations$presentation$es presentation = _Translations$presentation$es._(_root);
|
|
@override late final _Translations$unit$es unit = _Translations$unit$es._(_root);
|
|
}
|
|
|
|
// Path: app
|
|
class _Translations$app$es extends Translations$app$en {
|
|
_Translations$app$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Tanemaki';
|
|
}
|
|
|
|
// Path: common
|
|
class _Translations$common$es extends Translations$common$en {
|
|
_Translations$common$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get save => 'Guardar';
|
|
@override String get cancel => 'Cancelar';
|
|
@override String get delete => 'Eliminar';
|
|
@override String get edit => 'Editar';
|
|
@override String get type => 'Tipo';
|
|
@override String get comingSoon => 'Pronto';
|
|
}
|
|
|
|
// Path: home
|
|
class _Translations$home$es extends Translations$home$en {
|
|
_Translations$home$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get tagline => 'Comparte y cultiva semillas locales';
|
|
@override String get openMarket => 'Mercado abierto';
|
|
@override String get openMarketSubtitle => 'Explora e intercambia';
|
|
@override String get yourInventory => 'Tu inventario';
|
|
@override String get yourInventorySubtitle => 'Gestiona tus semillas';
|
|
}
|
|
|
|
// Path: photo
|
|
class _Translations$photo$es extends Translations$photo$en {
|
|
_Translations$photo$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get camera => 'Hacer una foto';
|
|
@override String get gallery => 'Elegir de la galería';
|
|
@override String get setAsCover => 'Poner de portada';
|
|
@override String get isCover => 'Foto de portada';
|
|
@override String get deleteConfirm => '¿Borrar esta foto?';
|
|
}
|
|
|
|
// Path: menu
|
|
class _Translations$menu$es extends Translations$menu$en {
|
|
_Translations$menu$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get tagline => 'tu banco de semillas';
|
|
@override String get inventory => 'Inventario';
|
|
@override String get market => 'Mercado';
|
|
@override String get profile => 'Tu perfil';
|
|
@override String get chat => 'Chat';
|
|
@override String get wishlist => 'Lista de deseos';
|
|
@override String get following => 'Siguiendo';
|
|
@override String get settings => 'Ajustes';
|
|
}
|
|
|
|
// Path: settings
|
|
class _Translations$settings$es extends Translations$settings$en {
|
|
_Translations$settings$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get language => 'Idioma';
|
|
@override String get systemLanguage => 'Idioma del sistema';
|
|
@override String get langEs => 'Español';
|
|
@override String get langEn => 'English';
|
|
@override String get about => 'Acerca de';
|
|
@override String get aboutText => 'Inventario local y cifrado para semillas tradicionales. AGPL-3.0.';
|
|
@override String get aboutOpen => 'Acerca de Tanemaki';
|
|
}
|
|
|
|
// Path: about
|
|
class _Translations$about$es extends Translations$about$en {
|
|
_Translations$about$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Acerca de';
|
|
@override String get kanji => '種まき';
|
|
@override String get tagline => 'Una app local-first y descentralizada para gestionar y compartir semillas y plantones tradicionales.';
|
|
@override String get intro => 'Tanemaki (種まき, «sembrar / esparcir semillas» en japonés; nombre corto Tane, 種 «semilla») ayuda a personas y colectivos a llevar un inventario amable de su banco de semillas, decidir qué ofrecen y compartirlo localmente — sin un intermediario central que pueda controlarlo, censurarlo o ser multado por ello. El objetivo es a la vez práctico y político: apoyar las variedades tradicionales de semillas y plantar cara al monopolio semillero.';
|
|
@override String get heritage => 'El nombre honra las viejas tradiciones japonesas de ayuda mutua en torno al arroz — yui (trabajo comunitario compartido) y tanomoshi (fondos de reciprocidad) — que inspiraron el papel Plantare, la «moneda comunitaria para el intercambio de semillas» (BAH-Semillero, 2009, CC-BY-SA). Tanemaki es el Plantare digital.';
|
|
@override String get version => 'Versión';
|
|
@override String get license => 'Licencia';
|
|
@override String get licenseValue => 'AGPL-3.0';
|
|
@override String get website => 'Sitio web';
|
|
@override String get openSourceLicenses => 'Licencias de código abierto';
|
|
@override String get openSourceLicensesSubtitle => 'Bibliotecas de terceros y sus licencias';
|
|
}
|
|
|
|
// Path: inventory
|
|
class _Translations$inventory$es extends Translations$inventory$en {
|
|
_Translations$inventory$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Inventario';
|
|
@override String get searchHint => 'Buscar semillas';
|
|
@override String get empty => 'Aún no hay semillas. Toca + para añadir la primera.';
|
|
@override String get uncategorized => 'Sin categoría';
|
|
}
|
|
|
|
// Path: quickAdd
|
|
class _Translations$quickAdd$es extends Translations$quickAdd$en {
|
|
_Translations$quickAdd$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Añadir una semilla';
|
|
@override String get labelField => 'Nombre';
|
|
@override String get labelRequired => 'Ponle un nombre';
|
|
@override String get addPhoto => 'Añadir foto';
|
|
@override String get quantity => '¿Cuánta?';
|
|
@override String get more => 'Añadir más…';
|
|
@override String get save => 'Guardar';
|
|
@override String get cancel => 'Cancelar';
|
|
}
|
|
|
|
// Path: detail
|
|
class _Translations$detail$es extends Translations$detail$en {
|
|
_Translations$detail$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get notFound => 'Esta semilla ya no está aquí.';
|
|
@override String get lots => 'Lotes';
|
|
@override String get noLots => 'Aún no hay lotes.';
|
|
@override String get names => 'También conocida como';
|
|
@override String get addName => 'Añadir nombre';
|
|
@override String get links => 'Enlaces';
|
|
@override String get addLink => 'Añadir enlace';
|
|
@override String get linkUrl => 'URL';
|
|
@override String get linkTitle => 'Título (opcional)';
|
|
@override String get notes => 'Notas';
|
|
@override String get addLot => 'Añadir lote';
|
|
@override String get editLot => 'Editar lote';
|
|
@override String get deleteConfirm => '¿Eliminar esta semilla?';
|
|
@override String year({required Object year}) => 'Año ${year}';
|
|
@override String get noYear => 'Año desconocido';
|
|
}
|
|
|
|
// Path: germination
|
|
class _Translations$germination$es extends Translations$germination$en {
|
|
_Translations$germination$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Germinación';
|
|
@override String get add => 'Añadir prueba';
|
|
@override String get sampleSize => 'Muestra';
|
|
@override String get germinated => 'Germinadas';
|
|
@override String get none => 'Aún no hay pruebas de germinación.';
|
|
@override String result({required Object percent}) => '${percent}%';
|
|
}
|
|
|
|
// Path: editVariety
|
|
class _Translations$editVariety$es extends Translations$editVariety$en {
|
|
_Translations$editVariety$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Editar semilla';
|
|
@override String get name => 'Nombre';
|
|
@override String get category => 'Categoría';
|
|
@override String get notes => 'Notas';
|
|
@override String get species => 'Especie (del catálogo)';
|
|
@override String get speciesHint => 'Buscar una especie…';
|
|
}
|
|
|
|
// Path: addLot
|
|
class _Translations$addLot$es extends Translations$addLot$en {
|
|
_Translations$addLot$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Añadir lote';
|
|
@override String get year => 'Fecha de cosecha';
|
|
@override String get quantity => '¿Cuánta?';
|
|
@override String get amount => 'Cantidad';
|
|
}
|
|
|
|
// Path: harvest
|
|
class _Translations$harvest$es extends Translations$harvest$en {
|
|
_Translations$harvest$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get pickTitle => 'Seleccionar mes / año';
|
|
@override String get anyMonth => 'Cualquier mes';
|
|
@override String get noDate => 'Indicar fecha de cosecha';
|
|
@override List<String> get monthNames => [
|
|
'enero',
|
|
'febrero',
|
|
'marzo',
|
|
'abril',
|
|
'mayo',
|
|
'junio',
|
|
'julio',
|
|
'agosto',
|
|
'septiembre',
|
|
'octubre',
|
|
'noviembre',
|
|
'diciembre',
|
|
];
|
|
}
|
|
|
|
// Path: lotType
|
|
class _Translations$lotType$es extends Translations$lotType$en {
|
|
_Translations$lotType$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get seed => 'Semillas';
|
|
@override String get plant => 'Planta';
|
|
@override String get seedling => 'Plantón';
|
|
@override String get tree => 'Árbol / arbusto';
|
|
@override String get bulb => 'Bulbo / tubérculo';
|
|
@override String get cutting => 'Esqueje';
|
|
}
|
|
|
|
// Path: presentation
|
|
class _Translations$presentation$es extends Translations$presentation$en {
|
|
_Translations$presentation$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Envase';
|
|
@override String get none => 'Sin especificar';
|
|
@override String get pot => 'Maceta';
|
|
@override String get tray => 'Bandeja';
|
|
@override String get plug => 'Alvéolo';
|
|
@override String get bareRoot => 'Raíz desnuda';
|
|
@override String get rootBall => 'Cepellón';
|
|
}
|
|
|
|
// Path: unit
|
|
class _Translations$unit$es extends Translations$unit$en {
|
|
_Translations$unit$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get aFew => 'unas pocas';
|
|
@override String get some => 'algunas';
|
|
@override String get plenty => 'muchas';
|
|
@override String get pinch => 'una pizca';
|
|
@override late final _Translations$unit$handful$es handful = _Translations$unit$handful$es._(_root);
|
|
@override late final _Translations$unit$teaspoon$es teaspoon = _Translations$unit$teaspoon$es._(_root);
|
|
@override late final _Translations$unit$spoon$es spoon = _Translations$unit$spoon$es._(_root);
|
|
@override late final _Translations$unit$cup$es cup = _Translations$unit$cup$es._(_root);
|
|
@override late final _Translations$unit$jar$es jar = _Translations$unit$jar$es._(_root);
|
|
@override late final _Translations$unit$sack$es sack = _Translations$unit$sack$es._(_root);
|
|
@override late final _Translations$unit$packet$es packet = _Translations$unit$packet$es._(_root);
|
|
@override late final _Translations$unit$cob$es cob = _Translations$unit$cob$es._(_root);
|
|
@override late final _Translations$unit$pod$es pod = _Translations$unit$pod$es._(_root);
|
|
@override late final _Translations$unit$ear$es ear = _Translations$unit$ear$es._(_root);
|
|
@override late final _Translations$unit$head$es head = _Translations$unit$head$es._(_root);
|
|
@override late final _Translations$unit$fruit$es fruit = _Translations$unit$fruit$es._(_root);
|
|
@override late final _Translations$unit$bulb$es bulb = _Translations$unit$bulb$es._(_root);
|
|
@override late final _Translations$unit$tuber$es tuber = _Translations$unit$tuber$es._(_root);
|
|
@override late final _Translations$unit$seedHead$es seedHead = _Translations$unit$seedHead$es._(_root);
|
|
@override late final _Translations$unit$bunch$es bunch = _Translations$unit$bunch$es._(_root);
|
|
@override late final _Translations$unit$plant$es plant = _Translations$unit$plant$es._(_root);
|
|
@override late final _Translations$unit$pot$es pot = _Translations$unit$pot$es._(_root);
|
|
@override late final _Translations$unit$tray$es tray = _Translations$unit$tray$es._(_root);
|
|
@override late final _Translations$unit$seedling$es seedling = _Translations$unit$seedling$es._(_root);
|
|
@override late final _Translations$unit$tree$es tree = _Translations$unit$tree$es._(_root);
|
|
@override late final _Translations$unit$cutting$es cutting = _Translations$unit$cutting$es._(_root);
|
|
@override late final _Translations$unit$grams$es grams = _Translations$unit$grams$es._(_root);
|
|
@override late final _Translations$unit$count$es count = _Translations$unit$count$es._(_root);
|
|
}
|
|
|
|
// Path: unit.handful
|
|
class _Translations$unit$handful$es extends Translations$unit$handful$en {
|
|
_Translations$unit$handful$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'puñado';
|
|
@override String get plural => 'puñados';
|
|
}
|
|
|
|
// Path: unit.teaspoon
|
|
class _Translations$unit$teaspoon$es extends Translations$unit$teaspoon$en {
|
|
_Translations$unit$teaspoon$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'cucharadita';
|
|
@override String get plural => 'cucharaditas';
|
|
}
|
|
|
|
// Path: unit.spoon
|
|
class _Translations$unit$spoon$es extends Translations$unit$spoon$en {
|
|
_Translations$unit$spoon$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'cuchara';
|
|
@override String get plural => 'cucharas';
|
|
}
|
|
|
|
// Path: unit.cup
|
|
class _Translations$unit$cup$es extends Translations$unit$cup$en {
|
|
_Translations$unit$cup$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'taza';
|
|
@override String get plural => 'tazas';
|
|
}
|
|
|
|
// Path: unit.jar
|
|
class _Translations$unit$jar$es extends Translations$unit$jar$en {
|
|
_Translations$unit$jar$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'bote';
|
|
@override String get plural => 'botes';
|
|
}
|
|
|
|
// Path: unit.sack
|
|
class _Translations$unit$sack$es extends Translations$unit$sack$en {
|
|
_Translations$unit$sack$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'saco';
|
|
@override String get plural => 'sacos';
|
|
}
|
|
|
|
// Path: unit.packet
|
|
class _Translations$unit$packet$es extends Translations$unit$packet$en {
|
|
_Translations$unit$packet$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'sobre';
|
|
@override String get plural => 'sobres';
|
|
}
|
|
|
|
// Path: unit.cob
|
|
class _Translations$unit$cob$es extends Translations$unit$cob$en {
|
|
_Translations$unit$cob$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'mazorca';
|
|
@override String get plural => 'mazorcas';
|
|
}
|
|
|
|
// Path: unit.pod
|
|
class _Translations$unit$pod$es extends Translations$unit$pod$en {
|
|
_Translations$unit$pod$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'vaina';
|
|
@override String get plural => 'vainas';
|
|
}
|
|
|
|
// Path: unit.ear
|
|
class _Translations$unit$ear$es extends Translations$unit$ear$en {
|
|
_Translations$unit$ear$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'espiga';
|
|
@override String get plural => 'espigas';
|
|
}
|
|
|
|
// Path: unit.head
|
|
class _Translations$unit$head$es extends Translations$unit$head$en {
|
|
_Translations$unit$head$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'cabezuela';
|
|
@override String get plural => 'cabezuelas';
|
|
}
|
|
|
|
// Path: unit.fruit
|
|
class _Translations$unit$fruit$es extends Translations$unit$fruit$en {
|
|
_Translations$unit$fruit$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'fruto';
|
|
@override String get plural => 'frutos';
|
|
}
|
|
|
|
// Path: unit.bulb
|
|
class _Translations$unit$bulb$es extends Translations$unit$bulb$en {
|
|
_Translations$unit$bulb$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'bulbo';
|
|
@override String get plural => 'bulbos';
|
|
}
|
|
|
|
// Path: unit.tuber
|
|
class _Translations$unit$tuber$es extends Translations$unit$tuber$en {
|
|
_Translations$unit$tuber$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'tubérculo';
|
|
@override String get plural => 'tubérculos';
|
|
}
|
|
|
|
// Path: unit.seedHead
|
|
class _Translations$unit$seedHead$es extends Translations$unit$seedHead$en {
|
|
_Translations$unit$seedHead$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'cabeza de semillas';
|
|
@override String get plural => 'cabezas de semillas';
|
|
}
|
|
|
|
// Path: unit.bunch
|
|
class _Translations$unit$bunch$es extends Translations$unit$bunch$en {
|
|
_Translations$unit$bunch$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'manojo';
|
|
@override String get plural => 'manojos';
|
|
}
|
|
|
|
// Path: unit.plant
|
|
class _Translations$unit$plant$es extends Translations$unit$plant$en {
|
|
_Translations$unit$plant$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'planta';
|
|
@override String get plural => 'plantas';
|
|
}
|
|
|
|
// Path: unit.pot
|
|
class _Translations$unit$pot$es extends Translations$unit$pot$en {
|
|
_Translations$unit$pot$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'maceta';
|
|
@override String get plural => 'macetas';
|
|
}
|
|
|
|
// Path: unit.tray
|
|
class _Translations$unit$tray$es extends Translations$unit$tray$en {
|
|
_Translations$unit$tray$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'bandeja';
|
|
@override String get plural => 'bandejas';
|
|
}
|
|
|
|
// Path: unit.seedling
|
|
class _Translations$unit$seedling$es extends Translations$unit$seedling$en {
|
|
_Translations$unit$seedling$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'plántula';
|
|
@override String get plural => 'plántulas';
|
|
}
|
|
|
|
// Path: unit.tree
|
|
class _Translations$unit$tree$es extends Translations$unit$tree$en {
|
|
_Translations$unit$tree$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'árbol';
|
|
@override String get plural => 'árboles';
|
|
}
|
|
|
|
// Path: unit.cutting
|
|
class _Translations$unit$cutting$es extends Translations$unit$cutting$en {
|
|
_Translations$unit$cutting$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'esqueje';
|
|
@override String get plural => 'esquejes';
|
|
}
|
|
|
|
// Path: unit.grams
|
|
class _Translations$unit$grams$es extends Translations$unit$grams$en {
|
|
_Translations$unit$grams$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'gramo';
|
|
@override String get plural => 'gramos';
|
|
}
|
|
|
|
// Path: unit.count
|
|
class _Translations$unit$count$es extends Translations$unit$count$en {
|
|
_Translations$unit$count$es._(TranslationsEs root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsEs _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get singular => 'semilla';
|
|
@override String get plural => 'semillas';
|
|
}
|
|
|
|
/// The flat map containing all translations for locale <es>.
|
|
/// 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 TranslationsEs {
|
|
dynamic _flatMapFunction(String path) {
|
|
return switch (path) {
|
|
'app.title' => 'Tanemaki',
|
|
'common.save' => 'Guardar',
|
|
'common.cancel' => 'Cancelar',
|
|
'common.delete' => 'Eliminar',
|
|
'common.edit' => 'Editar',
|
|
'common.type' => 'Tipo',
|
|
'common.comingSoon' => 'Pronto',
|
|
'home.tagline' => 'Comparte y cultiva semillas locales',
|
|
'home.openMarket' => 'Mercado abierto',
|
|
'home.openMarketSubtitle' => 'Explora e intercambia',
|
|
'home.yourInventory' => 'Tu inventario',
|
|
'home.yourInventorySubtitle' => 'Gestiona tus semillas',
|
|
'photo.camera' => 'Hacer una foto',
|
|
'photo.gallery' => 'Elegir de la galería',
|
|
'photo.setAsCover' => 'Poner de portada',
|
|
'photo.isCover' => 'Foto de portada',
|
|
'photo.deleteConfirm' => '¿Borrar esta foto?',
|
|
'menu.tagline' => 'tu banco de semillas',
|
|
'menu.inventory' => 'Inventario',
|
|
'menu.market' => 'Mercado',
|
|
'menu.profile' => 'Tu perfil',
|
|
'menu.chat' => 'Chat',
|
|
'menu.wishlist' => 'Lista de deseos',
|
|
'menu.following' => 'Siguiendo',
|
|
'menu.settings' => 'Ajustes',
|
|
'settings.language' => 'Idioma',
|
|
'settings.systemLanguage' => 'Idioma del sistema',
|
|
'settings.langEs' => 'Español',
|
|
'settings.langEn' => 'English',
|
|
'settings.about' => 'Acerca de',
|
|
'settings.aboutText' => 'Inventario local y cifrado para semillas tradicionales. AGPL-3.0.',
|
|
'settings.aboutOpen' => 'Acerca de Tanemaki',
|
|
'about.title' => 'Acerca de',
|
|
'about.kanji' => '種まき',
|
|
'about.tagline' => 'Una app local-first y descentralizada para gestionar y compartir semillas y plantones tradicionales.',
|
|
'about.intro' => 'Tanemaki (種まき, «sembrar / esparcir semillas» en japonés; nombre corto Tane, 種 «semilla») ayuda a personas y colectivos a llevar un inventario amable de su banco de semillas, decidir qué ofrecen y compartirlo localmente — sin un intermediario central que pueda controlarlo, censurarlo o ser multado por ello. El objetivo es a la vez práctico y político: apoyar las variedades tradicionales de semillas y plantar cara al monopolio semillero.',
|
|
'about.heritage' => 'El nombre honra las viejas tradiciones japonesas de ayuda mutua en torno al arroz — yui (trabajo comunitario compartido) y tanomoshi (fondos de reciprocidad) — que inspiraron el papel Plantare, la «moneda comunitaria para el intercambio de semillas» (BAH-Semillero, 2009, CC-BY-SA). Tanemaki es el Plantare digital.',
|
|
'about.version' => 'Versión',
|
|
'about.license' => 'Licencia',
|
|
'about.licenseValue' => 'AGPL-3.0',
|
|
'about.website' => 'Sitio web',
|
|
'about.openSourceLicenses' => 'Licencias de código abierto',
|
|
'about.openSourceLicensesSubtitle' => 'Bibliotecas de terceros y sus licencias',
|
|
'inventory.title' => 'Inventario',
|
|
'inventory.searchHint' => 'Buscar semillas',
|
|
'inventory.empty' => 'Aún no hay semillas. Toca + para añadir la primera.',
|
|
'inventory.uncategorized' => 'Sin categoría',
|
|
'quickAdd.title' => 'Añadir una semilla',
|
|
'quickAdd.labelField' => 'Nombre',
|
|
'quickAdd.labelRequired' => 'Ponle un nombre',
|
|
'quickAdd.addPhoto' => 'Añadir foto',
|
|
'quickAdd.quantity' => '¿Cuánta?',
|
|
'quickAdd.more' => 'Añadir más…',
|
|
'quickAdd.save' => 'Guardar',
|
|
'quickAdd.cancel' => 'Cancelar',
|
|
'detail.notFound' => 'Esta semilla ya no está aquí.',
|
|
'detail.lots' => 'Lotes',
|
|
'detail.noLots' => 'Aún no hay lotes.',
|
|
'detail.names' => 'También conocida como',
|
|
'detail.addName' => 'Añadir nombre',
|
|
'detail.links' => 'Enlaces',
|
|
'detail.addLink' => 'Añadir enlace',
|
|
'detail.linkUrl' => 'URL',
|
|
'detail.linkTitle' => 'Título (opcional)',
|
|
'detail.notes' => 'Notas',
|
|
'detail.addLot' => 'Añadir lote',
|
|
'detail.editLot' => 'Editar lote',
|
|
'detail.deleteConfirm' => '¿Eliminar esta semilla?',
|
|
'detail.year' => ({required Object year}) => 'Año ${year}',
|
|
'detail.noYear' => 'Año desconocido',
|
|
'germination.title' => 'Germinación',
|
|
'germination.add' => 'Añadir prueba',
|
|
'germination.sampleSize' => 'Muestra',
|
|
'germination.germinated' => 'Germinadas',
|
|
'germination.none' => 'Aún no hay pruebas de germinación.',
|
|
'germination.result' => ({required Object percent}) => '${percent}%',
|
|
'editVariety.title' => 'Editar semilla',
|
|
'editVariety.name' => 'Nombre',
|
|
'editVariety.category' => 'Categoría',
|
|
'editVariety.notes' => 'Notas',
|
|
'editVariety.species' => 'Especie (del catálogo)',
|
|
'editVariety.speciesHint' => 'Buscar una especie…',
|
|
'addLot.title' => 'Añadir lote',
|
|
'addLot.year' => 'Fecha de cosecha',
|
|
'addLot.quantity' => '¿Cuánta?',
|
|
'addLot.amount' => 'Cantidad',
|
|
'harvest.pickTitle' => 'Seleccionar mes / año',
|
|
'harvest.anyMonth' => 'Cualquier mes',
|
|
'harvest.noDate' => 'Indicar fecha de cosecha',
|
|
'harvest.monthNames.0' => 'enero',
|
|
'harvest.monthNames.1' => 'febrero',
|
|
'harvest.monthNames.2' => 'marzo',
|
|
'harvest.monthNames.3' => 'abril',
|
|
'harvest.monthNames.4' => 'mayo',
|
|
'harvest.monthNames.5' => 'junio',
|
|
'harvest.monthNames.6' => 'julio',
|
|
'harvest.monthNames.7' => 'agosto',
|
|
'harvest.monthNames.8' => 'septiembre',
|
|
'harvest.monthNames.9' => 'octubre',
|
|
'harvest.monthNames.10' => 'noviembre',
|
|
'harvest.monthNames.11' => 'diciembre',
|
|
'lotType.seed' => 'Semillas',
|
|
'lotType.plant' => 'Planta',
|
|
'lotType.seedling' => 'Plantón',
|
|
'lotType.tree' => 'Árbol / arbusto',
|
|
'lotType.bulb' => 'Bulbo / tubérculo',
|
|
'lotType.cutting' => 'Esqueje',
|
|
'presentation.title' => 'Envase',
|
|
'presentation.none' => 'Sin especificar',
|
|
'presentation.pot' => 'Maceta',
|
|
'presentation.tray' => 'Bandeja',
|
|
'presentation.plug' => 'Alvéolo',
|
|
'presentation.bareRoot' => 'Raíz desnuda',
|
|
'presentation.rootBall' => 'Cepellón',
|
|
'unit.aFew' => 'unas pocas',
|
|
'unit.some' => 'algunas',
|
|
'unit.plenty' => 'muchas',
|
|
'unit.pinch' => 'una pizca',
|
|
'unit.handful.singular' => 'puñado',
|
|
'unit.handful.plural' => 'puñados',
|
|
'unit.teaspoon.singular' => 'cucharadita',
|
|
'unit.teaspoon.plural' => 'cucharaditas',
|
|
'unit.spoon.singular' => 'cuchara',
|
|
'unit.spoon.plural' => 'cucharas',
|
|
'unit.cup.singular' => 'taza',
|
|
'unit.cup.plural' => 'tazas',
|
|
'unit.jar.singular' => 'bote',
|
|
'unit.jar.plural' => 'botes',
|
|
'unit.sack.singular' => 'saco',
|
|
'unit.sack.plural' => 'sacos',
|
|
'unit.packet.singular' => 'sobre',
|
|
'unit.packet.plural' => 'sobres',
|
|
'unit.cob.singular' => 'mazorca',
|
|
'unit.cob.plural' => 'mazorcas',
|
|
'unit.pod.singular' => 'vaina',
|
|
'unit.pod.plural' => 'vainas',
|
|
'unit.ear.singular' => 'espiga',
|
|
'unit.ear.plural' => 'espigas',
|
|
'unit.head.singular' => 'cabezuela',
|
|
'unit.head.plural' => 'cabezuelas',
|
|
'unit.fruit.singular' => 'fruto',
|
|
'unit.fruit.plural' => 'frutos',
|
|
'unit.bulb.singular' => 'bulbo',
|
|
'unit.bulb.plural' => 'bulbos',
|
|
'unit.tuber.singular' => 'tubérculo',
|
|
'unit.tuber.plural' => 'tubérculos',
|
|
'unit.seedHead.singular' => 'cabeza de semillas',
|
|
'unit.seedHead.plural' => 'cabezas de semillas',
|
|
'unit.bunch.singular' => 'manojo',
|
|
'unit.bunch.plural' => 'manojos',
|
|
'unit.plant.singular' => 'planta',
|
|
'unit.plant.plural' => 'plantas',
|
|
'unit.pot.singular' => 'maceta',
|
|
'unit.pot.plural' => 'macetas',
|
|
'unit.tray.singular' => 'bandeja',
|
|
'unit.tray.plural' => 'bandejas',
|
|
'unit.seedling.singular' => 'plántula',
|
|
'unit.seedling.plural' => 'plántulas',
|
|
'unit.tree.singular' => 'árbol',
|
|
'unit.tree.plural' => 'árboles',
|
|
'unit.cutting.singular' => 'esqueje',
|
|
'unit.cutting.plural' => 'esquejes',
|
|
'unit.grams.singular' => 'gramo',
|
|
'unit.grams.plural' => 'gramos',
|
|
'unit.count.singular' => 'semilla',
|
|
'unit.count.plural' => 'semillas',
|
|
_ => null,
|
|
};
|
|
}
|
|
}
|