/// /// Generated file. Do not edit. /// // coverage:ignore-file // ignore_for_file: type=lint, unused_import // dart format off part of 'strings.g.dart'; // Path: typedef TranslationsEn = Translations; // ignore: unused_element class Translations with BaseTranslations { /// Returns the current translations of the given [context]. /// /// Usage: /// final t = Translations.of(context); static Translations of(BuildContext context) => InheritedLocaleData.of(context).translations; /// You can call this constructor and build your own translation instance of this locale. /// Constructing via the enum [AppLocale.build] is preferred. Translations({Map? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata? meta}) : assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'), $meta = meta ?? TranslationMetadata( locale: AppLocale.en, overrides: overrides ?? {}, cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver, ) { $meta.setFlatMapFunction(_flatMapFunction); } /// Metadata for the translations of . @override final TranslationMetadata $meta; /// Access flat map dynamic operator[](String key) => $meta.getTranslation(key); late final Translations _root = this; // ignore: unused_field Translations $copyWith({TranslationMetadata? meta}) => Translations(meta: meta ?? this.$meta); // Translations late final Translations$app$en app = Translations$app$en.internal(_root); late final Translations$common$en common = Translations$common$en.internal(_root); late final Translations$home$en home = Translations$home$en.internal(_root); late final Translations$photo$en photo = Translations$photo$en.internal(_root); late final Translations$menu$en menu = Translations$menu$en.internal(_root); late final Translations$settings$en settings = Translations$settings$en.internal(_root); late final Translations$backup$en backup = Translations$backup$en.internal(_root); late final Translations$about$en about = Translations$about$en.internal(_root); late final Translations$intro$en intro = Translations$intro$en.internal(_root); late final Translations$inventory$en inventory = Translations$inventory$en.internal(_root); late final Translations$draft$en draft = Translations$draft$en.internal(_root); late final Translations$quickAdd$en quickAdd = Translations$quickAdd$en.internal(_root); late final Translations$detail$en detail = Translations$detail$en.internal(_root); late final Translations$germination$en germination = Translations$germination$en.internal(_root); late final Translations$viability$en viability = Translations$viability$en.internal(_root); late final Translations$editVariety$en editVariety = Translations$editVariety$en.internal(_root); late final Translations$addLot$en addLot = Translations$addLot$en.internal(_root); late final Translations$harvest$en harvest = Translations$harvest$en.internal(_root); late final Translations$lotType$en lotType = Translations$lotType$en.internal(_root); late final Translations$presentation$en presentation = Translations$presentation$en.internal(_root); late final Translations$provenance$en provenance = Translations$provenance$en.internal(_root); late final Translations$abundance$en abundance = Translations$abundance$en.internal(_root); late final Translations$cropCalendar$en cropCalendar = Translations$cropCalendar$en.internal(_root); late final Translations$needsReproduction$en needsReproduction = Translations$needsReproduction$en.internal(_root); late final Translations$preservation$en preservation = Translations$preservation$en.internal(_root); late final Translations$conditionCheck$en conditionCheck = Translations$conditionCheck$en.internal(_root); late final Translations$desiccant$en desiccant = Translations$desiccant$en.internal(_root); late final Translations$unit$en unit = Translations$unit$en.internal(_root); } // Path: app class Translations$app$en { Translations$app$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Tanemaki' String get title => 'Tanemaki'; } // Path: common class Translations$common$en { Translations$common$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Save' String get save => 'Save'; /// en: 'Cancel' String get cancel => 'Cancel'; /// en: 'Delete' String get delete => 'Delete'; /// en: 'Edit' String get edit => 'Edit'; /// en: 'Type' String get type => 'Type'; /// en: 'Coming soon' String get comingSoon => 'Coming soon'; } // Path: home class Translations$home$en { Translations$home$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Share and grow local seeds' String get tagline => 'Share and grow local seeds'; /// en: 'Open market' String get openMarket => 'Open market'; /// en: 'Browse and exchange' String get openMarketSubtitle => 'Browse and exchange'; /// en: 'Your inventory' String get yourInventory => 'Your inventory'; /// en: 'Manage your seeds' String get yourInventorySubtitle => 'Manage your seeds'; } // Path: photo class Translations$photo$en { Translations$photo$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Take a photo' String get camera => 'Take a photo'; /// en: 'Choose from gallery' String get gallery => 'Choose from gallery'; /// en: 'Set as cover' String get setAsCover => 'Set as cover'; /// en: 'Cover photo' String get isCover => 'Cover photo'; /// en: 'Delete this photo?' String get deleteConfirm => 'Delete this photo?'; } // Path: menu class Translations$menu$en { Translations$menu$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'your seed bank' String get tagline => 'your seed bank'; /// en: 'Inventory' String get inventory => 'Inventory'; /// en: 'Market' String get market => 'Market'; /// en: 'Your profile' String get profile => 'Your profile'; /// en: 'Chat' String get chat => 'Chat'; /// en: 'Wishlist' String get wishlist => 'Wishlist'; /// en: 'Following' String get following => 'Following'; /// en: 'Settings' String get settings => 'Settings'; } // Path: settings class Translations$settings$en { Translations$settings$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Language' String get language => 'Language'; /// en: 'System language' String get systemLanguage => 'System language'; /// en: 'Español' String get langEs => 'Español'; /// en: 'English' String get langEn => 'English'; /// en: 'About' String get about => 'About'; /// en: 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.' String get aboutText => 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.'; /// en: 'About Tanemaki' String get aboutOpen => 'About Tanemaki'; } // Path: backup class Translations$backup$en { Translations$backup$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Backup & restore' String get title => 'Backup & restore'; /// en: 'Save a backup' String get exportJson => 'Save a backup'; /// en: 'A complete copy to keep safe, restore later or move to another device' String get exportJsonSubtitle => 'A complete copy to keep safe, restore later or move to another device'; /// en: 'Restore a backup' String get importJson => 'Restore a backup'; /// en: 'Bring a saved copy back — nothing gets duplicated' String get importJsonSubtitle => 'Bring a saved copy back — nothing gets duplicated'; /// en: 'Export to a spreadsheet' String get exportCsv => 'Export to a spreadsheet'; /// en: 'A simple list for Excel or LibreOffice — no photos' String get exportCsvSubtitle => 'A simple list for Excel or LibreOffice — no photos'; /// en: 'Import a list' String get importCsv => 'Import a list'; /// en: 'Add entries from a spreadsheet' String get importCsvSubtitle => 'Add entries from a spreadsheet'; /// en: 'Restore a backup?' String get importConfirmTitle => 'Restore a backup?'; /// en: 'Entries merge with your inventory; when the same entry exists on both sides, the newest version wins. Nothing gets duplicated.' String get importConfirmBody => 'Entries merge with your inventory; when the same entry exists on both sides, the newest version wins. Nothing gets duplicated.'; /// en: 'Import a list?' String get importCsvConfirmTitle => 'Import a list?'; /// en: 'Every row is added as a new entry. This does not merge or replace, so importing the same file twice adds it twice.' String get importCsvConfirmBody => 'Every row is added as a new entry. This does not merge or replace, so importing the same file twice adds it twice.'; /// en: 'Import' String get importAction => 'Import'; /// en: 'Copy saved' String get exportSaved => 'Copy saved'; /// en: 'Cancelled' String get cancelled => 'Cancelled'; /// en: 'Imported: {added} new, {updated} updated' String importDone({required Object added, required Object updated}) => 'Imported: ${added} new, ${updated} updated'; /// en: 'Added {count} entries' String importCsvDone({required Object count}) => 'Added ${count} entries'; /// en: 'This file could not be read as a Tanemaki copy' String get importFailed => 'This file could not be read as a Tanemaki copy'; /// en: 'Something went wrong' String get failed => 'Something went wrong'; } // Path: about class Translations$about$en { Translations$about$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'About' String get title => 'About'; /// en: '種まき' String get kanji => '種まき'; /// en: 'A local-first, decentralized app for managing and sharing traditional seeds and seedlings.' String get tagline => 'A local-first, decentralized app for managing and sharing traditional seeds and seedlings.'; /// en: 'Tanemaki (種まき, "to sow / scatter seeds" in Japanese; short name Tane, 種 "seed") helps people and collectives keep a friendly inventory of their seed bank, decide what they offer, and share it locally — without a central intermediary that could control, censor, or be fined for it. The goal is both practical and political: to support traditional seed varieties and push back against the seed monopoly.' String get intro => 'Tanemaki (種まき, "to sow / scatter seeds" in Japanese; short name Tane, 種 "seed") helps people and collectives keep a friendly inventory of their seed bank, decide what they offer, and share it locally — without a central intermediary that could control, censor, or be fined for it. The goal is both practical and political: to support traditional seed varieties and push back against the seed monopoly.'; /// en: 'The name honors the old Japanese mutual-aid traditions around rice — yui (shared community labour) and tanomoshi (reciprocity funds) — that inspired the paper Plantare, the "community currency for seed exchange" (BAH-Semillero, 2009, CC-BY-SA). Tanemaki is the digital Plantare.' String get heritage => 'The name honors the old Japanese mutual-aid traditions around rice — yui (shared community labour) and tanomoshi (reciprocity funds) — that inspired the paper Plantare, the "community currency for seed exchange" (BAH-Semillero, 2009, CC-BY-SA). Tanemaki is the digital Plantare.'; /// en: 'Version' String get version => 'Version'; /// en: 'License' String get license => 'License'; /// en: 'AGPL-3.0' String get licenseValue => 'AGPL-3.0'; /// en: 'Website' String get website => 'Website'; /// en: 'Open-source licenses' String get openSourceLicenses => 'Open-source licenses'; /// en: 'Third-party libraries and their licenses' String get openSourceLicensesSubtitle => 'Third-party libraries and their licenses'; } // Path: intro class Translations$intro$en { Translations$intro$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Skip' String get skip => 'Skip'; /// en: 'Next' String get next => 'Next'; /// en: 'Get started' String get start => 'Get started'; /// en: 'How Tanemaki works' String get menuEntry => 'How Tanemaki works'; late final Translations$intro$slides$en slides = Translations$intro$slides$en.internal(_root); } // Path: inventory class Translations$inventory$en { Translations$inventory$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Inventory' String get title => 'Inventory'; /// en: 'Search seeds' String get searchHint => 'Search seeds'; /// en: 'No seeds yet. Tap + to add your first.' String get empty => 'No seeds yet. Tap + to add your first.'; /// en: 'No seeds match your filters.' String get noMatches => 'No seeds match your filters.'; /// en: 'Clear filters' String get clearFilters => 'Clear filters'; /// en: 'Uncategorized' String get uncategorized => 'Uncategorized'; /// en: 'To regrow' String get needsReproductionFilter => 'To regrow'; } // Path: draft class Translations$draft$en { Translations$draft$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Capture photos' String get capture => 'Capture photos'; /// en: '{n} captured to catalogue' String captured({required Object n}) => '${n} captured to catalogue'; /// en: 'To catalogue' String get triageTitle => 'To catalogue'; /// en: '{n} to catalogue' String triageCount({required Object n}) => '${n} to catalogue'; /// en: 'Unnamed' String get untitled => 'Unnamed'; /// en: 'Name this seed' String get nameField => 'Name this seed'; /// en: 'What is it?' String get nameHint => 'What is it?'; /// en: 'Suggest name from photo' String get suggestFromPhoto => 'Suggest name from photo'; /// en: 'Discard' String get discard => 'Discard'; } // Path: quickAdd class Translations$quickAdd$en { Translations$quickAdd$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Add a seed' String get title => 'Add a seed'; /// en: 'Name' String get labelField => 'Name'; /// en: 'Give it a name' String get labelRequired => 'Give it a name'; /// en: 'Add photo' String get addPhoto => 'Add photo'; /// en: 'How much?' String get quantity => 'How much?'; /// en: 'Add more…' String get more => 'Add more…'; /// en: 'Save' String get save => 'Save'; /// en: 'Save & add another' String get saveAndAddAnother => 'Save & add another'; /// en: '{n} added' String addedCount({required Object n}) => '${n} added'; /// en: 'Cancel' String get cancel => 'Cancel'; } // Path: detail class Translations$detail$en { Translations$detail$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'This seed is no longer here.' String get notFound => 'This seed is no longer here.'; /// en: 'Lots' String get lots => 'Lots'; /// en: 'No lots yet.' String get noLots => 'No lots yet.'; /// en: 'Also known as' String get names => 'Also known as'; /// en: 'Add name' String get addName => 'Add name'; /// en: 'Links' String get links => 'Links'; /// en: 'Add link' String get addLink => 'Add link'; /// en: 'URL' String get linkUrl => 'URL'; /// en: 'Title (optional)' String get linkTitle => 'Title (optional)'; /// en: 'Notes' String get notes => 'Notes'; /// en: 'Add lot' String get addLot => 'Add lot'; /// en: 'Edit lot' String get editLot => 'Edit lot'; /// en: 'Delete this seed?' String get deleteConfirm => 'Delete this seed?'; /// en: 'Year {year}' String year({required Object year}) => 'Year ${year}'; /// en: 'Year unknown' String get noYear => 'Year unknown'; } // Path: germination class Translations$germination$en { Translations$germination$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Germination' String get title => 'Germination'; /// en: 'Add test' String get add => 'Add test'; /// en: 'Sample size' String get sampleSize => 'Sample size'; /// en: 'Germinated' String get germinated => 'Germinated'; /// en: 'No germination tests yet.' String get none => 'No germination tests yet.'; /// en: '{percent}%' String result({required Object percent}) => '${percent}%'; } // Path: viability class Translations$viability$en { Translations$viability$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Use or reproduce this season' String get expiringSoon => 'Use or reproduce this season'; /// en: 'Use or reproduce this season · keeps ~{years} yr' String expiringSoonYears({required Object years}) => 'Use or reproduce this season · keeps ~${years} yr'; /// en: 'Past typical viability — reproduce' String get expired => 'Past typical viability — reproduce'; /// en: 'Past typical viability (~{years} yr) — reproduce' String expiredYears({required Object years}) => 'Past typical viability (~${years} yr) — reproduce'; } // Path: editVariety class Translations$editVariety$en { Translations$editVariety$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Edit seed' String get title => 'Edit seed'; /// en: 'Name' String get name => 'Name'; /// en: 'Category' String get category => 'Category'; /// en: 'Notes' String get notes => 'Notes'; /// en: 'Species (from catalog)' String get species => 'Species (from catalog)'; /// en: 'Search a species…' String get speciesHint => 'Search a species…'; /// en: 'Organic' String get organic => 'Organic'; /// en: 'Grown organically (eco)' String get organicHint => 'Grown organically (eco)'; } // Path: addLot class Translations$addLot$en { Translations$addLot$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Add lot' String get title => 'Add lot'; /// en: 'Harvest date' String get year => 'Harvest date'; /// en: 'How much?' String get quantity => 'How much?'; /// en: 'Amount' String get amount => 'Amount'; } // Path: harvest class Translations$harvest$en { Translations$harvest$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Select month / year' String get pickTitle => 'Select month / year'; /// en: 'Any month' String get anyMonth => 'Any month'; /// en: 'Set harvest date' String get noDate => 'Set harvest date'; List get monthNames => [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ]; } // Path: lotType class Translations$lotType$en { Translations$lotType$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Seeds' String get seed => 'Seeds'; /// en: 'Plant' String get plant => 'Plant'; /// en: 'Seedling' String get seedling => 'Seedling'; /// en: 'Tree / shrub' String get tree => 'Tree / shrub'; /// en: 'Bulb / tuber' String get bulb => 'Bulb / tuber'; /// en: 'Cutting' String get cutting => 'Cutting'; } // Path: presentation class Translations$presentation$en { Translations$presentation$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Packaging' String get title => 'Packaging'; /// en: 'Unspecified' String get none => 'Unspecified'; /// en: 'Pot' String get pot => 'Pot'; /// en: 'Tray' String get tray => 'Tray'; /// en: 'Plug' String get plug => 'Plug'; /// en: 'Bare-root' String get bareRoot => 'Bare-root'; /// en: 'Root-ball' String get rootBall => 'Root-ball'; } // Path: provenance class Translations$provenance$en { Translations$provenance$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Where it's from' String get section => 'Where it\'s from'; /// en: 'Seeds from' String get seedsFrom => 'Seeds from'; /// en: 'Who grew or gave them' String get seedsFromHint => 'Who grew or gave them'; /// en: 'Place' String get place => 'Place'; /// en: 'Where they come from (with region)' String get placeHint => 'Where they come from (with region)'; /// en: 'Seeds from' String get addSeedsFrom => 'Seeds from'; /// en: 'Place' String get addPlace => 'Place'; } // Path: abundance class Translations$abundance$en { Translations$abundance$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'How much I have' String get add => 'How much I have'; /// en: 'How much I have' String get title => 'How much I have'; /// en: 'Not set' String get none => 'Not set'; /// en: 'Plenty to share' String get plentyToShare => 'Plenty to share'; /// en: 'Enough to share a little' String get enoughToShare => 'Enough to share a little'; /// en: 'Enough for me' String get enoughForMe => 'Enough for me'; /// en: 'Running low' String get runningLow => 'Running low'; } // Path: cropCalendar class Translations$cropCalendar$en { Translations$cropCalendar$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Crop calendar' String get add => 'Crop calendar'; /// en: 'Crop calendar' String get title => 'Crop calendar'; /// en: 'Sow' String get sow => 'Sow'; /// en: 'Transplant' String get transplant => 'Transplant'; /// en: 'Flowering' String get flowering => 'Flowering'; /// en: 'Fruiting' String get fruiting => 'Fruiting'; /// en: 'Seed harvest' String get seedHarvest => 'Seed harvest'; /// en: '—' String get unset => '—'; } // Path: needsReproduction class Translations$needsReproduction$en { Translations$needsReproduction$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'To regrow this season' String get label => 'To regrow this season'; /// en: 'Grow it out before the seed runs out' String get hint => 'Grow it out before the seed runs out'; /// en: 'To regrow' String get badge => 'To regrow'; } // Path: preservation class Translations$preservation$en { Translations$preservation$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'How it's kept' String get add => 'How it\'s kept'; /// en: 'How it's kept' String get title => 'How it\'s kept'; /// en: 'Unspecified' String get none => 'Unspecified'; /// en: 'Jar with drying agent' String get jarWithDesiccant => 'Jar with drying agent'; /// en: 'Glass jar' String get glassJar => 'Glass jar'; /// en: 'Paper envelope' String get paperEnvelope => 'Paper envelope'; /// en: 'Paper bag' String get paperBag => 'Paper bag'; /// en: 'Plastic bag' String get plasticBag => 'Plastic bag'; } // Path: conditionCheck class Translations$conditionCheck$en { Translations$conditionCheck$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Storage & seed-bank details' String get advanced => 'Storage & seed-bank details'; /// en: 'Storage checks' String get title => 'Storage checks'; /// en: 'Add check' String get add => 'Add check'; /// en: 'Jars / containers' String get containers => 'Jars / containers'; /// en: 'Drying agent' String get desiccant => 'Drying agent'; /// en: 'No storage checks yet.' String get none => 'No storage checks yet.'; /// en: '{count} jar(s) · {state}' String summary({required Object count, required Object state}) => '${count} jar(s) · ${state}'; } // Path: desiccant class Translations$desiccant$en { Translations$desiccant$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'None' String get none => 'None'; /// en: 'Add some' String get add => 'Add some'; /// en: 'Replace it' String get replace => 'Replace it'; /// en: 'Blue — dry' String get dry => 'Blue — dry'; /// en: 'Just renewed' String get fresh => 'Just renewed'; } // Path: unit class Translations$unit$en { Translations$unit$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'a few' String get aFew => 'a few'; /// en: 'some' String get some => 'some'; /// en: 'plenty' String get plenty => 'plenty'; /// en: 'a pinch' String get pinch => 'a pinch'; late final Translations$unit$handful$en handful = Translations$unit$handful$en.internal(_root); late final Translations$unit$teaspoon$en teaspoon = Translations$unit$teaspoon$en.internal(_root); late final Translations$unit$spoon$en spoon = Translations$unit$spoon$en.internal(_root); late final Translations$unit$cup$en cup = Translations$unit$cup$en.internal(_root); late final Translations$unit$jar$en jar = Translations$unit$jar$en.internal(_root); late final Translations$unit$sack$en sack = Translations$unit$sack$en.internal(_root); late final Translations$unit$packet$en packet = Translations$unit$packet$en.internal(_root); late final Translations$unit$cob$en cob = Translations$unit$cob$en.internal(_root); late final Translations$unit$pod$en pod = Translations$unit$pod$en.internal(_root); late final Translations$unit$ear$en ear = Translations$unit$ear$en.internal(_root); late final Translations$unit$head$en head = Translations$unit$head$en.internal(_root); late final Translations$unit$fruit$en fruit = Translations$unit$fruit$en.internal(_root); late final Translations$unit$bulb$en bulb = Translations$unit$bulb$en.internal(_root); late final Translations$unit$tuber$en tuber = Translations$unit$tuber$en.internal(_root); late final Translations$unit$seedHead$en seedHead = Translations$unit$seedHead$en.internal(_root); late final Translations$unit$bunch$en bunch = Translations$unit$bunch$en.internal(_root); late final Translations$unit$plant$en plant = Translations$unit$plant$en.internal(_root); late final Translations$unit$pot$en pot = Translations$unit$pot$en.internal(_root); late final Translations$unit$tray$en tray = Translations$unit$tray$en.internal(_root); late final Translations$unit$seedling$en seedling = Translations$unit$seedling$en.internal(_root); late final Translations$unit$tree$en tree = Translations$unit$tree$en.internal(_root); late final Translations$unit$cutting$en cutting = Translations$unit$cutting$en.internal(_root); late final Translations$unit$grams$en grams = Translations$unit$grams$en.internal(_root); late final Translations$unit$count$en count = Translations$unit$count$en.internal(_root); } // Path: intro.slides class Translations$intro$slides$en { Translations$intro$slides$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations late final Translations$intro$slides$welcome$en welcome = Translations$intro$slides$welcome$en.internal(_root); late final Translations$intro$slides$inventory$en inventory = Translations$intro$slides$inventory$en.internal(_root); late final Translations$intro$slides$privacy$en privacy = Translations$intro$slides$privacy$en.internal(_root); late final Translations$intro$slides$share$en share = Translations$intro$slides$share$en.internal(_root); late final Translations$intro$slides$plantare$en plantare = Translations$intro$slides$plantare$en.internal(_root); } // Path: unit.handful class Translations$unit$handful$en { Translations$unit$handful$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'handful' String get singular => 'handful'; /// en: 'handfuls' String get plural => 'handfuls'; } // Path: unit.teaspoon class Translations$unit$teaspoon$en { Translations$unit$teaspoon$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'teaspoon' String get singular => 'teaspoon'; /// en: 'teaspoons' String get plural => 'teaspoons'; } // Path: unit.spoon class Translations$unit$spoon$en { Translations$unit$spoon$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'spoon' String get singular => 'spoon'; /// en: 'spoons' String get plural => 'spoons'; } // Path: unit.cup class Translations$unit$cup$en { Translations$unit$cup$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'cup' String get singular => 'cup'; /// en: 'cups' String get plural => 'cups'; } // Path: unit.jar class Translations$unit$jar$en { Translations$unit$jar$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'jar' String get singular => 'jar'; /// en: 'jars' String get plural => 'jars'; } // Path: unit.sack class Translations$unit$sack$en { Translations$unit$sack$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'sack' String get singular => 'sack'; /// en: 'sacks' String get plural => 'sacks'; } // Path: unit.packet class Translations$unit$packet$en { Translations$unit$packet$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'packet' String get singular => 'packet'; /// en: 'packets' String get plural => 'packets'; } // Path: unit.cob class Translations$unit$cob$en { Translations$unit$cob$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'cob' String get singular => 'cob'; /// en: 'cobs' String get plural => 'cobs'; } // Path: unit.pod class Translations$unit$pod$en { Translations$unit$pod$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'pod' String get singular => 'pod'; /// en: 'pods' String get plural => 'pods'; } // Path: unit.ear class Translations$unit$ear$en { Translations$unit$ear$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'ear' String get singular => 'ear'; /// en: 'ears' String get plural => 'ears'; } // Path: unit.head class Translations$unit$head$en { Translations$unit$head$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'head' String get singular => 'head'; /// en: 'heads' String get plural => 'heads'; } // Path: unit.fruit class Translations$unit$fruit$en { Translations$unit$fruit$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'fruit' String get singular => 'fruit'; /// en: 'fruits' String get plural => 'fruits'; } // Path: unit.bulb class Translations$unit$bulb$en { Translations$unit$bulb$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'bulb' String get singular => 'bulb'; /// en: 'bulbs' String get plural => 'bulbs'; } // Path: unit.tuber class Translations$unit$tuber$en { Translations$unit$tuber$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'tuber' String get singular => 'tuber'; /// en: 'tubers' String get plural => 'tubers'; } // Path: unit.seedHead class Translations$unit$seedHead$en { Translations$unit$seedHead$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'seed head' String get singular => 'seed head'; /// en: 'seed heads' String get plural => 'seed heads'; } // Path: unit.bunch class Translations$unit$bunch$en { Translations$unit$bunch$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'bunch' String get singular => 'bunch'; /// en: 'bunches' String get plural => 'bunches'; } // Path: unit.plant class Translations$unit$plant$en { Translations$unit$plant$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'plant' String get singular => 'plant'; /// en: 'plants' String get plural => 'plants'; } // Path: unit.pot class Translations$unit$pot$en { Translations$unit$pot$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'pot' String get singular => 'pot'; /// en: 'pots' String get plural => 'pots'; } // Path: unit.tray class Translations$unit$tray$en { Translations$unit$tray$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'tray' String get singular => 'tray'; /// en: 'trays' String get plural => 'trays'; } // Path: unit.seedling class Translations$unit$seedling$en { Translations$unit$seedling$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'seedling' String get singular => 'seedling'; /// en: 'seedlings' String get plural => 'seedlings'; } // Path: unit.tree class Translations$unit$tree$en { Translations$unit$tree$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'tree' String get singular => 'tree'; /// en: 'trees' String get plural => 'trees'; } // Path: unit.cutting class Translations$unit$cutting$en { Translations$unit$cutting$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'cutting' String get singular => 'cutting'; /// en: 'cuttings' String get plural => 'cuttings'; } // Path: unit.grams class Translations$unit$grams$en { Translations$unit$grams$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'gram' String get singular => 'gram'; /// en: 'grams' String get plural => 'grams'; } // Path: unit.count class Translations$unit$count$en { Translations$unit$count$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'seed' String get singular => 'seed'; /// en: 'seeds' String get plural => 'seeds'; } // Path: intro.slides.welcome class Translations$intro$slides$welcome$en { Translations$intro$slides$welcome$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'The seed that brought you here' String get title => 'The seed that brought you here'; /// en: 'Every traditional seed is a letter written by thousands of generations, passed from hand to hand. We are what we are thanks to that sharing.' String get body => 'Every traditional seed is a letter written by thousands of generations, passed from hand to hand. We are what we are thanks to that sharing.'; } // Path: intro.slides.inventory class Translations$intro$slides$inventory$en { Translations$intro$slides$inventory$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Your seed bank, in your pocket' String get title => 'Your seed bank, in your pocket'; /// en: 'Note what you have, from which year, how much and where it came from — with the name you use. A photo and a name are enough to start.' String get body => 'Note what you have, from which year, how much and where it came from — with the name you use. A photo and a name are enough to start.'; } // Path: intro.slides.privacy class Translations$intro$slides$privacy$en { Translations$intro$slides$privacy$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Yours, and only yours' String get title => 'Yours, and only yours'; /// en: 'No account, no internet, no trackers. Your data lives encrypted on your device, and only what you choose is ever shared.' String get body => 'No account, no internet, no trackers. Your data lives encrypted on your device, and only what you choose is ever shared.'; } // Path: intro.slides.share class Translations$intro$slides$share$en { Translations$intro$slides$share$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'Share, the way it's always been done' String get title => 'Share, the way it\'s always been done'; /// en: 'Offer what you have spare — gift, swap or sell — and let someone nearby find it. Only an approximate distance is shown, never your address; you close the deal in person.' String get body => 'Offer what you have spare — gift, swap or sell — and let someone nearby find it. Only an approximate distance is shown, never your address; you close the deal in person.'; } // Path: intro.slides.plantare class Translations$intro$slides$plantare$en { Translations$intro$slides$plantare$en.internal(this._root); final Translations _root; // ignore: unused_field // Translations /// en: 'To sow is to multiply' String get title => 'To sow is to multiply'; /// en: 'With a Plantare, whoever receives seed promises to return some later. And since returning it means growing it, every loan multiplies the commons.' String get body => 'With a Plantare, whoever receives seed promises to return some later. And since returning it means growing it, every loan multiplies the commons.'; } /// The flat map containing all translations for locale . /// 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 Translations { dynamic _flatMapFunction(String path) { return switch (path) { 'app.title' => 'Tanemaki', 'common.save' => 'Save', 'common.cancel' => 'Cancel', 'common.delete' => 'Delete', 'common.edit' => 'Edit', 'common.type' => 'Type', 'common.comingSoon' => 'Coming soon', 'home.tagline' => 'Share and grow local seeds', 'home.openMarket' => 'Open market', 'home.openMarketSubtitle' => 'Browse and exchange', 'home.yourInventory' => 'Your inventory', 'home.yourInventorySubtitle' => 'Manage your seeds', 'photo.camera' => 'Take a photo', 'photo.gallery' => 'Choose from gallery', 'photo.setAsCover' => 'Set as cover', 'photo.isCover' => 'Cover photo', 'photo.deleteConfirm' => 'Delete this photo?', 'menu.tagline' => 'your seed bank', 'menu.inventory' => 'Inventory', 'menu.market' => 'Market', 'menu.profile' => 'Your profile', 'menu.chat' => 'Chat', 'menu.wishlist' => 'Wishlist', 'menu.following' => 'Following', 'menu.settings' => 'Settings', 'settings.language' => 'Language', 'settings.systemLanguage' => 'System language', 'settings.langEs' => 'Español', 'settings.langEn' => 'English', 'settings.about' => 'About', 'settings.aboutText' => 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.', 'settings.aboutOpen' => 'About Tanemaki', 'backup.title' => 'Backup & restore', 'backup.exportJson' => 'Save a backup', 'backup.exportJsonSubtitle' => 'A complete copy to keep safe, restore later or move to another device', 'backup.importJson' => 'Restore a backup', 'backup.importJsonSubtitle' => 'Bring a saved copy back — nothing gets duplicated', 'backup.exportCsv' => 'Export to a spreadsheet', 'backup.exportCsvSubtitle' => 'A simple list for Excel or LibreOffice — no photos', 'backup.importCsv' => 'Import a list', 'backup.importCsvSubtitle' => 'Add entries from a spreadsheet', 'backup.importConfirmTitle' => 'Restore a backup?', 'backup.importConfirmBody' => 'Entries merge with your inventory; when the same entry exists on both sides, the newest version wins. Nothing gets duplicated.', 'backup.importCsvConfirmTitle' => 'Import a list?', 'backup.importCsvConfirmBody' => 'Every row is added as a new entry. This does not merge or replace, so importing the same file twice adds it twice.', 'backup.importAction' => 'Import', 'backup.exportSaved' => 'Copy saved', 'backup.cancelled' => 'Cancelled', 'backup.importDone' => ({required Object added, required Object updated}) => 'Imported: ${added} new, ${updated} updated', 'backup.importCsvDone' => ({required Object count}) => 'Added ${count} entries', 'backup.importFailed' => 'This file could not be read as a Tanemaki copy', 'backup.failed' => 'Something went wrong', 'about.title' => 'About', 'about.kanji' => '種まき', 'about.tagline' => 'A local-first, decentralized app for managing and sharing traditional seeds and seedlings.', 'about.intro' => 'Tanemaki (種まき, "to sow / scatter seeds" in Japanese; short name Tane, 種 "seed") helps people and collectives keep a friendly inventory of their seed bank, decide what they offer, and share it locally — without a central intermediary that could control, censor, or be fined for it. The goal is both practical and political: to support traditional seed varieties and push back against the seed monopoly.', 'about.heritage' => 'The name honors the old Japanese mutual-aid traditions around rice — yui (shared community labour) and tanomoshi (reciprocity funds) — that inspired the paper Plantare, the "community currency for seed exchange" (BAH-Semillero, 2009, CC-BY-SA). Tanemaki is the digital Plantare.', 'about.version' => 'Version', 'about.license' => 'License', 'about.licenseValue' => 'AGPL-3.0', 'about.website' => 'Website', 'about.openSourceLicenses' => 'Open-source licenses', 'about.openSourceLicensesSubtitle' => 'Third-party libraries and their licenses', 'intro.skip' => 'Skip', 'intro.next' => 'Next', 'intro.start' => 'Get started', 'intro.menuEntry' => 'How Tanemaki works', 'intro.slides.welcome.title' => 'The seed that brought you here', 'intro.slides.welcome.body' => 'Every traditional seed is a letter written by thousands of generations, passed from hand to hand. We are what we are thanks to that sharing.', 'intro.slides.inventory.title' => 'Your seed bank, in your pocket', 'intro.slides.inventory.body' => 'Note what you have, from which year, how much and where it came from — with the name you use. A photo and a name are enough to start.', 'intro.slides.privacy.title' => 'Yours, and only yours', 'intro.slides.privacy.body' => 'No account, no internet, no trackers. Your data lives encrypted on your device, and only what you choose is ever shared.', 'intro.slides.share.title' => 'Share, the way it\'s always been done', 'intro.slides.share.body' => 'Offer what you have spare — gift, swap or sell — and let someone nearby find it. Only an approximate distance is shown, never your address; you close the deal in person.', 'intro.slides.plantare.title' => 'To sow is to multiply', 'intro.slides.plantare.body' => 'With a Plantare, whoever receives seed promises to return some later. And since returning it means growing it, every loan multiplies the commons.', 'inventory.title' => 'Inventory', 'inventory.searchHint' => 'Search seeds', 'inventory.empty' => 'No seeds yet. Tap + to add your first.', 'inventory.noMatches' => 'No seeds match your filters.', 'inventory.clearFilters' => 'Clear filters', 'inventory.uncategorized' => 'Uncategorized', 'inventory.needsReproductionFilter' => 'To regrow', 'draft.capture' => 'Capture photos', 'draft.captured' => ({required Object n}) => '${n} captured to catalogue', 'draft.triageTitle' => 'To catalogue', 'draft.triageCount' => ({required Object n}) => '${n} to catalogue', 'draft.untitled' => 'Unnamed', 'draft.nameField' => 'Name this seed', 'draft.nameHint' => 'What is it?', 'draft.suggestFromPhoto' => 'Suggest name from photo', 'draft.discard' => 'Discard', 'quickAdd.title' => 'Add a seed', 'quickAdd.labelField' => 'Name', 'quickAdd.labelRequired' => 'Give it a name', 'quickAdd.addPhoto' => 'Add photo', 'quickAdd.quantity' => 'How much?', 'quickAdd.more' => 'Add more…', 'quickAdd.save' => 'Save', 'quickAdd.saveAndAddAnother' => 'Save & add another', 'quickAdd.addedCount' => ({required Object n}) => '${n} added', 'quickAdd.cancel' => 'Cancel', 'detail.notFound' => 'This seed is no longer here.', 'detail.lots' => 'Lots', 'detail.noLots' => 'No lots yet.', 'detail.names' => 'Also known as', 'detail.addName' => 'Add name', 'detail.links' => 'Links', 'detail.addLink' => 'Add link', 'detail.linkUrl' => 'URL', 'detail.linkTitle' => 'Title (optional)', 'detail.notes' => 'Notes', 'detail.addLot' => 'Add lot', 'detail.editLot' => 'Edit lot', 'detail.deleteConfirm' => 'Delete this seed?', 'detail.year' => ({required Object year}) => 'Year ${year}', 'detail.noYear' => 'Year unknown', 'germination.title' => 'Germination', 'germination.add' => 'Add test', 'germination.sampleSize' => 'Sample size', 'germination.germinated' => 'Germinated', 'germination.none' => 'No germination tests yet.', 'germination.result' => ({required Object percent}) => '${percent}%', 'viability.expiringSoon' => 'Use or reproduce this season', 'viability.expiringSoonYears' => ({required Object years}) => 'Use or reproduce this season · keeps ~${years} yr', 'viability.expired' => 'Past typical viability — reproduce', 'viability.expiredYears' => ({required Object years}) => 'Past typical viability (~${years} yr) — reproduce', 'editVariety.title' => 'Edit seed', 'editVariety.name' => 'Name', 'editVariety.category' => 'Category', 'editVariety.notes' => 'Notes', 'editVariety.species' => 'Species (from catalog)', 'editVariety.speciesHint' => 'Search a species…', 'editVariety.organic' => 'Organic', 'editVariety.organicHint' => 'Grown organically (eco)', 'addLot.title' => 'Add lot', 'addLot.year' => 'Harvest date', 'addLot.quantity' => 'How much?', 'addLot.amount' => 'Amount', 'harvest.pickTitle' => 'Select month / year', 'harvest.anyMonth' => 'Any month', 'harvest.noDate' => 'Set harvest date', 'harvest.monthNames.0' => 'January', 'harvest.monthNames.1' => 'February', 'harvest.monthNames.2' => 'March', 'harvest.monthNames.3' => 'April', 'harvest.monthNames.4' => 'May', 'harvest.monthNames.5' => 'June', 'harvest.monthNames.6' => 'July', 'harvest.monthNames.7' => 'August', 'harvest.monthNames.8' => 'September', 'harvest.monthNames.9' => 'October', 'harvest.monthNames.10' => 'November', 'harvest.monthNames.11' => 'December', 'lotType.seed' => 'Seeds', 'lotType.plant' => 'Plant', 'lotType.seedling' => 'Seedling', 'lotType.tree' => 'Tree / shrub', 'lotType.bulb' => 'Bulb / tuber', 'lotType.cutting' => 'Cutting', 'presentation.title' => 'Packaging', 'presentation.none' => 'Unspecified', 'presentation.pot' => 'Pot', 'presentation.tray' => 'Tray', 'presentation.plug' => 'Plug', 'presentation.bareRoot' => 'Bare-root', 'presentation.rootBall' => 'Root-ball', 'provenance.section' => 'Where it\'s from', 'provenance.seedsFrom' => 'Seeds from', 'provenance.seedsFromHint' => 'Who grew or gave them', 'provenance.place' => 'Place', 'provenance.placeHint' => 'Where they come from (with region)', 'provenance.addSeedsFrom' => 'Seeds from', 'provenance.addPlace' => 'Place', 'abundance.add' => 'How much I have', 'abundance.title' => 'How much I have', 'abundance.none' => 'Not set', 'abundance.plentyToShare' => 'Plenty to share', 'abundance.enoughToShare' => 'Enough to share a little', 'abundance.enoughForMe' => 'Enough for me', 'abundance.runningLow' => 'Running low', 'cropCalendar.add' => 'Crop calendar', 'cropCalendar.title' => 'Crop calendar', 'cropCalendar.sow' => 'Sow', 'cropCalendar.transplant' => 'Transplant', 'cropCalendar.flowering' => 'Flowering', 'cropCalendar.fruiting' => 'Fruiting', 'cropCalendar.seedHarvest' => 'Seed harvest', 'cropCalendar.unset' => '—', 'needsReproduction.label' => 'To regrow this season', 'needsReproduction.hint' => 'Grow it out before the seed runs out', 'needsReproduction.badge' => 'To regrow', 'preservation.add' => 'How it\'s kept', 'preservation.title' => 'How it\'s kept', 'preservation.none' => 'Unspecified', 'preservation.jarWithDesiccant' => 'Jar with drying agent', 'preservation.glassJar' => 'Glass jar', 'preservation.paperEnvelope' => 'Paper envelope', 'preservation.paperBag' => 'Paper bag', 'preservation.plasticBag' => 'Plastic bag', 'conditionCheck.advanced' => 'Storage & seed-bank details', 'conditionCheck.title' => 'Storage checks', 'conditionCheck.add' => 'Add check', 'conditionCheck.containers' => 'Jars / containers', 'conditionCheck.desiccant' => 'Drying agent', 'conditionCheck.none' => 'No storage checks yet.', 'conditionCheck.summary' => ({required Object count, required Object state}) => '${count} jar(s) · ${state}', 'desiccant.none' => 'None', 'desiccant.add' => 'Add some', 'desiccant.replace' => 'Replace it', 'desiccant.dry' => 'Blue — dry', 'desiccant.fresh' => 'Just renewed', 'unit.aFew' => 'a few', 'unit.some' => 'some', 'unit.plenty' => 'plenty', 'unit.pinch' => 'a pinch', 'unit.handful.singular' => 'handful', 'unit.handful.plural' => 'handfuls', 'unit.teaspoon.singular' => 'teaspoon', 'unit.teaspoon.plural' => 'teaspoons', 'unit.spoon.singular' => 'spoon', 'unit.spoon.plural' => 'spoons', 'unit.cup.singular' => 'cup', 'unit.cup.plural' => 'cups', 'unit.jar.singular' => 'jar', 'unit.jar.plural' => 'jars', 'unit.sack.singular' => 'sack', 'unit.sack.plural' => 'sacks', 'unit.packet.singular' => 'packet', 'unit.packet.plural' => 'packets', 'unit.cob.singular' => 'cob', 'unit.cob.plural' => 'cobs', 'unit.pod.singular' => 'pod', 'unit.pod.plural' => 'pods', 'unit.ear.singular' => 'ear', 'unit.ear.plural' => 'ears', 'unit.head.singular' => 'head', 'unit.head.plural' => 'heads', 'unit.fruit.singular' => 'fruit', 'unit.fruit.plural' => 'fruits', 'unit.bulb.singular' => 'bulb', 'unit.bulb.plural' => 'bulbs', 'unit.tuber.singular' => 'tuber', 'unit.tuber.plural' => 'tubers', 'unit.seedHead.singular' => 'seed head', 'unit.seedHead.plural' => 'seed heads', 'unit.bunch.singular' => 'bunch', 'unit.bunch.plural' => 'bunches', 'unit.plant.singular' => 'plant', 'unit.plant.plural' => 'plants', 'unit.pot.singular' => 'pot', 'unit.pot.plural' => 'pots', 'unit.tray.singular' => 'tray', 'unit.tray.plural' => 'trays', 'unit.seedling.singular' => 'seedling', 'unit.seedling.plural' => 'seedlings', 'unit.tree.singular' => 'tree', 'unit.tree.plural' => 'trees', 'unit.cutting.singular' => 'cutting', 'unit.cutting.plural' => 'cuttings', 'unit.grams.singular' => 'gram', 'unit.grams.plural' => 'grams', 'unit.count.singular' => 'seed', 'unit.count.plural' => 'seeds', _ => null, }; } }