refactor(branding): rename app Tanemaki → Tane

Public name is now Tane (種, "seed"); Tanemaki (種まき, "to scatter seeds")
is kept only as etymology in the About screen and onboarding.

App not yet distributed, so format tokens rename cleanly with no migration:
backup extension .tanemaki→.tane, QR scheme tanemaki://→tane://, file
prefixes tane-*. Website link and species-catalog User-Agent →
tane.comunes.org. Android label capitalised to "Tane".

Identity/crypto constants already use org.comunes.tane (derivation, HKDF
backup, sync namespace, TANE1 recovery tag) — left untouched, so keys,
backups and sync are unaffected. Tests updated; analyze + full suite green.
This commit is contained in:
vjrj 2026-07-12 13:04:16 +02:00
parent b22db7d0cb
commit 064248144a
34 changed files with 180 additions and 180 deletions

View file

@ -224,8 +224,8 @@ class Translations$app$en {
// Translations
/// en: 'Tanemaki'
String get title => 'Tanemaki';
/// en: 'Tane'
String get title => 'Tane';
}
// Path: bootstrap
@ -236,8 +236,8 @@ class Translations$bootstrap$en {
// Translations
/// en: 'Tanemaki couldn't start'
String get failed => 'Tanemaki couldn\'t start';
/// en: 'Tane couldn't start'
String get failed => 'Tane couldn\'t start';
/// en: 'Try again'
String get retry => 'Try again';
@ -395,8 +395,8 @@ class Translations$settings$en {
/// 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';
/// en: 'About Tane'
String get aboutOpen => 'About Tane';
}
// Path: backup
@ -470,8 +470,8 @@ class Translations$backup$en {
/// 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: 'This file could not be read as a Tane copy'
String get importFailed => 'This file could not be read as a Tane copy';
/// en: 'Something went wrong'
String get failed => 'Something went wrong';
@ -491,8 +491,8 @@ class Translations$backup$en {
/// en: 'Save the sheet'
String get recoverySave => 'Save the sheet';
/// en: 'Tanemaki — your recovery sheet'
String get recoverySheetTitle => 'Tanemaki — your recovery sheet';
/// en: 'Tane — your recovery sheet'
String get recoverySheetTitle => 'Tane — your recovery sheet';
/// en: 'Enter your recovery code'
String get recoveryPromptTitle => 'Enter your recovery code';
@ -515,17 +515,17 @@ class Translations$about$en {
/// en: 'About'
String get title => 'About';
/// en: 'まき'
String get kanji => 'まき';
/// 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: 'Tane (種, "seed" in Japanese) 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. Its name comes from tanemaki (種まき), "to sow / scatter seeds". The goal is both practical and political: to support traditional seed varieties and push back against the seed monopoly.'
String get intro => 'Tane (種, "seed" in Japanese) 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. Its name comes from tanemaki (種まき), "to sow / scatter seeds". 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: '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). Tane 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). Tane is the digital Plantare.';
/// en: 'Version'
String get version => 'Version';
@ -566,8 +566,8 @@ class Translations$intro$en {
/// en: 'Get started'
String get start => 'Get started';
/// en: 'How Tanemaki works'
String get menuEntry => 'How Tanemaki works';
/// en: 'How Tane works'
String get menuEntry => 'How Tane works';
late final Translations$intro$slides$en slides = Translations$intro$slides$en.internal(_root);
}
@ -2345,8 +2345,8 @@ extension on Translations {
'calendar.filterChip' => 'This month',
'calendar.selfNote' => 'What you\'ve noted in your varieties.',
'calendar.nothing' => ({required Object month}) => 'Nothing noted for ${month}.',
'app.title' => 'Tanemaki',
'bootstrap.failed' => 'Tanemaki couldn\'t start',
'app.title' => 'Tane',
'bootstrap.failed' => 'Tane couldn\'t start',
'bootstrap.retry' => 'Try again',
'common.save' => 'Save',
'common.cancel' => 'Cancel',
@ -2384,7 +2384,7 @@ extension on Translations {
'settings.langAst' => 'Asturianu',
'settings.about' => 'About',
'settings.aboutText' => 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.',
'settings.aboutOpen' => 'About Tanemaki',
'settings.aboutOpen' => 'About Tane',
'backup.title' => 'Backup & restore',
'backup.autoBackupTitle' => 'Automatic backups',
'backup.autoBackupLast' => ({required Object date}) => 'Last copy saved ${date}',
@ -2406,22 +2406,22 @@ extension on Translations {
'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.importFailed' => 'This file could not be read as a Tane copy',
'backup.failed' => 'Something went wrong',
'backup.recoveryTitle' => 'Your recovery code',
'backup.recoverySubtitle' => 'Print it and keep it safe — it opens your copies on a new device',
'backup.recoveryIntro' => 'This code opens your saved copies and brings your bank back on any device. Keep two paper copies in safe places, like your best seed. Anyone holding it can read your copies, so share it with no one.',
'backup.recoveryCopy' => 'Copy',
'backup.recoverySave' => 'Save the sheet',
'backup.recoverySheetTitle' => 'Tanemaki — your recovery sheet',
'backup.recoverySheetTitle' => 'Tane — your recovery sheet',
'backup.recoveryPromptTitle' => 'Enter your recovery code',
'backup.recoveryPromptBody' => 'This copy was saved with another code. Type the code from your recovery sheet to open it.',
'backup.recoveryWrongCode' => 'That code doesn\'t open this copy',
'about.title' => 'About',
'about.kanji' => 'まき',
'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.intro' => 'Tane (種, "seed" in Japanese) 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. Its name comes from tanemaki (種まき), "to sow / scatter seeds". 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). Tane is the digital Plantare.',
'about.version' => 'Version',
'about.license' => 'License',
'about.licenseValue' => 'AGPL-3.0',
@ -2432,7 +2432,7 @@ extension on Translations {
'intro.skip' => 'Skip',
'intro.next' => 'Next',
'intro.start' => 'Get started',
'intro.menuEntry' => 'How Tanemaki works',
'intro.menuEntry' => 'How Tane 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',