added localizations
Some checks failed
Flutter APK Build / Calculate Version (pull_request) Successful in 15s
Flutter APK Build / Create Release (pull_request) Has been cancelled
Flutter APK Build / Build Flutter APK (pull_request) Has been cancelled

This commit is contained in:
2026-01-21 14:11:50 +01:00
parent 85d57c6e1c
commit 99a8aaa409
9 changed files with 167 additions and 8 deletions

View File

@@ -12,5 +12,16 @@
"chooseCollection": "Sammlung auswählen",
"collections": "Sammlungen",
"tipCreateCollections": "Erstelle deine erste Sammlung!",
"search": "Suche"
"search": "Suche",
"createBookmark": "Lesezeichen erstellen",
"createCollection": "Sammlung erstellen",
"create": "Erstellen",
"delete": "Löschen",
"add": "Hinzufügen",
"startSearching": "Suche etwas",
"tipNoResults": "Keine Suchergebnisse gefunden",
"collectionName": "Name der Sammlung",
"bookmarkTitle": "Titel des Lesezeichens",
"url": "Url",
"description": "Beschreibung"
}

View File

@@ -12,5 +12,16 @@
"chooseCollection": "Choose Collection",
"collections": "Collections",
"tipCreateCollections": "Create your first Collection to get started!",
"search": "Search"
"search": "Search",
"createBookmark": "Create Bookmark",
"createCollection": "Create Collection",
"create": "Create",
"delete": "Delete",
"add": "Add",
"startSearching": "Start searching",
"tipNoResults": "There are no results that match your search",
"collectionName": "Collection Name",
"bookmarkTitle": "Bookmark Title",
"url": "Url",
"description": "Description"
}

View File

@@ -133,6 +133,72 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Search'**
String get search;
/// No description provided for @createBookmark.
///
/// In en, this message translates to:
/// **'Create Bookmark'**
String get createBookmark;
/// No description provided for @createCollection.
///
/// In en, this message translates to:
/// **'Create Collection'**
String get createCollection;
/// No description provided for @create.
///
/// In en, this message translates to:
/// **'Create'**
String get create;
/// No description provided for @delete.
///
/// In en, this message translates to:
/// **'Delete'**
String get delete;
/// No description provided for @add.
///
/// In en, this message translates to:
/// **'Add'**
String get add;
/// No description provided for @startSearching.
///
/// In en, this message translates to:
/// **'Start searching'**
String get startSearching;
/// No description provided for @tipNoResults.
///
/// In en, this message translates to:
/// **'There are no results that match your search'**
String get tipNoResults;
/// No description provided for @collectionName.
///
/// In en, this message translates to:
/// **'Collection Name'**
String get collectionName;
/// No description provided for @bookmarkTitle.
///
/// In en, this message translates to:
/// **'Bookmark Title'**
String get bookmarkTitle;
/// No description provided for @url.
///
/// In en, this message translates to:
/// **'Url'**
String get url;
/// No description provided for @description.
///
/// In en, this message translates to:
/// **'Description'**
String get description;
}
class _AppLocalizationsDelegate

View File

@@ -27,4 +27,37 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get search => 'Suche';
@override
String get createBookmark => 'Lesezeichen erstellen';
@override
String get createCollection => 'Sammlung erstellen';
@override
String get create => 'Erstellen';
@override
String get delete => 'Löschen';
@override
String get add => 'Hinzufügen';
@override
String get startSearching => 'Suche etwas';
@override
String get tipNoResults => 'Keine Suchergebnisse gefunden';
@override
String get collectionName => 'Name der Sammlung';
@override
String get bookmarkTitle => 'Titel des Lesezeichens';
@override
String get url => 'Url';
@override
String get description => 'Beschreibung';
}

View File

@@ -28,4 +28,37 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get search => 'Search';
@override
String get createBookmark => 'Create Bookmark';
@override
String get createCollection => 'Create Collection';
@override
String get create => 'Create';
@override
String get delete => 'Delete';
@override
String get add => 'Add';
@override
String get startSearching => 'Start searching';
@override
String get tipNoResults => 'There are no results that match your search';
@override
String get collectionName => 'Collection Name';
@override
String get bookmarkTitle => 'Bookmark Title';
@override
String get url => 'Url';
@override
String get description => 'Description';
}

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import '../l10n/app_localizations.dart';
import '../model/collection.dart';
import 'edit_dialog_widgets/edit_dialog_actions.dart' show EditDialogActions;
import 'edit_dialog_widgets/edit_dialog_title.dart';
@@ -41,7 +42,7 @@ class CreateBookmarkCollectionDialog extends StatelessWidget {
],
decoration: InputDecoration(
// TODO: Localize
labelText: 'Collection Name',
labelText: AppLocalizations.of(context)!.collectionName,
border: OutlineInputBorder(borderRadius: BorderRadius.circular(10)),
),
),

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import '../l10n/app_localizations.dart';
import '../model/bookmark.dart';
import '../model/maps_link_metadata.dart';
import 'edit_dialog_widgets/edit_dialog_actions.dart';
@@ -59,7 +60,7 @@ class CreateBookmarkDialog extends StatelessWidget {
FilteringTextInputFormatter.deny(RegExp(r'\s\s+')),
],
decoration: InputDecoration(
labelText: 'Bookmark Title',
labelText: AppLocalizations.of(context)!.bookmarkTitle,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
),
@@ -76,7 +77,7 @@ class CreateBookmarkDialog extends StatelessWidget {
FilteringTextInputFormatter.deny(RegExp(r'\s\s+')),
],
decoration: InputDecoration(
labelText: 'Url',
labelText: AppLocalizations.of(context)!.url,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
),
@@ -93,7 +94,7 @@ class CreateBookmarkDialog extends StatelessWidget {
FilteringTextInputFormatter.deny(RegExp(r'\s\s+')),
],
decoration: InputDecoration(
labelText: 'Description',
labelText: AppLocalizations.of(context)!.description,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
),

View File

@@ -2,6 +2,8 @@ import 'package:flutter/material.dart'
show TextButton, FloatingActionButton, Icons;
import 'package:flutter/widgets.dart';
import '../../l10n/app_localizations.dart';
class EditDialogActions extends StatelessWidget {
const EditDialogActions({super.key, required this.onSavePressed});
final VoidCallback onSavePressed;
@@ -13,7 +15,7 @@ class EditDialogActions extends StatelessWidget {
children: [
TextButton(
onPressed: () => Navigator.of(context).pop(),
child: Text('Cancel'),
child: Text(AppLocalizations.of(context)!.cancel),
),
FloatingActionButton(onPressed: onSavePressed, child: Icon(Icons.save)),
],

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../l10n/app_localizations.dart';
import '../../model/bookmark.dart';
import '../../service/notifying.dart';
import '../../service/search_provider.dart';
@@ -51,6 +52,6 @@ class _SearchResultsWidgetState extends State<SearchResultsWidget> {
itemCount: filteredBookmarks.length,
);
}
return Center(child: Text('Start searching'));
return Center(child: Text(AppLocalizations.of(context)!.tipNoResults));
}
}