Decided by the developer on 9 and 10 Nov 2026: phones keep the bar, medium windows (600 to 840 dp) the rail alone, and from 840 dp a toggle at the rail's foot opens it into a sidebar 256 dp wide, as Proton Drive's: the app named beside its icon, each tab its label beside its icon, the icons where the rail had them, so nothing moves under the pointer. Its labels come in one after another, top to bottom, all at once where animations are off. Open or closed is kept per device, in halkyon_app's Look (look.json, `sidebar`), which Learn keeps in its DeviceSettings (`sidebarOpen`), as it does the appearance and language. NavigationFrame takes sidebarOpen and onSidebarChanged (no toggle without it), and sidebarSections, what the app lists below the tabs, which Todo's favourites and projects will be. The closed rail keeps Flutter's widget, its toggle pinned at the foot (trailingAtBottom); the open one is the frame's own, as the staggered labels need. Learn, Todo, Train and Meditate keep the choice. Whats-New: In wide windows, the button at the foot of the side rail opens it into a sidebar with names, and it stays open. Whats-New-De: In breiten Fenstern öffnet der Knopf unten an der Seitenleiste sie mit Namen, und sie bleibt offen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
102 lines
2.2 KiB
Dart
102 lines
2.2 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
|
|
import 'halkyon_ui_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for German (`de`).
|
|
class HalkyonUiLocalizationsDe extends HalkyonUiLocalizations {
|
|
HalkyonUiLocalizationsDe([String locale = 'de']) : super(locale);
|
|
|
|
@override
|
|
String get brand => 'Halkyon';
|
|
|
|
@override
|
|
String get close => 'Schließen';
|
|
|
|
@override
|
|
String get cancel => 'Abbrechen';
|
|
|
|
@override
|
|
String get undo => 'Rückgängig';
|
|
|
|
@override
|
|
String get dragToReorder => 'Zum Umsortieren ziehen';
|
|
|
|
@override
|
|
String get reorder => 'Umsortieren';
|
|
|
|
@override
|
|
String get reorderDone => 'Fertig';
|
|
|
|
@override
|
|
String get requiredField => 'Pflichtfeld';
|
|
|
|
@override
|
|
String get decrease => 'Verringern';
|
|
|
|
@override
|
|
String get increase => 'Erhöhen';
|
|
|
|
@override
|
|
String get typeANumber => 'Zahl eingeben';
|
|
|
|
@override
|
|
String get gone =>
|
|
'Das gibt es nicht mehr. Vielleicht wurde es auf einem anderen Gerät gelöscht.';
|
|
|
|
@override
|
|
String get moreInfo => 'Weitere Informationen';
|
|
|
|
@override
|
|
String get copiedToClipboard => 'In die Zwischenablage kopiert';
|
|
|
|
@override
|
|
String get copy => 'Kopieren';
|
|
|
|
@override
|
|
String paletteColorName(String name) {
|
|
String _temp0 = intl.Intl.selectLogic(
|
|
name,
|
|
{
|
|
'carrot': 'Karotte',
|
|
'cerise': 'Kirschrot',
|
|
'cobalt': 'Kobalt',
|
|
'copper': 'Kupfer',
|
|
'enzian': 'Enzian',
|
|
'fern': 'Farn',
|
|
'forest': 'Wald',
|
|
'ocean': 'Ozean',
|
|
'olive': 'Olive',
|
|
'pacific': 'Pazifik',
|
|
'pickle': 'Essiggurke',
|
|
'pine': 'Kiefer',
|
|
'pink': 'Rosa',
|
|
'plum': 'Pflaume',
|
|
'purple': 'Lila',
|
|
'reef': 'Riff',
|
|
'sahara': 'Sahara',
|
|
'slateblue': 'Schieferblau',
|
|
'soil': 'Erde',
|
|
'strawberry': 'Erdbeere',
|
|
'other': '$name',
|
|
},
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String colorPickerLabel(String color) {
|
|
return 'Farbe: $color';
|
|
}
|
|
|
|
@override
|
|
String get explain => 'Was ist das?';
|
|
|
|
@override
|
|
String get openSidebar => 'Seitenleiste öffnen';
|
|
|
|
@override
|
|
String get closeSidebar => 'Seitenleiste schließen';
|
|
}
|