/// /// 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$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$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$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' String get title => 'Backup'; /// en: 'Export as CSV' String get exportCsv => 'Export as CSV'; /// en: 'For spreadsheets — no photos' String get exportCsvSubtitle => 'For spreadsheets — no photos'; /// en: 'Export as JSON' String get exportJson => 'Export as JSON'; /// en: 'Complete copy, can be imported back' String get exportJsonSubtitle => 'Complete copy, can be imported back'; /// en: 'Import from JSON' String get importJson => 'Import from JSON'; /// en: 'Merge a saved copy into this inventory' String get importJsonSubtitle => 'Merge a saved copy into this inventory'; /// en: 'Import from CSV' String get importCsv => 'Import from CSV'; /// en: 'Add a list from a spreadsheet' String get importCsvSubtitle => 'Add a list from a spreadsheet'; /// en: 'Import a saved copy?' String get importConfirmTitle => 'Import a saved copy?'; /// 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 CSV list?' String get importCsvConfirmTitle => 'Import a CSV 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: 'Imported {count} from CSV' String importCsvDone({required Object count}) => 'Imported ${count} from CSV'; /// 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'; } // 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: '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: 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…'; } // 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: 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', 'backup.exportCsv' => 'Export as CSV', 'backup.exportCsvSubtitle' => 'For spreadsheets — no photos', 'backup.exportJson' => 'Export as JSON', 'backup.exportJsonSubtitle' => 'Complete copy, can be imported back', 'backup.importJson' => 'Import from JSON', 'backup.importJsonSubtitle' => 'Merge a saved copy into this inventory', 'backup.importCsv' => 'Import from CSV', 'backup.importCsvSubtitle' => 'Add a list from a spreadsheet', 'backup.importConfirmTitle' => 'Import a saved copy?', '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 CSV 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}) => 'Imported ${count} from CSV', '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', '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.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}%', 'editVariety.title' => 'Edit seed', 'editVariety.name' => 'Name', 'editVariety.category' => 'Category', 'editVariety.notes' => 'Notes', 'editVariety.species' => 'Species (from catalog)', 'editVariety.speciesHint' => 'Search a species…', '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', '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, }; } }