refactor: enhance localizations
This commit is contained in:
@@ -802,7 +802,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
|||||||
borderRadius: BorderRadius.circular(AppBorderRadius.dialog),
|
borderRadius: BorderRadius.circular(AppBorderRadius.dialog),
|
||||||
),
|
),
|
||||||
title: Text(
|
title: Text(
|
||||||
'Edit Message',
|
AppLocalizations.of(context)!.editMessage,
|
||||||
style: TextStyle(color: context.conduitTheme.textPrimary),
|
style: TextStyle(color: context.conduitTheme.textPrimary),
|
||||||
),
|
),
|
||||||
content: TextField(
|
content: TextField(
|
||||||
|
|||||||
@@ -551,7 +551,7 @@ class _AssistantMessageWidgetState extends ConsumerState<AssistantMessageWidget>
|
|||||||
icon: Platform.isIOS
|
icon: Platform.isIOS
|
||||||
? CupertinoIcons.doc_on_clipboard
|
? CupertinoIcons.doc_on_clipboard
|
||||||
: Icons.content_copy,
|
: Icons.content_copy,
|
||||||
label: 'Copy',
|
label: AppLocalizations.of(context)!.copy,
|
||||||
onTap: widget.onCopy,
|
onTap: widget.onCopy,
|
||||||
),
|
),
|
||||||
if (isErrorMessage) ...[
|
if (isErrorMessage) ...[
|
||||||
@@ -565,7 +565,7 @@ class _AssistantMessageWidgetState extends ConsumerState<AssistantMessageWidget>
|
|||||||
] else ...[
|
] else ...[
|
||||||
_buildActionButton(
|
_buildActionButton(
|
||||||
icon: Platform.isIOS ? CupertinoIcons.refresh : Icons.refresh,
|
icon: Platform.isIOS ? CupertinoIcons.refresh : Icons.refresh,
|
||||||
label: 'Regenerate',
|
label: AppLocalizations.of(context)!.regenerate,
|
||||||
onTap: widget.onRegenerate,
|
onTap: widget.onRegenerate,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import 'package:flutter/cupertino.dart';
|
|||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_animate/flutter_animate.dart';
|
import 'package:flutter_animate/flutter_animate.dart';
|
||||||
import 'dart:io' show Platform;
|
import 'dart:io' show Platform;
|
||||||
|
import 'package:conduit/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class UserMessageBubble extends ConsumerStatefulWidget {
|
class UserMessageBubble extends ConsumerStatefulWidget {
|
||||||
final dynamic message;
|
final dynamic message;
|
||||||
@@ -581,14 +582,14 @@ class _UserMessageBubbleState extends ConsumerState<UserMessageBubble>
|
|||||||
children: [
|
children: [
|
||||||
_buildActionButton(
|
_buildActionButton(
|
||||||
icon: Platform.isIOS ? CupertinoIcons.pencil : Icons.edit_outlined,
|
icon: Platform.isIOS ? CupertinoIcons.pencil : Icons.edit_outlined,
|
||||||
label: 'Edit',
|
label: AppLocalizations.of(context)!.edit,
|
||||||
onTap: widget.onEdit,
|
onTap: widget.onEdit,
|
||||||
),
|
),
|
||||||
_buildActionButton(
|
_buildActionButton(
|
||||||
icon: Platform.isIOS
|
icon: Platform.isIOS
|
||||||
? CupertinoIcons.doc_on_clipboard
|
? CupertinoIcons.doc_on_clipboard
|
||||||
: Icons.content_copy,
|
: Icons.content_copy,
|
||||||
label: 'Copy',
|
label: AppLocalizations.of(context)!.copy,
|
||||||
onTap: widget.onCopy,
|
onTap: widget.onCopy,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ class _ChatsDrawerState extends ConsumerState<ChatsDrawer> {
|
|||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(Spacing.lg),
|
padding: const EdgeInsets.all(Spacing.lg),
|
||||||
child: Text(
|
child: Text(
|
||||||
'No conversations yet',
|
AppLocalizations.of(context)!.noConversationsYet,
|
||||||
style: AppTypography.bodyMediumStyle.copyWith(
|
style: AppTypography.bodyMediumStyle.copyWith(
|
||||||
color: theme.textSecondary,
|
color: theme.textSecondary,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ class ProfilePage extends ConsumerWidget {
|
|||||||
(m) => m.id == settings.defaultModel,
|
(m) => m.id == settings.defaultModel,
|
||||||
orElse: () => models.isNotEmpty
|
orElse: () => models.isNotEmpty
|
||||||
? models.first
|
? models.first
|
||||||
: const Model(id: 'none', name: 'No models available'),
|
: Model(id: 'none', name: AppLocalizations.of(context)!.noModelsAvailable),
|
||||||
);
|
);
|
||||||
|
|
||||||
return ListTile(
|
return ListTile(
|
||||||
@@ -611,11 +611,14 @@ class ProfilePage extends ConsumerWidget {
|
|||||||
),
|
),
|
||||||
subtitle: Text(
|
subtitle: Text(
|
||||||
themeMode == ThemeMode.system
|
themeMode == ThemeMode.system
|
||||||
? 'Following system: '
|
? AppLocalizations.of(context)!.followingSystem(
|
||||||
'${platformBrightness == Brightness.dark ? 'Dark' : 'Light'}'
|
platformBrightness == Brightness.dark
|
||||||
|
? AppLocalizations.of(context)!.themeDark
|
||||||
|
: AppLocalizations.of(context)!.themeLight,
|
||||||
|
)
|
||||||
: (isDarkEffective
|
: (isDarkEffective
|
||||||
? 'Currently using Dark theme'
|
? AppLocalizations.of(context)!.currentlyUsingDarkTheme
|
||||||
: 'Currently using Light theme'),
|
: AppLocalizations.of(context)!.currentlyUsingLightTheme),
|
||||||
style: context.conduitTheme.bodySmall?.copyWith(
|
style: context.conduitTheme.bodySmall?.copyWith(
|
||||||
color: context.conduitTheme.textSecondary,
|
color: context.conduitTheme.textSecondary,
|
||||||
),
|
),
|
||||||
@@ -663,7 +666,7 @@ class ProfilePage extends ConsumerWidget {
|
|||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
backgroundColor: ctx.conduitTheme.surfaceBackground,
|
backgroundColor: ctx.conduitTheme.surfaceBackground,
|
||||||
title: Text(
|
title: Text(
|
||||||
'About Conduit',
|
AppLocalizations.of(ctx)!.aboutConduit,
|
||||||
style: ctx.conduitTheme.headingSmall?.copyWith(
|
style: ctx.conduitTheme.headingSmall?.copyWith(
|
||||||
color: ctx.conduitTheme.textPrimary,
|
color: ctx.conduitTheme.textPrimary,
|
||||||
),
|
),
|
||||||
@@ -673,7 +676,7 @@ class ProfilePage extends ConsumerWidget {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'Version: ${info.version} (${info.buildNumber})',
|
AppLocalizations.of(ctx)!.versionLabel(info.version, info.buildNumber),
|
||||||
style: ctx.conduitTheme.bodyMedium?.copyWith(
|
style: ctx.conduitTheme.bodyMedium?.copyWith(
|
||||||
color: ctx.conduitTheme.textSecondary,
|
color: ctx.conduitTheme.textSecondary,
|
||||||
),
|
),
|
||||||
@@ -697,7 +700,7 @@ class ProfilePage extends ConsumerWidget {
|
|||||||
),
|
),
|
||||||
const SizedBox(width: Spacing.xs),
|
const SizedBox(width: Spacing.xs),
|
||||||
Text(
|
Text(
|
||||||
'GitHub Repository',
|
AppLocalizations.of(ctx)!.githubRepository,
|
||||||
style: ctx.conduitTheme.bodyMedium?.copyWith(
|
style: ctx.conduitTheme.bodyMedium?.copyWith(
|
||||||
color: ctx.conduitTheme.buttonPrimary,
|
color: ctx.conduitTheme.buttonPrimary,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
@@ -719,7 +722,7 @@ class ProfilePage extends ConsumerWidget {
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (!context.mounted) return;
|
if (!context.mounted) return;
|
||||||
UiUtils.showMessage(context, 'Unable to load app info');
|
UiUtils.showMessage(context, AppLocalizations.of(context)!.unableToLoadAppInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -212,5 +212,44 @@
|
|||||||
"webSearch": "Websuche",
|
"webSearch": "Websuche",
|
||||||
"webSearchDescription": "Im Web suchen und Quellen zitieren.",
|
"webSearchDescription": "Im Web suchen und Quellen zitieren.",
|
||||||
"imageGeneration": "Bildgenerierung",
|
"imageGeneration": "Bildgenerierung",
|
||||||
"imageGenerationDescription": "Bilder aus deinen Prompts erstellen."
|
"imageGenerationDescription": "Bilder aus deinen Prompts erstellen.",
|
||||||
|
"copy": "Kopieren",
|
||||||
|
"edit": "Bearbeiten",
|
||||||
|
"regenerate": "Neu generieren",
|
||||||
|
"noConversationsYet": "Noch keine Unterhaltungen"
|
||||||
|
,
|
||||||
|
"usernameOrEmailHint": "Gib deinen Benutzernamen oder deine E‑Mail ein",
|
||||||
|
"passwordHint": "Gib dein Passwort ein",
|
||||||
|
"enterApiKey": "Gib deinen API-Schlüssel ein",
|
||||||
|
"signingIn": "Anmeldung läuft...",
|
||||||
|
"advancedSettings": "Erweiterte Einstellungen",
|
||||||
|
"customHeaders": "Benutzerdefinierte Header",
|
||||||
|
"customHeadersDescription": "Füge benutzerdefinierte HTTP-Header für Authentifizierung, API-Schlüssel oder spezielle Serveranforderungen hinzu.",
|
||||||
|
"headerNameEmpty": "Header-Name darf nicht leer sein",
|
||||||
|
"headerNameTooLong": "Header-Name zu lang (max. 64 Zeichen)",
|
||||||
|
"headerNameInvalidChars": "Ungültiger Header-Name. Verwende nur Buchstaben, Zahlen und diese Zeichen: !#$&-^_`|~",
|
||||||
|
"headerNameReserved": "Reservierten Header \"{key}\" kann nicht überschrieben werden",
|
||||||
|
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"headerValueEmpty": "Header-Wert darf nicht leer sein",
|
||||||
|
"headerValueTooLong": "Header-Wert zu lang (max. 1024 Zeichen)",
|
||||||
|
"headerValueInvalidChars": "Header-Wert enthält ungültige Zeichen. Nur druckbare ASCII-Zeichen verwenden.",
|
||||||
|
"headerValueUnsafe": "Header-Wert scheint potenziell unsicheren Inhalt zu enthalten",
|
||||||
|
"headerAlreadyExists": "Header \"{key}\" existiert bereits. Zum Aktualisieren zuerst entfernen.",
|
||||||
|
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"maxHeadersReachedDetail": "Maximal 10 benutzerdefinierte Header zulässig. Einige entfernen, um mehr hinzuzufügen."
|
||||||
|
,
|
||||||
|
"editMessage": "Nachricht bearbeiten"
|
||||||
|
,
|
||||||
|
"noModelsAvailable": "Keine Modelle verfügbar",
|
||||||
|
"followingSystem": "Dem System folgen: {theme}",
|
||||||
|
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||||
|
"themeDark": "Dunkel",
|
||||||
|
"themeLight": "Hell",
|
||||||
|
"currentlyUsingDarkTheme": "Aktuell dunkles Thema",
|
||||||
|
"currentlyUsingLightTheme": "Aktuell helles Thema",
|
||||||
|
"aboutConduit": "Über Conduit",
|
||||||
|
"versionLabel": "Version: {version} ({build})",
|
||||||
|
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||||
|
"githubRepository": "GitHub-Repository",
|
||||||
|
"unableToLoadAppInfo": "App-Informationen konnten nicht geladen werden"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -236,5 +236,44 @@
|
|||||||
"webSearch": "Web Search",
|
"webSearch": "Web Search",
|
||||||
"webSearchDescription": "Search the web and cite sources in replies.",
|
"webSearchDescription": "Search the web and cite sources in replies.",
|
||||||
"imageGeneration": "Image Generation",
|
"imageGeneration": "Image Generation",
|
||||||
"imageGenerationDescription": "Create images from your prompts."
|
"imageGenerationDescription": "Create images from your prompts.",
|
||||||
|
"copy": "Copy",
|
||||||
|
"edit": "Edit",
|
||||||
|
"regenerate": "Regenerate",
|
||||||
|
"noConversationsYet": "No conversations yet"
|
||||||
|
,
|
||||||
|
"usernameOrEmailHint": "Enter your username or email",
|
||||||
|
"passwordHint": "Enter your password",
|
||||||
|
"enterApiKey": "Enter your API key",
|
||||||
|
"signingIn": "Signing in...",
|
||||||
|
"advancedSettings": "Advanced Settings",
|
||||||
|
"customHeaders": "Custom Headers",
|
||||||
|
"customHeadersDescription": "Add custom HTTP headers for authentication, API keys, or special server requirements.",
|
||||||
|
"headerNameEmpty": "Header name cannot be empty",
|
||||||
|
"headerNameTooLong": "Header name too long (max 64 characters)",
|
||||||
|
"headerNameInvalidChars": "Invalid header name. Use only letters, numbers, and these symbols: !#$&-^_`|~",
|
||||||
|
"headerNameReserved": "Cannot override reserved header \"{key}\"",
|
||||||
|
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"headerValueEmpty": "Header value cannot be empty",
|
||||||
|
"headerValueTooLong": "Header value too long (max 1024 characters)",
|
||||||
|
"headerValueInvalidChars": "Header value contains invalid characters. Use only printable ASCII.",
|
||||||
|
"headerValueUnsafe": "Header value appears to contain potentially unsafe content",
|
||||||
|
"headerAlreadyExists": "Header \"{key}\" already exists. Remove it first to update.",
|
||||||
|
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"maxHeadersReachedDetail": "Maximum of 10 custom headers allowed. Remove some to add more."
|
||||||
|
,
|
||||||
|
"editMessage": "Edit Message"
|
||||||
|
,
|
||||||
|
"noModelsAvailable": "No models available",
|
||||||
|
"followingSystem": "Following system: {theme}",
|
||||||
|
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||||
|
"themeDark": "Dark",
|
||||||
|
"themeLight": "Light",
|
||||||
|
"currentlyUsingDarkTheme": "Currently using Dark theme",
|
||||||
|
"currentlyUsingLightTheme": "Currently using Light theme",
|
||||||
|
"aboutConduit": "About Conduit",
|
||||||
|
"versionLabel": "Version: {version} ({build})",
|
||||||
|
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||||
|
"githubRepository": "GitHub Repository",
|
||||||
|
"unableToLoadAppInfo": "Unable to load app info"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -212,5 +212,44 @@
|
|||||||
"webSearch": "Recherche Web",
|
"webSearch": "Recherche Web",
|
||||||
"webSearchDescription": "Recherchez sur le web et citez les sources.",
|
"webSearchDescription": "Recherchez sur le web et citez les sources.",
|
||||||
"imageGeneration": "Génération d'images",
|
"imageGeneration": "Génération d'images",
|
||||||
"imageGenerationDescription": "Créez des images à partir de vos prompts."
|
"imageGenerationDescription": "Créez des images à partir de vos prompts.",
|
||||||
|
"copy": "Copier",
|
||||||
|
"edit": "Modifier",
|
||||||
|
"regenerate": "Régénérer",
|
||||||
|
"noConversationsYet": "Aucune conversation pour l'instant"
|
||||||
|
,
|
||||||
|
"usernameOrEmailHint": "Entrez votre nom d'utilisateur ou e‑mail",
|
||||||
|
"passwordHint": "Entrez votre mot de passe",
|
||||||
|
"enterApiKey": "Entrez votre clé API",
|
||||||
|
"signingIn": "Connexion en cours...",
|
||||||
|
"advancedSettings": "Paramètres avancés",
|
||||||
|
"customHeaders": "En-têtes personnalisés",
|
||||||
|
"customHeadersDescription": "Ajoutez des en-têtes HTTP personnalisés pour l'authentification, les clés API ou des exigences spécifiques du serveur.",
|
||||||
|
"headerNameEmpty": "Le nom de l'en-tête ne peut pas être vide",
|
||||||
|
"headerNameTooLong": "Nom d'en-tête trop long (max 64 caractères)",
|
||||||
|
"headerNameInvalidChars": "Nom d'en-tête invalide. Utilisez uniquement des lettres, des chiffres et ces symboles : !#$&-^_`|~",
|
||||||
|
"headerNameReserved": "Impossible d'écraser l'en-tête réservé « {key} »",
|
||||||
|
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"headerValueEmpty": "La valeur de l'en-tête ne peut pas être vide",
|
||||||
|
"headerValueTooLong": "Valeur d'en-tête trop longue (max 1024 caractères)",
|
||||||
|
"headerValueInvalidChars": "La valeur de l'en-tête contient des caractères invalides. Utilisez uniquement des caractères ASCII imprimables.",
|
||||||
|
"headerValueUnsafe": "La valeur de l'en-tête semble contenir du contenu potentiellement dangereux",
|
||||||
|
"headerAlreadyExists": "L'en-tête « {key} » existe déjà. Supprimez-le d'abord pour le modifier.",
|
||||||
|
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"maxHeadersReachedDetail": "Maximum 10 en-têtes personnalisés. Supprimez-en pour en ajouter."
|
||||||
|
,
|
||||||
|
"editMessage": "Modifier le message"
|
||||||
|
,
|
||||||
|
"noModelsAvailable": "Aucun modèle disponible",
|
||||||
|
"followingSystem": "Selon le système : {theme}",
|
||||||
|
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||||
|
"themeDark": "Sombre",
|
||||||
|
"themeLight": "Clair",
|
||||||
|
"currentlyUsingDarkTheme": "Thème sombre actuellement utilisé",
|
||||||
|
"currentlyUsingLightTheme": "Thème clair actuellement utilisé",
|
||||||
|
"aboutConduit": "À propos de Conduit",
|
||||||
|
"versionLabel": "Version : {version} ({build})",
|
||||||
|
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||||
|
"githubRepository": "Dépôt GitHub",
|
||||||
|
"unableToLoadAppInfo": "Impossible de charger les informations de l'application"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -212,5 +212,44 @@
|
|||||||
"webSearch": "Ricerca Web",
|
"webSearch": "Ricerca Web",
|
||||||
"webSearchDescription": "Cerca sul web e cita le fonti.",
|
"webSearchDescription": "Cerca sul web e cita le fonti.",
|
||||||
"imageGeneration": "Generazione immagini",
|
"imageGeneration": "Generazione immagini",
|
||||||
"imageGenerationDescription": "Crea immagini dai tuoi prompt."
|
"imageGenerationDescription": "Crea immagini dai tuoi prompt.",
|
||||||
|
"copy": "Copia",
|
||||||
|
"edit": "Modifica",
|
||||||
|
"regenerate": "Rigenera",
|
||||||
|
"noConversationsYet": "Ancora nessuna conversazione"
|
||||||
|
,
|
||||||
|
"usernameOrEmailHint": "Inserisci il tuo username o e‑mail",
|
||||||
|
"passwordHint": "Inserisci la password",
|
||||||
|
"enterApiKey": "Inserisci la tua chiave API",
|
||||||
|
"signingIn": "Accesso in corso...",
|
||||||
|
"advancedSettings": "Impostazioni avanzate",
|
||||||
|
"customHeaders": "Header personalizzati",
|
||||||
|
"customHeadersDescription": "Aggiungi header HTTP personalizzati per autenticazione, chiavi API o requisiti speciali del server.",
|
||||||
|
"headerNameEmpty": "Il nome header non può essere vuoto",
|
||||||
|
"headerNameTooLong": "Nome header troppo lungo (max 64 caratteri)",
|
||||||
|
"headerNameInvalidChars": "Nome header non valido. Usa solo lettere, numeri e questi simboli: !#$&-^_`|~",
|
||||||
|
"headerNameReserved": "Impossibile sovrascrivere l'header riservato \"{key}\"",
|
||||||
|
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"headerValueEmpty": "Il valore dell'header non può essere vuoto",
|
||||||
|
"headerValueTooLong": "Valore header troppo lungo (max 1024 caratteri)",
|
||||||
|
"headerValueInvalidChars": "Il valore dell'header contiene caratteri non validi. Usa solo ASCII stampabile.",
|
||||||
|
"headerValueUnsafe": "Il valore dell'header sembra contenere contenuti potenzialmente non sicuri",
|
||||||
|
"headerAlreadyExists": "L'header \"{key}\" esiste già. Rimuovilo prima per aggiornarlo.",
|
||||||
|
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||||
|
"maxHeadersReachedDetail": "Massimo 10 header personalizzati consentiti. Rimuovine alcuni per aggiungerne altri."
|
||||||
|
,
|
||||||
|
"editMessage": "Modifica messaggio"
|
||||||
|
,
|
||||||
|
"noModelsAvailable": "Nessun modello disponibile",
|
||||||
|
"followingSystem": "Segue il sistema: {theme}",
|
||||||
|
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||||
|
"themeDark": "Scuro",
|
||||||
|
"themeLight": "Chiaro",
|
||||||
|
"currentlyUsingDarkTheme": "Attualmente tema scuro",
|
||||||
|
"currentlyUsingLightTheme": "Attualmente tema chiaro",
|
||||||
|
"aboutConduit": "Informazioni su Conduit",
|
||||||
|
"versionLabel": "Versione: {version} ({build})",
|
||||||
|
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||||
|
"githubRepository": "Repository GitHub",
|
||||||
|
"unableToLoadAppInfo": "Impossibile caricare le informazioni dell'app"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -404,43 +404,19 @@ abstract class AppLocalizations {
|
|||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'Username or Email'**
|
/// **'Username or Email'**
|
||||||
String get usernameOrEmail;
|
String get usernameOrEmail;
|
||||||
|
|
||||||
/// No description provided for @password.
|
/// No description provided for @password.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'Password'**
|
/// **'Password'**
|
||||||
String get password;
|
String get password;
|
||||||
|
|
||||||
/// No description provided for @usernameOrEmailHint.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Enter your username or email'**
|
|
||||||
String get usernameOrEmailHint;
|
|
||||||
|
|
||||||
/// No description provided for @passwordHint.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Enter your password'**
|
|
||||||
String get passwordHint;
|
|
||||||
|
|
||||||
/// No description provided for @signInWithApiKey.
|
/// No description provided for @signInWithApiKey.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'Sign in with API Key'**
|
/// **'Sign in with API Key'**
|
||||||
String get signInWithApiKey;
|
String get signInWithApiKey;
|
||||||
|
|
||||||
/// No description provided for @enterApiKey.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Enter your API key'**
|
|
||||||
String get enterApiKey;
|
|
||||||
|
|
||||||
/// No description provided for @signingIn.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Signing in...'**
|
|
||||||
String get signingIn;
|
|
||||||
|
|
||||||
/// No description provided for @connectToServer.
|
/// No description provided for @connectToServer.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
@@ -507,84 +483,6 @@ abstract class AppLocalizations {
|
|||||||
/// **'Remove header'**
|
/// **'Remove header'**
|
||||||
String get removeHeader;
|
String get removeHeader;
|
||||||
|
|
||||||
/// No description provided for @advancedSettings.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Advanced Settings'**
|
|
||||||
String get advancedSettings;
|
|
||||||
|
|
||||||
/// No description provided for @customHeaders.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Custom Headers'**
|
|
||||||
String get customHeaders;
|
|
||||||
|
|
||||||
/// No description provided for @customHeadersDescription.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Add custom HTTP headers for authentication, API keys, or special server requirements.'**
|
|
||||||
String get customHeadersDescription;
|
|
||||||
|
|
||||||
/// No description provided for @headerNameEmpty.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header name cannot be empty'**
|
|
||||||
String get headerNameEmpty;
|
|
||||||
|
|
||||||
/// No description provided for @headerNameTooLong.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header name too long (max 64 characters)'**
|
|
||||||
String get headerNameTooLong;
|
|
||||||
|
|
||||||
/// No description provided for @headerNameInvalidChars.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Invalid header name. Use only letters, numbers, and these symbols: !#\$&-^_`|~'**
|
|
||||||
String get headerNameInvalidChars;
|
|
||||||
|
|
||||||
/// No description provided for @headerNameReserved.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Cannot override reserved header "{key}"'**
|
|
||||||
String headerNameReserved(String key);
|
|
||||||
|
|
||||||
/// No description provided for @headerValueEmpty.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header value cannot be empty'**
|
|
||||||
String get headerValueEmpty;
|
|
||||||
|
|
||||||
/// No description provided for @headerValueTooLong.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header value too long (max 1024 characters)'**
|
|
||||||
String get headerValueTooLong;
|
|
||||||
|
|
||||||
/// No description provided for @headerValueInvalidChars.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header value contains invalid characters. Use only printable ASCII.'**
|
|
||||||
String get headerValueInvalidChars;
|
|
||||||
|
|
||||||
/// No description provided for @headerValueUnsafe.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header value appears to contain potentially unsafe content'**
|
|
||||||
String get headerValueUnsafe;
|
|
||||||
|
|
||||||
/// No description provided for @headerAlreadyExists.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Header "{key}" already exists. Remove it first to update.'**
|
|
||||||
String headerAlreadyExists(String key);
|
|
||||||
|
|
||||||
/// No description provided for @maxHeadersReachedDetail.
|
|
||||||
///
|
|
||||||
/// In en, this message translates to:
|
|
||||||
/// **'Maximum of 10 custom headers allowed. Remove some to add more.'**
|
|
||||||
String get maxHeadersReachedDetail;
|
|
||||||
|
|
||||||
/// No description provided for @connecting.
|
/// No description provided for @connecting.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
@@ -1364,6 +1262,198 @@ abstract class AppLocalizations {
|
|||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'Create images from your prompts.'**
|
/// **'Create images from your prompts.'**
|
||||||
String get imageGenerationDescription;
|
String get imageGenerationDescription;
|
||||||
|
|
||||||
|
/// No description provided for @copy.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Copy'**
|
||||||
|
String get copy;
|
||||||
|
|
||||||
|
/// No description provided for @edit.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Edit'**
|
||||||
|
String get edit;
|
||||||
|
|
||||||
|
/// No description provided for @regenerate.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Regenerate'**
|
||||||
|
String get regenerate;
|
||||||
|
|
||||||
|
/// No description provided for @noConversationsYet.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'No conversations yet'**
|
||||||
|
String get noConversationsYet;
|
||||||
|
|
||||||
|
/// No description provided for @usernameOrEmailHint.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Enter your username or email'**
|
||||||
|
String get usernameOrEmailHint;
|
||||||
|
|
||||||
|
/// No description provided for @passwordHint.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Enter your password'**
|
||||||
|
String get passwordHint;
|
||||||
|
|
||||||
|
/// No description provided for @enterApiKey.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Enter your API key'**
|
||||||
|
String get enterApiKey;
|
||||||
|
|
||||||
|
/// No description provided for @signingIn.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Signing in...'**
|
||||||
|
String get signingIn;
|
||||||
|
|
||||||
|
/// No description provided for @advancedSettings.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Advanced Settings'**
|
||||||
|
String get advancedSettings;
|
||||||
|
|
||||||
|
/// No description provided for @customHeaders.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Custom Headers'**
|
||||||
|
String get customHeaders;
|
||||||
|
|
||||||
|
/// No description provided for @customHeadersDescription.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Add custom HTTP headers for authentication, API keys, or special server requirements.'**
|
||||||
|
String get customHeadersDescription;
|
||||||
|
|
||||||
|
/// No description provided for @headerNameEmpty.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header name cannot be empty'**
|
||||||
|
String get headerNameEmpty;
|
||||||
|
|
||||||
|
/// No description provided for @headerNameTooLong.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header name too long (max 64 characters)'**
|
||||||
|
String get headerNameTooLong;
|
||||||
|
|
||||||
|
/// No description provided for @headerNameInvalidChars.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Invalid header name. Use only letters, numbers, and these symbols: !#\$&-^_`|~'**
|
||||||
|
String get headerNameInvalidChars;
|
||||||
|
|
||||||
|
/// No description provided for @headerNameReserved.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Cannot override reserved header \"{key}\"'**
|
||||||
|
String headerNameReserved(String key);
|
||||||
|
|
||||||
|
/// No description provided for @headerValueEmpty.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header value cannot be empty'**
|
||||||
|
String get headerValueEmpty;
|
||||||
|
|
||||||
|
/// No description provided for @headerValueTooLong.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header value too long (max 1024 characters)'**
|
||||||
|
String get headerValueTooLong;
|
||||||
|
|
||||||
|
/// No description provided for @headerValueInvalidChars.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header value contains invalid characters. Use only printable ASCII.'**
|
||||||
|
String get headerValueInvalidChars;
|
||||||
|
|
||||||
|
/// No description provided for @headerValueUnsafe.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header value appears to contain potentially unsafe content'**
|
||||||
|
String get headerValueUnsafe;
|
||||||
|
|
||||||
|
/// No description provided for @headerAlreadyExists.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Header \"{key}\" already exists. Remove it first to update.'**
|
||||||
|
String headerAlreadyExists(String key);
|
||||||
|
|
||||||
|
/// No description provided for @maxHeadersReachedDetail.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Maximum of 10 custom headers allowed. Remove some to add more.'**
|
||||||
|
String get maxHeadersReachedDetail;
|
||||||
|
|
||||||
|
/// No description provided for @editMessage.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Edit Message'**
|
||||||
|
String get editMessage;
|
||||||
|
|
||||||
|
/// No description provided for @noModelsAvailable.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'No models available'**
|
||||||
|
String get noModelsAvailable;
|
||||||
|
|
||||||
|
/// No description provided for @followingSystem.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Following system: {theme}'**
|
||||||
|
String followingSystem(String theme);
|
||||||
|
|
||||||
|
/// No description provided for @themeDark.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Dark'**
|
||||||
|
String get themeDark;
|
||||||
|
|
||||||
|
/// No description provided for @themeLight.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Light'**
|
||||||
|
String get themeLight;
|
||||||
|
|
||||||
|
/// No description provided for @currentlyUsingDarkTheme.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Currently using Dark theme'**
|
||||||
|
String get currentlyUsingDarkTheme;
|
||||||
|
|
||||||
|
/// No description provided for @currentlyUsingLightTheme.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Currently using Light theme'**
|
||||||
|
String get currentlyUsingLightTheme;
|
||||||
|
|
||||||
|
/// No description provided for @aboutConduit.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'About Conduit'**
|
||||||
|
String get aboutConduit;
|
||||||
|
|
||||||
|
/// No description provided for @versionLabel.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Version: {version} ({build})'**
|
||||||
|
String versionLabel(String version, String build);
|
||||||
|
|
||||||
|
/// No description provided for @githubRepository.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'GitHub Repository'**
|
||||||
|
String get githubRepository;
|
||||||
|
|
||||||
|
/// No description provided for @unableToLoadAppInfo.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Unable to load app info'**
|
||||||
|
String get unableToLoadAppInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
|
class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
|
||||||
|
|||||||
@@ -177,21 +177,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get password => 'Passwort';
|
String get password => 'Passwort';
|
||||||
|
|
||||||
@override
|
|
||||||
String get usernameOrEmailHint => 'Gib deinen Benutzernamen oder deine E‑Mail ein';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get passwordHint => 'Gib dein Passwort ein';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get signInWithApiKey => 'Mit API-Schlüssel anmelden';
|
String get signInWithApiKey => 'Mit API-Schlüssel anmelden';
|
||||||
|
|
||||||
@override
|
|
||||||
String get enterApiKey => 'Gib deinen API-Schlüssel ein';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get signingIn => 'Anmeldung läuft...';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connectToServer => 'Mit Server verbinden';
|
String get connectToServer => 'Mit Server verbinden';
|
||||||
|
|
||||||
@@ -225,51 +213,6 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get removeHeader => 'Header entfernen';
|
String get removeHeader => 'Header entfernen';
|
||||||
|
|
||||||
@override
|
|
||||||
String get advancedSettings => 'Erweiterte Einstellungen';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeaders => 'Benutzerdefinierte Header';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeadersDescription =>
|
|
||||||
'Füge benutzerdefinierte HTTP-Header für Authentifizierung, API-Schlüssel oder spezielle Serveranforderungen hinzu.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameEmpty => 'Header-Name darf nicht leer sein';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameTooLong => 'Header-Name zu lang (max. 64 Zeichen)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameInvalidChars =>
|
|
||||||
'Ungültiger Header-Name. Verwende nur Buchstaben, Zahlen und diese Symbole: !#\$&-^_`|~';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerNameReserved(String key) => 'Reservierter Header "$key" kann nicht überschrieben werden';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueEmpty => 'Header-Wert darf nicht leer sein';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueTooLong => 'Header-Wert zu lang (max. 1024 Zeichen)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueInvalidChars =>
|
|
||||||
'Header-Wert enthält ungültige Zeichen. Verwende nur druckbare ASCII-Zeichen.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueUnsafe =>
|
|
||||||
'Header-Wert scheint potenziell unsicheren Inhalt zu enthalten';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerAlreadyExists(String key) =>
|
|
||||||
'Header "$key" existiert bereits. Entferne ihn zuerst, um ihn zu aktualisieren.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get maxHeadersReachedDetail =>
|
|
||||||
'Maximal 10 benutzerdefinierte Header erlaubt. Entferne einige, um weitere hinzuzufügen.';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connecting => 'Verbindung wird hergestellt...';
|
String get connecting => 'Verbindung wird hergestellt...';
|
||||||
|
|
||||||
@@ -669,4 +612,108 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String get imageGenerationDescription => 'Bilder aus deinen Prompts erstellen.';
|
String get imageGenerationDescription => 'Bilder aus deinen Prompts erstellen.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get copy => 'Kopieren';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get edit => 'Bearbeiten';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get regenerate => 'Neu generieren';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noConversationsYet => 'Noch keine Unterhaltungen';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get usernameOrEmailHint => 'Gib deinen Benutzernamen oder deine E‑Mail ein';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get passwordHint => 'Gib dein Passwort ein';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get enterApiKey => 'Gib deinen API-Schlüssel ein';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get signingIn => 'Anmeldung läuft...';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get advancedSettings => 'Erweiterte Einstellungen';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeaders => 'Benutzerdefinierte Header';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeadersDescription => 'Füge benutzerdefinierte HTTP-Header für Authentifizierung, API-Schlüssel oder spezielle Serveranforderungen hinzu.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameEmpty => 'Header-Name darf nicht leer sein';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameTooLong => 'Header-Name zu lang (max. 64 Zeichen)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameInvalidChars => 'Ungültiger Header-Name. Verwende nur Buchstaben, Zahlen und diese Zeichen: !#\$&-^_`|~';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerNameReserved(String key) {
|
||||||
|
return 'Reservierten Header \"$key\" kann nicht überschrieben werden';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueEmpty => 'Header-Wert darf nicht leer sein';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueTooLong => 'Header-Wert zu lang (max. 1024 Zeichen)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueInvalidChars => 'Header-Wert enthält ungültige Zeichen. Nur druckbare ASCII-Zeichen verwenden.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueUnsafe => 'Header-Wert scheint potenziell unsicheren Inhalt zu enthalten';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerAlreadyExists(String key) {
|
||||||
|
return 'Header \"$key\" existiert bereits. Zum Aktualisieren zuerst entfernen.';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get maxHeadersReachedDetail => 'Maximal 10 benutzerdefinierte Header zulässig. Einige entfernen, um mehr hinzuzufügen.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get editMessage => 'Nachricht bearbeiten';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noModelsAvailable => 'Keine Modelle verfügbar';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String followingSystem(String theme) {
|
||||||
|
return 'Dem System folgen: $theme';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeDark => 'Dunkel';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeLight => 'Hell';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingDarkTheme => 'Aktuell dunkles Thema';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingLightTheme => 'Aktuell helles Thema';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get aboutConduit => 'Über Conduit';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String versionLabel(String version, String build) {
|
||||||
|
return 'Version: $version ($build)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get githubRepository => 'GitHub-Repository';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get unableToLoadAppInfo => 'App-Informationen konnten nicht geladen werden';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,21 +177,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get password => 'Password';
|
String get password => 'Password';
|
||||||
|
|
||||||
@override
|
|
||||||
String get usernameOrEmailHint => 'Enter your username or email';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get passwordHint => 'Enter your password';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get signInWithApiKey => 'Sign in with API Key';
|
String get signInWithApiKey => 'Sign in with API Key';
|
||||||
|
|
||||||
@override
|
|
||||||
String get enterApiKey => 'Enter your API key';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get signingIn => 'Signing in...';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connectToServer => 'Connect to Server';
|
String get connectToServer => 'Connect to Server';
|
||||||
|
|
||||||
@@ -225,51 +213,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get removeHeader => 'Remove header';
|
String get removeHeader => 'Remove header';
|
||||||
|
|
||||||
@override
|
|
||||||
String get advancedSettings => 'Advanced Settings';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeaders => 'Custom Headers';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeadersDescription =>
|
|
||||||
'Add custom HTTP headers for authentication, API keys, or special server requirements.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameEmpty => 'Header name cannot be empty';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameTooLong => 'Header name too long (max 64 characters)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameInvalidChars =>
|
|
||||||
'Invalid header name. Use only letters, numbers, and these symbols: !#\$&-^_`|~';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerNameReserved(String key) => 'Cannot override reserved header "$key"';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueEmpty => 'Header value cannot be empty';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueTooLong => 'Header value too long (max 1024 characters)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueInvalidChars =>
|
|
||||||
'Header value contains invalid characters. Use only printable ASCII.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueUnsafe =>
|
|
||||||
'Header value appears to contain potentially unsafe content';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerAlreadyExists(String key) =>
|
|
||||||
'Header "$key" already exists. Remove it first to update.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get maxHeadersReachedDetail =>
|
|
||||||
'Maximum of 10 custom headers allowed. Remove some to add more.';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connecting => 'Connecting...';
|
String get connecting => 'Connecting...';
|
||||||
|
|
||||||
@@ -669,4 +612,108 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String get imageGenerationDescription => 'Create images from your prompts.';
|
String get imageGenerationDescription => 'Create images from your prompts.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get copy => 'Copy';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get edit => 'Edit';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get regenerate => 'Regenerate';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noConversationsYet => 'No conversations yet';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get usernameOrEmailHint => 'Enter your username or email';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get passwordHint => 'Enter your password';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get enterApiKey => 'Enter your API key';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get signingIn => 'Signing in...';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get advancedSettings => 'Advanced Settings';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeaders => 'Custom Headers';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeadersDescription => 'Add custom HTTP headers for authentication, API keys, or special server requirements.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameEmpty => 'Header name cannot be empty';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameTooLong => 'Header name too long (max 64 characters)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameInvalidChars => 'Invalid header name. Use only letters, numbers, and these symbols: !#\$&-^_`|~';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerNameReserved(String key) {
|
||||||
|
return 'Cannot override reserved header \"$key\"';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueEmpty => 'Header value cannot be empty';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueTooLong => 'Header value too long (max 1024 characters)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueInvalidChars => 'Header value contains invalid characters. Use only printable ASCII.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueUnsafe => 'Header value appears to contain potentially unsafe content';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerAlreadyExists(String key) {
|
||||||
|
return 'Header \"$key\" already exists. Remove it first to update.';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get maxHeadersReachedDetail => 'Maximum of 10 custom headers allowed. Remove some to add more.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get editMessage => 'Edit Message';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noModelsAvailable => 'No models available';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String followingSystem(String theme) {
|
||||||
|
return 'Following system: $theme';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeDark => 'Dark';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeLight => 'Light';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingDarkTheme => 'Currently using Dark theme';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingLightTheme => 'Currently using Light theme';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get aboutConduit => 'About Conduit';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String versionLabel(String version, String build) {
|
||||||
|
return 'Version: $version ($build)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get githubRepository => 'GitHub Repository';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get unableToLoadAppInfo => 'Unable to load app info';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,21 +177,9 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get password => 'Mot de passe';
|
String get password => 'Mot de passe';
|
||||||
|
|
||||||
@override
|
|
||||||
String get usernameOrEmailHint => 'Entrez votre nom d\'utilisateur ou e‑mail';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get passwordHint => 'Entrez votre mot de passe';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get signInWithApiKey => 'Se connecter avec une clé API';
|
String get signInWithApiKey => 'Se connecter avec une clé API';
|
||||||
|
|
||||||
@override
|
|
||||||
String get enterApiKey => 'Entrez votre clé API';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get signingIn => 'Connexion en cours...';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connectToServer => 'Se connecter au serveur';
|
String get connectToServer => 'Se connecter au serveur';
|
||||||
|
|
||||||
@@ -225,53 +213,6 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get removeHeader => 'Supprimer l\'en-tête';
|
String get removeHeader => 'Supprimer l\'en-tête';
|
||||||
|
|
||||||
@override
|
|
||||||
String get advancedSettings => 'Paramètres avancés';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeaders => 'En-têtes personnalisés';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeadersDescription =>
|
|
||||||
'Ajoutez des en-têtes HTTP personnalisés pour l\'authentification, les clés API ou des exigences spécifiques du serveur.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameEmpty => 'Le nom de l\'en-tête ne peut pas être vide';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameTooLong => 'Nom d\'en-tête trop long (max 64 caractères)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameInvalidChars =>
|
|
||||||
'Nom d\'en-tête invalide. Utilisez uniquement des lettres, des chiffres et ces symboles : !#\$&-^_`|~';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerNameReserved(String key) =>
|
|
||||||
'Impossible d\'écraser l\'en-tête réservé « $key »';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueEmpty => 'La valeur de l\'en-tête ne peut pas être vide';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueTooLong =>
|
|
||||||
'Valeur d\'en-tête trop longue (max 1024 caractères)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueInvalidChars =>
|
|
||||||
'La valeur de l\'en-tête contient des caractères invalides. Utilisez uniquement des caractères ASCII imprimables.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueUnsafe =>
|
|
||||||
'La valeur de l\'en-tête semble contenir du contenu potentiellement dangereux';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerAlreadyExists(String key) =>
|
|
||||||
'L\'en-tête « $key » existe déjà. Supprimez-le d\'abord pour le modifier.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get maxHeadersReachedDetail =>
|
|
||||||
'Maximum 10 en-têtes personnalisés. Supprimez-en pour en ajouter.';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connecting => 'Connexion en cours...';
|
String get connecting => 'Connexion en cours...';
|
||||||
|
|
||||||
@@ -671,4 +612,108 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String get imageGenerationDescription => 'Créez des images à partir de vos prompts.';
|
String get imageGenerationDescription => 'Créez des images à partir de vos prompts.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get copy => 'Copier';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get edit => 'Modifier';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get regenerate => 'Régénérer';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noConversationsYet => 'Aucune conversation pour l\'instant';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get usernameOrEmailHint => 'Entrez votre nom d\'utilisateur ou e‑mail';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get passwordHint => 'Entrez votre mot de passe';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get enterApiKey => 'Entrez votre clé API';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get signingIn => 'Connexion en cours...';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get advancedSettings => 'Paramètres avancés';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeaders => 'En-têtes personnalisés';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeadersDescription => 'Ajoutez des en-têtes HTTP personnalisés pour l\'authentification, les clés API ou des exigences spécifiques du serveur.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameEmpty => 'Le nom de l\'en-tête ne peut pas être vide';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameTooLong => 'Nom d\'en-tête trop long (max 64 caractères)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameInvalidChars => 'Nom d\'en-tête invalide. Utilisez uniquement des lettres, des chiffres et ces symboles : !#\$&-^_`|~';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerNameReserved(String key) {
|
||||||
|
return 'Impossible d\'écraser l\'en-tête réservé « $key »';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueEmpty => 'La valeur de l\'en-tête ne peut pas être vide';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueTooLong => 'Valeur d\'en-tête trop longue (max 1024 caractères)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueInvalidChars => 'La valeur de l\'en-tête contient des caractères invalides. Utilisez uniquement des caractères ASCII imprimables.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueUnsafe => 'La valeur de l\'en-tête semble contenir du contenu potentiellement dangereux';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerAlreadyExists(String key) {
|
||||||
|
return 'L\'en-tête « $key » existe déjà. Supprimez-le d\'abord pour le modifier.';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get maxHeadersReachedDetail => 'Maximum 10 en-têtes personnalisés. Supprimez-en pour en ajouter.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get editMessage => 'Modifier le message';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noModelsAvailable => 'Aucun modèle disponible';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String followingSystem(String theme) {
|
||||||
|
return 'Selon le système : $theme';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeDark => 'Sombre';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeLight => 'Clair';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingDarkTheme => 'Thème sombre actuellement utilisé';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingLightTheme => 'Thème clair actuellement utilisé';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get aboutConduit => 'À propos de Conduit';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String versionLabel(String version, String build) {
|
||||||
|
return 'Version : $version ($build)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get githubRepository => 'Dépôt GitHub';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get unableToLoadAppInfo => 'Impossible de charger les informations de l\'application';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,21 +177,9 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get password => 'Password';
|
String get password => 'Password';
|
||||||
|
|
||||||
@override
|
|
||||||
String get usernameOrEmailHint => 'Inserisci il tuo username o e‑mail';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get passwordHint => 'Inserisci la password';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get signInWithApiKey => 'Accedi con chiave API';
|
String get signInWithApiKey => 'Accedi con chiave API';
|
||||||
|
|
||||||
@override
|
|
||||||
String get enterApiKey => 'Inserisci la tua chiave API';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get signingIn => 'Accesso in corso...';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connectToServer => 'Connetti al server';
|
String get connectToServer => 'Connetti al server';
|
||||||
|
|
||||||
@@ -225,52 +213,6 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||||||
@override
|
@override
|
||||||
String get removeHeader => 'Rimuovi header';
|
String get removeHeader => 'Rimuovi header';
|
||||||
|
|
||||||
@override
|
|
||||||
String get advancedSettings => 'Impostazioni avanzate';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeaders => 'Header personalizzati';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get customHeadersDescription =>
|
|
||||||
'Aggiungi header HTTP personalizzati per autenticazione, chiavi API o requisiti speciali del server.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameEmpty => 'Il nome header non può essere vuoto';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameTooLong => 'Nome header troppo lungo (max 64 caratteri)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerNameInvalidChars =>
|
|
||||||
'Nome header non valido. Usa solo lettere, numeri e questi simboli: !#\$&-^_`|~';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerNameReserved(String key) =>
|
|
||||||
'Impossibile sovrascrivere l\'header riservato "$key"';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueEmpty => 'Il valore header non può essere vuoto';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueTooLong => 'Valore header troppo lungo (max 1024 caratteri)';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueInvalidChars =>
|
|
||||||
'Il valore header contiene caratteri non validi. Usa solo ASCII stampabile.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get headerValueUnsafe =>
|
|
||||||
'Il valore header sembra contenere contenuto potenzialmente non sicuro';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String headerAlreadyExists(String key) =>
|
|
||||||
'L\'header "$key" esiste già. Rimuovilo prima per aggiornarlo.';
|
|
||||||
|
|
||||||
@override
|
|
||||||
String get maxHeadersReachedDetail =>
|
|
||||||
'Massimo 10 header personalizzati consentiti. Rimuovine alcuni per aggiungerne altri.';
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get connecting => 'Connessione in corso...';
|
String get connecting => 'Connessione in corso...';
|
||||||
|
|
||||||
@@ -670,4 +612,108 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String get imageGenerationDescription => 'Crea immagini dai tuoi prompt.';
|
String get imageGenerationDescription => 'Crea immagini dai tuoi prompt.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get copy => 'Copia';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get edit => 'Modifica';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get regenerate => 'Rigenera';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noConversationsYet => 'Ancora nessuna conversazione';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get usernameOrEmailHint => 'Inserisci il tuo username o e‑mail';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get passwordHint => 'Inserisci la password';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get enterApiKey => 'Inserisci la tua chiave API';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get signingIn => 'Accesso in corso...';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get advancedSettings => 'Impostazioni avanzate';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeaders => 'Header personalizzati';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customHeadersDescription => 'Aggiungi header HTTP personalizzati per autenticazione, chiavi API o requisiti speciali del server.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameEmpty => 'Il nome header non può essere vuoto';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameTooLong => 'Nome header troppo lungo (max 64 caratteri)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerNameInvalidChars => 'Nome header non valido. Usa solo lettere, numeri e questi simboli: !#\$&-^_`|~';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerNameReserved(String key) {
|
||||||
|
return 'Impossibile sovrascrivere l\'header riservato \"$key\"';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueEmpty => 'Il valore dell\'header non può essere vuoto';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueTooLong => 'Valore header troppo lungo (max 1024 caratteri)';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueInvalidChars => 'Il valore dell\'header contiene caratteri non validi. Usa solo ASCII stampabile.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get headerValueUnsafe => 'Il valore dell\'header sembra contenere contenuti potenzialmente non sicuri';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String headerAlreadyExists(String key) {
|
||||||
|
return 'L\'header \"$key\" esiste già. Rimuovilo prima per aggiornarlo.';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get maxHeadersReachedDetail => 'Massimo 10 header personalizzati consentiti. Rimuovine alcuni per aggiungerne altri.';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get editMessage => 'Modifica messaggio';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get noModelsAvailable => 'Nessun modello disponibile';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String followingSystem(String theme) {
|
||||||
|
return 'Segue il sistema: $theme';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeDark => 'Scuro';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get themeLight => 'Chiaro';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingDarkTheme => 'Attualmente tema scuro';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get currentlyUsingLightTheme => 'Attualmente tema chiaro';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get aboutConduit => 'Informazioni su Conduit';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String versionLabel(String version, String build) {
|
||||||
|
return 'Versione: $version ($build)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get githubRepository => 'Repository GitHub';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get unableToLoadAppInfo => 'Impossibile caricare le informazioni dell\'app';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user