@tduncan / Cortana / commits / 401b257

feat(servers): add Requesty as an OpenAI-compatible provider

Adds a Requesty server type next to OpenRouter. Chat goes through the OpenAI-compatible service and tool adapter, and model discovery lists Requesty managed models first followed by the /v1/models catalog, with context window, capability flags and per-million pricing.

Thibault Jaigu committed Sep 24, 2026 at 09:37 UTC 401b257606e8087ac5311e96156cc9605913b0ef
48 files changed +821 -8
README.md
+2 -2
@@ -20,14 +20,14 @@ LocalMind is a premium Flutter mobile application designed to provide a beautifu
20
21 ## Vision
22
23 -Built for those who value privacy and performance, LocalMind connects directly to your local inference servers like **LM Studio** or **Ollama**, as well as cloud providers like **OpenRouter**. No middleware, no tracking, and no hidden subscriptions. Just you and your models.
23 +Built for those who value privacy and performance, LocalMind connects directly to your local inference servers like **LM Studio** or **Ollama**, as well as cloud providers like **OpenRouter** or **Requesty**. No middleware, no tracking, and no hidden subscriptions. Just you and your models.
24
25 ## Key Features
26
27 - **On-Device AI Support (iOS & Android)**: Private, fast, and offline. Run powerful GGUF and LiteRT models (Gemma, Qwen, DeepSeek R1) directly on your device via `llamadart` and `flutter_gemma`. No internet connection required.
28 - **Model Context Protocol (MCP)**: Seamlessly connect to local or remote MCP servers. Grant models access to custom tools and integrations (e.g., file access, web APIs, shell actions) with fine-grained global and chat-level toggles.
29 - **Model Manager**: Download curated models or download GGUF models directly from HuggingFace. Manage model files directly within the app.
30 -- **Multi-Server Connection**: Connect to Ollama, LM Studio, OpenRouter, or any OpenAI-compatible API with real-time server health and speed monitoring.
30 +- **Multi-Server Connection**: Connect to Ollama, LM Studio, OpenRouter, Requesty, or any OpenAI-compatible API with real-time server health and speed monitoring.
31 - **Premium Chat Experience**: A polished, Claude/ChatGPT-inspired user interface featuring:
32 - **Streaming Responses**: Real-time SSE support for instant generation.
33 - **Markdown Rendering**: Beautiful rendering of text and code with rich syntax highlighting.
lib/core/constants/app_constants.dart
+1
@@ -23,6 +23,7 @@ class AppConstants {
23 static const int ollamaDefaultPort = 11434;
24
25 static const String openRouterBaseUrl = 'https://openrouter.ai/api/v1';
26 + static const String requestyBaseUrl = 'https://router.requesty.ai/v1';
27 static const String ollamaCloudBaseUrl = 'https://ollama.com';
28 static const int ollamaCloudDefaultPort = 443;
29 }
lib/core/models/enums.dart
+1
@@ -207,6 +207,7 @@ enum ServerType {
207 ollamaCloud,
208 openRouter,
209 onDevice,
210 + requesty,
211 }
212
213 enum ConnectionStatus { connected, disconnected, checking, error }
lib/features/chat/data/chat_service.dart
+2
@@ -53,6 +53,7 @@ abstract class ChatService {
53 imageCompressionLevel: imageCompressionLevel,
54 );
55 case ServerType.openAICompatible:
56 + case ServerType.requesty:
57 return OpenAICompatibleChatService(
58 dio,
59 imageCompressionEnabled: imageCompressionEnabled,
@@ -1681,6 +1682,7 @@ ToolTransportAdapter createAdapterForServerType(ServerType type) =>
1682 switch (type) {
1683 ServerType.openAICompatible => OpenAiToolAdapter(),
1684 ServerType.openRouter => OpenRouterToolAdapter(),
1685 + ServerType.requesty => OpenAiToolAdapter(),
1686 ServerType.lmStudio => OpenAiToolAdapter(),
1687 ServerType.onDevice => OpenAiToolAdapter(),
1688 ServerType.ollama => OllamaToolAdapter(),
lib/features/chat/providers/model_selection_providers.dart
+2
@@ -201,6 +201,7 @@ final autoSelectFirstLoadedModelProvider = FutureProvider<void>((ref) async {
201 // list fetch for users who never set one).
202 if (!hasDefaultForServer &&
203 (activeServer.type == ServerType.openRouter ||
204 + activeServer.type == ServerType.requesty ||
205 activeServer.type == ServerType.openAICompatible)) {
206 return;
207 }
@@ -260,6 +261,7 @@ final autoSelectFirstLoadedModelProvider = FutureProvider<void>((ref) async {
261 // Cloud providers fall back to no selection when the configured default
262 // isn't among the available models.
263 if (activeServer.type == ServerType.openRouter ||
264 + activeServer.type == ServerType.requesty ||
265 activeServer.type == ServerType.openAICompatible) {
266 return;
267 }
lib/features/chat/views/components/message_list/message_area.dart
+3 -1
@@ -66,7 +66,9 @@ class MessageArea extends ConsumerWidget {
66
67 if (messages.isEmpty) {
68 final activeServer = ref.watch(activeServerProvider);
69 - final isCloudProvider = activeServer?.type == ServerType.openRouter;
69 + final isCloudProvider =
70 + activeServer?.type == ServerType.openRouter ||
71 + activeServer?.type == ServerType.requesty;
72
73 return EmptyState(
74 isCloudProvider: isCloudProvider,
lib/features/chat/views/components/model_info_sheet.dart
+2 -1
@@ -61,7 +61,8 @@ Future<void> showModelInfoSheet(
61 label: l10n.context_length,
62 value: contextLength.toString(),
63 ),
64 - if (model?.serverType == ServerType.openRouter &&
64 + if ((model?.serverType == ServerType.openRouter ||
65 + model?.serverType == ServerType.requesty) &&
66 model?.pricingLabel != null)
67 _ModelInfoRow(
68 label: l10n.model_api_pricing,
lib/features/models/components/model_tile.dart
+2 -1
@@ -166,7 +166,8 @@ class ModelTile extends StatelessWidget {
166 ),
167 isDark: isDark,
168 ),
169 - if (model.serverType == ServerType.openRouter &&
169 + if ((model.serverType == ServerType.openRouter ||
170 + model.serverType == ServerType.requesty) &&
171 model.pricingLabel != null)
172 Tooltip(
173 message: model.isPricingFree
lib/features/onboarding/screens/onboarding_server_setup_screen.dart
+13
@@ -71,6 +71,10 @@ class _OnboardingServerSetupScreenState
71 defaultName = 'OpenRouter';
72 defaultPort = '443';
73 break;
74 + case ServerType.requesty:
75 + defaultName = 'Requesty';
76 + defaultPort = '443';
77 + break;
78 case ServerType.onDevice:
79 defaultName = 'On-Device';
80 defaultPort = '0';
@@ -94,6 +98,7 @@ class _OnboardingServerSetupScreenState
98 ServerType.ollama => AppConstants.ollamaDefaultPort,
99 ServerType.ollamaCloud => AppConstants.ollamaCloudDefaultPort,
100 ServerType.openRouter => 443,
101 + ServerType.requesty => 443,
102 ServerType.onDevice => 0,
103 };
104 }
@@ -182,6 +187,7 @@ class _OnboardingServerSetupScreenState
187
188 bool get _isCloudProvider =>
189 widget.selectedType == ServerType.openRouter ||
190 + widget.selectedType == ServerType.requesty ||
191 widget.selectedType == ServerType.ollamaCloud;
192
193 String? _validateHost(String? value) {
@@ -306,6 +312,7 @@ class _OnboardingServerSetupScreenState
312 final theme = Theme.of(context);
313 final isCloud = _isCloudProvider;
314 final isOllamaCloud = widget.selectedType == ServerType.ollamaCloud;
315 + final isRequesty = widget.selectedType == ServerType.requesty;
316
317 return Scaffold(
318 appBar: AppBar(title: Text(l10n.setup_connection)),
@@ -382,6 +389,8 @@ class _OnboardingServerSetupScreenState
389 hintText: isCloud
390 ? (isOllamaCloud
391 ? l10n.api_key_hint_ollama_cloud
392 + : isRequesty
393 + ? l10n.api_key_hint_requesty
394 : l10n.api_key_hint_openrouter)
395 : null,
396 ),
@@ -389,6 +398,8 @@ class _OnboardingServerSetupScreenState
398 if (isCloud && (val == null || val.trim().isEmpty)) {
399 return isOllamaCloud
400 ? l10n.api_key_required_ollama_cloud
401 + : isRequesty
402 + ? l10n.api_key_required_requesty
403 : l10n.api_key_required_openrouter;
404 }
405 if (isCloud &&
@@ -429,6 +440,8 @@ class _OnboardingServerSetupScreenState
440 child: Text(
441 isOllamaCloud
442 ? l10n.ollama_cloud_disclosure
443 + : isRequesty
444 + ? l10n.requesty_disclosure
445 : l10n.openrouter_disclosure,
446 style: theme.textTheme.bodySmall?.copyWith(
447 color: theme.colorScheme.onSurface
lib/features/onboarding/screens/onboarding_server_type_screen.dart
+13
@@ -226,6 +226,19 @@ class _OnboardingServerTypeScreenState
226 ),
227 theme: theme,
228 ),
229 + _buildServerCard(
230 + type: ServerType.requesty,
231 + title: l10n.server_type_requesty,
232 + subtitle: l10n.server_type_requesty_sub,
233 + iconWidget: HugeIcon(
234 + icon: HugeIcons.strokeRoundedAiNetwork,
235 + color:
236 + _selectedType == ServerType.requesty
237 + ? theme.colorScheme.primary
238 + : theme.colorScheme.onSurface,
239 + ),
240 + theme: theme,
241 + ),
242 ],
243 ),
244 const SizedBox(height: 12),
lib/features/servers/data/models/server.dart
+12
@@ -49,6 +49,9 @@ String displayServerAddress(
49 if (type == ServerType.openRouter) {
50 return 'openrouter.ai';
51 }
52 + if (type == ServerType.requesty) {
53 + return 'router.requesty.ai';
54 + }
55 if (type == ServerType.ollamaCloud) {
56 return 'ollama.com';
57 }
@@ -87,6 +90,9 @@ String buildServerBaseUrl(String host, int port, ServerType type) {
90 if (type == ServerType.openRouter) {
91 return 'https://openrouter.ai/api/v1';
92 }
93 + if (type == ServerType.requesty) {
94 + return AppConstants.requestyBaseUrl;
95 + }
96 if (type == ServerType.ollamaCloud) {
97 return AppConstants.ollamaCloudBaseUrl;
98 }
@@ -210,6 +216,7 @@ class Server {
216 case ServerType.ollamaCloud:
217 return '$baseUrl${_apiPath('/api/chat')}';
218 case ServerType.openRouter:
219 + case ServerType.requesty:
220 return '$baseUrl/chat/completions';
221 case ServerType.onDevice:
222 return '';
@@ -226,6 +233,7 @@ class Server {
233 case ServerType.ollamaCloud:
234 return '$baseUrl${_apiPath('/api/tags')}';
235 case ServerType.openRouter:
236 + case ServerType.requesty:
237 return '$baseUrl/models';
238 case ServerType.onDevice:
239 return '';
@@ -243,6 +251,7 @@ class Server {
251 case ServerType.ollamaCloud:
252 case ServerType.openRouter:
253 case ServerType.onDevice:
254 + case ServerType.requesty:
255 return '';
256 }
257 }
@@ -256,6 +265,7 @@ class Server {
265 case ServerType.openAICompatible:
266 case ServerType.openRouter:
267 case ServerType.onDevice:
268 + case ServerType.requesty:
269 return '';
270 }
271 }
@@ -271,6 +281,7 @@ class Server {
281 case ServerType.ollamaCloud:
282 case ServerType.openRouter:
283 case ServerType.onDevice:
284 + case ServerType.requesty:
285 return '';
286 }
287 }
@@ -286,6 +297,7 @@ class Server {
297 case ServerType.ollamaCloud:
298 case ServerType.openRouter:
299 case ServerType.onDevice:
300 + case ServerType.requesty:
301 return '';
302 }
303 }
lib/features/servers/data/server_api_service.dart
+66
@@ -99,6 +99,9 @@ class ServerApiService {
99 case ServerType.openRouter:
100 models = _parseOpenRouterModels(response.data, server);
101 break;
102 + case ServerType.requesty:
103 + models = await _fetchRequestyModels(response.data, server);
104 + break;
105 case ServerType.onDevice:
106 models = [];
107 break;
@@ -117,6 +120,7 @@ class ServerApiService {
120
121 Future<Set<String>> fetchRunningModels(Server server) async {
122 if (server.type == ServerType.openRouter ||
123 + server.type == ServerType.requesty ||
124 server.type == ServerType.openAICompatible ||
125 server.type == ServerType.onDevice) {
126 return {};
@@ -139,6 +143,7 @@ class ServerApiService {
143
144 Future<void> loadModel(Server server, String modelId) async {
145 if (server.type == ServerType.openRouter ||
146 + server.type == ServerType.requesty ||
147 server.type == ServerType.onDevice) {
148 return;
149 }
@@ -164,6 +169,7 @@ class ServerApiService {
169 // user wants.
170 return;
171 case ServerType.openRouter:
172 + case ServerType.requesty:
173 case ServerType.onDevice:
174 break;
175 }
@@ -175,6 +181,7 @@ class ServerApiService {
181 int? contextLength,
182 }) async {
183 if (server.type == ServerType.openRouter ||
184 + server.type == ServerType.requesty ||
185 server.type == ServerType.onDevice) {
186 return null;
187 }
@@ -223,6 +230,7 @@ class ServerApiService {
230 // user wants.
231 return null;
232 case ServerType.openRouter:
233 + case ServerType.requesty:
234 case ServerType.onDevice:
235 return null;
236 }
@@ -256,6 +264,7 @@ class ServerApiService {
264 String? instanceId,
265 }) async {
266 if (server.type == ServerType.openRouter ||
267 + server.type == ServerType.requesty ||
268 server.type == ServerType.onDevice) {
269 return;
270 }
@@ -285,6 +294,7 @@ class ServerApiService {
294 // unload action is supported.
295 return;
296 case ServerType.openRouter:
297 + case ServerType.requesty:
298 case ServerType.onDevice:
299 break;
300 }
@@ -846,6 +856,62 @@ class ServerApiService {
856 return parsed * 1000000;
857 }
858
859 + /// Requesty's `/models` endpoint returns the full catalog (only the
860 + /// org-approved models when a key is sent). Managed policies from
861 + /// `/models/managed` are listed first, since they are the curated,
862 + /// multi-provider ids most users should pick. If that call fails the
863 + /// catalog alone is returned.
864 + Future<List<ModelInfo>> _fetchRequestyModels(
865 + dynamic catalogData,
866 + Server server,
867 + ) async {
868 + final catalog = _parseRequestyModels(catalogData, server);
869 + List<ModelInfo> managed = const [];
870 + try {
871 + final response = await _dio.get(
872 + '${server.baseUrl}/models/managed',
873 + options: Options(headers: buildServerAuthHeaders(server)),
874 + );
875 + managed = _parseRequestyModels(response.data, server);
876 + } catch (e) {
877 + Log.warning('Failed to fetch Requesty managed models: $e');
878 + }
879 + final managedIds = managed.map((m) => m.id).toSet();
880 + return [...managed, ...catalog.where((m) => !managedIds.contains(m.id))];
881 + }
882 +
883 + List<ModelInfo> _parseRequestyModels(dynamic data, Server server) {
884 + final List<ModelInfo> models = [];
885 + if (data is! Map) return models;
886 + final items = data['data'];
887 + if (items is! List) return models;
888 + for (final item in items) {
889 + if (item is! Map) continue;
890 + final id = item['id']?.toString() ?? '';
891 + if (id.isEmpty) continue;
892 + final api = item['api']?.toString();
893 + if (api != null && api != 'chat') continue;
894 + models.add(
895 + ModelInfo(
896 + id: id,
897 + name: id,
898 + description: item['description'] as String?,
899 + contextLength: _toInt(item['context_window']),
900 + serverType: server.type,
901 + serverId: server.id,
902 + supportsVision: item['supports_vision'] == true,
903 + supportsReasoning: item['supports_reasoning'] == true,
904 + supportsToolUse: item['supports_tool_calling'] == true,
905 + inputPricePerMillion: _openRouterPricePerMillion(item['input_price']),
906 + outputPricePerMillion: _openRouterPricePerMillion(
907 + item['output_price'],
908 + ),
909 + ),
910 + );
911 + }
912 + return models;
913 + }
914 +
915 String _formatModelName(String id) {
916 return id
917 .replaceAll('-', ' ')
lib/features/servers/providers/server_providers.dart
+2 -1
@@ -122,7 +122,8 @@ final loadedModelsProvider = FutureProvider.family<Set<String>, Server>((
122 }
123
124 if (server.type == ServerType.openAICompatible ||
125 - server.type == ServerType.openRouter) {
125 + server.type == ServerType.openRouter ||
126 + server.type == ServerType.requesty) {
127 return <String>{};
128 }
129
lib/features/servers/views/add_server_screen.dart
+16 -2
@@ -42,9 +42,11 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
42 bool get _isEditing => widget.editServer != null;
43 bool get _requiresEndpoint =>
44 _selectedType != ServerType.openRouter &&
45 + _selectedType != ServerType.requesty &&
46 _selectedType != ServerType.ollamaCloud;
47 bool get _requiresMandatoryApiKey =>
48 _selectedType == ServerType.openRouter ||
49 + _selectedType == ServerType.requesty ||
50 _selectedType == ServerType.ollamaCloud;
51
52 String _lastHostScheme = '';
@@ -56,6 +58,7 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
58 ServerType.ollama => AppConstants.ollamaDefaultPort,
59 ServerType.ollamaCloud => AppConstants.ollamaCloudDefaultPort,
60 ServerType.openRouter => 443,
61 + ServerType.requesty => 443,
62 ServerType.onDevice => 0,
63 };
64 }
@@ -129,7 +132,7 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
132 _testResult = null;
133
134 final isHttps = isHttpsAddressInput(_hostController.text);
132 - if (type == ServerType.openRouter) {
135 + if (type == ServerType.openRouter || type == ServerType.requesty) {
136 _portController.text = '443';
137 } else if (type == ServerType.ollamaCloud) {
138 _portController.text = AppConstants.ollamaCloudDefaultPort.toString();
@@ -383,6 +386,8 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
386 if (value == null || value.trim().isEmpty) {
387 return _selectedType == ServerType.ollamaCloud
388 ? l10n.api_key_required_ollama_cloud
389 + : _selectedType == ServerType.requesty
390 + ? l10n.api_key_required_requesty
391 : l10n.api_key_required_openrouter;
392 }
393 if (_selectedType == ServerType.openRouter &&
@@ -608,7 +613,9 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
613 context,
614 title: l10n.server_authentication_title,
615 subtitle: _requiresMandatoryApiKey
611 - ? l10n.server_authentication_required_desc
616 + ? (_selectedType == ServerType.requesty
617 + ? l10n.server_authentication_required_desc_requesty
618 + : l10n.server_authentication_required_desc)
619 : l10n.server_authentication_optional_desc,
620 child: Column(
621 children: [
@@ -621,6 +628,8 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
628 hintText: _requiresMandatoryApiKey
629 ? (_selectedType == ServerType.ollamaCloud
630 ? l10n.api_key_hint_ollama_cloud
631 + : _selectedType == ServerType.requesty
632 + ? l10n.api_key_hint_requesty
633 : l10n.api_key_hint_openrouter)
634 : l10n.api_key_hint_generic,
635 ),
@@ -656,6 +665,8 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
665 child: Text(
666 _selectedType == ServerType.ollamaCloud
667 ? l10n.ollama_cloud_disclosure
668 + : _selectedType == ServerType.requesty
669 + ? l10n.requesty_disclosure
670 : l10n.openrouter_disclosure,
671 style: theme.textTheme.bodySmall?.copyWith(
672 color: theme.colorScheme.onSurface.withValues(
@@ -948,6 +959,7 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
959 ServerType.ollama => l10n.server_type_ollama,
960 ServerType.ollamaCloud => l10n.server_type_ollama_cloud,
961 ServerType.openRouter => l10n.server_type_openrouter,
962 + ServerType.requesty => l10n.server_type_requesty,
963 ServerType.onDevice => l10n.server_type_on_device_display,
964 };
965 }
@@ -963,6 +975,8 @@ class _AddServerScreenState extends ConsumerState<AddServerScreen> {
975 return l10n.add_server_ollama_cloud_subtitle;
976 case ServerType.openRouter:
977 return l10n.add_server_openrouter_subtitle;
978 + case ServerType.requesty:
979 + return l10n.add_server_requesty_subtitle;
980 }
981 }
982 }
lib/features/servers/views/components/server_card.dart
+7
@@ -48,6 +48,8 @@ class ServerCard extends StatelessWidget {
48 return l10n.server_type_ollama_cloud_display;
49 case ServerType.openRouter:
50 return l10n.server_type_openrouter_display;
51 + case ServerType.requesty:
52 + return l10n.server_type_requesty_display;
53 case ServerType.onDevice:
54 return l10n.server_type_on_device_display;
55 }
@@ -57,6 +59,9 @@ class ServerCard extends StatelessWidget {
59 if (server.type == ServerType.openRouter) {
60 return l10n.server_address_openrouter;
61 }
62 + if (server.type == ServerType.requesty) {
63 + return l10n.server_address_requesty;
64 + }
65 if (server.type == ServerType.ollamaCloud) {
66 return l10n.server_address_ollama_cloud;
67 }
@@ -104,6 +109,8 @@ class ServerCard extends StatelessWidget {
109 return HugeIcons.strokeRoundedAiCloud;
110 case ServerType.openRouter:
111 return HugeIcons.strokeRoundedCloud;
112 + case ServerType.requesty:
113 + return HugeIcons.strokeRoundedAiNetwork;
114 case ServerType.onDevice:
115 return HugeIcons.strokeRoundedHardDrive;
116 }
lib/features/servers/views/components/server_icon_picker.dart
+5
@@ -247,6 +247,11 @@ HugeIconData? getDefaultServerIcon(String? serverType) {
247 (icon) => icon.name == 'Cloud',
248 orElse: () => serverIcons.first,
249 );
250 + case 'requesty':
251 + return serverIcons.firstWhere(
252 + (icon) => icon.name == 'AI Network',
253 + orElse: () => serverIcons.first,
254 + );
255 default:
256 return serverIcons.firstWhere(
257 (icon) => icon.name == 'Server Stack',
lib/features/servers/views/components/server_type_selector.dart
+6
@@ -50,6 +50,12 @@ class ServerTypeSelector extends StatelessWidget {
50 HugeIcons.strokeRoundedCloud,
51 Colors.purple,
52 ),
53 + (
54 + ServerType.requesty,
55 + l10n.server_type_requesty,
56 + HugeIcons.strokeRoundedAiNetwork,
57 + Colors.teal,
58 + ),
59 ];
60
61 return LayoutBuilder(
lib/features/settings/views/settings_screen.dart
+1
@@ -516,6 +516,7 @@ class SettingsViews extends ConsumerWidget {
516 l10n.server_type_ollama,
517 l10n.server_type_ollama_cloud,
518 l10n.server_type_openrouter,
519 + l10n.server_type_requesty,
520 ],
521 highlights: [
522 l10n.settings_on_device,
lib/l10n/app_ar.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "سحابة موحدة",
317 + "server_type_requesty_sub": "سحابة موحدة",
318 "ready_continue": "جاهز للمتابعة",
319 "waiting_selection": "بانتظار الاختيار",
320 "setup_connection": "إعداد الاتصال",
@@ -329,11 +331,13 @@
331 "api_key_required": "مفتاح API *",
332 "api_key_optional": "مفتاح API (اختياري)",
333 "api_key_required_openrouter": "مفتاح API مطلوب لـ OpenRouter",
334 + "api_key_required_requesty": "مفتاح API مطلوب لـ Requesty",
335 "api_key_format": "مفاتيح OpenRouter API تبدأ بـ sk-",
336 "my_server_hint": "خادمي",
337 "name_length_validation": "يجب ألا يتجاوز الاسم 50 حرفاً",
338 "host_valid": "أدخل اسماً مضيفاً أو عنوان IP صالحاً",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "للخوادم الموثقة",
342 "update_server": "تحديث الخادم",
343 "save_server": "حفظ الخادم",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "متوافق مع OpenAI",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "محلي",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "استدلال محلي",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "افتراضي",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "الرموز",
840 "enter_context_length": "أدخل طول السياق...",
841 "openrouter_disclosure": "من خلال الاتصال بهذا المزود، سيتم إرسال رسائل الدردشة والمدخلات الخاصة بك إلى خوادمهم. لا يتتبع LocalMind محادثاتك أو يخزنها.",
842 + "requesty_disclosure": "من خلال الاتصال بهذا المزود، سيتم إرسال رسائل الدردشة والمدخلات الخاصة بك إلى خوادمهم. لا يتتبع LocalMind محادثاتك أو يخزنها.",
843 "welcome_message_cloud": "يتم إرسال رسائلك إلى مزود الخدمة المتصل بك.",
844 "privacy_policy": "سياسة الخصوصية",
845 "cloud_sync": "مزامنة S3 السحابية",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "ألصق مفتاح API الخاص بـ Ollama Cloud",
900 "add_server_ollama_cloud_subtitle": "اتصل بـ Ollama Cloud باستخدام مفتاح API من ollama.com/settings/keys للوصول إلى النماذج السحابية المُدارة.",
901 "add_server_openrouter_subtitle": "اتصل عبر OpenRouter باستخدام مفتاح API صالح واحتفظ بهذا الملف الشخصي جاهزًا لتوجيه النماذج.",
902 + "add_server_requesty_subtitle": "اتصل عبر Requesty باستخدام مفتاح API صالح واحتفظ بهذا الملف الشخصي جاهزًا لتوجيه النماذج.",
903 "add_server_endpoint_subtitle": "قم بتكوين نقطة نهاية محلية أو مستضافة ذاتيًا، ثم تحقق من الاتصال قبل الحفظ.",
904 "model_set_default": "تعيين كنموذج افتراضي",
905 "model_clear_default": "إزالة من النموذج الافتراضي",
lib/l10n/app_bn.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "ইউনিফাইড ক্লাউড",
317 + "server_type_requesty_sub": "ইউনিফাইড ক্লাউড",
318 "ready_continue": "এগিয়ে যাওয়ার জন্য প্রস্তুত",
319 "waiting_selection": "নির্বাচনের জন্য অপেক্ষা করা হচ্ছে",
320 "setup_connection": "সংযোগ সেটআপ করুন",
@@ -329,11 +331,13 @@
331 "api_key_required": "এপিআই কি *",
332 "api_key_optional": "এপিআই কি (ঐচ্ছিক)",
333 "api_key_required_openrouter": "OpenRouter-এর জন্য এপিআই কি প্রয়োজন",
334 + "api_key_required_requesty": "Requesty-এর জন্য এপিআই কি প্রয়োজন",
335 "api_key_format": "OpenRouter API কি sk- দিয়ে শুরু হয়",
336 "my_server_hint": "আমার সার্ভার",
337 "name_length_validation": "নাম অবশ্যই ৫০ অক্ষরের বা তার কম হতে হবে",
338 "host_valid": "একটি বৈধ হোস্টনেম বা আইপি ঠিকানা লিখুন",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "প্রমাণিত সার্ভারের জন্য",
342 "update_server": "সার্ভার আপডেট করুন",
343 "save_server": "সার্ভার সংরক্ষণ করুন",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "ওপেনএআই সামঞ্জস্যপূর্ণ",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "অন-ডিভাইস (On-Device)",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "স্থানীয় ইনফারেন্স (Local Inference)",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "ডিফল্ট",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "টোকেন",
840 "enter_context_length": "প্রসঙ্গের দৈর্ঘ্য লিখুন...",
841 "openrouter_disclosure": "এই প্রদানকারীকে সংযুক্ত করার মাধ্যমে, আপনার চ্যাট বার্তা এবং ইনপুট তাদের সার্ভারে পাঠানো হবে। LocalMind আপনার কথোপকথন ট্র্যাক বা সংরক্ষণ করে না।",
842 + "requesty_disclosure": "এই প্রদানকারীকে সংযুক্ত করার মাধ্যমে, আপনার চ্যাট বার্তা এবং ইনপুট তাদের সার্ভারে পাঠানো হবে। LocalMind আপনার কথোপকথন ট্র্যাক বা সংরক্ষণ করে না।",
843 "welcome_message_cloud": "আপনার বার্তাগুলি আপনার সংযুক্ত প্রদানকারীর কাছে পাঠানো হয়।",
844 "privacy_policy": "গোপনীয়তা নীতি",
845 "cloud_sync": "S3 ক্লাউড সিঙ্ক",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "আপনার Ollama Cloud API key পেস্ট করুন",
900 "add_server_ollama_cloud_subtitle": "পরিচালিত ক্লাউড মডেল অ্যাক্সেস করতে ollama.com/settings/keys থেকে একটি API Key দিয়ে Ollama Cloud-এ সংযোগ করুন।",
901 "add_server_openrouter_subtitle": "একটি বৈধ API Key দিয়ে OpenRouter-এর মাধ্যমে সংযোগ করুন এবং মডেল রাউটিংয়ের জন্য এই প্রোফাইলটি প্রস্তুত রাখুন।",
902 + "add_server_requesty_subtitle": "একটি বৈধ API Key দিয়ে Requesty-এর মাধ্যমে সংযোগ করুন এবং মডেল রাউটিংয়ের জন্য এই প্রোফাইলটি প্রস্তুত রাখুন।",
903 "add_server_endpoint_subtitle": "একটি স্থানীয় বা স্ব-হোস্ট করা এন্ডপয়েন্ট কনফিগার করুন, তারপর সংরক্ষণ করার আগে সংযোগ যাচাই করুন।",
904 "model_set_default": "ডিফল্ট মডেল হিসেবে সেট করুন",
905 "model_clear_default": "ডিফল্ট মডেল হিসেবে সরিয়ে ফেলুন",
lib/l10n/app_de.arb
+9
@@ -339,9 +339,12 @@
339 "api_key_hint_ollama_cloud": "Paste your Ollama Cloud API key",
340 "add_server_ollama_cloud_subtitle": "Connect to Ollama Cloud with an API key from ollama.com/settings/keys to access managed cloud models.",
341 "add_server_openrouter_subtitle": "Connect through OpenRouter with a valid API key and keep this profile ready for model routing.",
342 + "add_server_requesty_subtitle": "Connect through Requesty with a valid API key and keep this profile ready for model routing.",
343 "add_server_endpoint_subtitle": "Configure a local or self-hosted endpoint, then verify the connection before saving.",
344 "server_type_openrouter": "OpenRouter",
345 + "server_type_requesty": "Requesty",
346 "server_type_openrouter_sub": "UNIFIED CLOUD",
347 + "server_type_requesty_sub": "UNIFIED CLOUD",
348 "ready_continue": "BEREIT ZUM FORTFAHREN",
349 "waiting_selection": "WAITING FOR SELECTION",
350 "setup_connection": "Setup Connection",
@@ -358,11 +361,13 @@
361 "api_key_required": "API Key *",
362 "api_key_optional": "API Key (Optional)",
363 "api_key_required_openrouter": "API Key required for OpenRouter",
364 + "api_key_required_requesty": "API Key required for Requesty",
365 "api_key_format": "OpenRouter API keys start with sk-",
366 "my_server_hint": "My Server",
367 "name_length_validation": "Name must be 50 characters or less",
368 "host_valid": "Enter a valid hostname or IP address",
369 "api_key_hint_openrouter": "sk-...",
370 + "api_key_hint_requesty": "rqsty-...",
371 "api_key_hint_generic": "For authenticated servers",
372 "update_server": "Update Server",
373 "save_server": "Speichern Server",
@@ -409,8 +414,10 @@
414 "server_type_openai_display": "OpenAI Compatible",
415 "server_type_ollama_display": "Ollama",
416 "server_type_openrouter_display": "OpenRouter",
417 + "server_type_requesty_display": "Requesty",
418 "server_type_on_device_display": "On-Device",
419 "server_address_openrouter": "openrouter.ai",
420 + "server_address_requesty": "router.requesty.ai",
421 "server_address_on_device": "Local inference",
422 "server_address_format": "{host}:{port}",
423 "default_badge": "Default",
@@ -671,6 +678,7 @@
678 "server_connection_desc": "Use the address and port exposed by your server.",
679 "server_authentication_title": "Authentication",
680 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
681 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
682 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
683 "mcp_tools_title": "MCP Tools",
684 "available_tools": "Available tools",
@@ -872,6 +880,7 @@
880 "tokens_label": "Tokens",
881 "enter_context_length": "Enter context length...",
882 "openrouter_disclosure": "By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.",
883 + "requesty_disclosure": "By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.",
884 "welcome_message_cloud": "Your messages are sent to your connected provider.",
885 "privacy_policy": "Privacy Policy",
886 "cloud_sync": "S3 Cloud Sync",
lib/l10n/app_en.arb
+33
@@ -1502,6 +1502,10 @@
1502 "@add_server_openrouter_subtitle": {
1503 "description": "Add server screen subtitle for OpenRouter"
1504 },
1505 + "add_server_requesty_subtitle": "Connect through Requesty with a valid API key and keep this profile ready for model routing.",
1506 + "@add_server_requesty_subtitle": {
1507 + "description": "Add server screen subtitle for Requesty"
1508 + },
1509 "add_server_endpoint_subtitle": "Configure a local or self-hosted endpoint, then verify the connection before saving.",
1510 "@add_server_endpoint_subtitle": {
1511 "description": "Add server screen subtitle for endpoint-based servers"
@@ -1510,10 +1514,18 @@
1514 "@server_type_openrouter": {
1515 "description": "OpenRouter server type card title"
1516 },
1517 + "server_type_requesty": "Requesty",
1518 + "@server_type_requesty": {
1519 + "description": "Requesty server type card title"
1520 + },
1521 "server_type_openrouter_sub": "UNIFIED CLOUD",
1522 "@server_type_openrouter_sub": {
1523 "description": "OpenRouter server type card subtitle"
1524 },
1525 + "server_type_requesty_sub": "UNIFIED CLOUD",
1526 + "@server_type_requesty_sub": {
1527 + "description": "Requesty server type card subtitle"
1528 + },
1529 "ready_continue": "READY TO CONTINUE",
1530 "@ready_continue": {
1531 "description": "Onboarding ready status"
@@ -1584,6 +1596,10 @@
1596 "@api_key_required_openrouter": {
1597 "description": "Validation: API key for OpenRouter"
1598 },
1599 + "api_key_required_requesty": "API Key required for Requesty",
1600 + "@api_key_required_requesty": {
1601 + "description": "Validation: API key for Requesty"
1602 + },
1603 "api_key_format": "OpenRouter API keys start with sk-",
1604 "@api_key_format": {
1605 "description": "Validation: API key format"
@@ -1604,6 +1620,10 @@
1620 "@api_key_hint_openrouter": {
1621 "description": "OpenRouter API key hint"
1622 },
1623 + "api_key_hint_requesty": "rqsty-...",
1624 + "@api_key_hint_requesty": {
1625 + "description": "Requesty API key hint"
1626 + },
1627 "api_key_hint_generic": "For authenticated servers",
1628 "@api_key_hint_generic": {
1629 "description": "Generic API key hint"
@@ -1842,6 +1862,10 @@
1862 "@server_type_openrouter_display": {
1863 "description": "OpenRouter server type display"
1864 },
1865 + "server_type_requesty_display": "Requesty",
1866 + "@server_type_requesty_display": {
1867 + "description": "Requesty server type display"
1868 + },
1869 "server_type_on_device_display": "On-Device",
1870 "@server_type_on_device_display": {
1871 "description": "On-device server type display"
@@ -1850,6 +1874,10 @@
1874 "@server_address_openrouter": {
1875 "description": "OpenRouter default address"
1876 },
1877 + "server_address_requesty": "router.requesty.ai",
1878 + "@server_address_requesty": {
1879 + "description": "Requesty default address"
1880 + },
1881 "server_address_on_device": "Local inference",
1882 "@server_address_on_device": {
1883 "description": "On-device server address"
@@ -2851,6 +2879,7 @@
2879 "server_connection_desc": "Use the address and port exposed by your server.",
2880 "server_authentication_title": "Authentication",
2881 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
2882 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
2883 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
2884 "mcp_tools_title": "MCP Tools",
2885 "available_tools": "Available tools",
@@ -3216,6 +3245,10 @@
3245 "@openrouter_disclosure": {
3246 "description": "Disclosure shown when connecting to OpenRouter about data being sent to their servers"
3247 },
3248 + "requesty_disclosure": "By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.",
3249 + "@requesty_disclosure": {
3250 + "description": "Disclosure shown when connecting to Requesty about data being sent to their servers"
3251 + },
3252 "welcome_message_cloud": "Your messages are sent to your connected provider.",
3253 "@welcome_message_cloud": {
3254 "description": "Welcome message shown when a cloud provider (e.g. OpenRouter) is active"
lib/l10n/app_es.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "NUBE UNIFICADA",
317 + "server_type_requesty_sub": "NUBE UNIFICADA",
318 "ready_continue": "LISTO PARA CONTINUAR",
319 "waiting_selection": "ESPERANDO SELECCIÓN",
320 "setup_connection": "Configurar conexión",
@@ -329,11 +331,13 @@
331 "api_key_required": "Clave API *",
332 "api_key_optional": "Clave API (Opcional)",
333 "api_key_required_openrouter": "Clave API requerida para OpenRouter",
334 + "api_key_required_requesty": "Clave API requerida para Requesty",
335 "api_key_format": "Las claves de API de OpenRouter comienzan con sk-",
336 "my_server_hint": "Mi servidor",
337 "name_length_validation": "El nombre debe tener 50 caracteres o menos",
338 "host_valid": "Introduzca un nombre de host o dirección IP válida",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "Para servidores autenticados",
342 "update_server": "Actualizar servidor",
343 "save_server": "Guardar servidor",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "Compatible con OpenAI",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "Local",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "Inferencia local",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "Predeterminado",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "Tokens",
840 "enter_context_length": "Introduce la longitud del contexto...",
841 "openrouter_disclosure": "Al conectar este proveedor, tus mensajes de chat y entradas se enviarán a sus servidores. LocalMind no rastrea ni almacena tus conversaciones.",
842 + "requesty_disclosure": "Al conectar este proveedor, tus mensajes de chat y entradas se enviarán a sus servidores. LocalMind no rastrea ni almacena tus conversaciones.",
843 "welcome_message_cloud": "Tus mensajes se envían a tu proveedor conectado.",
844 "privacy_policy": "Política de privacidad",
845 "cloud_sync": "Sincronización S3",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "Pega tu clave API de Ollama Cloud",
900 "add_server_ollama_cloud_subtitle": "Conéctate a Ollama Cloud con una clave API de ollama.com/settings/keys para acceder a modelos administrados en la nube.",
901 "add_server_openrouter_subtitle": "Conéctate a través de OpenRouter con una clave API válida y mantén este perfil listo para el enrutamiento de modelos.",
902 + "add_server_requesty_subtitle": "Conéctate a través de Requesty con una clave API válida y mantén este perfil listo para el enrutamiento de modelos.",
903 "add_server_endpoint_subtitle": "Configura un punto de enlace local o alojado por ti mismo y luego verifica la conexión antes de guardar.",
904 "model_set_default": "Establecer como modelo predeterminado",
905 "model_clear_default": "Quitar como modelo predeterminado",
lib/l10n/app_fr.arb
+9
@@ -320,9 +320,12 @@
320 "api_key_hint_ollama_cloud": "Paste your Ollama Cloud API key",
321 "add_server_ollama_cloud_subtitle": "Connect to Ollama Cloud with an API key from ollama.com/settings/keys to access managed cloud models.",
322 "add_server_openrouter_subtitle": "Connect through OpenRouter with a valid API key and keep this profile ready for model routing.",
323 + "add_server_requesty_subtitle": "Connect through Requesty with a valid API key and keep this profile ready for model routing.",
324 "add_server_endpoint_subtitle": "Configure a local or self-hosted endpoint, then verify the connection before saving.",
325 "server_type_openrouter": "OpenRouter",
326 + "server_type_requesty": "Requesty",
327 "server_type_openrouter_sub": "UNIFIED CLOUD",
328 + "server_type_requesty_sub": "UNIFIED CLOUD",
329 "ready_continue": "READY TO CONTINUE",
330 "waiting_selection": "WAITING FOR SELECTION",
331 "setup_connection": "Setup Connection",
@@ -339,11 +342,13 @@
342 "api_key_required": "API Key *",
343 "api_key_optional": "API Key (Optional)",
344 "api_key_required_openrouter": "API Key required for OpenRouter",
345 + "api_key_required_requesty": "API Key required for Requesty",
346 "api_key_format": "OpenRouter API keys start with sk-",
347 "my_server_hint": "My Server",
348 "name_length_validation": "Name must be 50 characters or less",
349 "host_valid": "Enter a valid hostname or IP address",
350 "api_key_hint_openrouter": "sk-...",
351 + "api_key_hint_requesty": "rqsty-...",
352 "api_key_hint_generic": "For authenticated servers",
353 "update_server": "Update Server",
354 "save_server": "Enregistrer Server",
@@ -390,8 +395,10 @@
395 "server_type_openai_display": "OpenAI Compatible",
396 "server_type_ollama_display": "Ollama",
397 "server_type_openrouter_display": "OpenRouter",
398 + "server_type_requesty_display": "Requesty",
399 "server_type_on_device_display": "On-Device",
400 "server_address_openrouter": "openrouter.ai",
401 + "server_address_requesty": "router.requesty.ai",
402 "server_address_on_device": "Local inference",
403 "server_address_format": "{host}:{port}",
404 "default_badge": "Default",
@@ -652,6 +659,7 @@
659 "server_connection_desc": "Use the address and port exposed by your server.",
660 "server_authentication_title": "Authentication",
661 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
662 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
663 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
664 "mcp_tools_title": "MCP Tools",
665 "available_tools": "Available tools",
@@ -842,6 +850,7 @@
850 "tokens_label": "Tokens",
851 "enter_context_length": "Enter context length...",
852 "openrouter_disclosure": "By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.",
853 + "requesty_disclosure": "By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.",
854 "welcome_message_cloud": "Your messages are sent to your connected provider.",
855 "privacy_policy": "Politique de confidentialité",
856 "cloud_sync": "S3 Synchronisation Cloud",
lib/l10n/app_hi.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "एकीकृत क्लाउड",
317 + "server_type_requesty_sub": "एकीकृत क्लाउड",
318 "ready_continue": "जारी रखने के लिए तैयार",
319 "waiting_selection": "चयन की प्रतीक्षा की जा रही है",
320 "setup_connection": "कनेक्शन सेटअप करें",
@@ -329,11 +331,13 @@
331 "api_key_required": "API कुंजी *",
332 "api_key_optional": "API कुंजी (वैकल्पिक)",
333 "api_key_required_openrouter": "OpenRouter के लिए API कुंजी आवश्यक है",
334 + "api_key_required_requesty": "Requesty के लिए API कुंजी आवश्यक है",
335 "api_key_format": "OpenRouter API कुंजियाँ sk- से शुरू होती हैं",
336 "my_server_hint": "मेरा सर्वर",
337 "name_length_validation": "नाम 50 वर्ण या उससे कम होना चाहिए",
338 "host_valid": "एक वैध होस्टनाम या IP पता दर्ज करें",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "प्रमाणित सर्वर के लिए",
342 "update_server": "सर्वर अपडेट करें",
343 "save_server": "सर्वर सहेजें",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "OpenAI संगत",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "ऑन-डिवाइस",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "स्थानीय अनुमान (Local Inference)",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "डिफ़ॉल्ट",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "टोकन",
840 "enter_context_length": "संदर्भ की लंबाई दर्ज करें...",
841 "openrouter_disclosure": "इस प्रदाता को कनेक्ट करके, आपके चैट संदेश और इनपुट उनके सर्वर पर भेजे जाएंगे। LocalMind आपकी बातचीत को ट्रैक या संग्रहीत नहीं करता है।",
842 + "requesty_disclosure": "इस प्रदाता को कनेक्ट करके, आपके चैट संदेश और इनपुट उनके सर्वर पर भेजे जाएंगे। LocalMind आपकी बातचीत को ट्रैक या संग्रहीत नहीं करता है।",
843 "welcome_message_cloud": "आपके संदेश आपके कनेक्टेड प्रदाता को भेजे जाते हैं।",
844 "privacy_policy": "गोपनीयता नीति",
845 "cloud_sync": "S3 क्लाउड सिंक",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "अपनी Ollama Cloud API key पेस्ट करें",
900 "add_server_ollama_cloud_subtitle": "प्रबंधित क्लाउड मॉडल तक पहुँचने के लिए ollama.com/settings/keys से API Key के साथ Ollama Cloud से कनेक्ट करें।",
901 "add_server_openrouter_subtitle": "एक वैध API Key के साथ OpenRouter के माध्यम से कनेक्ट करें और इस प्रोफ़ाइल को मॉडल राउटिंग के लिए तैयार रखें।",
902 + "add_server_requesty_subtitle": "एक वैध API Key के साथ Requesty के माध्यम से कनेक्ट करें और इस प्रोफ़ाइल को मॉडल राउटिंग के लिए तैयार रखें।",
903 "add_server_endpoint_subtitle": "एक स्थानीय या स्व-होस्ट किए गए एंडपॉइंट को कॉन्फ़िगर करें, फिर सहेजने से पहले कनेक्शन सत्यापित करें।",
904 "model_set_default": "डिफ़ॉल्ट मॉडल के रूप में सेट करें",
905 "model_clear_default": "डिफ़ॉल्ट मॉडल के रूप में हटाएं",
lib/l10n/app_it.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "CLOUD UNIFICATO",
317 + "server_type_requesty_sub": "CLOUD UNIFICATO",
318 "ready_continue": "PRONTO A CONTINUARE",
319 "waiting_selection": "IN ATTESA DI SELEZIONE",
320 "setup_connection": "Configura connessione",
@@ -329,11 +331,13 @@
331 "api_key_required": "Chiave API *",
332 "api_key_optional": "Chiave API (opzionale)",
333 "api_key_required_openrouter": "Chiave API richiesta per OpenRouter",
334 + "api_key_required_requesty": "Chiave API richiesta per Requesty",
335 "api_key_format": "Le chiavi API OpenRouter iniziano con sk-",
336 "my_server_hint": "Il mio server",
337 "name_length_validation": "Il nome deve contenere al massimo 50 caratteri",
338 "host_valid": "Inserisci un nome host o un indirizzo IP valido",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "Per server autenticati",
342 "update_server": "Aggiorna server",
343 "save_server": "Salva server",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "Compatibile con OpenAI",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "On-Device",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "Inferenza locale",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "Predefinito",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "Token",
840 "enter_context_length": "Inserisci lunghezza del contesto...",
841 "openrouter_disclosure": "Collegando questo provider, i tuoi messaggi di chat e input verranno inviati ai loro server. LocalMind non traccia né memorizza le tue conversazioni.",
842 + "requesty_disclosure": "Collegando questo provider, i tuoi messaggi di chat e input verranno inviati ai loro server. LocalMind non traccia né memorizza le tue conversazioni.",
843 "welcome_message_cloud": "I tuoi messaggi vengono inviati al provider connesso.",
844 "privacy_policy": "Informativa sulla privacy",
845 "cloud_sync": "Sincronizzazione S3",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "Incolla la tua chiave API di Ollama Cloud",
900 "add_server_ollama_cloud_subtitle": "Connettiti a Ollama Cloud con una chiave API da ollama.com/settings/keys per accedere ai modelli cloud gestiti.",
901 "add_server_openrouter_subtitle": "Connettiti tramite OpenRouter con una chiave API valida e tieni pronto questo profilo per l'instradamento dei modelli.",
902 + "add_server_requesty_subtitle": "Connettiti tramite Requesty con una chiave API valida e tieni pronto questo profilo per l'instradamento dei modelli.",
903 "add_server_endpoint_subtitle": "Configura un endpoint locale o self-hosted, quindi verifica la connessione prima di salvare.",
904 "model_set_default": "Imposta come modello predefinito",
905 "model_clear_default": "Rimuovi come modello predefinito",
lib/l10n/app_ja.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "統合クラウド",
317 + "server_type_requesty_sub": "統合クラウド",
318 "ready_continue": "続行可能",
319 "waiting_selection": "選択待ち",
320 "setup_connection": "接続のセットアップ",
@@ -329,11 +331,13 @@
331 "api_key_required": "APIキー *",
332 "api_key_optional": "APIキー(オプション)",
333 "api_key_required_openrouter": "OpenRouterにはAPIキーが必要です",
334 + "api_key_required_requesty": "RequestyにはAPIキーが必要です",
335 "api_key_format": "OpenRouterのAPIキーは sk- で始まります",
336 "my_server_hint": "マイサーバー",
337 "name_length_validation": "名前は50文字以内にする必要があります",
338 "host_valid": "有効なホスト名またはIPアドレスを入力してください",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "認証が必要なサーバー用",
342 "update_server": "サーバーを更新",
343 "save_server": "サーバーを保存",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "OpenAI 互換",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "ローカル",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "ローカル推論",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "デフォルト",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "トークン",
840 "enter_context_length": "コンテキスト長を入力...",
841 "openrouter_disclosure": "このプロバイダーに接続すると、チャットメッセージと入力がそのサーバーに送信されます。LocalMindはお客様の会話を追跡または保存することはありません。",
842 + "requesty_disclosure": "このプロバイダーに接続すると、チャットメッセージと入力がそのサーバーに送信されます。LocalMindはお客様の会話を追跡または保存することはありません。",
843 "welcome_message_cloud": "メッセージは接続されたプロバイダーに送信されます。",
844 "privacy_policy": "プライバシーポリシー",
845 "cloud_sync": "S3クラウド同期",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "Ollama Cloud API キーを貼り付け",
900 "add_server_ollama_cloud_subtitle": "ollama.com/settings/keys の API キーで Ollama Cloud に接続し、管理対象のクラウドモデルにアクセスします。",
901 "add_server_openrouter_subtitle": "有効な API キーで OpenRouter 経由で接続し、モデルルーティングの準備を整えます。",
902 + "add_server_requesty_subtitle": "有効な API キーで Requesty 経由で接続し、モデルルーティングの準備を整えます。",
903 "add_server_endpoint_subtitle": "ローカルまたはセルフホストのエンドポイントを設定し、保存前に接続を確認します。",
904 "model_set_default": "デフォルトモデルに設定",
905 "model_clear_default": "デフォルトモデルから解除",
lib/l10n/app_ko.arb
+9
@@ -339,9 +339,12 @@
339 "api_key_hint_ollama_cloud": "Ollama Cloud API 키를 붙여넣으세요.",
340 "add_server_ollama_cloud_subtitle": "관리형 클라우드 모델에 액세스하려면 ollama.com/settings/keys의 API 키를 사용하여 Ollama Cloud에 연결하세요.",
341 "add_server_openrouter_subtitle": "유효한 API 키를 사용하여 OpenRouter를 통해 연결하고 모델 라우팅을 위해 이 프로필을 준비하세요.",
342 + "add_server_requesty_subtitle": "유효한 API 키를 사용하여 Requesty를 통해 연결하고 모델 라우팅을 위해 이 프로필을 준비하세요.",
343 "add_server_endpoint_subtitle": "로컬 또는 자체 호스팅 끝점을 구성한 다음 저장하기 전에 연결을 확인하세요.",
344 "server_type_openrouter": "오픈라우터",
345 + "server_type_requesty": "오픈라우터",
346 "server_type_openrouter_sub": "통합 클라우드",
347 + "server_type_requesty_sub": "통합 클라우드",
348 "ready_continue": "계속할 준비가 되었습니다",
349 "waiting_selection": "선택을 기다리는 중",
350 "setup_connection": "연결 설정",
@@ -358,11 +361,13 @@
361 "api_key_required": "API 키 *",
362 "api_key_optional": "API 키(선택사항)",
363 "api_key_required_openrouter": "OpenRouter에 필요한 API 키",
364 + "api_key_required_requesty": "Requesty에 필요한 API 키",
365 "api_key_format": "OpenRouter API 키는 sk-로 시작합니다.",
366 "my_server_hint": "내 서버",
367 "name_length_validation": "이름은 50자 이하여야 합니다.",
368 "host_valid": "유효한 호스트 이름 또는 IP 주소를 입력하세요.",
369 "api_key_hint_openrouter": "sk-...",
370 + "api_key_hint_requesty": "rqsty-...",
371 "api_key_hint_generic": "인증된 서버의 경우",
372 "update_server": "업데이트 서버",
373 "save_server": "서버 저장",
@@ -409,8 +414,10 @@
414 "server_type_openai_display": "OpenAI 호환",
415 "server_type_ollama_display": "올라마",
416 "server_type_openrouter_display": "오픈라우터",
417 + "server_type_requesty_display": "오픈라우터",
418 "server_type_on_device_display": "기기 내",
419 "server_address_openrouter": "openrouter.ai",
420 + "server_address_requesty": "router.requesty.ai",
421 "server_address_on_device": "국소 추론",
422 "server_address_format": "{host}:{port}",
423 "default_badge": "기본값",
@@ -671,6 +678,7 @@
678 "server_connection_desc": "서버에서 노출된 주소와 포트를 사용하세요.",
679 "server_authentication_title": "인증",
680 "server_authentication_required_desc": "OpenRouter는 테스트하기 전에 API 키가 필요합니다.",
681 + "server_authentication_required_desc_requesty": "Requesty는 테스트하기 전에 API 키가 필요합니다.",
682 "server_authentication_optional_desc": "이 서버에 API 키가 필요하지 않은 경우 API 키를 비워 두세요.",
683 "mcp_tools_title": "MCP 도구",
684 "available_tools": "사용 가능한 도구",
@@ -872,6 +880,7 @@
880 "tokens_label": "토큰",
881 "enter_context_length": "컨텍스트 길이를 입력하세요...",
882 "openrouter_disclosure": "이 공급자를 연결하면 귀하의 채팅 메시지와 입력 내용이 해당 공급자의 서버로 전송됩니다. LocalMind는 대화를 추적하거나 저장하지 않습니다.",
883 + "requesty_disclosure": "이 공급자를 연결하면 귀하의 채팅 메시지와 입력 내용이 해당 공급자의 서버로 전송됩니다. LocalMind는 대화를 추적하거나 저장하지 않습니다.",
884 "welcome_message_cloud": "귀하의 메시지는 연결된 공급자에게 전송됩니다.",
885 "privacy_policy": "개인 정보 보호 정책",
886 "cloud_sync": "S3 클라우드 동기화",
lib/l10n/app_localizations.dart
+54
@@ -2157,6 +2157,12 @@ abstract class AppLocalizations {
2157 /// **'Connect through OpenRouter with a valid API key and keep this profile ready for model routing.'**
2158 String get add_server_openrouter_subtitle;
2159
2160 + /// Add server screen subtitle for Requesty
2161 + ///
2162 + /// In en, this message translates to:
2163 + /// **'Connect through Requesty with a valid API key and keep this profile ready for model routing.'**
2164 + String get add_server_requesty_subtitle;
2165 +
2166 /// Add server screen subtitle for endpoint-based servers
2167 ///
2168 /// In en, this message translates to:
@@ -2169,12 +2175,24 @@ abstract class AppLocalizations {
2175 /// **'OpenRouter'**
2176 String get server_type_openrouter;
2177
2178 + /// Requesty server type card title
2179 + ///
2180 + /// In en, this message translates to:
2181 + /// **'Requesty'**
2182 + String get server_type_requesty;
2183 +
2184 /// OpenRouter server type card subtitle
2185 ///
2186 /// In en, this message translates to:
2187 /// **'UNIFIED CLOUD'**
2188 String get server_type_openrouter_sub;
2189
2190 + /// Requesty server type card subtitle
2191 + ///
2192 + /// In en, this message translates to:
2193 + /// **'UNIFIED CLOUD'**
2194 + String get server_type_requesty_sub;
2195 +
2196 /// Onboarding ready status
2197 ///
2198 /// In en, this message translates to:
@@ -2271,6 +2289,12 @@ abstract class AppLocalizations {
2289 /// **'API Key required for OpenRouter'**
2290 String get api_key_required_openrouter;
2291
2292 + /// Validation: API key for Requesty
2293 + ///
2294 + /// In en, this message translates to:
2295 + /// **'API Key required for Requesty'**
2296 + String get api_key_required_requesty;
2297 +
2298 /// Validation: API key format
2299 ///
2300 /// In en, this message translates to:
@@ -2301,6 +2325,12 @@ abstract class AppLocalizations {
2325 /// **'sk-...'**
2326 String get api_key_hint_openrouter;
2327
2328 + /// Requesty API key hint
2329 + ///
2330 + /// In en, this message translates to:
2331 + /// **'rqsty-...'**
2332 + String get api_key_hint_requesty;
2333 +
2334 /// Generic API key hint
2335 ///
2336 /// In en, this message translates to:
@@ -2577,6 +2607,12 @@ abstract class AppLocalizations {
2607 /// **'OpenRouter'**
2608 String get server_type_openrouter_display;
2609
2610 + /// Requesty server type display
2611 + ///
2612 + /// In en, this message translates to:
2613 + /// **'Requesty'**
2614 + String get server_type_requesty_display;
2615 +
2616 /// On-device server type display
2617 ///
2618 /// In en, this message translates to:
@@ -2589,6 +2625,12 @@ abstract class AppLocalizations {
2625 /// **'openrouter.ai'**
2626 String get server_address_openrouter;
2627
2628 + /// Requesty default address
2629 + ///
2630 + /// In en, this message translates to:
2631 + /// **'router.requesty.ai'**
2632 + String get server_address_requesty;
2633 +
2634 /// On-device server address
2635 ///
2636 /// In en, this message translates to:
@@ -4215,6 +4257,12 @@ abstract class AppLocalizations {
4257 /// **'OpenRouter requires an API key before testing.'**
4258 String get server_authentication_required_desc;
4259
4260 + /// No description provided for @server_authentication_required_desc_requesty.
4261 + ///
4262 + /// In en, this message translates to:
4263 + /// **'Requesty requires an API key before testing.'**
4264 + String get server_authentication_required_desc_requesty;
4265 +
4266 /// No description provided for @server_authentication_optional_desc.
4267 ///
4268 /// In en, this message translates to:
@@ -5421,6 +5469,12 @@ abstract class AppLocalizations {
5469 /// **'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.'**
5470 String get openrouter_disclosure;
5471
5472 + /// Disclosure shown when connecting to Requesty about data being sent to their servers
5473 + ///
5474 + /// In en, this message translates to:
5475 + /// **'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.'**
5476 + String get requesty_disclosure;
5477 +
5478 /// Welcome message shown when a cloud provider (e.g. OpenRouter) is active
5479 ///
5480 /// In en, this message translates to:
lib/l10n/app_localizations_ar.dart
+30
@@ -1114,6 +1114,10 @@ class AppLocalizationsAr extends AppLocalizations {
1114 String get add_server_openrouter_subtitle =>
1115 'اتصل عبر OpenRouter باستخدام مفتاح API صالح واحتفظ بهذا الملف الشخصي جاهزًا لتوجيه النماذج.';
1116
1117 + @override
1118 + String get add_server_requesty_subtitle =>
1119 + 'اتصل عبر Requesty باستخدام مفتاح API صالح واحتفظ بهذا الملف الشخصي جاهزًا لتوجيه النماذج.';
1120 +
1121 @override
1122 String get add_server_endpoint_subtitle =>
1123 'قم بتكوين نقطة نهاية محلية أو مستضافة ذاتيًا، ثم تحقق من الاتصال قبل الحفظ.';
@@ -1121,9 +1125,15 @@ class AppLocalizationsAr extends AppLocalizations {
1125 @override
1126 String get server_type_openrouter => 'OpenRouter';
1127
1128 + @override
1129 + String get server_type_requesty => 'Requesty';
1130 +
1131 @override
1132 String get server_type_openrouter_sub => 'سحابة موحدة';
1133
1134 + @override
1135 + String get server_type_requesty_sub => 'سحابة موحدة';
1136 +
1137 @override
1138 String get ready_continue => 'جاهز للمتابعة';
1139
@@ -1174,6 +1184,9 @@ class AppLocalizationsAr extends AppLocalizations {
1184 @override
1185 String get api_key_required_openrouter => 'مفتاح API مطلوب لـ OpenRouter';
1186
1187 + @override
1188 + String get api_key_required_requesty => 'مفتاح API مطلوب لـ Requesty';
1189 +
1190 @override
1191 String get api_key_format => 'مفاتيح OpenRouter API تبدأ بـ sk-';
1192
@@ -1189,6 +1202,9 @@ class AppLocalizationsAr extends AppLocalizations {
1202 @override
1203 String get api_key_hint_openrouter => 'sk-...';
1204
1205 + @override
1206 + String get api_key_hint_requesty => 'rqsty-...';
1207 +
1208 @override
1209 String get api_key_hint_generic => 'للخوادم الموثقة';
1210
@@ -1346,12 +1362,18 @@ class AppLocalizationsAr extends AppLocalizations {
1362 @override
1363 String get server_type_openrouter_display => 'OpenRouter';
1364
1365 + @override
1366 + String get server_type_requesty_display => 'Requesty';
1367 +
1368 @override
1369 String get server_type_on_device_display => 'محلي';
1370
1371 @override
1372 String get server_address_openrouter => 'openrouter.ai';
1373
1374 + @override
1375 + String get server_address_requesty => 'router.requesty.ai';
1376 +
1377 @override
1378 String get server_address_on_device => 'استدلال محلي';
1379
@@ -2245,6 +2267,10 @@ class AppLocalizationsAr extends AppLocalizations {
2267 String get server_authentication_required_desc =>
2268 'OpenRouter requires an API key before testing.';
2269
2270 + @override
2271 + String get server_authentication_required_desc_requesty =>
2272 + 'Requesty requires an API key before testing.';
2273 +
2274 @override
2275 String get server_authentication_optional_desc =>
2276 'Leave the API key empty if this server does not require one.';
@@ -2893,6 +2919,10 @@ class AppLocalizationsAr extends AppLocalizations {
2919 String get openrouter_disclosure =>
2920 'من خلال الاتصال بهذا المزود، سيتم إرسال رسائل الدردشة والمدخلات الخاصة بك إلى خوادمهم. لا يتتبع LocalMind محادثاتك أو يخزنها.';
2921
2922 + @override
2923 + String get requesty_disclosure =>
2924 + 'من خلال الاتصال بهذا المزود، سيتم إرسال رسائل الدردشة والمدخلات الخاصة بك إلى خوادمهم. لا يتتبع LocalMind محادثاتك أو يخزنها.';
2925 +
2926 @override
2927 String get welcome_message_cloud =>
2928 'يتم إرسال رسائلك إلى مزود الخدمة المتصل بك.';
lib/l10n/app_localizations_bn.dart
+30
@@ -1124,6 +1124,10 @@ class AppLocalizationsBn extends AppLocalizations {
1124 String get add_server_openrouter_subtitle =>
1125 'একটি বৈধ API Key দিয়ে OpenRouter-এর মাধ্যমে সংযোগ করুন এবং মডেল রাউটিংয়ের জন্য এই প্রোফাইলটি প্রস্তুত রাখুন।';
1126
1127 + @override
1128 + String get add_server_requesty_subtitle =>
1129 + 'একটি বৈধ API Key দিয়ে Requesty-এর মাধ্যমে সংযোগ করুন এবং মডেল রাউটিংয়ের জন্য এই প্রোফাইলটি প্রস্তুত রাখুন।';
1130 +
1131 @override
1132 String get add_server_endpoint_subtitle =>
1133 'একটি স্থানীয় বা স্ব-হোস্ট করা এন্ডপয়েন্ট কনফিগার করুন, তারপর সংরক্ষণ করার আগে সংযোগ যাচাই করুন।';
@@ -1131,9 +1135,15 @@ class AppLocalizationsBn extends AppLocalizations {
1135 @override
1136 String get server_type_openrouter => 'OpenRouter';
1137
1138 + @override
1139 + String get server_type_requesty => 'Requesty';
1140 +
1141 @override
1142 String get server_type_openrouter_sub => 'ইউনিফাইড ক্লাউড';
1143
1144 + @override
1145 + String get server_type_requesty_sub => 'ইউনিফাইড ক্লাউড';
1146 +
1147 @override
1148 String get ready_continue => 'এগিয়ে যাওয়ার জন্য প্রস্তুত';
1149
@@ -1185,6 +1195,9 @@ class AppLocalizationsBn extends AppLocalizations {
1195 String get api_key_required_openrouter =>
1196 'OpenRouter-এর জন্য এপিআই কি প্রয়োজন';
1197
1198 + @override
1199 + String get api_key_required_requesty => 'Requesty-এর জন্য এপিআই কি প্রয়োজন';
1200 +
1201 @override
1202 String get api_key_format => 'OpenRouter API কি sk- দিয়ে শুরু হয়';
1203
@@ -1201,6 +1214,9 @@ class AppLocalizationsBn extends AppLocalizations {
1214 @override
1215 String get api_key_hint_openrouter => 'sk-...';
1216
1217 + @override
1218 + String get api_key_hint_requesty => 'rqsty-...';
1219 +
1220 @override
1221 String get api_key_hint_generic => 'প্রমাণিত সার্ভারের জন্য';
1222
@@ -1358,12 +1374,18 @@ class AppLocalizationsBn extends AppLocalizations {
1374 @override
1375 String get server_type_openrouter_display => 'OpenRouter';
1376
1377 + @override
1378 + String get server_type_requesty_display => 'Requesty';
1379 +
1380 @override
1381 String get server_type_on_device_display => 'অন-ডিভাইস (On-Device)';
1382
1383 @override
1384 String get server_address_openrouter => 'openrouter.ai';
1385
1386 + @override
1387 + String get server_address_requesty => 'router.requesty.ai';
1388 +
1389 @override
1390 String get server_address_on_device => 'স্থানীয় ইনফারেন্স (Local Inference)';
1391
@@ -2266,6 +2288,10 @@ class AppLocalizationsBn extends AppLocalizations {
2288 String get server_authentication_required_desc =>
2289 'OpenRouter requires an API key before testing.';
2290
2291 + @override
2292 + String get server_authentication_required_desc_requesty =>
2293 + 'Requesty requires an API key before testing.';
2294 +
2295 @override
2296 String get server_authentication_optional_desc =>
2297 'Leave the API key empty if this server does not require one.';
@@ -2918,6 +2944,10 @@ class AppLocalizationsBn extends AppLocalizations {
2944 String get openrouter_disclosure =>
2945 'এই প্রদানকারীকে সংযুক্ত করার মাধ্যমে, আপনার চ্যাট বার্তা এবং ইনপুট তাদের সার্ভারে পাঠানো হবে। LocalMind আপনার কথোপকথন ট্র্যাক বা সংরক্ষণ করে না।';
2946
2947 + @override
2948 + String get requesty_disclosure =>
2949 + 'এই প্রদানকারীকে সংযুক্ত করার মাধ্যমে, আপনার চ্যাট বার্তা এবং ইনপুট তাদের সার্ভারে পাঠানো হবে। LocalMind আপনার কথোপকথন ট্র্যাক বা সংরক্ষণ করে না।';
2950 +
2951 @override
2952 String get welcome_message_cloud =>
2953 'আপনার বার্তাগুলি আপনার সংযুক্ত প্রদানকারীর কাছে পাঠানো হয়।';
lib/l10n/app_localizations_de.dart
+30
@@ -1113,6 +1113,10 @@ class AppLocalizationsDe extends AppLocalizations {
1113 String get add_server_openrouter_subtitle =>
1114 'Connect through OpenRouter with a valid API key and keep this profile ready for model routing.';
1115
1116 + @override
1117 + String get add_server_requesty_subtitle =>
1118 + 'Connect through Requesty with a valid API key and keep this profile ready for model routing.';
1119 +
1120 @override
1121 String get add_server_endpoint_subtitle =>
1122 'Configure a local or self-hosted endpoint, then verify the connection before saving.';
@@ -1120,9 +1124,15 @@ class AppLocalizationsDe extends AppLocalizations {
1124 @override
1125 String get server_type_openrouter => 'OpenRouter';
1126
1127 + @override
1128 + String get server_type_requesty => 'Requesty';
1129 +
1130 @override
1131 String get server_type_openrouter_sub => 'UNIFIED CLOUD';
1132
1133 + @override
1134 + String get server_type_requesty_sub => 'UNIFIED CLOUD';
1135 +
1136 @override
1137 String get ready_continue => 'BEREIT ZUM FORTFAHREN';
1138
@@ -1173,6 +1183,9 @@ class AppLocalizationsDe extends AppLocalizations {
1183 @override
1184 String get api_key_required_openrouter => 'API Key required for OpenRouter';
1185
1186 + @override
1187 + String get api_key_required_requesty => 'API Key required for Requesty';
1188 +
1189 @override
1190 String get api_key_format => 'OpenRouter API keys start with sk-';
1191
@@ -1188,6 +1201,9 @@ class AppLocalizationsDe extends AppLocalizations {
1201 @override
1202 String get api_key_hint_openrouter => 'sk-...';
1203
1204 + @override
1205 + String get api_key_hint_requesty => 'rqsty-...';
1206 +
1207 @override
1208 String get api_key_hint_generic => 'For authenticated servers';
1209
@@ -1345,12 +1361,18 @@ class AppLocalizationsDe extends AppLocalizations {
1361 @override
1362 String get server_type_openrouter_display => 'OpenRouter';
1363
1364 + @override
1365 + String get server_type_requesty_display => 'Requesty';
1366 +
1367 @override
1368 String get server_type_on_device_display => 'On-Device';
1369
1370 @override
1371 String get server_address_openrouter => 'openrouter.ai';
1372
1373 + @override
1374 + String get server_address_requesty => 'router.requesty.ai';
1375 +
1376 @override
1377 String get server_address_on_device => 'Local inference';
1378
@@ -2252,6 +2274,10 @@ class AppLocalizationsDe extends AppLocalizations {
2274 String get server_authentication_required_desc =>
2275 'OpenRouter requires an API key before testing.';
2276
2277 + @override
2278 + String get server_authentication_required_desc_requesty =>
2279 + 'Requesty requires an API key before testing.';
2280 +
2281 @override
2282 String get server_authentication_optional_desc =>
2283 'Leave the API key empty if this server does not require one.';
@@ -2907,6 +2933,10 @@ class AppLocalizationsDe extends AppLocalizations {
2933 String get openrouter_disclosure =>
2934 'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.';
2935
2936 + @override
2937 + String get requesty_disclosure =>
2938 + 'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.';
2939 +
2940 @override
2941 String get welcome_message_cloud =>
2942 'Your messages are sent to your connected provider.';
lib/l10n/app_localizations_en.dart
+30
@@ -1107,6 +1107,10 @@ class AppLocalizationsEn extends AppLocalizations {
1107 String get add_server_openrouter_subtitle =>
1108 'Connect through OpenRouter with a valid API key and keep this profile ready for model routing.';
1109
1110 + @override
1111 + String get add_server_requesty_subtitle =>
1112 + 'Connect through Requesty with a valid API key and keep this profile ready for model routing.';
1113 +
1114 @override
1115 String get add_server_endpoint_subtitle =>
1116 'Configure a local or self-hosted endpoint, then verify the connection before saving.';
@@ -1114,9 +1118,15 @@ class AppLocalizationsEn extends AppLocalizations {
1118 @override
1119 String get server_type_openrouter => 'OpenRouter';
1120
1121 + @override
1122 + String get server_type_requesty => 'Requesty';
1123 +
1124 @override
1125 String get server_type_openrouter_sub => 'UNIFIED CLOUD';
1126
1127 + @override
1128 + String get server_type_requesty_sub => 'UNIFIED CLOUD';
1129 +
1130 @override
1131 String get ready_continue => 'READY TO CONTINUE';
1132
@@ -1167,6 +1177,9 @@ class AppLocalizationsEn extends AppLocalizations {
1177 @override
1178 String get api_key_required_openrouter => 'API Key required for OpenRouter';
1179
1180 + @override
1181 + String get api_key_required_requesty => 'API Key required for Requesty';
1182 +
1183 @override
1184 String get api_key_format => 'OpenRouter API keys start with sk-';
1185
@@ -1182,6 +1195,9 @@ class AppLocalizationsEn extends AppLocalizations {
1195 @override
1196 String get api_key_hint_openrouter => 'sk-...';
1197
1198 + @override
1199 + String get api_key_hint_requesty => 'rqsty-...';
1200 +
1201 @override
1202 String get api_key_hint_generic => 'For authenticated servers';
1203
@@ -1339,12 +1355,18 @@ class AppLocalizationsEn extends AppLocalizations {
1355 @override
1356 String get server_type_openrouter_display => 'OpenRouter';
1357
1358 + @override
1359 + String get server_type_requesty_display => 'Requesty';
1360 +
1361 @override
1362 String get server_type_on_device_display => 'On-Device';
1363
1364 @override
1365 String get server_address_openrouter => 'openrouter.ai';
1366
1367 + @override
1368 + String get server_address_requesty => 'router.requesty.ai';
1369 +
1370 @override
1371 String get server_address_on_device => 'Local inference';
1372
@@ -2243,6 +2265,10 @@ class AppLocalizationsEn extends AppLocalizations {
2265 String get server_authentication_required_desc =>
2266 'OpenRouter requires an API key before testing.';
2267
2268 + @override
2269 + String get server_authentication_required_desc_requesty =>
2270 + 'Requesty requires an API key before testing.';
2271 +
2272 @override
2273 String get server_authentication_optional_desc =>
2274 'Leave the API key empty if this server does not require one.';
@@ -2898,6 +2924,10 @@ class AppLocalizationsEn extends AppLocalizations {
2924 String get openrouter_disclosure =>
2925 'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.';
2926
2927 + @override
2928 + String get requesty_disclosure =>
2929 + 'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.';
2930 +
2931 @override
2932 String get welcome_message_cloud =>
2933 'Your messages are sent to your connected provider.';
lib/l10n/app_localizations_es.dart
+30
@@ -1124,6 +1124,10 @@ class AppLocalizationsEs extends AppLocalizations {
1124 String get add_server_openrouter_subtitle =>
1125 'Conéctate a través de OpenRouter con una clave API válida y mantén este perfil listo para el enrutamiento de modelos.';
1126
1127 + @override
1128 + String get add_server_requesty_subtitle =>
1129 + 'Conéctate a través de Requesty con una clave API válida y mantén este perfil listo para el enrutamiento de modelos.';
1130 +
1131 @override
1132 String get add_server_endpoint_subtitle =>
1133 'Configura un punto de enlace local o alojado por ti mismo y luego verifica la conexión antes de guardar.';
@@ -1131,9 +1135,15 @@ class AppLocalizationsEs extends AppLocalizations {
1135 @override
1136 String get server_type_openrouter => 'OpenRouter';
1137
1138 + @override
1139 + String get server_type_requesty => 'Requesty';
1140 +
1141 @override
1142 String get server_type_openrouter_sub => 'NUBE UNIFICADA';
1143
1144 + @override
1145 + String get server_type_requesty_sub => 'NUBE UNIFICADA';
1146 +
1147 @override
1148 String get ready_continue => 'LISTO PARA CONTINUAR';
1149
@@ -1185,6 +1195,9 @@ class AppLocalizationsEs extends AppLocalizations {
1195 String get api_key_required_openrouter =>
1196 'Clave API requerida para OpenRouter';
1197
1198 + @override
1199 + String get api_key_required_requesty => 'Clave API requerida para Requesty';
1200 +
1201 @override
1202 String get api_key_format =>
1203 'Las claves de API de OpenRouter comienzan con sk-';
@@ -1202,6 +1215,9 @@ class AppLocalizationsEs extends AppLocalizations {
1215 @override
1216 String get api_key_hint_openrouter => 'sk-...';
1217
1218 + @override
1219 + String get api_key_hint_requesty => 'rqsty-...';
1220 +
1221 @override
1222 String get api_key_hint_generic => 'Para servidores autenticados';
1223
@@ -1362,12 +1378,18 @@ class AppLocalizationsEs extends AppLocalizations {
1378 @override
1379 String get server_type_openrouter_display => 'OpenRouter';
1380
1381 + @override
1382 + String get server_type_requesty_display => 'Requesty';
1383 +
1384 @override
1385 String get server_type_on_device_display => 'Local';
1386
1387 @override
1388 String get server_address_openrouter => 'openrouter.ai';
1389
1390 + @override
1391 + String get server_address_requesty => 'router.requesty.ai';
1392 +
1393 @override
1394 String get server_address_on_device => 'Inferencia local';
1395
@@ -2272,6 +2294,10 @@ class AppLocalizationsEs extends AppLocalizations {
2294 String get server_authentication_required_desc =>
2295 'OpenRouter requires an API key before testing.';
2296
2297 + @override
2298 + String get server_authentication_required_desc_requesty =>
2299 + 'Requesty requires an API key before testing.';
2300 +
2301 @override
2302 String get server_authentication_optional_desc =>
2303 'Leave the API key empty if this server does not require one.';
@@ -2921,6 +2947,10 @@ class AppLocalizationsEs extends AppLocalizations {
2947 String get openrouter_disclosure =>
2948 'Al conectar este proveedor, tus mensajes de chat y entradas se enviarán a sus servidores. LocalMind no rastrea ni almacena tus conversaciones.';
2949
2950 + @override
2951 + String get requesty_disclosure =>
2952 + 'Al conectar este proveedor, tus mensajes de chat y entradas se enviarán a sus servidores. LocalMind no rastrea ni almacena tus conversaciones.';
2953 +
2954 @override
2955 String get welcome_message_cloud =>
2956 'Tus mensajes se envían a tu proveedor conectado.';
lib/l10n/app_localizations_fr.dart
+30
@@ -1116,6 +1116,10 @@ class AppLocalizationsFr extends AppLocalizations {
1116 String get add_server_openrouter_subtitle =>
1117 'Connect through OpenRouter with a valid API key and keep this profile ready for model routing.';
1118
1119 + @override
1120 + String get add_server_requesty_subtitle =>
1121 + 'Connect through Requesty with a valid API key and keep this profile ready for model routing.';
1122 +
1123 @override
1124 String get add_server_endpoint_subtitle =>
1125 'Configure a local or self-hosted endpoint, then verify the connection before saving.';
@@ -1123,9 +1127,15 @@ class AppLocalizationsFr extends AppLocalizations {
1127 @override
1128 String get server_type_openrouter => 'OpenRouter';
1129
1130 + @override
1131 + String get server_type_requesty => 'Requesty';
1132 +
1133 @override
1134 String get server_type_openrouter_sub => 'UNIFIED CLOUD';
1135
1136 + @override
1137 + String get server_type_requesty_sub => 'UNIFIED CLOUD';
1138 +
1139 @override
1140 String get ready_continue => 'READY TO CONTINUE';
1141
@@ -1176,6 +1186,9 @@ class AppLocalizationsFr extends AppLocalizations {
1186 @override
1187 String get api_key_required_openrouter => 'API Key required for OpenRouter';
1188
1189 + @override
1190 + String get api_key_required_requesty => 'API Key required for Requesty';
1191 +
1192 @override
1193 String get api_key_format => 'OpenRouter API keys start with sk-';
1194
@@ -1191,6 +1204,9 @@ class AppLocalizationsFr extends AppLocalizations {
1204 @override
1205 String get api_key_hint_openrouter => 'sk-...';
1206
1207 + @override
1208 + String get api_key_hint_requesty => 'rqsty-...';
1209 +
1210 @override
1211 String get api_key_hint_generic => 'For authenticated servers';
1212
@@ -1348,12 +1364,18 @@ class AppLocalizationsFr extends AppLocalizations {
1364 @override
1365 String get server_type_openrouter_display => 'OpenRouter';
1366
1367 + @override
1368 + String get server_type_requesty_display => 'Requesty';
1369 +
1370 @override
1371 String get server_type_on_device_display => 'On-Device';
1372
1373 @override
1374 String get server_address_openrouter => 'openrouter.ai';
1375
1376 + @override
1377 + String get server_address_requesty => 'router.requesty.ai';
1378 +
1379 @override
1380 String get server_address_on_device => 'Local inference';
1381
@@ -2255,6 +2277,10 @@ class AppLocalizationsFr extends AppLocalizations {
2277 String get server_authentication_required_desc =>
2278 'OpenRouter requires an API key before testing.';
2279
2280 + @override
2281 + String get server_authentication_required_desc_requesty =>
2282 + 'Requesty requires an API key before testing.';
2283 +
2284 @override
2285 String get server_authentication_optional_desc =>
2286 'Leave the API key empty if this server does not require one.';
@@ -2910,6 +2936,10 @@ class AppLocalizationsFr extends AppLocalizations {
2936 String get openrouter_disclosure =>
2937 'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.';
2938
2939 + @override
2940 + String get requesty_disclosure =>
2941 + 'By connecting this provider, your chat messages and inputs will be sent to their servers. LocalMind does not track or store your conversations.';
2942 +
2943 @override
2944 String get welcome_message_cloud =>
2945 'Your messages are sent to your connected provider.';
lib/l10n/app_localizations_hi.dart
+30
@@ -1121,6 +1121,10 @@ class AppLocalizationsHi extends AppLocalizations {
1121 String get add_server_openrouter_subtitle =>
1122 'एक वैध API Key के साथ OpenRouter के माध्यम से कनेक्ट करें और इस प्रोफ़ाइल को मॉडल राउटिंग के लिए तैयार रखें।';
1123
1124 + @override
1125 + String get add_server_requesty_subtitle =>
1126 + 'एक वैध API Key के साथ Requesty के माध्यम से कनेक्ट करें और इस प्रोफ़ाइल को मॉडल राउटिंग के लिए तैयार रखें।';
1127 +
1128 @override
1129 String get add_server_endpoint_subtitle =>
1130 'एक स्थानीय या स्व-होस्ट किए गए एंडपॉइंट को कॉन्फ़िगर करें, फिर सहेजने से पहले कनेक्शन सत्यापित करें।';
@@ -1128,9 +1132,15 @@ class AppLocalizationsHi extends AppLocalizations {
1132 @override
1133 String get server_type_openrouter => 'OpenRouter';
1134
1135 + @override
1136 + String get server_type_requesty => 'Requesty';
1137 +
1138 @override
1139 String get server_type_openrouter_sub => 'एकीकृत क्लाउड';
1140
1141 + @override
1142 + String get server_type_requesty_sub => 'एकीकृत क्लाउड';
1143 +
1144 @override
1145 String get ready_continue => 'जारी रखने के लिए तैयार';
1146
@@ -1182,6 +1192,9 @@ class AppLocalizationsHi extends AppLocalizations {
1192 String get api_key_required_openrouter =>
1193 'OpenRouter के लिए API कुंजी आवश्यक है';
1194
1195 + @override
1196 + String get api_key_required_requesty => 'Requesty के लिए API कुंजी आवश्यक है';
1197 +
1198 @override
1199 String get api_key_format => 'OpenRouter API कुंजियाँ sk- से शुरू होती हैं';
1200
@@ -1197,6 +1210,9 @@ class AppLocalizationsHi extends AppLocalizations {
1210 @override
1211 String get api_key_hint_openrouter => 'sk-...';
1212
1213 + @override
1214 + String get api_key_hint_requesty => 'rqsty-...';
1215 +
1216 @override
1217 String get api_key_hint_generic => 'प्रमाणित सर्वर के लिए';
1218
@@ -1354,12 +1370,18 @@ class AppLocalizationsHi extends AppLocalizations {
1370 @override
1371 String get server_type_openrouter_display => 'OpenRouter';
1372
1373 + @override
1374 + String get server_type_requesty_display => 'Requesty';
1375 +
1376 @override
1377 String get server_type_on_device_display => 'ऑन-डिवाइस';
1378
1379 @override
1380 String get server_address_openrouter => 'openrouter.ai';
1381
1382 + @override
1383 + String get server_address_requesty => 'router.requesty.ai';
1384 +
1385 @override
1386 String get server_address_on_device => 'स्थानीय अनुमान (Local Inference)';
1387
@@ -2259,6 +2281,10 @@ class AppLocalizationsHi extends AppLocalizations {
2281 String get server_authentication_required_desc =>
2282 'OpenRouter requires an API key before testing.';
2283
2284 + @override
2285 + String get server_authentication_required_desc_requesty =>
2286 + 'Requesty requires an API key before testing.';
2287 +
2288 @override
2289 String get server_authentication_optional_desc =>
2290 'Leave the API key empty if this server does not require one.';
@@ -2909,6 +2935,10 @@ class AppLocalizationsHi extends AppLocalizations {
2935 String get openrouter_disclosure =>
2936 'इस प्रदाता को कनेक्ट करके, आपके चैट संदेश और इनपुट उनके सर्वर पर भेजे जाएंगे। LocalMind आपकी बातचीत को ट्रैक या संग्रहीत नहीं करता है।';
2937
2938 + @override
2939 + String get requesty_disclosure =>
2940 + 'इस प्रदाता को कनेक्ट करके, आपके चैट संदेश और इनपुट उनके सर्वर पर भेजे जाएंगे। LocalMind आपकी बातचीत को ट्रैक या संग्रहीत नहीं करता है।';
2941 +
2942 @override
2943 String get welcome_message_cloud =>
2944 'आपके संदेश आपके कनेक्टेड प्रदाता को भेजे जाते हैं।';
lib/l10n/app_localizations_it.dart
+30
@@ -1124,6 +1124,10 @@ class AppLocalizationsIt extends AppLocalizations {
1124 String get add_server_openrouter_subtitle =>
1125 'Connettiti tramite OpenRouter con una chiave API valida e tieni pronto questo profilo per l\'instradamento dei modelli.';
1126
1127 + @override
1128 + String get add_server_requesty_subtitle =>
1129 + 'Connettiti tramite Requesty con una chiave API valida e tieni pronto questo profilo per l\'instradamento dei modelli.';
1130 +
1131 @override
1132 String get add_server_endpoint_subtitle =>
1133 'Configura un endpoint locale o self-hosted, quindi verifica la connessione prima di salvare.';
@@ -1131,9 +1135,15 @@ class AppLocalizationsIt extends AppLocalizations {
1135 @override
1136 String get server_type_openrouter => 'OpenRouter';
1137
1138 + @override
1139 + String get server_type_requesty => 'Requesty';
1140 +
1141 @override
1142 String get server_type_openrouter_sub => 'CLOUD UNIFICATO';
1143
1144 + @override
1145 + String get server_type_requesty_sub => 'CLOUD UNIFICATO';
1146 +
1147 @override
1148 String get ready_continue => 'PRONTO A CONTINUARE';
1149
@@ -1185,6 +1195,9 @@ class AppLocalizationsIt extends AppLocalizations {
1195 String get api_key_required_openrouter =>
1196 'Chiave API richiesta per OpenRouter';
1197
1198 + @override
1199 + String get api_key_required_requesty => 'Chiave API richiesta per Requesty';
1200 +
1201 @override
1202 String get api_key_format => 'Le chiavi API OpenRouter iniziano con sk-';
1203
@@ -1201,6 +1214,9 @@ class AppLocalizationsIt extends AppLocalizations {
1214 @override
1215 String get api_key_hint_openrouter => 'sk-...';
1216
1217 + @override
1218 + String get api_key_hint_requesty => 'rqsty-...';
1219 +
1220 @override
1221 String get api_key_hint_generic => 'Per server autenticati';
1222
@@ -1361,12 +1377,18 @@ class AppLocalizationsIt extends AppLocalizations {
1377 @override
1378 String get server_type_openrouter_display => 'OpenRouter';
1379
1380 + @override
1381 + String get server_type_requesty_display => 'Requesty';
1382 +
1383 @override
1384 String get server_type_on_device_display => 'On-Device';
1385
1386 @override
1387 String get server_address_openrouter => 'openrouter.ai';
1388
1389 + @override
1390 + String get server_address_requesty => 'router.requesty.ai';
1391 +
1392 @override
1393 String get server_address_on_device => 'Inferenza locale';
1394
@@ -2273,6 +2295,10 @@ class AppLocalizationsIt extends AppLocalizations {
2295 String get server_authentication_required_desc =>
2296 'OpenRouter requires an API key before testing.';
2297
2298 + @override
2299 + String get server_authentication_required_desc_requesty =>
2300 + 'Requesty requires an API key before testing.';
2301 +
2302 @override
2303 String get server_authentication_optional_desc =>
2304 'Leave the API key empty if this server does not require one.';
@@ -2923,6 +2949,10 @@ class AppLocalizationsIt extends AppLocalizations {
2949 String get openrouter_disclosure =>
2950 'Collegando questo provider, i tuoi messaggi di chat e input verranno inviati ai loro server. LocalMind non traccia né memorizza le tue conversazioni.';
2951
2952 + @override
2953 + String get requesty_disclosure =>
2954 + 'Collegando questo provider, i tuoi messaggi di chat e input verranno inviati ai loro server. LocalMind non traccia né memorizza le tue conversazioni.';
2955 +
2956 @override
2957 String get welcome_message_cloud =>
2958 'I tuoi messaggi vengono inviati al provider connesso.';
lib/l10n/app_localizations_ja.dart
+30
@@ -1093,6 +1093,10 @@ class AppLocalizationsJa extends AppLocalizations {
1093 String get add_server_openrouter_subtitle =>
1094 '有効な API キーで OpenRouter 経由で接続し、モデルルーティングの準備を整えます。';
1095
1096 + @override
1097 + String get add_server_requesty_subtitle =>
1098 + '有効な API キーで Requesty 経由で接続し、モデルルーティングの準備を整えます。';
1099 +
1100 @override
1101 String get add_server_endpoint_subtitle =>
1102 'ローカルまたはセルフホストのエンドポイントを設定し、保存前に接続を確認します。';
@@ -1100,9 +1104,15 @@ class AppLocalizationsJa extends AppLocalizations {
1104 @override
1105 String get server_type_openrouter => 'OpenRouter';
1106
1107 + @override
1108 + String get server_type_requesty => 'Requesty';
1109 +
1110 @override
1111 String get server_type_openrouter_sub => '統合クラウド';
1112
1113 + @override
1114 + String get server_type_requesty_sub => '統合クラウド';
1115 +
1116 @override
1117 String get ready_continue => '続行可能';
1118
@@ -1153,6 +1163,9 @@ class AppLocalizationsJa extends AppLocalizations {
1163 @override
1164 String get api_key_required_openrouter => 'OpenRouterにはAPIキーが必要です';
1165
1166 + @override
1167 + String get api_key_required_requesty => 'RequestyにはAPIキーが必要です';
1168 +
1169 @override
1170 String get api_key_format => 'OpenRouterのAPIキーは sk- で始まります';
1171
@@ -1168,6 +1181,9 @@ class AppLocalizationsJa extends AppLocalizations {
1181 @override
1182 String get api_key_hint_openrouter => 'sk-...';
1183
1184 + @override
1185 + String get api_key_hint_requesty => 'rqsty-...';
1186 +
1187 @override
1188 String get api_key_hint_generic => '認証が必要なサーバー用';
1189
@@ -1321,12 +1337,18 @@ class AppLocalizationsJa extends AppLocalizations {
1337 @override
1338 String get server_type_openrouter_display => 'OpenRouter';
1339
1340 + @override
1341 + String get server_type_requesty_display => 'Requesty';
1342 +
1343 @override
1344 String get server_type_on_device_display => 'ローカル';
1345
1346 @override
1347 String get server_address_openrouter => 'openrouter.ai';
1348
1349 + @override
1350 + String get server_address_requesty => 'router.requesty.ai';
1351 +
1352 @override
1353 String get server_address_on_device => 'ローカル推論';
1354
@@ -2214,6 +2236,10 @@ class AppLocalizationsJa extends AppLocalizations {
2236 String get server_authentication_required_desc =>
2237 'OpenRouter requires an API key before testing.';
2238
2239 + @override
2240 + String get server_authentication_required_desc_requesty =>
2241 + 'Requesty requires an API key before testing.';
2242 +
2243 @override
2244 String get server_authentication_optional_desc =>
2245 'Leave the API key empty if this server does not require one.';
@@ -2850,6 +2876,10 @@ class AppLocalizationsJa extends AppLocalizations {
2876 String get openrouter_disclosure =>
2877 'このプロバイダーに接続すると、チャットメッセージと入力がそのサーバーに送信されます。LocalMindはお客様の会話を追跡または保存することはありません。';
2878
2879 + @override
2880 + String get requesty_disclosure =>
2881 + 'このプロバイダーに接続すると、チャットメッセージと入力がそのサーバーに送信されます。LocalMindはお客様の会話を追跡または保存することはありません。';
2882 +
2883 @override
2884 String get welcome_message_cloud => 'メッセージは接続されたプロバイダーに送信されます。';
2885
lib/l10n/app_localizations_ko.dart
+30
@@ -1095,6 +1095,10 @@ class AppLocalizationsKo extends AppLocalizations {
1095 String get add_server_openrouter_subtitle =>
1096 '유효한 API 키를 사용하여 OpenRouter를 통해 연결하고 모델 라우팅을 위해 이 프로필을 준비하세요.';
1097
1098 + @override
1099 + String get add_server_requesty_subtitle =>
1100 + '유효한 API 키를 사용하여 Requesty를 통해 연결하고 모델 라우팅을 위해 이 프로필을 준비하세요.';
1101 +
1102 @override
1103 String get add_server_endpoint_subtitle =>
1104 '로컬 또는 자체 호스팅 끝점을 구성한 다음 저장하기 전에 연결을 확인하세요.';
@@ -1102,9 +1106,15 @@ class AppLocalizationsKo extends AppLocalizations {
1106 @override
1107 String get server_type_openrouter => '오픈라우터';
1108
1109 + @override
1110 + String get server_type_requesty => '오픈라우터';
1111 +
1112 @override
1113 String get server_type_openrouter_sub => '통합 클라우드';
1114
1115 + @override
1116 + String get server_type_requesty_sub => '통합 클라우드';
1117 +
1118 @override
1119 String get ready_continue => '계속할 준비가 되었습니다';
1120
@@ -1155,6 +1165,9 @@ class AppLocalizationsKo extends AppLocalizations {
1165 @override
1166 String get api_key_required_openrouter => 'OpenRouter에 필요한 API 키';
1167
1168 + @override
1169 + String get api_key_required_requesty => 'Requesty에 필요한 API 키';
1170 +
1171 @override
1172 String get api_key_format => 'OpenRouter API 키는 sk-로 시작합니다.';
1173
@@ -1170,6 +1183,9 @@ class AppLocalizationsKo extends AppLocalizations {
1183 @override
1184 String get api_key_hint_openrouter => 'sk-...';
1185
1186 + @override
1187 + String get api_key_hint_requesty => 'rqsty-...';
1188 +
1189 @override
1190 String get api_key_hint_generic => '인증된 서버의 경우';
1191
@@ -1322,12 +1338,18 @@ class AppLocalizationsKo extends AppLocalizations {
1338 @override
1339 String get server_type_openrouter_display => '오픈라우터';
1340
1341 + @override
1342 + String get server_type_requesty_display => '오픈라우터';
1343 +
1344 @override
1345 String get server_type_on_device_display => '기기 내';
1346
1347 @override
1348 String get server_address_openrouter => 'openrouter.ai';
1349
1350 + @override
1351 + String get server_address_requesty => 'router.requesty.ai';
1352 +
1353 @override
1354 String get server_address_on_device => '국소 추론';
1355
@@ -2201,6 +2223,10 @@ class AppLocalizationsKo extends AppLocalizations {
2223 String get server_authentication_required_desc =>
2224 'OpenRouter는 테스트하기 전에 API 키가 필요합니다.';
2225
2226 + @override
2227 + String get server_authentication_required_desc_requesty =>
2228 + 'Requesty는 테스트하기 전에 API 키가 필요합니다.';
2229 +
2230 @override
2231 String get server_authentication_optional_desc =>
2232 '이 서버에 API 키가 필요하지 않은 경우 API 키를 비워 두세요.';
@@ -2836,6 +2862,10 @@ class AppLocalizationsKo extends AppLocalizations {
2862 String get openrouter_disclosure =>
2863 '이 공급자를 연결하면 귀하의 채팅 메시지와 입력 내용이 해당 공급자의 서버로 전송됩니다. LocalMind는 대화를 추적하거나 저장하지 않습니다.';
2864
2865 + @override
2866 + String get requesty_disclosure =>
2867 + '이 공급자를 연결하면 귀하의 채팅 메시지와 입력 내용이 해당 공급자의 서버로 전송됩니다. LocalMind는 대화를 추적하거나 저장하지 않습니다.';
2868 +
2869 @override
2870 String get welcome_message_cloud => '귀하의 메시지는 연결된 공급자에게 전송됩니다.';
2871
lib/l10n/app_localizations_pt.dart
+31
@@ -1120,6 +1120,10 @@ class AppLocalizationsPt extends AppLocalizations {
1120 String get add_server_openrouter_subtitle =>
1121 'Conecte-se através do OpenRouter com uma chave de API válida e mantenha este perfil pronto para roteamento de modelo.';
1122
1123 + @override
1124 + String get add_server_requesty_subtitle =>
1125 + 'Conecte-se através do Requesty com uma chave de API válida e mantenha este perfil pronto para roteamento de modelo.';
1126 +
1127 @override
1128 String get add_server_endpoint_subtitle =>
1129 'Configure um endpoint local ou auto-hospedado e verifique a conexão antes de salvar.';
@@ -1127,9 +1131,15 @@ class AppLocalizationsPt extends AppLocalizations {
1131 @override
1132 String get server_type_openrouter => 'OpenRouter';
1133
1134 + @override
1135 + String get server_type_requesty => 'Requesty';
1136 +
1137 @override
1138 String get server_type_openrouter_sub => 'NUVEM UNIFICADA';
1139
1140 + @override
1141 + String get server_type_requesty_sub => 'NUVEM UNIFICADA';
1142 +
1143 @override
1144 String get ready_continue => 'PRONTO PARA CONTINUAR';
1145
@@ -1181,6 +1191,10 @@ class AppLocalizationsPt extends AppLocalizations {
1191 String get api_key_required_openrouter =>
1192 'Chave de API necessária para OpenRouter';
1193
1194 + @override
1195 + String get api_key_required_requesty =>
1196 + 'Chave de API necessária para Requesty';
1197 +
1198 @override
1199 String get api_key_format => 'As chaves da API OpenRouter começam com sk-';
1200
@@ -1196,6 +1210,9 @@ class AppLocalizationsPt extends AppLocalizations {
1210 @override
1211 String get api_key_hint_openrouter => 'sk-...';
1212
1213 + @override
1214 + String get api_key_hint_requesty => 'rqsty-...';
1215 +
1216 @override
1217 String get api_key_hint_generic => 'Para servidores autenticados';
1218
@@ -1356,12 +1373,18 @@ class AppLocalizationsPt extends AppLocalizations {
1373 @override
1374 String get server_type_openrouter_display => 'OpenRouter';
1375
1376 + @override
1377 + String get server_type_requesty_display => 'Requesty';
1378 +
1379 @override
1380 String get server_type_on_device_display => 'No dispositivo';
1381
1382 @override
1383 String get server_address_openrouter => 'openrouter.ai';
1384
1385 + @override
1386 + String get server_address_requesty => 'router.requesty.ai';
1387 +
1388 @override
1389 String get server_address_on_device => 'Inferência local';
1390
@@ -2272,6 +2295,10 @@ class AppLocalizationsPt extends AppLocalizations {
2295 String get server_authentication_required_desc =>
2296 'OpenRouter requer uma chave API antes do teste.';
2297
2298 + @override
2299 + String get server_authentication_required_desc_requesty =>
2300 + 'Requesty requer uma chave API antes do teste.';
2301 +
2302 @override
2303 String get server_authentication_optional_desc =>
2304 'Deixe a chave de API vazia se este servidor não exigir uma.';
@@ -2936,6 +2963,10 @@ class AppLocalizationsPt extends AppLocalizations {
2963 String get openrouter_disclosure =>
2964 'Ao conectar este provedor, suas mensagens e entradas de chat serão enviadas para seus servidores. LocalMind não rastreia nem armazena suas conversas.';
2965
2966 + @override
2967 + String get requesty_disclosure =>
2968 + 'Ao conectar este provedor, suas mensagens e entradas de chat serão enviadas para seus servidores. LocalMind não rastreia nem armazena suas conversas.';
2969 +
2970 @override
2971 String get welcome_message_cloud =>
2972 'Suas mensagens são enviadas para seu provedor conectado.';
lib/l10n/app_localizations_ru.dart
+30
@@ -1121,6 +1121,10 @@ class AppLocalizationsRu extends AppLocalizations {
1121 String get add_server_openrouter_subtitle =>
1122 'Подключитесь через OpenRouter с помощью действительного API-ключа и держите этот профиль готовым для маршрутизации моделей.';
1123
1124 + @override
1125 + String get add_server_requesty_subtitle =>
1126 + 'Подключитесь через Requesty с помощью действительного API-ключа и держите этот профиль готовым для маршрутизации моделей.';
1127 +
1128 @override
1129 String get add_server_endpoint_subtitle =>
1130 'Настройте локальную или собственную конечную точку, затем проверьте соединение перед сохранением.';
@@ -1128,9 +1132,15 @@ class AppLocalizationsRu extends AppLocalizations {
1132 @override
1133 String get server_type_openrouter => 'OpenRouter';
1134
1135 + @override
1136 + String get server_type_requesty => 'Requesty';
1137 +
1138 @override
1139 String get server_type_openrouter_sub => 'ЕДИНОЕ ОБЛАКО';
1140
1141 + @override
1142 + String get server_type_requesty_sub => 'ЕДИНОЕ ОБЛАКО';
1143 +
1144 @override
1145 String get ready_continue => 'ГОТОВЫ ПРОДОЛЖИТЬ';
1146
@@ -1182,6 +1192,9 @@ class AppLocalizationsRu extends AppLocalizations {
1192 String get api_key_required_openrouter =>
1193 'Ключ API, необходимый для OpenRouter';
1194
1195 + @override
1196 + String get api_key_required_requesty => 'Ключ API, необходимый для Requesty';
1197 +
1198 @override
1199 String get api_key_format => 'Ключи API OpenRouter начинаются с sk-';
1200
@@ -1198,6 +1211,9 @@ class AppLocalizationsRu extends AppLocalizations {
1211 @override
1212 String get api_key_hint_openrouter => 'ск-...';
1213
1214 + @override
1215 + String get api_key_hint_requesty => 'ск-...';
1216 +
1217 @override
1218 String get api_key_hint_generic => 'Для аутентифицированных серверов';
1219
@@ -1356,12 +1372,18 @@ class AppLocalizationsRu extends AppLocalizations {
1372 @override
1373 String get server_type_openrouter_display => 'OpenRouter';
1374
1375 + @override
1376 + String get server_type_requesty_display => 'Requesty';
1377 +
1378 @override
1379 String get server_type_on_device_display => 'На устройстве';
1380
1381 @override
1382 String get server_address_openrouter => 'openrouter.ai';
1383
1384 + @override
1385 + String get server_address_requesty => 'router.requesty.ai';
1386 +
1387 @override
1388 String get server_address_on_device => 'Локальный вывод';
1389
@@ -2270,6 +2292,10 @@ class AppLocalizationsRu extends AppLocalizations {
2292 String get server_authentication_required_desc =>
2293 'OpenRouter требует ключ API перед тестированием.';
2294
2295 + @override
2296 + String get server_authentication_required_desc_requesty =>
2297 + 'Requesty требует ключ API перед тестированием.';
2298 +
2299 @override
2300 String get server_authentication_optional_desc =>
2301 'Оставьте ключ API пустым, если этот сервер не требует его.';
@@ -2922,6 +2948,10 @@ class AppLocalizationsRu extends AppLocalizations {
2948 String get openrouter_disclosure =>
2949 'Подключая этого поставщика, ваши сообщения чата и вводные данные будут отправлены на их серверы. LocalMind не отслеживает и не хранит ваши разговоры.';
2950
2951 + @override
2952 + String get requesty_disclosure =>
2953 + 'Подключая этого поставщика, ваши сообщения чата и вводные данные будут отправлены на их серверы. LocalMind не отслеживает и не хранит ваши разговоры.';
2954 +
2955 @override
2956 String get welcome_message_cloud =>
2957 'Ваши сообщения отправляются вашему подключенному поставщику.';
lib/l10n/app_localizations_tr.dart
+31
@@ -1123,6 +1123,10 @@ class AppLocalizationsTr extends AppLocalizations {
1123 String get add_server_openrouter_subtitle =>
1124 'Geçerli bir API anahtarıyla OpenRouter üzerinden bağlanın ve model yönlendirmesi için bu profili hazır tutun.';
1125
1126 + @override
1127 + String get add_server_requesty_subtitle =>
1128 + 'Geçerli bir API anahtarıyla Requesty üzerinden bağlanın ve model yönlendirmesi için bu profili hazır tutun.';
1129 +
1130 @override
1131 String get add_server_endpoint_subtitle =>
1132 'Yerel veya kendi barındırdığınız bir uç noktayı yapılandırın ve kaydetmeden önce bağlantıyı doğrulayın.';
@@ -1130,9 +1134,15 @@ class AppLocalizationsTr extends AppLocalizations {
1134 @override
1135 String get server_type_openrouter => 'OpenRouter';
1136
1137 + @override
1138 + String get server_type_requesty => 'Requesty';
1139 +
1140 @override
1141 String get server_type_openrouter_sub => 'BİRLEŞİK BULUT';
1142
1143 + @override
1144 + String get server_type_requesty_sub => 'BİRLEŞİK BULUT';
1145 +
1146 @override
1147 String get ready_continue => 'DEVAM ETMEYE HAZIR';
1148
@@ -1184,6 +1194,10 @@ class AppLocalizationsTr extends AppLocalizations {
1194 String get api_key_required_openrouter =>
1195 'OpenRouter için API Anahtarı gereklidir';
1196
1197 + @override
1198 + String get api_key_required_requesty =>
1199 + 'Requesty için API Anahtarı gereklidir';
1200 +
1201 @override
1202 String get api_key_format => 'OpenRouter API anahtarları sk- ile başlar';
1203
@@ -1201,6 +1215,9 @@ class AppLocalizationsTr extends AppLocalizations {
1215 @override
1216 String get api_key_hint_openrouter => 'sk-...';
1217
1218 + @override
1219 + String get api_key_hint_requesty => 'rqsty-...';
1220 +
1221 @override
1222 String get api_key_hint_generic => 'Kimlik doğrulamalı sunucular için';
1223
@@ -1358,12 +1375,18 @@ class AppLocalizationsTr extends AppLocalizations {
1375 @override
1376 String get server_type_openrouter_display => 'OpenRouter';
1377
1378 + @override
1379 + String get server_type_requesty_display => 'Requesty';
1380 +
1381 @override
1382 String get server_type_on_device_display => 'Cihaz Üstü';
1383
1384 @override
1385 String get server_address_openrouter => 'openrouter.ai';
1386
1387 + @override
1388 + String get server_address_requesty => 'router.requesty.ai';
1389 +
1390 @override
1391 String get server_address_on_device => 'Yerel çıkarım';
1392
@@ -2268,6 +2291,10 @@ class AppLocalizationsTr extends AppLocalizations {
2291 String get server_authentication_required_desc =>
2292 'OpenRouter requires an API key before testing.';
2293
2294 + @override
2295 + String get server_authentication_required_desc_requesty =>
2296 + 'Requesty requires an API key before testing.';
2297 +
2298 @override
2299 String get server_authentication_optional_desc =>
2300 'Leave the API key empty if this server does not require one.';
@@ -2928,6 +2955,10 @@ class AppLocalizationsTr extends AppLocalizations {
2955 String get openrouter_disclosure =>
2956 'Bu sağlayıcıya bağlanarak sohbet mesajlarınız ve girdileriniz onların sunucularına gönderilir. LocalMind sohbetlerinizi izlemez veya saklamaz.';
2957
2958 + @override
2959 + String get requesty_disclosure =>
2960 + 'Bu sağlayıcıya bağlanarak sohbet mesajlarınız ve girdileriniz onların sunucularına gönderilir. LocalMind sohbetlerinizi izlemez veya saklamaz.';
2961 +
2962 @override
2963 String get welcome_message_cloud =>
2964 'Mesajlarınız bağlı olan sağlayıcınıza gönderilir.';
lib/l10n/app_localizations_zh.dart
+60
@@ -1083,15 +1083,25 @@ class AppLocalizationsZh extends AppLocalizations {
1083 String get add_server_openrouter_subtitle =>
1084 '使用有效的 API 密钥通过 OpenRouter 连接,并为此配置文件做好模型路由准备。';
1085
1086 + @override
1087 + String get add_server_requesty_subtitle =>
1088 + '使用有效的 API 密钥通过 Requesty 连接,并为此配置文件做好模型路由准备。';
1089 +
1090 @override
1091 String get add_server_endpoint_subtitle => '配置本地或自托管端点,然后在保存前验证连接。';
1092
1093 @override
1094 String get server_type_openrouter => 'OpenRouter';
1095
1096 + @override
1097 + String get server_type_requesty => 'Requesty';
1098 +
1099 @override
1100 String get server_type_openrouter_sub => '统一云';
1101
1102 + @override
1103 + String get server_type_requesty_sub => '统一云';
1104 +
1105 @override
1106 String get ready_continue => '准备好继续';
1107
@@ -1142,6 +1152,9 @@ class AppLocalizationsZh extends AppLocalizations {
1152 @override
1153 String get api_key_required_openrouter => 'OpenRouter 需要 API 密钥';
1154
1155 + @override
1156 + String get api_key_required_requesty => 'Requesty 需要 API 密钥';
1157 +
1158 @override
1159 String get api_key_format => 'OpenRouter API 密钥以 sk- 开头';
1160
@@ -1157,6 +1170,9 @@ class AppLocalizationsZh extends AppLocalizations {
1170 @override
1171 String get api_key_hint_openrouter => 'sk-...';
1172
1173 + @override
1174 + String get api_key_hint_requesty => 'rqsty-...';
1175 +
1176 @override
1177 String get api_key_hint_generic => '适用于已验证的服务器';
1178
@@ -1309,12 +1325,18 @@ class AppLocalizationsZh extends AppLocalizations {
1325 @override
1326 String get server_type_openrouter_display => 'OpenRouter';
1327
1328 + @override
1329 + String get server_type_requesty_display => 'Requesty';
1330 +
1331 @override
1332 String get server_type_on_device_display => '设备端';
1333
1334 @override
1335 String get server_address_openrouter => 'openrouter.ai';
1336
1337 + @override
1338 + String get server_address_requesty => 'router.requesty.ai';
1339 +
1340 @override
1341 String get server_address_on_device => '本地推理';
1342
@@ -2199,6 +2221,10 @@ class AppLocalizationsZh extends AppLocalizations {
2221 String get server_authentication_required_desc =>
2222 'OpenRouter requires an API key before testing.';
2223
2224 + @override
2225 + String get server_authentication_required_desc_requesty =>
2226 + 'Requesty requires an API key before testing.';
2227 +
2228 @override
2229 String get server_authentication_optional_desc =>
2230 'Leave the API key empty if this server does not require one.';
@@ -2827,6 +2853,10 @@ class AppLocalizationsZh extends AppLocalizations {
2853 String get openrouter_disclosure =>
2854 '连接此提供商后,您的聊天消息和输入将被发送到他们的服务器。LocalMind 不会跟踪或存储您的对话。';
2855
2856 + @override
2857 + String get requesty_disclosure =>
2858 + '连接此提供商后,您的聊天消息和输入将被发送到他们的服务器。LocalMind 不会跟踪或存储您的对话。';
2859 +
2860 @override
2861 String get welcome_message_cloud => '您的消息将发送到您连接的提供商。';
2862
@@ -4114,15 +4144,25 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
4144 String get add_server_openrouter_subtitle =>
4145 '使用有效的 API 金鑰透過 OpenRouter 連線,並為此設定檔做好模型路由準備。';
4146
4147 + @override
4148 + String get add_server_requesty_subtitle =>
4149 + '使用有效的 API 金鑰透過 Requesty 連線,並為此設定檔做好模型路由準備。';
4150 +
4151 @override
4152 String get add_server_endpoint_subtitle => '設定本地或自託管端點,並在儲存前驗證連線。';
4153
4154 @override
4155 String get server_type_openrouter => 'OpenRouter';
4156
4157 + @override
4158 + String get server_type_requesty => 'Requesty';
4159 +
4160 @override
4161 String get server_type_openrouter_sub => '統一雲端';
4162
4163 + @override
4164 + String get server_type_requesty_sub => '統一雲端';
4165 +
4166 @override
4167 String get ready_continue => '準備好繼續';
4168
@@ -4173,6 +4213,9 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
4213 @override
4214 String get api_key_required_openrouter => 'OpenRouter 需要 API 金鑰';
4215
4216 + @override
4217 + String get api_key_required_requesty => 'Requesty 需要 API 金鑰';
4218 +
4219 @override
4220 String get api_key_format => 'OpenRouter API 金鑰以 sk- 開頭';
4221
@@ -4188,6 +4231,9 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
4231 @override
4232 String get api_key_hint_openrouter => 'sk-...';
4233
4234 + @override
4235 + String get api_key_hint_requesty => 'rqsty-...';
4236 +
4237 @override
4238 String get api_key_hint_generic => '適用於已驗證的伺服器';
4239
@@ -4340,12 +4386,18 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
4386 @override
4387 String get server_type_openrouter_display => 'OpenRouter';
4388
4389 + @override
4390 + String get server_type_requesty_display => 'Requesty';
4391 +
4392 @override
4393 String get server_type_on_device_display => '裝置端';
4394
4395 @override
4396 String get server_address_openrouter => 'openrouter.ai';
4397
4398 + @override
4399 + String get server_address_requesty => 'router.requesty.ai';
4400 +
4401 @override
4402 String get server_address_on_device => '本機推論';
4403
@@ -5191,6 +5243,10 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
5243 String get server_authentication_required_desc =>
5244 'OpenRouter requires an API key before testing.';
5245
5246 + @override
5247 + String get server_authentication_required_desc_requesty =>
5248 + 'Requesty requires an API key before testing.';
5249 +
5250 @override
5251 String get server_authentication_optional_desc =>
5252 'Leave the API key empty if this server does not require one.';
@@ -5819,6 +5875,10 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
5875 String get openrouter_disclosure =>
5876 '連接此提供者後,您的聊天訊息和輸入將被發送到他們的伺服器。LocalMind 不會追蹤或儲存您的對話。';
5877
5878 + @override
5879 + String get requesty_disclosure =>
5880 + '連接此提供者後,您的聊天訊息和輸入將被發送到他們的伺服器。LocalMind 不會追蹤或儲存您的對話。';
5881 +
5882 @override
5883 String get welcome_message_cloud => '您的訊息將發送到您連接的提供者。';
5884
lib/l10n/app_pt.arb
+9
@@ -339,9 +339,12 @@
339 "api_key_hint_ollama_cloud": "Cole sua chave de API do Ollama Cloud",
340 "add_server_ollama_cloud_subtitle": "Conecte-se ao Ollama Cloud com uma chave de API em ollama.com/settings/keys para acessar modelos de nuvem gerenciados.",
341 "add_server_openrouter_subtitle": "Conecte-se através do OpenRouter com uma chave de API válida e mantenha este perfil pronto para roteamento de modelo.",
342 + "add_server_requesty_subtitle": "Conecte-se através do Requesty com uma chave de API válida e mantenha este perfil pronto para roteamento de modelo.",
343 "add_server_endpoint_subtitle": "Configure um endpoint local ou auto-hospedado e verifique a conexão antes de salvar.",
344 "server_type_openrouter": "OpenRouter",
345 + "server_type_requesty": "Requesty",
346 "server_type_openrouter_sub": "NUVEM UNIFICADA",
347 + "server_type_requesty_sub": "NUVEM UNIFICADA",
348 "ready_continue": "PRONTO PARA CONTINUAR",
349 "waiting_selection": "AGUARDANDO SELEÇÃO",
350 "setup_connection": "Configurar conexão",
@@ -358,11 +361,13 @@
361 "api_key_required": "Chave API *",
362 "api_key_optional": "Chave de API (opcional)",
363 "api_key_required_openrouter": "Chave de API necessária para OpenRouter",
364 + "api_key_required_requesty": "Chave de API necessária para Requesty",
365 "api_key_format": "As chaves da API OpenRouter começam com sk-",
366 "my_server_hint": "Meu servidor",
367 "name_length_validation": "O nome deve ter 50 caracteres ou menos",
368 "host_valid": "Insira um nome de host ou endereço IP válido",
369 "api_key_hint_openrouter": "sk-...",
370 + "api_key_hint_requesty": "rqsty-...",
371 "api_key_hint_generic": "Para servidores autenticados",
372 "update_server": "Servidor de atualização",
373 "save_server": "Salvar servidor",
@@ -409,8 +414,10 @@
414 "server_type_openai_display": "Compatível com OpenAI",
415 "server_type_ollama_display": "Ollama",
416 "server_type_openrouter_display": "OpenRouter",
417 + "server_type_requesty_display": "Requesty",
418 "server_type_on_device_display": "No dispositivo",
419 "server_address_openrouter": "openrouter.ai",
420 + "server_address_requesty": "router.requesty.ai",
421 "server_address_on_device": "Inferência local",
422 "server_address_format": "{host}:{port}",
423 "default_badge": "Padrão",
@@ -671,6 +678,7 @@
678 "server_connection_desc": "Use o endereço e a porta expostos pelo seu servidor.",
679 "server_authentication_title": "Autenticação",
680 "server_authentication_required_desc": "OpenRouter requer uma chave API antes do teste.",
681 + "server_authentication_required_desc_requesty": "Requesty requer uma chave API antes do teste.",
682 "server_authentication_optional_desc": "Deixe a chave de API vazia se este servidor não exigir uma.",
683 "mcp_tools_title": "Ferramentas MCP",
684 "available_tools": "Ferramentas disponíveis",
@@ -872,6 +880,7 @@
880 "tokens_label": "Fichas",
881 "enter_context_length": "Insira o comprimento do contexto...",
882 "openrouter_disclosure": "Ao conectar este provedor, suas mensagens e entradas de chat serão enviadas para seus servidores. LocalMind não rastreia nem armazena suas conversas.",
883 + "requesty_disclosure": "Ao conectar este provedor, suas mensagens e entradas de chat serão enviadas para seus servidores. LocalMind não rastreia nem armazena suas conversas.",
884 "welcome_message_cloud": "Suas mensagens são enviadas para seu provedor conectado.",
885 "privacy_policy": "Política de Privacidade",
886 "cloud_sync": "Sincronização em nuvem S3",
lib/l10n/app_ru.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "ЛМ Студия",
313 "server_type_ollama": "Оллама",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "ЕДИНОЕ ОБЛАКО",
317 + "server_type_requesty_sub": "ЕДИНОЕ ОБЛАКО",
318 "ready_continue": "ГОТОВЫ ПРОДОЛЖИТЬ",
319 "waiting_selection": "ОЖИДАНИЕ ВЫБОРА",
320 "setup_connection": "Настройка соединения",
@@ -329,11 +331,13 @@
331 "api_key_required": "API-ключ *",
332 "api_key_optional": "Ключ API (необязательно)",
333 "api_key_required_openrouter": "Ключ API, необходимый для OpenRouter",
334 + "api_key_required_requesty": "Ключ API, необходимый для Requesty",
335 "api_key_format": "Ключи API OpenRouter начинаются с sk-",
336 "my_server_hint": "Мой сервер",
337 "name_length_validation": "Имя должно содержать не более 50 символов.",
338 "host_valid": "Введите действительное имя хоста или IP-адрес.",
339 "api_key_hint_openrouter": "ск-...",
340 + "api_key_hint_requesty": "ск-...",
341 "api_key_hint_generic": "Для аутентифицированных серверов",
342 "update_server": "Обновление сервера",
343 "save_server": "Сохранить сервер",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "Совместимость с OpenAI",
385 "server_type_ollama_display": "Оллама",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "На устройстве",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "Локальный вывод",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "По умолчанию",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Используйте адрес и порт, предоставленные вашим сервером.",
649 "server_authentication_title": "Аутентификация",
650 "server_authentication_required_desc": "OpenRouter требует ключ API перед тестированием.",
651 + "server_authentication_required_desc_requesty": "Requesty требует ключ API перед тестированием.",
652 "server_authentication_optional_desc": "Оставьте ключ API пустым, если этот сервер не требует его.",
653 "mcp_tools_title": "Инструменты MCP",
654 "available_tools": "Доступные инструменты",
@@ -832,6 +839,7 @@
839 "tokens_label": "Токены",
840 "enter_context_length": "Введите длину контекста...",
841 "openrouter_disclosure": "Подключая этого поставщика, ваши сообщения чата и вводные данные будут отправлены на их серверы. LocalMind не отслеживает и не хранит ваши разговоры.",
842 + "requesty_disclosure": "Подключая этого поставщика, ваши сообщения чата и вводные данные будут отправлены на их серверы. LocalMind не отслеживает и не хранит ваши разговоры.",
843 "welcome_message_cloud": "Ваши сообщения отправляются вашему подключенному поставщику.",
844 "privacy_policy": "Политика конфиденциальности",
845 "cloud_sync": "Синхронизация S3",
@@ -888,6 +896,7 @@
896 "api_key_hint_ollama_cloud": "Вставьте ваш API-ключ Ollama Cloud",
897 "add_server_ollama_cloud_subtitle": "Подключитесь к Ollama Cloud с помощью API-ключа с сайта ollama.com/settings/keys для доступа к управляемым облачным моделям.",
898 "add_server_openrouter_subtitle": "Подключитесь через OpenRouter с помощью действительного API-ключа и держите этот профиль готовым для маршрутизации моделей.",
899 + "add_server_requesty_subtitle": "Подключитесь через Requesty с помощью действительного API-ключа и держите этот профиль готовым для маршрутизации моделей.",
900 "add_server_endpoint_subtitle": "Настройте локальную или собственную конечную точку, затем проверьте соединение перед сохранением.",
901 "model_set_default": "Сделать модель по умолчанию",
902 "model_clear_default": "Убрать из моделей по умолчанию",
lib/l10n/app_tr.arb
+9
@@ -320,9 +320,12 @@
320 "api_key_hint_ollama_cloud": "Ollama Cloud API anahtarınızı yapıştırın",
321 "add_server_ollama_cloud_subtitle": "Yönetilen bulut modellerine erişmek için ollama.com/settings/keys adresinden alacağınız API anahtarıyla Ollama Cloud'a bağlanın.",
322 "add_server_openrouter_subtitle": "Geçerli bir API anahtarıyla OpenRouter üzerinden bağlanın ve model yönlendirmesi için bu profili hazır tutun.",
323 + "add_server_requesty_subtitle": "Geçerli bir API anahtarıyla Requesty üzerinden bağlanın ve model yönlendirmesi için bu profili hazır tutun.",
324 "add_server_endpoint_subtitle": "Yerel veya kendi barındırdığınız bir uç noktayı yapılandırın ve kaydetmeden önce bağlantıyı doğrulayın.",
325 "server_type_openrouter": "OpenRouter",
326 + "server_type_requesty": "Requesty",
327 "server_type_openrouter_sub": "BİRLEŞİK BULUT",
328 + "server_type_requesty_sub": "BİRLEŞİK BULUT",
329 "ready_continue": "DEVAM ETMEYE HAZIR",
330 "waiting_selection": "SEÇİM BEKLENİYOR",
331 "setup_connection": "Bağlantıyı Kur",
@@ -339,11 +342,13 @@
342 "api_key_required": "API Anahtarı *",
343 "api_key_optional": "API Anahtarı (İsteğe Bağlı)",
344 "api_key_required_openrouter": "OpenRouter için API Anahtarı gereklidir",
345 + "api_key_required_requesty": "Requesty için API Anahtarı gereklidir",
346 "api_key_format": "OpenRouter API anahtarları sk- ile başlar",
347 "my_server_hint": "Sunucum",
348 "name_length_validation": "İsim 50 karakter veya daha az olmalıdır",
349 "host_valid": "Geçerli bir ana bilgisayar adı veya IP adresi girin",
350 "api_key_hint_openrouter": "sk-...",
351 + "api_key_hint_requesty": "rqsty-...",
352 "api_key_hint_generic": "Kimlik doğrulamalı sunucular için",
353 "update_server": "Sunucuyu Güncelle",
354 "save_server": "Sunucuyu Kaydet",
@@ -390,8 +395,10 @@
395 "server_type_openai_display": "OpenAI Uyumlu",
396 "server_type_ollama_display": "Ollama",
397 "server_type_openrouter_display": "OpenRouter",
398 + "server_type_requesty_display": "Requesty",
399 "server_type_on_device_display": "Cihaz Üstü",
400 "server_address_openrouter": "openrouter.ai",
401 + "server_address_requesty": "router.requesty.ai",
402 "server_address_on_device": "Yerel çıkarım",
403 "server_address_format": "{host}:{port}",
404 "default_badge": "Varsayılan",
@@ -652,6 +659,7 @@
659 "server_connection_desc": "Use the address and port exposed by your server.",
660 "server_authentication_title": "Authentication",
661 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
662 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
663 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
664 "mcp_tools_title": "MCP Araçları",
665 "available_tools": "Available tools",
@@ -842,6 +850,7 @@
850 "tokens_label": "Token'lar",
851 "enter_context_length": "Bağlam uzunluğunu girin...",
852 "openrouter_disclosure": "Bu sağlayıcıya bağlanarak sohbet mesajlarınız ve girdileriniz onların sunucularına gönderilir. LocalMind sohbetlerinizi izlemez veya saklamaz.",
853 + "requesty_disclosure": "Bu sağlayıcıya bağlanarak sohbet mesajlarınız ve girdileriniz onların sunucularına gönderilir. LocalMind sohbetlerinizi izlemez veya saklamaz.",
854 "welcome_message_cloud": "Mesajlarınız bağlı olan sağlayıcınıza gönderilir.",
855 "privacy_policy": "Gizlilik Politikası",
856 "cloud_sync": "S3 Bulut Eşitleme",
lib/l10n/app_zh.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "统一云",
317 + "server_type_requesty_sub": "统一云",
318 "ready_continue": "准备好继续",
319 "waiting_selection": "等待选择",
320 "setup_connection": "设置连接",
@@ -329,11 +331,13 @@
331 "api_key_required": "API 密钥 *",
332 "api_key_optional": "API 密钥 (可选)",
333 "api_key_required_openrouter": "OpenRouter 需要 API 密钥",
334 + "api_key_required_requesty": "Requesty 需要 API 密钥",
335 "api_key_format": "OpenRouter API 密钥以 sk- 开头",
336 "my_server_hint": "我的服务器",
337 "name_length_validation": "名称必须在 50 个字符以内",
338 "host_valid": "输入有效的主机名或 IP 地址",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "适用于已验证的服务器",
342 "update_server": "更新服务器",
343 "save_server": "保存服务器",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "兼容 OpenAI",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "设备端",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "本地推理",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "默认",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "Token 数",
840 "enter_context_length": "输入上下文长度...",
841 "openrouter_disclosure": "连接此提供商后,您的聊天消息和输入将被发送到他们的服务器。LocalMind 不会跟踪或存储您的对话。",
842 + "requesty_disclosure": "连接此提供商后,您的聊天消息和输入将被发送到他们的服务器。LocalMind 不会跟踪或存储您的对话。",
843 "welcome_message_cloud": "您的消息将发送到您连接的提供商。",
844 "privacy_policy": "隐私政策",
845 "cloud_sync": "S3 云同步",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "粘贴您的 Ollama Cloud API 密钥",
900 "add_server_ollama_cloud_subtitle": "使用来自 ollama.com/settings/keys 的 API 密钥连接到 Ollama Cloud,以访问托管云端模型。",
901 "add_server_openrouter_subtitle": "使用有效的 API 密钥通过 OpenRouter 连接,并为此配置文件做好模型路由准备。",
902 + "add_server_requesty_subtitle": "使用有效的 API 密钥通过 Requesty 连接,并为此配置文件做好模型路由准备。",
903 "add_server_endpoint_subtitle": "配置本地或自托管端点,然后在保存前验证连接。",
904 "model_set_default": "设为默认模型",
905 "model_clear_default": "取消默认模型",
lib/l10n/app_zh_TW.arb
+9
@@ -312,7 +312,9 @@
312 "server_type_lm_studio": "LM Studio",
313 "server_type_ollama": "Ollama",
314 "server_type_openrouter": "OpenRouter",
315 + "server_type_requesty": "Requesty",
316 "server_type_openrouter_sub": "統一雲端",
317 + "server_type_requesty_sub": "統一雲端",
318 "ready_continue": "準備好繼續",
319 "waiting_selection": "等待選擇",
320 "setup_connection": "設定連線",
@@ -329,11 +331,13 @@
331 "api_key_required": "API 金鑰 *",
332 "api_key_optional": "API 金鑰 (選填)",
333 "api_key_required_openrouter": "OpenRouter 需要 API 金鑰",
334 + "api_key_required_requesty": "Requesty 需要 API 金鑰",
335 "api_key_format": "OpenRouter API 金鑰以 sk- 開頭",
336 "my_server_hint": "我的伺服器",
337 "name_length_validation": "名稱必須在 50 個字元以內",
338 "host_valid": "輸入有效的主機名稱或 IP 地址",
339 "api_key_hint_openrouter": "sk-...",
340 + "api_key_hint_requesty": "rqsty-...",
341 "api_key_hint_generic": "適用於已驗證的伺服器",
342 "update_server": "更新伺服器",
343 "save_server": "儲存伺服器",
@@ -380,8 +384,10 @@
384 "server_type_openai_display": "相容 OpenAI",
385 "server_type_ollama_display": "Ollama",
386 "server_type_openrouter_display": "OpenRouter",
387 + "server_type_requesty_display": "Requesty",
388 "server_type_on_device_display": "裝置端",
389 "server_address_openrouter": "openrouter.ai",
390 + "server_address_requesty": "router.requesty.ai",
391 "server_address_on_device": "本機推論",
392 "server_address_format": "{host}:{port}",
393 "default_badge": "預設",
@@ -642,6 +648,7 @@
648 "server_connection_desc": "Use the address and port exposed by your server.",
649 "server_authentication_title": "Authentication",
650 "server_authentication_required_desc": "OpenRouter requires an API key before testing.",
651 + "server_authentication_required_desc_requesty": "Requesty requires an API key before testing.",
652 "server_authentication_optional_desc": "Leave the API key empty if this server does not require one.",
653 "mcp_tools_title": "MCP Tools",
654 "available_tools": "Available tools",
@@ -832,6 +839,7 @@
839 "tokens_label": "Token 數",
840 "enter_context_length": "輸入上下文長度...",
841 "openrouter_disclosure": "連接此提供者後,您的聊天訊息和輸入將被發送到他們的伺服器。LocalMind 不會追蹤或儲存您的對話。",
842 + "requesty_disclosure": "連接此提供者後,您的聊天訊息和輸入將被發送到他們的伺服器。LocalMind 不會追蹤或儲存您的對話。",
843 "welcome_message_cloud": "您的訊息將發送到您連接的提供者。",
844 "privacy_policy": "隱私權政策",
845 "cloud_sync": "S3 雲端同步",
@@ -891,6 +899,7 @@
899 "api_key_hint_ollama_cloud": "貼上您的 Ollama Cloud API 金鑰",
900 "add_server_ollama_cloud_subtitle": "使用來自 ollama.com/settings/keys 的 API 金鑰連線至 Ollama Cloud,以存取託管雲端模型。",
901 "add_server_openrouter_subtitle": "使用有效的 API 金鑰透過 OpenRouter 連線,並為此設定檔做好模型路由準備。",
902 + "add_server_requesty_subtitle": "使用有效的 API 金鑰透過 Requesty 連線,並為此設定檔做好模型路由準備。",
903 "add_server_endpoint_subtitle": "設定本地或自託管端點,並在儲存前驗證連線。",
904 "model_set_default": "設為預設模型",
905 "model_clear_default": "取消預設模型",