tane/apps/app_seeds/lib/i18n/es.i18n.json
vjrj 3942975dba feat(inventory): informal quantity scale (number + unit) + seed/plant lots
Rework quantities the way seeds are actually described — a number of an informal
unit — and let a lot hold seeds or plants (plantel).

Quantity model (commons_core):
- Quantity is now { kind, count?, label } — "3 cobs", "2 packets", "a few".
  Count is optional; uncountable vibes (a few, some, pinch) carry no number.
- QuantityKind reorganised into an ascending scale: vibes → containers
  (teaspoon/spoon/cup/jar/sack) → seed & fruit forms → plant units, each tagged
  countable/not. Stored by name; count reuses the existing numeric column.

Lot type (schema v2):
- Lots gain a `type` (seed | plant); germination stays meaningful for seeds.
  schemaVersion 2 with a from1To2 migration (adds the column), drift_schema_v2
  exported, migration test covers v1→v2.

UI:
- New QuantityPicker: a horizontal scale of large seed-glyph icons + a number
  stepper (shown only for countable units), plus a seed/plant SegmentedButton.
  Used in quick-add and add-lot. Lot lines render "3 cobs" / "a few".
- i18n: unit singular/plural (ES/EN, Weblate-friendly), lot-type labels.

Build: slang moved to its CLI (disabled in build_runner to avoid a multi-file
collision); CI runs `dart run slang` before build_runner. 38 tests green,
Linux migrates the existing v1 DB and runs.
2026-07-08 10:51:02 +02:00

92 lines
2.9 KiB
JSON

{
"app": {
"title": "Tanemaki"
},
"common": {
"save": "Guardar",
"cancel": "Cancelar",
"delete": "Eliminar",
"edit": "Editar",
"type": "Tipo"
},
"inventory": {
"title": "Inventario",
"searchHint": "Buscar semillas",
"empty": "Aún no hay semillas. Toca + para añadir la primera.",
"uncategorized": "Sin categoría"
},
"quickAdd": {
"title": "Añadir una semilla",
"labelField": "Nombre",
"labelRequired": "Ponle un nombre",
"addPhoto": "Añadir foto",
"quantity": "¿Cuánta?",
"more": "Añadir más…",
"save": "Guardar",
"cancel": "Cancelar"
},
"detail": {
"notFound": "Esta semilla ya no está aquí.",
"lots": "Lotes",
"noLots": "Aún no hay lotes.",
"names": "También conocida como",
"notes": "Notas",
"addLot": "Añadir lote",
"deleteConfirm": "¿Eliminar esta semilla?",
"year": "Año {year}",
"noYear": "Año desconocido"
},
"germination": {
"title": "Germinación",
"add": "Añadir prueba",
"sampleSize": "Muestra",
"germinated": "Germinadas",
"none": "Aún no hay pruebas de germinación.",
"result": "{percent}%"
},
"editVariety": {
"title": "Editar semilla",
"name": "Nombre",
"category": "Categoría",
"notes": "Notas",
"species": "Especie (del catálogo)",
"speciesHint": "Buscar una especie…"
},
"addLot": {
"title": "Añadir lote",
"year": "Año de cosecha",
"quantity": "¿Cuánta?",
"amount": "Cantidad"
},
"lotType": {
"seed": "Semillas",
"plant": "Plantel"
},
"unit": {
"aFew": "unas pocas",
"some": "algunas",
"plenty": "muchas",
"pinch": "una pizca",
"handful": { "singular": "puñado", "plural": "puñados" },
"teaspoon": { "singular": "cucharadita", "plural": "cucharaditas" },
"spoon": { "singular": "cuchara", "plural": "cucharas" },
"cup": { "singular": "taza", "plural": "tazas" },
"jar": { "singular": "bote", "plural": "botes" },
"sack": { "singular": "saco", "plural": "sacos" },
"packet": { "singular": "sobre", "plural": "sobres" },
"cob": { "singular": "mazorca", "plural": "mazorcas" },
"pod": { "singular": "vaina", "plural": "vainas" },
"ear": { "singular": "espiga", "plural": "espigas" },
"head": { "singular": "cabezuela", "plural": "cabezuelas" },
"fruit": { "singular": "fruto", "plural": "frutos" },
"bulb": { "singular": "bulbo", "plural": "bulbos" },
"tuber": { "singular": "tubérculo", "plural": "tubérculos" },
"seedHead": { "singular": "cabeza de semillas", "plural": "cabezas de semillas" },
"bunch": { "singular": "manojo", "plural": "manojos" },
"plant": { "singular": "planta", "plural": "plantas" },
"pot": { "singular": "maceta", "plural": "macetas" },
"tray": { "singular": "bandeja", "plural": "bandejas" },
"grams": { "singular": "gramo", "plural": "gramos" },
"count": { "singular": "semilla", "plural": "semillas" }
}
}