feat: cover seedlings (plantón) in copy + legal, backup cadence, server picker
Beta-tester feedback triage. The data model already had LotType.seedling as first class; the gaps were copy and UX. - Seedlings/plantones: broaden landing hero (EN/ES), in-app legal notice, and all legal texts (site + docs masters) from seeds-only to "seeds and seedlings", with a live-plant phytosanitary/transport caveat. Seeds stay the hero — targeted, not a blanket rename. - Backups: settings line now states the 7-day cadence explicitly; cadence lives in AutoBackupService.backupInterval as the single source for text and schedule. - Community servers: replace the manual wss:// text box with a checklist of the known servers (defaults visible/toggleable) plus an "add server" affordance with basic validation. No jargon in the UI. i18n across en/es/pt/fr/de/ast (ja falls back). Tests updated + a new server-picker widget test.
This commit is contained in:
parent
7891a973f4
commit
1ce32c2b5c
36 changed files with 410 additions and 179 deletions
|
|
@ -281,8 +281,8 @@ class _Translations$backup$de extends Translations$backup$en {
|
|||
// Translations
|
||||
@override String get title => 'Sicherung und Wiederherstellung';
|
||||
@override String get autoBackupTitle => 'Automatische Sicherungen';
|
||||
@override String autoBackupLast({required Object date}) => 'Letzte Sicherung ${date}';
|
||||
@override String get autoBackupNone => 'Eine Kopie wird automatisch im Hintergrund gespeichert';
|
||||
@override String autoBackupLast({required Object date, required Object days}) => 'Letzte Sicherung ${date} · alle ${days} Tage';
|
||||
@override String autoBackupNone({required Object days}) => 'Eine Kopie wird automatisch alle ${days} Tage gespeichert';
|
||||
@override String get exportJson => 'Sicherung speichern';
|
||||
@override String get exportJsonSubtitle => 'Eine komplette Kopie zum sicheren Aufbewahren, später wiederherstellen oder auf ein anderes Gerät übertragen';
|
||||
@override String get importJson => 'Sicherung wiederherstellen';
|
||||
|
|
@ -774,8 +774,10 @@ class _Translations$market$de extends Translations$market$en {
|
|||
@override String get areaCodeLabel => 'Gebiets-Code';
|
||||
@override String get areaCodeHint => 'Ein kurzer Code wie sp3e9 - kein Ortsname';
|
||||
@override String get serversLabel => 'Gemeinschaftsserver';
|
||||
@override String get serversHelp => 'Eine Adresse pro Zeile (wss://…). Lass die Standardwerte, wenn du dir nicht sicher bist.';
|
||||
@override String get serversHelp => 'Wähle, welche Server verwendet werden. Lass die Standardwerte, wenn du dir nicht sicher bist.';
|
||||
@override String get serversAdvanced => 'Füge einen weiteren Server hinzu';
|
||||
@override String get serverAddress => 'Serveradresse';
|
||||
@override String get serverInvalid => 'Gib eine gültige Adresse ein (wss://…)';
|
||||
@override String get save => 'Speichern';
|
||||
@override String get saved => 'Gespeichert';
|
||||
@override String get wanted => 'Gesucht';
|
||||
|
|
@ -1005,8 +1007,8 @@ class _Translations$legal$de extends Translations$legal$en {
|
|||
@override String get privacyBody => 'Tane funktioniert ohne Konto, und alles, das du notierst, bleibt auf deinem Gerät, verschlüsselt. Es gibt keine Werbung, keine Tracker und keinen Tane-Server.\n\nNichts wird geteilt, es sei denn, du wählst es: Wenn du ein Angebot oder dein Profil veröffentlichst oder eine Nachricht sendest, reist es durch Gemeinschaftsserver. Angebote tragen nur eine ungefähre Zone - nie deine Adresse.\n\nWas du veröffentlichst, ist öffentlich, und Kopien können bleiben, selbst nachdem du es entfernt hast - teile also mit Bedacht.';
|
||||
@override String get rulesTitle => 'Die Spielregeln';
|
||||
@override String get rulesBody => 'Tane ist ein Werkzeug, kein Laden: Austausch wird direkt zwischen Menschen vereinbart, und niemand nimmt eine Provision. Das bedeutet auch, dass du verantwortlich bist für das, das du anbietest und sendest.\n\nAuf dem Markt: Sei ehrlich mit deinen Samen, biete nur an, was du teilen darfst, behandle Menschen gut und spamme nicht. Du kannst jeden blockieren und Angebote oder Menschen melden, die die Regeln brechen - Meldungen werden auf den Gemeinschaftsservern bearbeitet.';
|
||||
@override String get seedsTitle => 'Über das Teilen von Samen';
|
||||
@override String get seedsBody => 'Das Verschenken und Tauschen von Samen zwischen Hobbyisten ist in den meisten Ländern weit verbreitet. Verkaufen kann anders sein: An vielen Orten ist der Verkauf von Samen nicht offiziell registrierter Sorten eingeschränkt - überprüfe deine örtlichen Vorschriften, bevor du einen Preis fragst.\n\nSamen in ein anderes Land zu schicken ist auch oft eingeschränkt, und kommerziell geschützte Sorten dürfen nicht ohne Genehmigung vermehrt werden. Im Zweifelsfall lieber lokal und lieber Geschenk.';
|
||||
@override String get seedsTitle => 'Über das Teilen von Samen und Setzlingen';
|
||||
@override String get seedsBody => 'Das Verschenken und Tauschen von Samen zwischen Hobbyisten ist in den meisten Ländern weit verbreitet. Verkaufen kann anders sein: An vielen Orten ist der Verkauf von Samen nicht offiziell registrierter Sorten eingeschränkt - überprüfe deine örtlichen Vorschriften, bevor du einen Preis fragst.\n\nSamen in ein anderes Land zu schicken ist auch oft eingeschränkt, und kommerziell geschützte Sorten dürfen nicht ohne Genehmigung vermehrt werden. Im Zweifelsfall lieber lokal und lieber Geschenk.\n\nDasselbe gilt für Setzlinge und Jungpflanzen, aber lebende Pflanzen können strengeren Transport- und Pflanzenschutzregeln unterliegen als Samen — sie über Regionen oder Grenzen zu bewegen kann zusätzliche Kontrollen erfordern.';
|
||||
@override String get readFull => 'Lese die vollständigen Dokumente online';
|
||||
}
|
||||
|
||||
|
|
@ -1492,8 +1494,8 @@ extension on TranslationsDe {
|
|||
'settings.langJa' => '日本語',
|
||||
'backup.title' => 'Sicherung und Wiederherstellung',
|
||||
'backup.autoBackupTitle' => 'Automatische Sicherungen',
|
||||
'backup.autoBackupLast' => ({required Object date}) => 'Letzte Sicherung ${date}',
|
||||
'backup.autoBackupNone' => 'Eine Kopie wird automatisch im Hintergrund gespeichert',
|
||||
'backup.autoBackupLast' => ({required Object date, required Object days}) => 'Letzte Sicherung ${date} · alle ${days} Tage',
|
||||
'backup.autoBackupNone' => ({required Object days}) => 'Eine Kopie wird automatisch alle ${days} Tage gespeichert',
|
||||
'backup.exportJson' => 'Sicherung speichern',
|
||||
'backup.exportJsonSubtitle' => 'Eine komplette Kopie zum sicheren Aufbewahren, später wiederherstellen oder auf ein anderes Gerät übertragen',
|
||||
'backup.importJson' => 'Sicherung wiederherstellen',
|
||||
|
|
@ -1800,8 +1802,10 @@ extension on TranslationsDe {
|
|||
'market.areaCodeLabel' => 'Gebiets-Code',
|
||||
'market.areaCodeHint' => 'Ein kurzer Code wie sp3e9 - kein Ortsname',
|
||||
'market.serversLabel' => 'Gemeinschaftsserver',
|
||||
'market.serversHelp' => 'Eine Adresse pro Zeile (wss://…). Lass die Standardwerte, wenn du dir nicht sicher bist.',
|
||||
'market.serversHelp' => 'Wähle, welche Server verwendet werden. Lass die Standardwerte, wenn du dir nicht sicher bist.',
|
||||
'market.serversAdvanced' => 'Füge einen weiteren Server hinzu',
|
||||
'market.serverAddress' => 'Serveradresse',
|
||||
'market.serverInvalid' => 'Gib eine gültige Adresse ein (wss://…)',
|
||||
'market.save' => 'Speichern',
|
||||
'market.saved' => 'Gespeichert',
|
||||
'market.wanted' => 'Gesucht',
|
||||
|
|
@ -1918,10 +1922,10 @@ extension on TranslationsDe {
|
|||
'sale.direction' => 'Verkauft oder gekauft?',
|
||||
'sale.counterparty' => 'Mit wem?',
|
||||
'sale.counterpartyHint' => 'Eine Person oder ein Kollektiv (optional)',
|
||||
'sale.amount' => 'Betrag',
|
||||
'sale.currency' => 'Währung',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'sale.amount' => 'Betrag',
|
||||
'sale.currency' => 'Währung',
|
||||
'sale.currencyHint' => '€, Ğ1, Stunden… (optional)',
|
||||
'sale.hours' => 'Stunden',
|
||||
'sale.note' => 'Notiz (optional)',
|
||||
|
|
@ -1934,8 +1938,8 @@ extension on TranslationsDe {
|
|||
'legal.privacyBody' => 'Tane funktioniert ohne Konto, und alles, das du notierst, bleibt auf deinem Gerät, verschlüsselt. Es gibt keine Werbung, keine Tracker und keinen Tane-Server.\n\nNichts wird geteilt, es sei denn, du wählst es: Wenn du ein Angebot oder dein Profil veröffentlichst oder eine Nachricht sendest, reist es durch Gemeinschaftsserver. Angebote tragen nur eine ungefähre Zone - nie deine Adresse.\n\nWas du veröffentlichst, ist öffentlich, und Kopien können bleiben, selbst nachdem du es entfernt hast - teile also mit Bedacht.',
|
||||
'legal.rulesTitle' => 'Die Spielregeln',
|
||||
'legal.rulesBody' => 'Tane ist ein Werkzeug, kein Laden: Austausch wird direkt zwischen Menschen vereinbart, und niemand nimmt eine Provision. Das bedeutet auch, dass du verantwortlich bist für das, das du anbietest und sendest.\n\nAuf dem Markt: Sei ehrlich mit deinen Samen, biete nur an, was du teilen darfst, behandle Menschen gut und spamme nicht. Du kannst jeden blockieren und Angebote oder Menschen melden, die die Regeln brechen - Meldungen werden auf den Gemeinschaftsservern bearbeitet.',
|
||||
'legal.seedsTitle' => 'Über das Teilen von Samen',
|
||||
'legal.seedsBody' => 'Das Verschenken und Tauschen von Samen zwischen Hobbyisten ist in den meisten Ländern weit verbreitet. Verkaufen kann anders sein: An vielen Orten ist der Verkauf von Samen nicht offiziell registrierter Sorten eingeschränkt - überprüfe deine örtlichen Vorschriften, bevor du einen Preis fragst.\n\nSamen in ein anderes Land zu schicken ist auch oft eingeschränkt, und kommerziell geschützte Sorten dürfen nicht ohne Genehmigung vermehrt werden. Im Zweifelsfall lieber lokal und lieber Geschenk.',
|
||||
'legal.seedsTitle' => 'Über das Teilen von Samen und Setzlingen',
|
||||
'legal.seedsBody' => 'Das Verschenken und Tauschen von Samen zwischen Hobbyisten ist in den meisten Ländern weit verbreitet. Verkaufen kann anders sein: An vielen Orten ist der Verkauf von Samen nicht offiziell registrierter Sorten eingeschränkt - überprüfe deine örtlichen Vorschriften, bevor du einen Preis fragst.\n\nSamen in ein anderes Land zu schicken ist auch oft eingeschränkt, und kommerziell geschützte Sorten dürfen nicht ohne Genehmigung vermehrt werden. Im Zweifelsfall lieber lokal und lieber Geschenk.\n\nDasselbe gilt für Setzlinge und Jungpflanzen, aber lebende Pflanzen können strengeren Transport- und Pflanzenschutzregeln unterliegen als Samen — sie über Regionen oder Grenzen zu bewegen kann zusätzliche Kontrollen erfordern.',
|
||||
'legal.readFull' => 'Lese die vollständigen Dokumente online',
|
||||
'marketGate.title' => 'Bevor du den Markt betrittst',
|
||||
'marketGate.intro' => 'Der Markt ist ein gemeinsamer Raum zwischen Nachbarn. Wenn du fortfährst, akzeptierst du einige einfache Regeln:',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue