main
dart 3,258 lines 80.5 KB
Raw
1 // ignore: unused_import
2 import 'package:intl/intl.dart' as intl;
3 import 'app_localizations.dart';
4
5 // ignore_for_file: type=lint
6
7 /// The translations for Italian (`it`).
8 class AppLocalizationsIt extends AppLocalizations {
9 AppLocalizationsIt([String locale = 'it']) : super(locale);
10
11 @override
12 String get app_name => 'LocalMind';
13
14 @override
15 String get app_tagline => 'La tua IA. Il tuo dispositivo. Le tue regole.';
16
17 @override
18 String get app_version => '1.0.0';
19
20 @override
21 String get cancel => 'Annulla';
22
23 @override
24 String get confirm => 'Conferma';
25
26 @override
27 String get delete => 'Elimina';
28
29 @override
30 String get save => 'Salva';
31
32 @override
33 String get retry => 'Riprova';
34
35 @override
36 String get close => 'Chiudi';
37
38 @override
39 String get done => 'Done';
40
41 @override
42 String get continue_action => 'Continua';
43
44 @override
45 String get skip => 'Salta';
46
47 @override
48 String get install => 'Installa';
49
50 @override
51 String get download => 'Download';
52
53 @override
54 String get resume => 'Riprendi';
55
56 @override
57 String get pause => 'Pausa';
58
59 @override
60 String get stop => 'Stop';
61
62 @override
63 String get edit => 'Modificare';
64
65 @override
66 String get preview => 'Anteprima';
67
68 @override
69 String get unload => 'Scarico';
70
71 @override
72 String get load => 'Carico';
73
74 @override
75 String get rename => 'Rinomina';
76
77 @override
78 String get pin => 'Pin';
79
80 @override
81 String get unpin => 'Sblocca';
82
83 @override
84 String get share => 'Condividi';
85
86 @override
87 String get copy => 'Copia';
88
89 @override
90 String get copied => 'Copiato!';
91
92 @override
93 String get copied_to_clipboard => 'Copiato negli appunti';
94
95 @override
96 String get select => 'Seleziona';
97
98 @override
99 String get active => 'Attivo';
100
101 @override
102 String get all => 'Tutto';
103
104 @override
105 String get none => 'Nessuna';
106
107 @override
108 String get none_selected => 'Nessuna selezione';
109
110 @override
111 String get online => 'Online';
112
113 @override
114 String get connected => 'Connesso';
115
116 @override
117 String get checking => 'Verifica in corso';
118
119 @override
120 String get offline => 'Offline';
121
122 @override
123 String get error => 'Errore';
124
125 @override
126 String get unknown_error => 'Errore sconosciuto';
127
128 @override
129 String get not_now => 'Non ora';
130
131 @override
132 String get enable => 'Abilita';
133
134 @override
135 String get proceed_anyway => 'Procedi Comunque';
136
137 @override
138 String get test_connection => 'Connessione di prova';
139
140 @override
141 String get testing => 'Collaudo';
142
143 @override
144 String get connection_successful => 'Connessione effettuata con successo!';
145
146 @override
147 String get connection_failed =>
148 'Connessione non riuscita. Controlla le impostazioni.';
149
150 @override
151 String get save_continue => 'Salva e continua';
152
153 @override
154 String get save_changes => 'Salva modifiche';
155
156 @override
157 String get finish_setup => 'Fine impostazioni';
158
159 @override
160 String get start_new_chat => 'Avvia una nuova sessione di chat';
161
162 @override
163 String get cannot_undo => 'Non sarà possibile annullare questa operazione.';
164
165 @override
166 String get ram_warning => 'Avviso RAM';
167
168 @override
169 String get recommended => 'CONSIGLIATO';
170
171 @override
172 String get may_be_large =>
173 'Potrebbe essere troppo grande per questo dispositivo';
174
175 @override
176 String get calculating => 'Calcolo in corso...';
177
178 @override
179 String get download_failed => 'Download non riuscito';
180
181 @override
182 String get downloaded => 'Scaricato';
183
184 @override
185 String get not_downloaded => 'Non scaricato';
186
187 @override
188 String get installed => 'Presente';
189
190 @override
191 String get not_installed => 'Non installata';
192
193 @override
194 String get loading => 'Caricamento in corso...';
195
196 @override
197 String get thinking => 'Pensiero';
198
199 @override
200 String get processing => 'Elaborazione in corso';
201
202 @override
203 String get initializing => 'Inizializzazione in corso...';
204
205 @override
206 String get ready => 'Pronto';
207
208 @override
209 String get preparing_app => 'Preparazione dell\'app in corso...';
210
211 @override
212 String get initializing_services => 'Inizializzazione servizi in corso...';
213
214 @override
215 String get configuring_server => 'Configurazione del server in corso ...';
216
217 @override
218 String get startup_failed => 'Avvio non riuscito';
219
220 @override
221 String get something_went_wrong => 'Qualcosa non ha funzionato';
222
223 @override
224 String get delete_model_title => 'ELIMINARE UN MODELLO.';
225
226 @override
227 String delete_model_body(String name) {
228 return 'Eliminare';
229 }
230
231 @override
232 String delete_model_body_with_size(String name, String size) {
233 return 'Sei sicuro di voler eliminare $name? In questo modo libererai circa $size di spazio.\n\nÈ possibile scaricare nuovamente questo modello in seguito, se necessario.';
234 }
235
236 @override
237 String get delete_voice_title => 'Elimina tag vocale';
238
239 @override
240 String delete_voice_body(String name, String size) {
241 return 'Sei sicuro di voler eliminare $name? In questo modo libererai circa $size di spazio.\n\nPuoi scaricare di nuovo questa voce in un secondo momento, se necessario.';
242 }
243
244 @override
245 String get delete_server_title => 'Elimina server';
246
247 @override
248 String delete_server_body(String name) {
249 return 'Sei sicuro di voler eliminare \"$name\"? L\'operazione non può essere annullata.';
250 }
251
252 @override
253 String get delete_conversation_title => 'Eliminare la conversazione?';
254
255 @override
256 String delete_conversation_body(String title) {
257 return 'Sei sicuro di voler eliminare \"$title\"? L\'operazione non può essere annullata.';
258 }
259
260 @override
261 String get delete_message_title => 'Eliminare il messaggio?';
262
263 @override
264 String delete_persona_title(String name) {
265 return 'Eliminare \"$name\"?';
266 }
267
268 @override
269 String get delete_persona_body => 'L\'operazione non può essere annullata.';
270
271 @override
272 String get delete_builtin_persona_body =>
273 'Questo è un personaggio predefinito. Puoi ripristinarlo in seguito dalle Impostazioni.';
274
275 @override
276 String get restore_builtin_personas => 'Ripristina personaggi predefiniti';
277
278 @override
279 String get restore_builtin_personas_desc =>
280 'Aggiungi di nuovo i personaggi predefiniti che hai eliminato';
281
282 @override
283 String get restore_builtin_personas_success =>
284 'Personaggi predefiniti ripristinati';
285
286 @override
287 String get clear_personas => 'Cancella personaggi';
288
289 @override
290 String get enable_image_compression => 'Comprimi immagini prima di inviare';
291
292 @override
293 String get enable_image_compression_desc =>
294 'Ridimensiona e comprimi le immagini allegate affinché i caricamenti rimangano entro i limiti del server';
295
296 @override
297 String get image_compression_level => 'Intensità di compressione';
298
299 @override
300 String get image_compression_level_desc =>
301 'Un\'intensità maggiore produce file più piccoli con qualità inferiore';
302
303 @override
304 String get image_compression_level_low => 'Bassa';
305
306 @override
307 String get image_compression_level_medium => 'Media';
308
309 @override
310 String get image_compression_level_high => 'Alta';
311
312 @override
313 String get sort_models_tooltip => 'Ordina modelli';
314
315 @override
316 String get sort_by_favorites => 'Preferiti prima';
317
318 @override
319 String get sort_by_name => 'Nome (A-Z)';
320
321 @override
322 String get sort_by_size_smallest => 'Dimensione (più piccolo prima)';
323
324 @override
325 String get sort_by_size_largest => 'Dimensione (più grande prima)';
326
327 @override
328 String get sort_by_context_length => 'Lunghezza del contesto';
329
330 @override
331 String bulk_ai_rename_progress(int done, int total) {
332 return 'Ridenominazione in corso $done/$total...';
333 }
334
335 @override
336 String selected_count(int count) {
337 return '$count selezionati';
338 }
339
340 @override
341 String get ai_rename_tooltip => 'Rinomina selezionati con l\'IA';
342
343 @override
344 String get new_chat_in_folder_tooltip => 'Nuova chat in questa cartella';
345
346 @override
347 String total_tokens_count(int count) {
348 return '$count token';
349 }
350
351 @override
352 String get smart_replies_use_persona =>
353 'Usa personaggio nelle risposte intelligenti';
354
355 @override
356 String get smart_replies_use_persona_desc =>
357 'Le risposte suggerite corrispondono al tono del personaggio attivo invece di un assistente generico';
358
359 @override
360 String get keep_persona_on_new_chat =>
361 'Mantieni personaggio con una nuova chat';
362
363 @override
364 String get keep_persona_on_new_chat_desc =>
365 'Non cancellare la selezione del personaggio all\'inizio di una nuova chat';
366
367 @override
368 String get role_swap_button_enabled => 'Mostra pulsante cambio ruolo';
369
370 @override
371 String get role_swap_button_enabled_desc =>
372 'Mostra un pulsante nell\'input di chat per inviare il tuo messaggio con il ruolo assistente invece di utente, senza generare risposte';
373
374 @override
375 String get send_as_user_tooltip => 'Invia come utente';
376
377 @override
378 String get send_as_assistant_tooltip =>
379 'Invia come assistente (nessuna risposta)';
380
381 @override
382 String get insert_without_generating_tooltip => 'Inserisci senza generare';
383
384 @override
385 String get token_usage_title => 'Utilizzo dei Token';
386
387 @override
388 String get total_tokens_label => 'Token usati';
389
390 @override
391 String get usage_percent_label => 'Contesto usato';
392
393 @override
394 String get export_choice_title => 'Esporta';
395
396 @override
397 String get export_choice_body => 'Come desideri esportare?';
398
399 @override
400 String get copy_to_clipboard => 'Copia negli appunti';
401
402 @override
403 String bulk_export_conversations_success(int count) {
404 return 'Esportate $count conversazioni';
405 }
406
407 @override
408 String get bulk_ai_rename_confirm_title => 'Rinominare con l\'IA?';
409
410 @override
411 String bulk_ai_rename_confirm_body(int count) {
412 return 'Questo chiederà all\'IA di generare un nuovo titolo per ciascuna delle $count conversazioni selezionate, sostituendo i titoli attuali. Questa operazione può richiedere del tempo e non può essere annullata.';
413 }
414
415 @override
416 String get sort_by_modified_date => 'Ultima modifica';
417
418 @override
419 String get sort_by_created_date => 'Data di creazione';
420
421 @override
422 String get sort_title => 'Ordina';
423
424 @override
425 String get clear_conversation_title => 'Conversazioni chiare?';
426
427 @override
428 String get clear_conversation_body =>
429 'Questo eliminerà tutti i messaggi in questa conversazione.';
430
431 @override
432 String get clear => 'Cancella';
433
434 @override
435 String label_completed(String label) {
436 return '$label completato';
437 }
438
439 @override
440 String error_with_message(String error) {
441 return 'Errore: $error';
442 }
443
444 @override
445 String preview_failed(String error) {
446 return 'Anteprima non riuscita: $error';
447 }
448
449 @override
450 String loading_model(String modelId) {
451 return 'Caricamento di $modelId...';
452 }
453
454 @override
455 String model_loaded(String modelId, String backend) {
456 return 'Modello caricato: $modelId ($backend)';
457 }
458
459 @override
460 String get no_model_loaded =>
461 'Nessun modello caricato. Tocca \"Gestisci modelli sul dispositivo\" per scaricare e caricare un modello.';
462
463 @override
464 String loading_model_error(String error) {
465 return 'Errore: $error';
466 }
467
468 @override
469 String get delete_conversation => 'Eliminare la conversazione?';
470
471 @override
472 String get nav_history => 'Storia';
473
474 @override
475 String get nav_servers => 'Server';
476
477 @override
478 String get nav_local_models => 'Modelli locali';
479
480 @override
481 String get nav_tts => 'Sintesi vocale';
482
483 @override
484 String get nav_personas => 'Personas';
485
486 @override
487 String get nav_settings => 'Impostazioni';
488
489 @override
490 String get nav_new_chat => 'Nuova chat';
491
492 @override
493 String get search_hint => 'Cerca conversazioni...';
494
495 @override
496 String get no_server_selected => 'Nessun server selezionato';
497
498 @override
499 String get switch_server => 'Cambia server';
500
501 @override
502 String get switch_server_subtitle => 'Scegli un server a cui connetterti';
503
504 @override
505 String get manage_servers => 'Gestisci server';
506
507 @override
508 String get open_source => 'Open Source';
509
510 @override
511 String get open_source_desc =>
512 'LocalMind è open source. Segui i nostri progressi o contribuisci su GitHub.';
513
514 @override
515 String get star_on_github => 'Metti in evidenza su GitHub';
516
517 @override
518 String get add_more => 'Aggiungi altro';
519
520 @override
521 String get on_github => 'su GitHub';
522
523 @override
524 String get could_not_open_github => 'Impossibile aprire GitHub.';
525
526 @override
527 String get settings_title => 'Impostazioni';
528
529 @override
530 String get settings_appearance => 'Aspetto';
531
532 @override
533 String get settings_language => 'Lingua';
534
535 @override
536 String get language_system_default => 'Predefinito di sistema';
537
538 @override
539 String get settings_tts => 'Sintesi vocale';
540
541 @override
542 String get settings_android_assistant => 'Assistente Android';
543
544 @override
545 String get assistant_default_title => 'Assistente vocale predefinito';
546
547 @override
548 String get assistant_default_description =>
549 'Imposta Localmind come assistente vocale predefinito del sistema su Android.';
550
551 @override
552 String get assistant_status_active =>
553 'Localmind è impostato come assistente predefinito';
554
555 @override
556 String get assistant_status_available =>
557 'Localmind può essere impostato come assistente predefinito';
558
559 @override
560 String get assistant_status_manual =>
561 'Apri le impostazioni di sistema e seleziona Localmind manualmente';
562
563 @override
564 String get assistant_status_unsupported =>
565 'L\'impostazione dell\'assistente predefinito è disponibile solo su Android 7.0+';
566
567 @override
568 String get assistant_status_checking =>
569 'Verifica dello stato dell\'assistente in corso…';
570
571 @override
572 String get assistant_set_default => 'Imposta assistente predefinito';
573
574 @override
575 String get assistant_open_settings => 'Apri impostazioni assistente';
576
577 @override
578 String assistant_error(Object error) {
579 return 'Errore: $error';
580 }
581
582 @override
583 String get settings_behavior => 'Comportamento';
584
585 @override
586 String get settings_on_device => 'Inferenza sul dispositivo';
587
588 @override
589 String get settings_default_server => 'Server predefinito';
590
591 @override
592 String get settings_default_persona => 'Persona predefinita';
593
594 @override
595 String get settings_default_model => 'Modello predefinito';
596
597 @override
598 String get settings_default_model_desc =>
599 'Selezionato automaticamente quando avvii una nuova chat.';
600
601 @override
602 String get settings_privacy => 'Privacy';
603
604 @override
605 String get settings_data_management => 'Gestione dei dati';
606
607 @override
608 String get settings_about => 'Informazioni su';
609
610 @override
611 String get theme => 'Tema';
612
613 @override
614 String get theme_system => 'Sistema';
615
616 @override
617 String get theme_light => 'Luce';
618
619 @override
620 String get theme_dark => 'Scuro';
621
622 @override
623 String get theme_claude => 'Claude';
624
625 @override
626 String get font_size => 'Dimensione carattere';
627
628 @override
629 String get font_size_desc => 'Regola le dimensioni del testo in chat.';
630
631 @override
632 String get font_preview => 'La veloce volpe marrone salta sul cane pigro.';
633
634 @override
635 String get code_theme_dark => 'Tema codice (scuro)';
636
637 @override
638 String get code_theme_light => 'Tema codice (chiaro)';
639
640 @override
641 String get code_theme_desc =>
642 'Scegli il tema di evidenziazione della sintassi per i blocchi di codice.';
643
644 @override
645 String get tts_engine => 'Motore TTS';
646
647 @override
648 String get tts_engine_system => 'System TTS';
649
650 @override
651 String get tts_engine_kitten => 'Gattino TTS';
652
653 @override
654 String get voice => 'Voce';
655
656 @override
657 String get voice_female => 'Donna';
658
659 @override
660 String get voice_male => 'Uomo';
661
662 @override
663 String get voice_other => 'Altro';
664
665 @override
666 String get tts_speed => 'Velocità TTS';
667
668 @override
669 String get tts_speed_desc => 'Regola la velocità di riproduzione.';
670
671 @override
672 String get manage_tts_models => 'Gestisci modelli TTS';
673
674 @override
675 String get manage_on_device_models => 'Gestisci modelli sul dispositivo';
676
677 @override
678 String get enable_smart_reply => 'Risposte intelligenti sul dispositivo';
679
680 @override
681 String get ai_user_response_enabled =>
682 'Messaggio utente IA (tieni premuto invia)';
683
684 @override
685 String get ai_user_response_enabled_desc =>
686 'Tieni premuto il pulsante di invio per 3 secondi per consentire all\'IA di scrivere e inviare il tuo prossimo messaggio';
687
688 @override
689 String get ai_user_response_tooltip => 'Genera messaggio utente con l\'IA';
690
691 @override
692 String get streaming_responses => 'Risposte in streaming';
693
694 @override
695 String get auto_generate_titles => 'Genera automaticamente titoli';
696
697 @override
698 String get send_on_enter => 'Invia su Invio';
699
700 @override
701 String get show_system_messages => 'Mostra messaggi di sistema';
702
703 @override
704 String get show_system_messages_desc =>
705 'Quando nessun personaggio è selezionato, invia un prompt di sistema dell\'assistente predefinito con ogni richiesta';
706
707 @override
708 String get show_system_messages_in_chat =>
709 'Mostra messaggi di sistema in chat';
710
711 @override
712 String get show_system_messages_in_chat_desc =>
713 'Visualizza i messaggi di sistema (es. da un backup importato) come bolle visibili nella conversazione';
714
715 @override
716 String get auto_collapse_thinking => 'Comprimi automaticamente pensiero';
717
718 @override
719 String get auto_collapse_thinking_desc =>
720 'Comprimi automaticamente il ragionamento al termine della risposta quando è presente una risposta principale';
721
722 @override
723 String get haptic_feedback => 'Feedback aptico';
724
725 @override
726 String get enable_mcp => 'Abilita MCP';
727
728 @override
729 String get new_chat_mcp_default => 'Nuova chat MCP predefinita';
730
731 @override
732 String get show_data_indicator => 'Mostra indicatore dati';
733
734 @override
735 String get privacy_info => '\"LocalMind non vede mai i tuoi dati\"';
736
737 @override
738 String get delete_all_conversations => 'Elimina tutte le conversazioni';
739
740 @override
741 String get reset_settings_defaults => 'Ripristina impostazioni predefinite';
742
743 @override
744 String get chat_title => 'LocalMind';
745
746 @override
747 String get chat_parameters_tooltip => 'Parametri della chat';
748
749 @override
750 String get change_persona => 'Cambia persona';
751
752 @override
753 String get set_persona => 'Imposta persona';
754
755 @override
756 String get remove_persona => 'Rimuovi Persona';
757
758 @override
759 String get clear_conversation => 'Cancella conversazione';
760
761 @override
762 String get connection_error =>
763 'Errore di connessione. Controlla il tuo server.';
764
765 @override
766 String get disconnected => 'Disconnesso dal server.';
767
768 @override
769 String get configure => 'Configura';
770
771 @override
772 String get select_model => 'Seleziona modello';
773
774 @override
775 String get select_persona => 'Seleziona Persona';
776
777 @override
778 String get manage_personas => 'Gestisci personaggi';
779
780 @override
781 String get personas_combine_hint =>
782 'I personaggi selezionati verranno combinati';
783
784 @override
785 String get start_conversation => 'Avvia una conversazione';
786
787 @override
788 String get recent_chats => 'Chat recenti';
789
790 @override
791 String get see_all => 'Vedi tutto';
792
793 @override
794 String get quick_write => 'Aiutami a scrivere una funzione';
795
796 @override
797 String get quick_explain => 'Spiega questo codice';
798
799 @override
800 String get quick_debug => 'Esegui il debug per me';
801
802 @override
803 String get quick_async => 'Come si usa async/await?';
804
805 @override
806 String get history_missing_title => 'Cronologia mancante';
807
808 @override
809 String get history_missing_desc =>
810 'I messaggi in questa chat sono stati eliminati o il record della cronologia è danneggiato.';
811
812 @override
813 String get technical_details => 'Dati tecnici';
814
815 @override
816 String get last_error => 'Ultimo errore:';
817
818 @override
819 String get copy_info => 'Copia informazioni';
820
821 @override
822 String get conversation_id => 'ID conversazione';
823
824 @override
825 String get created_at => 'Creato il';
826
827 @override
828 String get expected_messages => 'Messaggi previsti';
829
830 @override
831 String get debug_dialog_desc =>
832 'Informazioni diagnostiche per aiutare a identificare i problemi di sincronizzazione.';
833
834 @override
835 String get chat_input_hint => 'Chiedi qualsiasi cosa';
836
837 @override
838 String get send_message_tooltip => 'Invia messaggio';
839
840 @override
841 String get stop_generation_tooltip => 'Interrompi generazione';
842
843 @override
844 String get attach_images_tooltip => 'Allega immagini';
845
846 @override
847 String get start_listening_tooltip => 'Avvia ascolto';
848
849 @override
850 String get stop_listening_tooltip => 'Interrompi ascolto';
851
852 @override
853 String tool_label(String toolCallId) {
854 return 'Strumento: $toolCallId';
855 }
856
857 @override
858 String get tool_unknown => 'Strumento: sconosciuto';
859
860 @override
861 String get message_options => 'Opzioni messaggio';
862
863 @override
864 String get copy_markdown => 'Copia come sconto';
865
866 @override
867 String get copied_markdown => 'Copiato come Markdown';
868
869 @override
870 String get read_aloud => 'Leggi ad alta voce';
871
872 @override
873 String get stop_reading => 'Smetti di leggere';
874
875 @override
876 String get more => 'Altro';
877
878 @override
879 String character_count(int length) {
880 return '$length caratteri';
881 }
882
883 @override
884 String get edit_message => 'Modifica messaggio';
885
886 @override
887 String get edit_message_desc =>
888 'Il salvataggio rimuoverà la risposta dell\'assistente sottostante e la rigenererà.';
889
890 @override
891 String get save_regenerate => 'Salva e rigenera';
892
893 @override
894 String get chat_settings_title => 'Impostazioni chat';
895
896 @override
897 String get reset_defaults => 'Ripristina predefiniti';
898
899 @override
900 String get parameters_tab => 'Parametri';
901
902 @override
903 String get mcp_tab => 'MCP';
904
905 @override
906 String get temperature => 'Temperatura';
907
908 @override
909 String get temperature_desc =>
910 'Controlla la casualità: Più alto = Creativo, Più basso = Concentrato';
911
912 @override
913 String get top_p => 'Top P';
914
915 @override
916 String get top_p_desc => 'Soglia di campionamento del nucleo';
917
918 @override
919 String get max_tokens => 'Numero massimo di token';
920
921 @override
922 String get max_tokens_desc => 'Limite di risposta';
923
924 @override
925 String get context_length => 'Lunghezza del contesto';
926
927 @override
928 String get context_length_desc => 'Finestra Cronologia';
929
930 @override
931 String get mcp_disabled_warning =>
932 'MCP è disabilitato a livello globale. Abilitalo nelle Impostazioni per utilizzare queste funzionalità.';
933
934 @override
935 String get mcp_enable_chat => 'Abilita MCP per questa chat';
936
937 @override
938 String get auto_execute_tools => 'Esecuzione automatica degli strumenti';
939
940 @override
941 String get beta_label => 'Beta';
942
943 @override
944 String get experimental_label => 'Sperimentale';
945
946 @override
947 String get add_ephemeral_mcp => 'Aggiungi server MCP effimero';
948
949 @override
950 String get mcp_label_placeholder => 'Etichetta';
951
952 @override
953 String get mcp_url_placeholder => 'URL (https://...)';
954
955 @override
956 String get active_integrations => 'Integrazioni attive';
957
958 @override
959 String get import_mcp_json => 'Importa JSON';
960
961 @override
962 String get import_mcp_json_dialog_title => 'Importa JSON configurazione MCP';
963
964 @override
965 String get import_mcp_json_instructions =>
966 'Copia il tuo JSON mcpServers direttamente da LM Studio (mcp.json) o incolla un array di plugin qui sotto:';
967
968 @override
969 String get import_mcp_json_placeholder =>
970 'Incolla il JSON mcpServers o l\'elenco dei plugin qui...';
971
972 @override
973 String mcp_import_success(int count) {
974 return '$count integrazione/i importata/e con successo';
975 }
976
977 @override
978 String get mcp_import_failed =>
979 'Nessuna integrazione MCP valida trovata nel JSON';
980
981 @override
982 String get enable_notifications => 'Abilita notifiche';
983
984 @override
985 String get enable_notifications_desc =>
986 'Ricevi una notifica quando i modelli terminano il download.';
987
988 @override
989 String get chat_history_title => 'Cronologia chat';
990
991 @override
992 String get conversation_just_now => 'Proprio ora';
993
994 @override
995 String conversation_minutes_ago(int minutes) {
996 return '${minutes}m fa';
997 }
998
999 @override
1000 String conversation_hours_ago(int hours) {
1001 return '${hours}h fa';
1002 }
1003
1004 @override
1005 String get conversation_yesterday => 'Ieri';
1006
1007 @override
1008 String conversation_days_ago(int days) {
1009 return '${days}d fa';
1010 }
1011
1012 @override
1013 String conversation_date(int month, int day, int year) {
1014 return '$month/$day/$year';
1015 }
1016
1017 @override
1018 String get options_tooltip => 'Opzioni';
1019
1020 @override
1021 String get no_results_found => 'Nessun risultato trovato';
1022
1023 @override
1024 String get no_conversations_yet => 'Ancora nessuna conversazione';
1025
1026 @override
1027 String get try_different_search => 'Prova un altro termine di ricerca';
1028
1029 @override
1030 String get start_new_conversation => 'Inizia una nuova conversazione';
1031
1032 @override
1033 String get rename_conversation => 'Rinomina conversazione';
1034
1035 @override
1036 String get enter_new_title => 'Inserisci un nuovo titolo';
1037
1038 @override
1039 String get pinned_section => 'BLOCCATO';
1040
1041 @override
1042 String get today_section => 'OGGI';
1043
1044 @override
1045 String get yesterday_section => 'IERI';
1046
1047 @override
1048 String get previous_7_days => '7 GIORNI PRECEDENTI';
1049
1050 @override
1051 String get previous_30_days => '30 GIORNI PRECEDENTI';
1052
1053 @override
1054 String get older_section => 'PRECEDENTE';
1055
1056 @override
1057 String get onboarding_choose_language => 'Scegli la lingua';
1058
1059 @override
1060 String get onboarding_choose_language_desc =>
1061 'Seleziona la tua lingua preferita. Puoi modificarlo in qualsiasi momento nelle impostazioni.';
1062
1063 @override
1064 String get onboarding_localmind => 'LOCALMIND';
1065
1066 @override
1067 String get onboarding_connect_server => 'Collega il tuo\nServer';
1068
1069 @override
1070 String get onboarding_connect_desc =>
1071 'Connettiti a LM Studio, Ollama o\nOpenRouter per avviare la tua IA privata\nesperienza.';
1072
1073 @override
1074 String get openai_compatible_api => 'API compatibile con OpenAI';
1075
1076 @override
1077 String get https_requires_ssl => 'HTTPS richiede SSL';
1078
1079 @override
1080 String get most_local_setups_use_http =>
1081 'La maggior parte delle configurazioni locali usa http://';
1082
1083 @override
1084 String get onboarding_welcome => 'Benvenuto in LocalMind';
1085
1086 @override
1087 String get server_type_on_device => 'On-Device';
1088
1089 @override
1090 String get server_type_lm_studio => 'LM Studio';
1091
1092 @override
1093 String get server_type_ollama => 'Ollama';
1094
1095 @override
1096 String get server_type_ollama_cloud => 'Ollama Cloud';
1097
1098 @override
1099 String get server_type_ollama_cloud_sub => 'CLOUD GESTITO';
1100
1101 @override
1102 String get server_type_ollama_cloud_display => 'Ollama Cloud';
1103
1104 @override
1105 String get server_address_ollama_cloud => 'ollama.com';
1106
1107 @override
1108 String get ollama_cloud_disclosure =>
1109 'Connettendo Ollama Cloud, i tuoi messaggi di chat e i tuoi input vengono inviati ai server gestiti di Ollama per l\'inferenza. LocalMind non traccia né memorizza le tue conversazioni. Puoi revocare questa chiave in qualsiasi momento su ollama.com/settings/keys.';
1110
1111 @override
1112 String get api_key_required_ollama_cloud =>
1113 'Chiave API richiesta per Ollama Cloud';
1114
1115 @override
1116 String get api_key_hint_ollama_cloud =>
1117 'Incolla la tua chiave API di Ollama Cloud';
1118
1119 @override
1120 String get add_server_ollama_cloud_subtitle =>
1121 'Connettiti a Ollama Cloud con una chiave API da ollama.com/settings/keys per accedere ai modelli cloud gestiti.';
1122
1123 @override
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.';
1134
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
1150 @override
1151 String get waiting_selection => 'IN ATTESA DI SELEZIONE';
1152
1153 @override
1154 String get setup_connection => 'Configura connessione';
1155
1156 @override
1157 String setup_connection_desc(String server) {
1158 return 'Configura il tuo server $server per iniziare a chattare.';
1159 }
1160
1161 @override
1162 String get server_name => 'Nome server';
1163
1164 @override
1165 String get name_required => 'Nome obbligatorio';
1166
1167 @override
1168 String get name_max_50 => 'Max 50 caratteri';
1169
1170 @override
1171 String get host_label => 'Indirizzo host / IP';
1172
1173 @override
1174 String get host_required => 'Host obbligatorio';
1175
1176 @override
1177 String get port_label => 'Porta';
1178
1179 @override
1180 String get port_required => 'Porta richiesta';
1181
1182 @override
1183 String get port_invalid => 'Deve essere un numero';
1184
1185 @override
1186 String get port_range => 'Inserisci una porta valida (1-65535)';
1187
1188 @override
1189 String get api_key_required => 'Chiave API *';
1190
1191 @override
1192 String get api_key_optional => 'Chiave API (opzionale)';
1193
1194 @override
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
1204 @override
1205 String get my_server_hint => 'Il mio server';
1206
1207 @override
1208 String get name_length_validation =>
1209 'Il nome deve contenere al massimo 50 caratteri';
1210
1211 @override
1212 String get host_valid => 'Inserisci un nome host o un indirizzo IP valido';
1213
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
1223 @override
1224 String get update_server => 'Aggiorna server';
1225
1226 @override
1227 String get save_server => 'Salva server';
1228
1229 @override
1230 String get server_updated => 'Server aggiornato';
1231
1232 @override
1233 String get server_added => 'Server aggiunto';
1234
1235 @override
1236 String get download_model_title => 'Scarica un modello';
1237
1238 @override
1239 String get download_model_desc =>
1240 'Scegli un modello da scaricare.\nVerrà eseguito localmente sul tuo dispositivo.';
1241
1242 @override
1243 String get on_device_android_only =>
1244 'L\'inferenza sul dispositivo è attualmente disponibile solo su Android.';
1245
1246 @override
1247 String get total_ram => 'RAM totale';
1248
1249 @override
1250 String get available => 'Disponibile';
1251
1252 @override
1253 String ram_min_required(String fileSize) {
1254 return '$fileSize GB RAM min';
1255 }
1256
1257 @override
1258 String download_progress(String percent, String speed) {
1259 return '$percent% • $speed';
1260 }
1261
1262 @override
1263 String eta_label(String eta) {
1264 return 'ETA: $eta';
1265 }
1266
1267 @override
1268 String paused_progress(String percent) {
1269 return 'In pausa - $percent%';
1270 }
1271
1272 @override
1273 String ram_warning_body_download(String ram, String totalMemory) {
1274 return 'Questo modello richiede almeno $ram GB di RAM, ma il suo dispositivo dispone di $totalMemory. Potrebbe non funzionare correttamente o causare l\'arresto anomalo dell\'app.';
1275 }
1276
1277 @override
1278 String ram_warning_body_load(String availableRAM, String ram) {
1279 return 'Il suo dispositivo ha $availableRAM RAM disponibile, ma questo modello consiglia almeno $ram GB. Il caricamento potrebbe non riuscire o causare instabilità.';
1280 }
1281
1282 @override
1283 String get choose_theme => 'Scegli tema';
1284
1285 @override
1286 String get choose_theme_desc =>
1287 'Personalizza l\'aspetto dell\'app. Puoi sempre modificarlo in seguito nelle impostazioni.';
1288
1289 @override
1290 String get theme_card_system => 'Sistema';
1291
1292 @override
1293 String get theme_card_system_sub =>
1294 'Corrisponde alle impostazioni del tuo dispositivo';
1295
1296 @override
1297 String get theme_card_light => 'Luce';
1298
1299 @override
1300 String get theme_card_light_sub => 'Pulito e luminoso';
1301
1302 @override
1303 String get theme_card_dark => 'Scuro';
1304
1305 @override
1306 String get theme_card_dark_sub => 'Occhi facili';
1307
1308 @override
1309 String get theme_card_claude => 'Claude';
1310
1311 @override
1312 String get theme_card_claude_sub => 'Un tema caldo color\n pesca';
1313
1314 @override
1315 String get stay_updated => 'Resta aggiornato';
1316
1317 @override
1318 String get stay_updated_desc =>
1319 'Ricevi una notifica quando i tuoi modelli di intelligenza artificiale terminano il download o quando le attività di lunga durata vengono completate.';
1320
1321 @override
1322 String get notification_benefit_downloads => 'Avanzamento download modello';
1323
1324 @override
1325 String get notification_benefit_completions =>
1326 'Completamenti della generazione';
1327
1328 @override
1329 String get notification_benefit_background =>
1330 'Stato delle attività in background';
1331
1332 @override
1333 String get allow_notifications => 'Consenti notifiche';
1334
1335 @override
1336 String get servers_title => 'Server';
1337
1338 @override
1339 String get no_servers_yet => 'Ancora nessun server';
1340
1341 @override
1342 String get no_servers_desc =>
1343 'Aggiungi il tuo primo server per iniziare a chattare con i modelli di intelligenza artificiale.';
1344
1345 @override
1346 String get add_server => 'Aggiungi server';
1347
1348 @override
1349 String switched_to_server(String name) {
1350 return 'Passato a $name';
1351 }
1352
1353 @override
1354 String get edit_server => 'Modifica server';
1355
1356 @override
1357 String get add_server_title => 'Aggiungi server';
1358
1359 @override
1360 String get server_type_label => 'Tipo di server';
1361
1362 @override
1363 String get server_icon_label => 'Icona del server';
1364
1365 @override
1366 String get default_icon => 'Icona predefinita';
1367
1368 @override
1369 String get server_type_lm_studio_display => 'LM Studio';
1370
1371 @override
1372 String get server_type_openai_display => 'Compatibile con OpenAI';
1373
1374 @override
1375 String get server_type_ollama_display => 'Ollama';
1376
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
1395 @override
1396 String server_address_format(String host, String port) {
1397 return '$host:$port';
1398 }
1399
1400 @override
1401 String get default_badge => 'Predefinito';
1402
1403 @override
1404 String get set_as_default => 'Imposta come predefinito';
1405
1406 @override
1407 String get select_icon => 'Seleziona icona';
1408
1409 @override
1410 String get select_icon_desc => 'Scegli un\'icona per il tuo server';
1411
1412 @override
1413 String get search_icons_hint => 'Cerca icone...';
1414
1415 @override
1416 String get server_icon_stack => 'Stack di server';
1417
1418 @override
1419 String get server_icon_stack2 => 'Server Stack 02';
1420
1421 @override
1422 String get server_icon_stack3 => 'Server Stack 03';
1423
1424 @override
1425 String get server_icon_cloud => 'Cloud';
1426
1427 @override
1428 String get server_icon_cloud_server => 'Cloud Server';
1429
1430 @override
1431 String get server_icon_mcp => 'Server MCP';
1432
1433 @override
1434 String get server_icon_database => 'Database';
1435
1436 @override
1437 String get server_icon_database1 => 'Database 01';
1438
1439 @override
1440 String get server_icon_database2 => 'Database 02';
1441
1442 @override
1443 String get server_icon_cpu => 'CPU';
1444
1445 @override
1446 String get server_icon_chip => 'Chip';
1447
1448 @override
1449 String get server_icon_chip2 => 'Chip 02';
1450
1451 @override
1452 String get server_icon_computer => 'Computer';
1453
1454 @override
1455 String get server_icon_laptop => 'Laptop';
1456
1457 @override
1458 String get server_icon_terminal => 'Terminale informatico';
1459
1460 @override
1461 String get server_icon_code => 'Codice';
1462
1463 @override
1464 String get server_icon_ai_brain => 'Cervello AI';
1465
1466 @override
1467 String get server_icon_ai_brain2 => 'AI Brain 02';
1468
1469 @override
1470 String get server_icon_ai_cloud => 'AI Cloud';
1471
1472 @override
1473 String get server_icon_ai_network => 'Rete AI';
1474
1475 @override
1476 String get server_icon_ai_chat => 'AI Chat';
1477
1478 @override
1479 String get server_icon_cellular => 'Rete cellulare';
1480
1481 @override
1482 String get server_icon_plug1 => 'Plug 01';
1483
1484 @override
1485 String get server_icon_plug2 => 'Plug 02';
1486
1487 @override
1488 String get server_icon_bot => 'Bot';
1489
1490 @override
1491 String get server_icon_bot2 => 'Bot 02';
1492
1493 @override
1494 String get server_icon_robotic => 'Robotica';
1495
1496 @override
1497 String get server_icon_rocket => 'Razzo';
1498
1499 @override
1500 String get server_icon_star => 'Stella';
1501
1502 @override
1503 String get server_icon_settings1 => 'Impostazioni 01';
1504
1505 @override
1506 String get server_icon_settings2 => 'Impostazioni 02';
1507
1508 @override
1509 String get server_icon_home1 => 'Home 01';
1510
1511 @override
1512 String get server_icon_home2 => 'Home 02';
1513
1514 @override
1515 String get server_icon_folder1 => 'Cartella 01';
1516
1517 @override
1518 String get server_icon_folder2 => 'Cartella 02';
1519
1520 @override
1521 String get server_icon_file1 => 'File 01';
1522
1523 @override
1524 String get server_icon_lock => 'Blocca';
1525
1526 @override
1527 String get server_icon_key => 'Chiave 01';
1528
1529 @override
1530 String get server_icon_link => 'Link 01';
1531
1532 @override
1533 String get server_icon_globe => 'Globe';
1534
1535 @override
1536 String get server_icon_api => 'API';
1537
1538 @override
1539 String get server_icon_arrow_right => 'Freccia destra 01';
1540
1541 @override
1542 String get server_icon_check => 'Cerchio di controllo';
1543
1544 @override
1545 String get server_icon_alert => 'Cerchio di allerta';
1546
1547 @override
1548 String get server_icon_info => 'Info Circle';
1549
1550 @override
1551 String get server_icon_zap => 'Zap';
1552
1553 @override
1554 String get server_icon_cloud_upload => 'Caricamento cloud';
1555
1556 @override
1557 String get server_icon_cloud_download => 'Cloud Download';
1558
1559 @override
1560 String get server_icon_refresh => 'Aggiorna';
1561
1562 @override
1563 String get server_icon_hard_drive => 'Disco rigido';
1564
1565 @override
1566 String get server_icon_drive => 'Guida';
1567
1568 @override
1569 String get personas_title => 'Personas';
1570
1571 @override
1572 String get persona_category_general => 'Generale';
1573
1574 @override
1575 String get persona_category_coding => 'Codifica';
1576
1577 @override
1578 String get persona_category_education => 'Istruzione';
1579
1580 @override
1581 String get persona_category_creative => 'Creativo';
1582
1583 @override
1584 String get persona_builtin_section => 'INTEGRATO';
1585
1586 @override
1587 String get persona_my_section => 'LE MIE PERSONAS';
1588
1589 @override
1590 String get clone_edit => 'Clona e modifica';
1591
1592 @override
1593 String get builtin_badge => 'Integrato';
1594
1595 @override
1596 String get no_personas_found => 'Nessuna persona trovata';
1597
1598 @override
1599 String get no_personas_desc =>
1600 'Crea la tua prima persona per personalizzare il comportamento dell\'IA.';
1601
1602 @override
1603 String get edit_persona => 'Modifica Persona';
1604
1605 @override
1606 String get create_persona => 'Crea persona';
1607
1608 @override
1609 String get create_persona_button => 'Crea';
1610
1611 @override
1612 String get emoji_label => 'Emoji';
1613
1614 @override
1615 String get name_label => 'Nome';
1616
1617 @override
1618 String get my_persona_hint => 'La mia Persona';
1619
1620 @override
1621 String get category_label => 'Categoria';
1622
1623 @override
1624 String get description_optional => 'Descrizione (opzionale)';
1625
1626 @override
1627 String get description_hint => 'Cosa fa questo personaggio...';
1628
1629 @override
1630 String get system_prompt => 'Prompt di sistema';
1631
1632 @override
1633 String character_count_max(int currentLen) {
1634 return '$currentLen/4000';
1635 }
1636
1637 @override
1638 String get no_prompt_placeholder => 'Ancora nessun prompt...';
1639
1640 @override
1641 String get prompt_hint => 'Sei un assistente utile...';
1642
1643 @override
1644 String get prompt_required => 'Il prompt di sistema è obbligatorio';
1645
1646 @override
1647 String get prompt_max_chars => 'Max 4000 caratteri';
1648
1649 @override
1650 String get advanced_settings => 'Impostazioni avanzate';
1651
1652 @override
1653 String get temperature_label => 'Temperatura (0,0-2,0)';
1654
1655 @override
1656 String get top_p_label => 'Top P (0,0-1,0)';
1657
1658 @override
1659 String get temp_hint => '0.7';
1660
1661 @override
1662 String get top_p_hint => '0,9';
1663
1664 @override
1665 String get range_0_2 => '0,0-2,0';
1666
1667 @override
1668 String get range_0_1 => '0,0-1,0';
1669
1670 @override
1671 String get persona_updated => 'Persona aggiornata';
1672
1673 @override
1674 String get persona_created => 'Persona creata';
1675
1676 @override
1677 String get tts_models_title => 'Modelli di sintesi vocale';
1678
1679 @override
1680 String get always_available => 'Sempre disponibile';
1681
1682 @override
1683 String get tts_system_desc =>
1684 'Utilizza il motore di sintesi vocale integrato nel dispositivo.\nNessun download richiesto. La selezione vocale utilizza le impostazioni di sistema del tuo dispositivo.';
1685
1686 @override
1687 String get downloading_status => 'Download in corso...';
1688
1689 @override
1690 String tts_kitten_desc(String size) {
1691 return 'TTS neurale fulmineo con 8 voci espressive.\nRichiede il download di $size.';
1692 }
1693
1694 @override
1695 String tts_piper_desc(String size) {
1696 return 'Veloce voce Piper offline con 2 voci espressive.\nRichiede $size download per voce.';
1697 }
1698
1699 @override
1700 String engine_spec(String sizeMb, String ramMb, int voiceCount) {
1701 return '$sizeMb MB · $ramMb MB RAM · $voiceCount voci';
1702 }
1703
1704 @override
1705 String get on_device_models_title => 'Modelli sul dispositivo';
1706
1707 @override
1708 String get settings_huggingface_token => 'Token Hugging Face (Opzionale)';
1709
1710 @override
1711 String get settings_huggingface_token_desc =>
1712 'Richiesto solo per i modelli con accesso limitato (ad es. Gemma). Ottieni un token su huggingface.co/settings/tokens.';
1713
1714 @override
1715 String get settings_huggingface_token_set => 'Token salvato';
1716
1717 @override
1718 String get settings_huggingface_token_cleared => 'Token cancellato';
1719
1720 @override
1721 String get model_requires_huggingface_token =>
1722 'Richiede un token Hugging Face';
1723
1724 @override
1725 String get model_missing_huggingface_token =>
1726 'Questo modello ha accesso limitato su Hugging Face. Aggiungi un token in Impostazioni → Inferenza sul dispositivo per scaricarlo.';
1727
1728 @override
1729 String get set_huggingface_token => 'Imposta token';
1730
1731 @override
1732 String get clear_huggingface_token => 'Cancella';
1733
1734 @override
1735 String get edit_huggingface_token_dialog_title =>
1736 'Token di accesso Hugging Face';
1737
1738 @override
1739 String get huggingface_token_dialog_hint => 'hf_…';
1740
1741 @override
1742 String get server_type_ollama_desc =>
1743 'Motore AI locale. Nessuna chiave API richiesta.';
1744
1745 @override
1746 String get server_type_on_device_desc =>
1747 'Funziona sul tuo telefono. Alcuni modelli richiedono un token Hugging Face.';
1748
1749 @override
1750 String get server_type_lm_studio_desc =>
1751 'Server API locale. Nessuna chiave API richiesta.';
1752
1753 @override
1754 String get available_models => 'Modelli disponibili';
1755
1756 @override
1757 String get device_memory => 'Memoria del dispositivo';
1758
1759 @override
1760 String get ram_usage => 'Utilizzo della RAM';
1761
1762 @override
1763 String get memory_healthy => 'Sano';
1764
1765 @override
1766 String get memory_critical => 'Critico';
1767
1768 @override
1769 String get memory_low => 'Basso';
1770
1771 @override
1772 String ram_used(String percent) {
1773 return '$percent% utilizzato';
1774 }
1775
1776 @override
1777 String get available_ram => 'RAM disponibile';
1778
1779 @override
1780 String get total_capacity => 'Capacità totale';
1781
1782 @override
1783 String get loaded_status => 'Caricato';
1784
1785 @override
1786 String get inference_backend => 'Backend di inferenza';
1787
1788 @override
1789 String get backend_ios_notice =>
1790 'Solo il back-end della CPU è disponibile su iOS.';
1791
1792 @override
1793 String get backend_cpu_desc =>
1794 'Funziona su tutti i dispositivi. Più compatibile.';
1795
1796 @override
1797 String get backend_gpu_desc =>
1798 'Accelerazione OpenCL. Più veloce sui dispositivi supportati.';
1799
1800 @override
1801 String get backend_npu_desc =>
1802 'NPU del fornitore (Qualcomm/MediaTek). L\'inferenza più veloce.';
1803
1804 @override
1805 String get select_model_title => 'Seleziona modello';
1806
1807 @override
1808 String get refresh_models => 'Aggiorna modelli';
1809
1810 @override
1811 String get search_models_hint => 'Cerca modelli...';
1812
1813 @override
1814 String get no_server_connected => 'Nessun server connesso';
1815
1816 @override
1817 String get add_server_first =>
1818 'Aggiungi prima un server per vedere i modelli disponibili.';
1819
1820 @override
1821 String get failed_load_models => 'Impossibile caricare i modelli';
1822
1823 @override
1824 String get no_models_available => 'Nessun modello disponibile';
1825
1826 @override
1827 String no_models_match(String searchQuery) {
1828 return 'Nessun modello corrisponde a \"$searchQuery\"';
1829 }
1830
1831 @override
1832 String model_load_failed(String error) {
1833 return 'Impossibile caricare il modello: $error';
1834 }
1835
1836 @override
1837 String model_unloaded_ollama(String name) {
1838 return '$name verrà scaricato una volta trascorso il tempo di mantenimento in vita';
1839 }
1840
1841 @override
1842 String model_unloaded_success(String name) {
1843 return '$name scaricato correttamente';
1844 }
1845
1846 @override
1847 String model_unload_failed(String error) {
1848 return 'Impossibile scaricare il modello: $error';
1849 }
1850
1851 @override
1852 String get unload_from_server => 'Scarica dal server';
1853
1854 @override
1855 String context_chip(String ctx) {
1856 return '$ctx ctx';
1857 }
1858
1859 @override
1860 String get unload_all_models => 'Scarica tutti i modelli';
1861
1862 @override
1863 String loaded_models_count(int count) {
1864 return '$count modelli caricati';
1865 }
1866
1867 @override
1868 String get all_models_unloaded => 'Tutti i modelli scaricati';
1869
1870 @override
1871 String get branch_chat => 'Crea ramo chat';
1872
1873 @override
1874 String get branch_chat_desc =>
1875 'Crea una nuova chat a partire da questo messaggio';
1876
1877 @override
1878 String get edit_assistant_message_desc =>
1879 'Modifica il contenuto del messaggio dell\'assistente';
1880
1881 @override
1882 String switch_to_model(String modelName, Object model) {
1883 return 'Passa al modello $model';
1884 }
1885
1886 @override
1887 String download_notification_title(String modelName) {
1888 return 'Download di $modelName in corso...';
1889 }
1890
1891 @override
1892 String get download_complete_notification => 'Download completato!';
1893
1894 @override
1895 String download_complete_body(String modelName) {
1896 return '$modelName è stato scaricato correttamente.';
1897 }
1898
1899 @override
1900 String download_failed_notification(String error) {
1901 return 'Download non riuscito: $error';
1902 }
1903
1904 @override
1905 String download_failed_body(String modelName) {
1906 return 'Impossibile scaricare $modelName.';
1907 }
1908
1909 @override
1910 String get engine_name_system => 'System TTS';
1911
1912 @override
1913 String get engine_tagline_system => 'Motore del dispositivo integrato';
1914
1915 @override
1916 String get engine_name_kitten => 'Gattino TTS';
1917
1918 @override
1919 String get engine_tagline_kitten => 'TTS neurale ad alta velocità';
1920
1921 @override
1922 String get engine_name_sherpa => 'Sherpa ONNX VITS';
1923
1924 @override
1925 String get engine_tagline_sherpa => 'Voci Piper offline';
1926
1927 @override
1928 String get voice_jasper => 'Jasper';
1929
1930 @override
1931 String get voice_bella => 'Bella';
1932
1933 @override
1934 String get voice_bruno => 'Bruno';
1935
1936 @override
1937 String get voice_luna => 'Luna';
1938
1939 @override
1940 String get voice_hugo => 'Hugo';
1941
1942 @override
1943 String get voice_rosie => 'Rosie';
1944
1945 @override
1946 String get voice_leo => 'Leone';
1947
1948 @override
1949 String get voice_kiki => 'Kiki';
1950
1951 @override
1952 String get voice_lessac => 'Lessac (US)';
1953
1954 @override
1955 String get voice_ryan => 'Ryan (US)';
1956
1957 @override
1958 String get model_qwen_3 => 'Qwen 3 0.6B';
1959
1960 @override
1961 String get model_qwen_3_desc =>
1962 'Il più piccolo modello di chat generico. Risposte rapide, basso utilizzo della memoria.';
1963
1964 @override
1965 String get model_license_apache => 'Apache-2.0';
1966
1967 @override
1968 String get model_qwen_25 => 'Qwen 2.5 1.5B Instruct';
1969
1970 @override
1971 String get model_qwen_25_desc =>
1972 'Qualità e dimensioni equilibrate. Ottimo per una conversazione generale.';
1973
1974 @override
1975 String get model_deepseek => 'Distillato DeepSeek R1 Qwen 1.5B';
1976
1977 @override
1978 String get model_deepseek_desc =>
1979 'Modello di ragionamento e catena di pensiero. Ideale per attività logiche.';
1980
1981 @override
1982 String get model_license_mit => 'MIT';
1983
1984 @override
1985 String get model_gemma => 'Gemma 4 E2B Instruct';
1986
1987 @override
1988 String get model_gemma_desc =>
1989 'Modello di punta di Google. Massima qualità, richiede più RAM.';
1990
1991 @override
1992 String export_header(String date) {
1993 return '*Esportato da LocalMind — $date*';
1994 }
1995
1996 @override
1997 String get export_role_user => '## 👤 Utente';
1998
1999 @override
2000 String get export_role_assistant => '## 🤖 Assistente';
2001
2002 @override
2003 String get export_role_system => '## ⚙️ Sistema';
2004
2005 @override
2006 String get export_role_tool => '## 🔧 Strumento';
2007
2008 @override
2009 String get export_text_user => '[USER]';
2010
2011 @override
2012 String get export_text_assistant => '[ASSISTENTE]';
2013
2014 @override
2015 String get export_text_system => '[SISTEMA]';
2016
2017 @override
2018 String get export_text_tool => '[STRUMENTO]';
2019
2020 @override
2021 String get export_label_user => 'UTENTE';
2022
2023 @override
2024 String get export_label_assistant => 'ASSISTENTE';
2025
2026 @override
2027 String get export_label_system => 'SISTEMA';
2028
2029 @override
2030 String get export_label_tool => 'STRUMENTO';
2031
2032 @override
2033 String get select_model_hint =>
2034 'Seleziona un modello per iniziare a chattare';
2035
2036 @override
2037 String get test_notification_title => 'Notifica di prova';
2038
2039 @override
2040 String get test_notification_body =>
2041 'Questa è una notifica di prova per l\'avanzamento del download del modello.';
2042
2043 @override
2044 String get tts_supports_background =>
2045 'Supporta la riproduzione in background come audio nativo';
2046
2047 @override
2048 String get tts_other_services_background_note =>
2049 'Nota: Gli altri servizi TTS supportano la riproduzione in background come audio nativo.';
2050
2051 @override
2052 String get gguf_imported_models_title => 'Imported GGUF models';
2053
2054 @override
2055 String get gguf_imported_models_empty_subtitle =>
2056 'Import a GGUF from your device or add one from Hugging Face. Imported models run locally with llama.cpp.';
2057
2058 @override
2059 String get gguf_imported_models_ready =>
2060 'imported models ready for local inference.';
2061
2062 @override
2063 String get gguf_curated_models_subtitle =>
2064 'Curated on-device models you can download and manage inside LocalMind.';
2065
2066 @override
2067 String get gguf_only_supported =>
2068 'Only GGUF models are supported for this import.';
2069
2070 @override
2071 String get gguf_imported_from_local_file => 'imported from local file.';
2072
2073 @override
2074 String get gguf_import_failed => 'Failed to import GGUF model';
2075
2076 @override
2077 String get gguf_imported_from_huggingface => 'imported from Hugging Face.';
2078
2079 @override
2080 String get gguf_import_canceled => 'GGUF import canceled.';
2081
2082 @override
2083 String get gguf_enter_huggingface_url => 'Enter a Hugging Face GGUF URL.';
2084
2085 @override
2086 String get gguf_only_official_huggingface_urls =>
2087 'Only official Hugging Face GGUF URLs are supported.';
2088
2089 @override
2090 String get gguf_use_https_url =>
2091 'Use an HTTPS Hugging Face URL for GGUF import.';
2092
2093 @override
2094 String get gguf_url_must_point_to_file =>
2095 'The Hugging Face URL must point directly to a .gguf file.';
2096
2097 @override
2098 String get gguf_unable_to_detect_file_name =>
2099 'Unable to determine the GGUF file name.';
2100
2101 @override
2102 String get gguf_download_empty =>
2103 'The downloaded GGUF file was empty or missing.';
2104
2105 @override
2106 String get gguf_selected_file_missing =>
2107 'Selected model file does not exist.';
2108
2109 @override
2110 String get gguf_import_action => 'Import GGUF';
2111
2112 @override
2113 String get gguf_overview_title => 'Bring your own GGUF models';
2114
2115 @override
2116 String get gguf_overview_subtitle =>
2117 'Import a .gguf from local storage or download one straight from Hugging Face. Imported models stay on this device and load with llama.cpp.';
2118
2119 @override
2120 String get gguf_imported_count_label => 'imported';
2121
2122 @override
2123 String get gguf_local_files_label => 'local files';
2124
2125 @override
2126 String get gguf_huggingface_label => 'Hugging Face';
2127
2128 @override
2129 String get gguf_import_local_title => 'Import local GGUF';
2130
2131 @override
2132 String get gguf_import_local_subtitle => 'Copy a .gguf file from this device';
2133
2134 @override
2135 String get gguf_import_huggingface_title => 'Import from Hugging Face';
2136
2137 @override
2138 String get gguf_import_huggingface_subtitle =>
2139 'Paste a GGUF URL or repo path';
2140
2141 @override
2142 String get gguf_no_imported_title => 'No imported GGUF models yet';
2143
2144 @override
2145 String get gguf_no_imported_subtitle =>
2146 'You can bring your own GGUF file from device storage or paste a Hugging Face URL or repo path that points to a .gguf file.';
2147
2148 @override
2149 String get gguf_import_huggingface_dialog_title =>
2150 'Import GGUF from Hugging Face';
2151
2152 @override
2153 String get gguf_import_huggingface_dialog_subtitle =>
2154 'Paste a direct GGUF URL or a Hugging Face repo path like `owner/repo/blob/main/model.gguf`. Blob links are converted automatically.';
2155
2156 @override
2157 String get gguf_url_or_repo_path => 'GGUF URL or repo path';
2158
2159 @override
2160 String get paste => 'Paste';
2161
2162 @override
2163 String get gguf_browse => 'Browse GGUFs';
2164
2165 @override
2166 String get gguf_huggingface_token_ready => 'Hugging Face token ready';
2167
2168 @override
2169 String get gguf_huggingface_token_optional =>
2170 'Token optional but recommended';
2171
2172 @override
2173 String get gguf_huggingface_token_ready_desc =>
2174 'Your saved token will be used automatically for gated or private repositories.';
2175
2176 @override
2177 String get gguf_huggingface_token_optional_desc =>
2178 'Requires a Hugging Face token. Add one in Settings if this GGUF is gated or private.';
2179
2180 @override
2181 String get gguf_downloading => 'Downloading GGUF';
2182
2183 @override
2184 String get gguf_preparing => 'Preparing';
2185
2186 @override
2187 String get gguf_preparing_download => 'Preparing download...';
2188
2189 @override
2190 String get gguf_cancel_import => 'Cancel import';
2191
2192 @override
2193 String get clipboard_empty => 'Clipboard is empty.';
2194
2195 @override
2196 String get could_not_open_huggingface => 'Could not open Hugging Face.';
2197
2198 @override
2199 String get gguf_paste_url_error =>
2200 'Paste a Hugging Face GGUF URL or repo path.';
2201
2202 @override
2203 String get gguf_blob_link => 'Blob link';
2204
2205 @override
2206 String get gguf_repository_label => 'Repository';
2207
2208 @override
2209 String get gguf_detected_path_label => 'Detected path';
2210
2211 @override
2212 String get gguf_imported_section_label => 'Imported GGUF';
2213
2214 @override
2215 String get gguf_already_available => 'Already available on this device';
2216
2217 @override
2218 String get gguf_curated_models_short => 'Curated on-device models';
2219
2220 @override
2221 String get gguf_vision_projector => 'Vision Projector';
2222
2223 @override
2224 String get gguf_attach_projector => 'Attach Vision Projector';
2225
2226 @override
2227 String get gguf_change_projector => 'Change Vision Projector';
2228
2229 @override
2230 String get gguf_remove_projector => 'Remove Projector';
2231
2232 @override
2233 String get gguf_projector_attached =>
2234 'Vision projector attached successfully';
2235
2236 @override
2237 String get gguf_projector_removed => 'Vision projector removed';
2238
2239 @override
2240 String gguf_projector_auto_detected(String name) {
2241 return 'Auto-detected and linked vision projector: $name';
2242 }
2243
2244 @override
2245 String get gguf_is_projector_file =>
2246 'The selected file is a vision projector (mmproj), not a standalone model.';
2247
2248 @override
2249 String get gguf_projector_url_label =>
2250 'Vision Projector URL (optional mmproj)';
2251
2252 @override
2253 String get gguf_projector_url_hint =>
2254 'https://huggingface.co/.../mmproj-...gguf';
2255
2256 @override
2257 String get gguf_vision_not_supported_error =>
2258 'The active model does not support image attachments. Please attach a vision projector (mmproj) or select a vision-supported model.';
2259
2260 @override
2261 String get execute_tool_title => 'Execute Tool';
2262
2263 @override
2264 String get execute_tool_request_desc =>
2265 'The model is requesting to execute the following tool:';
2266
2267 @override
2268 String get reject => 'Reject';
2269
2270 @override
2271 String get approve => 'Approve';
2272
2273 @override
2274 String get server_type_help =>
2275 'Pick the provider before filling connection details.';
2276
2277 @override
2278 String get server_identity_title => 'Identity';
2279
2280 @override
2281 String get server_identity_desc =>
2282 'Name this server and choose how it appears in the list.';
2283
2284 @override
2285 String get server_connection_title => 'Connection';
2286
2287 @override
2288 String get server_connection_desc =>
2289 'Use the address and port exposed by your server.';
2290
2291 @override
2292 String get server_authentication_title => 'Authentication';
2293
2294 @override
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.';
2305
2306 @override
2307 String get mcp_tools_title => 'MCP Tools';
2308
2309 @override
2310 String get available_tools => 'Available tools';
2311
2312 @override
2313 String get unable_load_tools => 'Unable to load tools';
2314
2315 @override
2316 String get no_tools_registered => 'No tools registered';
2317
2318 @override
2319 String get no_tools_registered_desc =>
2320 'Enable the example MCP server or add MCP integrations from chat settings.';
2321
2322 @override
2323 String get example_mcp_server_title => 'Example MCP server';
2324
2325 @override
2326 String get example_mcp_server_desc =>
2327 'Registers example.echo and example.word_count through the same MCP tool provider used by external servers.';
2328
2329 @override
2330 String get disable_example_server => 'Disable example server';
2331
2332 @override
2333 String get enable_example_server => 'Enable example server';
2334
2335 @override
2336 String get built_in_label => 'Built-in';
2337
2338 @override
2339 String get highlights_label => 'Highlights';
2340
2341 @override
2342 String get built_with_label => 'Built with';
2343
2344 @override
2345 String get local_label => 'Local';
2346
2347 @override
2348 String get gguf_format_label => 'GGUF';
2349
2350 @override
2351 String get tool_status_requested => 'Requested';
2352
2353 @override
2354 String get tool_status_approved => 'Approved';
2355
2356 @override
2357 String get tool_status_rejected => 'Rejected';
2358
2359 @override
2360 String get tool_status_running => 'Running';
2361
2362 @override
2363 String get tool_status_done => 'Done';
2364
2365 @override
2366 String get tool_status_failed => 'Failed';
2367
2368 @override
2369 String get model_favorite_toggle => 'Attiva/disattiva preferito';
2370
2371 @override
2372 String get model_set_default => 'Imposta come modello predefinito';
2373
2374 @override
2375 String get model_clear_default => 'Rimuovi come modello predefinito';
2376
2377 @override
2378 String get model_default_badge => 'Predefinito';
2379
2380 @override
2381 String get model_note_label => 'Nota';
2382
2383 @override
2384 String get model_note_hint =>
2385 'Aggiungi una nota privata per questo modello...';
2386
2387 @override
2388 String get unload_models_before_load => 'Scarica modelli prima di caricare';
2389
2390 @override
2391 String get temp_chat_keyboard_incognito =>
2392 'Tastiera in incognito per chat temporanee';
2393
2394 @override
2395 String get temp_chat_keyboard_incognito_desc =>
2396 'Richiedi alla tastiera del sistema di non salvare la cronologia di digitazione durante le chat temporanee';
2397
2398 @override
2399 String get resume_last_chat => 'Riprendi l\'ultima chat';
2400
2401 @override
2402 String get resume_last_chat_desc =>
2403 'Apri automaticamente la tua ultima conversazione attiva all\'avvio';
2404
2405 @override
2406 String get export_all_data => 'Esporta tutti i dati';
2407
2408 @override
2409 String get import_all_data => 'Importa tutti i dati';
2410
2411 @override
2412 String get export_data_success => 'Dati esportati con successo';
2413
2414 @override
2415 String get import_data_success => 'Dati importati con successo';
2416
2417 @override
2418 String import_data_failed(String error) {
2419 return 'Impossibile importare i dati';
2420 }
2421
2422 @override
2423 String get import_data_confirm =>
2424 'Questo sostituirà tutti i dati attuali con i dati importati. Continuare?';
2425
2426 @override
2427 String get import_settings_confirm =>
2428 'Questo sostituirà le tue impostazioni attuali con quelle importate. Continuare?';
2429
2430 @override
2431 String get export_conversations => 'Esporta conversazioni';
2432
2433 @override
2434 String get import_conversations => 'Importa conversazioni';
2435
2436 @override
2437 String get export_personas => 'Esporta personaggi';
2438
2439 @override
2440 String get import_personas => 'Importa personaggi';
2441
2442 @override
2443 String get export_settings => 'Esporta impostazioni';
2444
2445 @override
2446 String get import_settings => 'Importa impostazioni';
2447
2448 @override
2449 String get export_all_zip => 'Esporta tutto (ZIP)';
2450
2451 @override
2452 String get import_all_zip => 'Importa tutto (ZIP)';
2453
2454 @override
2455 String get duplicate_chat => 'Duplica chat';
2456
2457 @override
2458 String get duplicate_chat_success => 'Chat duplicata con successo';
2459
2460 @override
2461 String get move_to_folder => 'Sposta nella cartella';
2462
2463 @override
2464 String get remove_from_folder => 'Rimuovi dalla cartella';
2465
2466 @override
2467 String get create_folder => 'Crea cartella';
2468
2469 @override
2470 String get new_folder => 'Nuova cartella';
2471
2472 @override
2473 String get folder_name_hint => 'Inserisci il nome della cartella...';
2474
2475 @override
2476 String get all_chats => 'Tutte le chat';
2477
2478 @override
2479 String get unfiled_chats => 'Chat non archiviate';
2480
2481 @override
2482 String get create => 'Crea';
2483
2484 @override
2485 String get server_path_prefix_label => 'Prefisso percorso server';
2486
2487 @override
2488 String get server_path_prefix_hint =>
2489 'Prefisso opzionale per i percorsi dell\'API del server (es. /v1)';
2490
2491 @override
2492 String get search_message_contents => 'Cerca contenuto dei messaggi...';
2493
2494 @override
2495 String get message_search_results => 'Risultati ricerca messaggi';
2496
2497 @override
2498 String get saved_messages_title => 'Messaggi Salvati';
2499
2500 @override
2501 String get nav_saved_messages => 'Messaggi salvati';
2502
2503 @override
2504 String get saved_messages_empty => 'Ancora nessun messaggio salvato';
2505
2506 @override
2507 String get save_message => 'Salva messaggio';
2508
2509 @override
2510 String get message_saved => 'Messaggio salvato';
2511
2512 @override
2513 String token_count(int count) {
2514 return 'Token: $count';
2515 }
2516
2517 @override
2518 String estimated_token_count(int count) {
2519 return 'Token stimati: $count';
2520 }
2521
2522 @override
2523 String get test_tts_section_title => 'Test Sintesi Vocale';
2524
2525 @override
2526 String get test_tts_hint => 'Digita qualcosa per testare la voce...';
2527
2528 @override
2529 String get test_speak_button => 'Parla';
2530
2531 @override
2532 String get scroll_to_bottom => 'Scorri fino in fondo';
2533
2534 @override
2535 String get generate_ai_response => 'Genera risposta IA';
2536
2537 @override
2538 String get no_response => 'Nessuna risposta';
2539
2540 @override
2541 String get export => 'Esporta';
2542
2543 @override
2544 String get import => 'Importa';
2545
2546 @override
2547 String get conversations_label => 'Conversazioni';
2548
2549 @override
2550 String get personas_label => 'Personaggi';
2551
2552 @override
2553 String get settings_label => 'Impostazioni';
2554
2555 @override
2556 String get export_conversation => 'Esporta conversazione';
2557
2558 @override
2559 String get tts_process_markdown => 'Elabora Markdown';
2560
2561 @override
2562 String get tts_process_markdown_desc =>
2563 'Rimuovi la formattazione come il **grassetto** prima della lettura ad alta voce';
2564
2565 @override
2566 String get tts_skip_seconds => 'Secondi da saltare';
2567
2568 @override
2569 String get tts_skip_seconds_desc =>
2570 'Tempo per saltare avanti/indietro nel lettore vocale';
2571
2572 @override
2573 String tts_skip_seconds_value(int seconds) {
2574 return '${seconds}s';
2575 }
2576
2577 @override
2578 String get preview_system_prompts => 'Anteprima prompt di sistema';
2579
2580 @override
2581 String get welcome_message_1 => 'Ciao! Sono il tuo assistente IA locale.';
2582
2583 @override
2584 String get welcome_message_2 =>
2585 'Chiedimi qualsiasi cosa — sono pronto quando lo sei tu.';
2586
2587 @override
2588 String get welcome_message_3 =>
2589 'I tuoi dati vengono elaborati localmente e non lasciano mai il dispositivo.';
2590
2591 @override
2592 String get welcome_message_4 =>
2593 'Per iniziare, seleziona un modello dalla barra superiore o aggiungine uno nella gestione modelli.';
2594
2595 @override
2596 String get temporary_chat => 'Chat temporanea';
2597
2598 @override
2599 String get temporary_chat_desc =>
2600 'I messaggi di questa chat non saranno salvati nella cronologia';
2601
2602 @override
2603 String get temporary_chat_banner =>
2604 'Chat Temporanea Attiva — Non verrà salvata nella cronologia';
2605
2606 @override
2607 String get temporary_chat_save_warning_title => 'Salvare la chat temporanea?';
2608
2609 @override
2610 String get temporary_chat_save_warning_body =>
2611 'Questa chat non è salvata nella cronologia. Vuoi salvarla adesso?';
2612
2613 @override
2614 String get save_to_history => 'Salva nella cronologia';
2615
2616 @override
2617 String get share_conversation => 'Condividi conversazione';
2618
2619 @override
2620 String get download_tts_audio => 'Scarica audio vocale';
2621
2622 @override
2623 String get tts_download_unavailable => 'Download voce non disponibile';
2624
2625 @override
2626 String get tts_download_no_audio => 'Nessun audio generato da scaricare';
2627
2628 @override
2629 String get tts_download_success => 'Audio vocale salvato con successo';
2630
2631 @override
2632 String get return_to_chat => 'Torna alla chat';
2633
2634 @override
2635 String get return_to_temp_chat => 'Torna alla chat temporanea';
2636
2637 @override
2638 String get insert_saved_message => 'Inserisci messaggio salvato';
2639
2640 @override
2641 String get insert_saved_message_desc =>
2642 'Aggiungi un estratto dai tuoi messaggi salvati alla chat';
2643
2644 @override
2645 String get model_info => 'Informazioni modello';
2646
2647 @override
2648 String get model_name => 'Nome modello';
2649
2650 @override
2651 String get model_identifier => 'Identificatore modello';
2652
2653 @override
2654 String get model_capabilities => 'Capacità';
2655
2656 @override
2657 String get model_api_pricing => 'Prezzi API (per 1M di token)';
2658
2659 @override
2660 String get not_available => 'Non disponibile';
2661
2662 @override
2663 String get save_message_folders => 'Salva nelle cartelle';
2664
2665 @override
2666 String get remove_from_saved => 'Rimuovi dai salvati';
2667
2668 @override
2669 String get message_already_saved => 'Il messaggio è già salvato';
2670
2671 @override
2672 String get stream_ttft => 'Tempo al primo token';
2673
2674 @override
2675 String get stream_tokens_per_sec => 'Token al secondo';
2676
2677 @override
2678 String get stream_stop_reason => 'Motivo interruzione';
2679
2680 @override
2681 String get stream_input_tokens => 'Token di input';
2682
2683 @override
2684 String get stream_output_tokens => 'Token di output';
2685
2686 @override
2687 String get stream_generation_time => 'Tempo di generazione';
2688
2689 @override
2690 String get attach_image => 'Allega immagine';
2691
2692 @override
2693 String get attach_text_document => 'Allega documento di testo';
2694
2695 @override
2696 String get attach_shortcut_images => 'Foto';
2697
2698 @override
2699 String get attach_shortcut_documents => 'File';
2700
2701 @override
2702 String get attach_shortcut_saved => 'Salvati';
2703
2704 @override
2705 String get add_attachment => 'Aggiungi allegato';
2706
2707 @override
2708 String get add_to_chat => 'Aggiungi alla chat';
2709
2710 @override
2711 String get choose_what_to_attach => 'Cosa vorresti aggiungere?';
2712
2713 @override
2714 String get choose_attachment_subtitle =>
2715 'Scegli una sorgente da allegare al tuo messaggio';
2716
2717 @override
2718 String get photo_permission_denied => 'Permesso foto negato';
2719
2720 @override
2721 String get select_model_prompt => 'Seleziona modello';
2722
2723 @override
2724 String get characters_label => 'Caratteri';
2725
2726 @override
2727 String get exit_temporary_chat_title => 'Uscire dalla chat temporanea?';
2728
2729 @override
2730 String get exit_temporary_chat_body =>
2731 'Questo eliminerà permanentemente la conversazione corrente. Continuare?';
2732
2733 @override
2734 String get saved_message_temp_snap_unavailable =>
2735 'I salvataggi dei messaggi non sono disponibili nelle chat temporanee';
2736
2737 @override
2738 String get filter_title => 'Filtra chat';
2739
2740 @override
2741 String get filter_pinned => 'Fissate';
2742
2743 @override
2744 String get filter_archived => 'Archiviate';
2745
2746 @override
2747 String get filter_temp_chats => 'Chat temporanee';
2748
2749 @override
2750 String get filter_user_messages => 'Messaggi utente';
2751
2752 @override
2753 String get filter_assistant_messages => 'Messaggi assistente';
2754
2755 @override
2756 String get archive_chat => 'Archivia chat';
2757
2758 @override
2759 String get unarchive_chat => 'Ripristina chat';
2760
2761 @override
2762 String conversation_message_count(int count) {
2763 return '$count messaggi';
2764 }
2765
2766 @override
2767 String conversation_character_count(int count) {
2768 return '$count caratteri';
2769 }
2770
2771 @override
2772 String get generate_title_with_ai => 'Genera titolo con IA';
2773
2774 @override
2775 String get generating_title => 'Generazione titolo in corso...';
2776
2777 @override
2778 String get generate_title_failed => 'Impossibile generare un titolo';
2779
2780 @override
2781 String get lm_studio_model_browser_title => 'Esplora Modelli';
2782
2783 @override
2784 String get lm_studio_model_search_hint => 'Cerca modelli...';
2785
2786 @override
2787 String get lm_studio_staff_picks => 'Scelte dello staff';
2788
2789 @override
2790 String get lm_studio_community_models => 'Modelli della community';
2791
2792 @override
2793 String get lm_studio_no_models => 'Nessun modello trovato';
2794
2795 @override
2796 String lm_studio_models_count(int count) {
2797 return '$count modelli';
2798 }
2799
2800 @override
2801 String get lm_studio_browse_models => 'Esplora modelli su LM Studio';
2802
2803 @override
2804 String get lm_studio_model_search => 'Ricerca modelli';
2805
2806 @override
2807 String get lm_studio_downloads_title => 'Download';
2808
2809 @override
2810 String get lm_studio_choose_quant => 'Scegli quantizzazione';
2811
2812 @override
2813 String get lm_studio_use_default_quant => 'Usa quantizzazione predefinita';
2814
2815 @override
2816 String get lm_studio_recommended => 'Consigliato';
2817
2818 @override
2819 String get lm_studio_clear_downloads => 'Cancella download completati';
2820
2821 @override
2822 String get lm_studio_no_downloads => 'Nessun download attivo';
2823
2824 @override
2825 String get lm_studio_downloads_disclaimer =>
2826 'I download dei modelli vengono effettuati direttamente da Hugging Face.';
2827
2828 @override
2829 String get lm_studio_staff_pick => 'Scelta in evidenza';
2830
2831 @override
2832 String get lm_studio_params => 'Parametri';
2833
2834 @override
2835 String get lm_studio_arch => 'Architettura';
2836
2837 @override
2838 String get lm_studio_domain => 'Dominio';
2839
2840 @override
2841 String get lm_studio_format => 'Formato';
2842
2843 @override
2844 String get lm_studio_vision => 'Visione';
2845
2846 @override
2847 String get lm_studio_tool_use => 'Uso strumenti';
2848
2849 @override
2850 String get lm_studio_reasoning => 'Ragionamento';
2851
2852 @override
2853 String get openrouter_pricing_free => 'Gratuito';
2854
2855 @override
2856 String openrouter_pricing_tooltip(String input, String output) {
2857 return 'Input $input / Output $output per 1M di token';
2858 }
2859
2860 @override
2861 String get lm_studio_download_options => 'Opzioni di download';
2862
2863 @override
2864 String get lm_studio_download => 'Scarica';
2865
2866 @override
2867 String lm_studio_download_size(String size) {
2868 return 'Dimensione del download';
2869 }
2870
2871 @override
2872 String lm_studio_downloading_percent(int percent) {
2873 return 'Scaricamento in corso: $percent%';
2874 }
2875
2876 @override
2877 String get lm_studio_readme_unavailable =>
2878 'README non disponibile per questo modello.';
2879
2880 @override
2881 String get lm_studio_full_gpu_offload => 'Offload GPU completo possibile';
2882
2883 @override
2884 String get lm_studio_partial_gpu_offload => 'Offload GPU parziale possibile';
2885
2886 @override
2887 String get lm_studio_likely_too_large => 'Probabilmente troppo grande';
2888
2889 @override
2890 String get lm_studio_available_ram_gb => 'RAM disponibile (GB, opzionale)';
2891
2892 @override
2893 String get lm_studio_available_vram_gb => 'VRAM disponibile (GB, opzionale)';
2894
2895 @override
2896 String get lm_studio_memory_settings_title => 'Memoria per raccomandazioni';
2897
2898 @override
2899 String get lm_studio_memory_settings_desc =>
2900 'Usato per stimare se i modelli entrano nella memoria della tua macchina nell\'esploratore di modelli.';
2901
2902 @override
2903 String get think_button_label => 'Pensa';
2904
2905 @override
2906 String get thinking_mode_title => 'Modalità di pensiero';
2907
2908 @override
2909 String get reasoning_effort_low => 'Basso';
2910
2911 @override
2912 String get reasoning_effort_medium => 'Medio';
2913
2914 @override
2915 String get reasoning_effort_high => 'Alto';
2916
2917 @override
2918 String get reasoning_effort_minimal => 'Minimo';
2919
2920 @override
2921 String get reasoning_effort_xhigh => 'Molto alto';
2922
2923 @override
2924 String get reasoning_effort_max => 'Massimo';
2925
2926 @override
2927 String get reasoning_effort_off => 'Disattivato';
2928
2929 @override
2930 String get could_not_read_file => 'Impossibile leggere il file';
2931
2932 @override
2933 String get server_offline => 'Server offline';
2934
2935 @override
2936 String get could_not_establish_connection =>
2937 'Impossibile stabilire una connessione al server. Verifica se il server è attivo e se le impostazioni host/porta sono corrette.';
2938
2939 @override
2940 String get retry_connection => 'Riprova connessione';
2941
2942 @override
2943 String get tokens_label => 'Token';
2944
2945 @override
2946 String get enter_context_length => 'Inserisci lunghezza del contesto...';
2947
2948 @override
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.';
2959
2960 @override
2961 String get privacy_policy => 'Informativa sulla privacy';
2962
2963 @override
2964 String get cloud_sync => 'Sincronizzazione S3';
2965
2966 @override
2967 String get cloud_sync_description =>
2968 'Sincronizzazione crittografata end-to-end con il tuo server compatibile S3';
2969
2970 @override
2971 String get cloud_sync_endpoint => 'URL endpoint';
2972
2973 @override
2974 String get cloud_sync_bucket => 'Bucket';
2975
2976 @override
2977 String get cloud_sync_region => 'Regione';
2978
2979 @override
2980 String get cloud_sync_prefix => 'Prefisso';
2981
2982 @override
2983 String get cloud_sync_access_key => 'ID chiave di accesso';
2984
2985 @override
2986 String get cloud_sync_secret_key => 'Chiave di accesso segreta';
2987
2988 @override
2989 String get cloud_sync_session_token => 'Token di sessione (facoltativo)';
2990
2991 @override
2992 String get cloud_sync_passphrase => 'Passphrase di crittografia';
2993
2994 @override
2995 String get cloud_sync_confirm_passphrase => 'Conferma passphrase';
2996
2997 @override
2998 String get cloud_sync_path_style => 'Usa indirizzamento path-style';
2999
3000 @override
3001 String get cloud_sync_allow_http => 'Consenti HTTP non sicuro';
3002
3003 @override
3004 String get cloud_sync_http_warning =>
3005 'HTTP espone metadati e credenziali alla rete. Usalo solo con un server S3 locale attendibile.';
3006
3007 @override
3008 String get cloud_sync_test => 'Verifica connessione';
3009
3010 @override
3011 String get cloud_sync_enable => 'Attiva sincronizzazione crittografata';
3012
3013 @override
3014 String get cloud_sync_now => 'Sincronizza ora';
3015
3016 @override
3017 String get cloud_sync_disconnect => 'Disconnetti questo dispositivo';
3018
3019 @override
3020 String get cloud_sync_last_synced => 'Ultima sincronizzazione';
3021
3022 @override
3023 String get cloud_sync_never => 'Mai';
3024
3025 @override
3026 String get cloud_sync_conflicts => 'Conflitti conservati';
3027
3028 @override
3029 String get cloud_sync_passphrase_mismatch =>
3030 'Le passphrase non corrispondono';
3031
3032 @override
3033 String get crash_report_title => 'Qualcosa è andato storto';
3034
3035 @override
3036 String get crash_report_stack_trace => 'Stack trace';
3037
3038 @override
3039 String get crash_report_tap_to_expand => 'Tocca per espandere';
3040
3041 @override
3042 String get crash_report_button => 'Segnala questo crash';
3043
3044 @override
3045 String get crash_try_again => 'Riprova';
3046
3047 @override
3048 String get crash_report_empty_stack => '<vuoto>';
3049
3050 @override
3051 String get crash_report_disclaimer =>
3052 'Segnalare apre GitHub con le diagnostiche già compilate. Hai il controllo: non viene inviato nulla automaticamente. Rivedi e rimuovi eventuali contenuti sensibili prima di inviare.';
3053
3054 @override
3055 String get crash_report_copied => 'Copiato negli appunti';
3056
3057 @override
3058 String get report_a_problem => 'Segnala un problema';
3059
3060 @override
3061 String get rename_folder => 'Rinomina cartella';
3062
3063 @override
3064 String get delete_folder => 'Elimina cartella';
3065
3066 @override
3067 String get delete_folder_title => 'Eliminare la cartella?';
3068
3069 @override
3070 String delete_folder_body(String name) {
3071 return 'Sei sicuro di voler eliminare \"$name\"? Le conversazioni o i messaggi salvati al suo interno verranno spostati in \"Senza cartella\". Operazione irreversibile.';
3072 }
3073
3074 @override
3075 String get folder_name_required => 'Inserisci un nome per la cartella';
3076
3077 @override
3078 String get model_required_toast => 'Devi prima selezionare un modello';
3079
3080 @override
3081 String get settings_concise_voice_responses =>
3082 'Risposte concise in modalità vocale';
3083
3084 @override
3085 String get settings_concise_voice_responses_desc =>
3086 'Mantieni le risposte LLM brevi (1 breve paragrafo) e fai domande di approfondimento in modalità vocale.';
3087
3088 @override
3089 String get s3_connection_succeeded => 'Connessione S3 riuscita.';
3090
3091 @override
3092 String failed_to_open_url(String error) {
3093 return 'Impossibile aprire l\'URL: $error';
3094 }
3095
3096 @override
3097 String failed_to_copy(String error) {
3098 return 'Copia non riuscita: $error';
3099 }
3100
3101 @override
3102 String get file_explorer_not_found =>
3103 'No file explorer found. Please make sure a file manager app is installed and enabled on your device.';
3104
3105 @override
3106 String export_data_failed(String error) {
3107 return 'Failed to export backup: $error';
3108 }
3109
3110 @override
3111 String file_pick_failed(String error) {
3112 return 'Failed to select file: $error';
3113 }
3114
3115 @override
3116 String image_pick_failed(String error) {
3117 return 'Failed to select image: $error';
3118 }
3119
3120 @override
3121 String get calendar_access => 'Calendar Access';
3122
3123 @override
3124 String get calendar_access_desc =>
3125 'Allow AI to read and create calendar events';
3126
3127 @override
3128 String get calendar_permission_denied =>
3129 'Calendar permission denied. Please grant calendar access in your device settings.';
3130
3131 @override
3132 String get location_access => 'Location Access';
3133
3134 @override
3135 String get location_access_desc =>
3136 'Allow AI to get your current location with place name';
3137
3138 @override
3139 String get location_permission_denied =>
3140 'Location permission denied. Please grant location access in your device settings.';
3141
3142 @override
3143 String get builtin_ai_not_supported =>
3144 'Built-in AI is not supported on this device.';
3145
3146 @override
3147 String get builtin_ai_unsupported_desc =>
3148 'Your device hardware or OS does not support on-device system AI (e.g. Gemini Nano / Apple Intelligence). Please choose a downloadable model instead.';
3149
3150 @override
3151 String get builtin_ai_unsupported_chip => 'Not Supported';
3152
3153 @override
3154 String get builtin_ai_enable => 'Enable';
3155
3156 @override
3157 String get model_reasoning_default => 'Predefinito del modello';
3158
3159 @override
3160 String get model_reasoning_on => 'Attivo';
3161
3162 @override
3163 String get model_reasoning_help =>
3164 'Si applica alla prossima risposta. Disattivato impedisce il ragionamento se il template di chat del modello lo supporta.';
3165
3166 @override
3167 String get model_reasoning_save_error =>
3168 'Impossibile salvare la modalità di ragionamento. Riprova.';
3169
3170 @override
3171 String get on_device_engine_failed_error =>
3172 'Il modello sul dispositivo ha smesso di rispondere, di solito perché la conversazione ha superato la finestra di contesto. Il modello viene ricaricato. Riprova, avvia una nuova chat o aumenta la lunghezza del contesto nelle impostazioni.';
3173
3174 @override
3175 String get stt_error_no_match =>
3176 'Nessun parlato riconosciuto. Tocca per riprovare.';
3177
3178 @override
3179 String get stt_error_speech_timeout =>
3180 'Nessun parlato rilevato. Tocca per riprovare.';
3181
3182 @override
3183 String get stt_error_permission => 'Autorizzazione al microfono negata.';
3184
3185 @override
3186 String get stt_error_busy => 'Il riconoscimento vocale è occupato. Riprova.';
3187
3188 @override
3189 String get stt_error_network =>
3190 'Errore di rete. Controlla la connessione e riprova.';
3191
3192 @override
3193 String get stt_error_audio =>
3194 'Errore di registrazione audio. Controlla il microfono.';
3195
3196 @override
3197 String get stt_error_client =>
3198 'Impossibile avviare il servizio di riconoscimento vocale. Assicurati che un\'app di input vocale sia installata e impostata come riconoscimento vocale predefinito, poi riprova.';
3199
3200 @override
3201 String get stt_error_language =>
3202 'Il riconoscimento vocale di questo dispositivo non supporta la tua lingua.';
3203
3204 @override
3205 String get stt_error_unavailable =>
3206 'Nessun servizio di riconoscimento vocale trovato su questo dispositivo. Installa un\'app di input vocale (ad esempio FUTO Voice Input) e impostala come riconoscimento vocale predefinito.';
3207
3208 @override
3209 String stt_error_generic(String code) {
3210 return 'Errore di riconoscimento vocale: $code';
3211 }
3212
3213 @override
3214 String get send_temperature_to_api => 'Invia temperatura';
3215
3216 @override
3217 String get send_top_p_to_api => 'Invia Top P';
3218
3219 @override
3220 String get send_sampling_params_desc =>
3221 'Disattivalo per provider o modelli che rifiutano questo parametro (ad esempio alcuni modelli di ragionamento). Vale per tutte le chat con server remoti.';
3222
3223 @override
3224 String get default_system_prompt => 'Prompt di sistema predefinito';
3225
3226 @override
3227 String get default_system_prompt_desc =>
3228 'Usato per le chat senza persona e senza un prompt di sistema proprio.';
3229
3230 @override
3231 String get default_system_prompt_hint => 'Sei un assistente disponibile…';
3232
3233 @override
3234 String background_generation_notice(String title) {
3235 return 'Risposta ancora in corso in \"$title\". Potrai inviare qui quando termina. Tocca per aprire.';
3236 }
3237
3238 @override
3239 String get background_generation_notice_untitled =>
3240 'Un\'altra chat sta ancora rispondendo. Potrai inviare qui quando termina. Tocca per aprire.';
3241
3242 @override
3243 String background_generation_notice_info(String title) {
3244 return 'Risposta in corso in \"$title\" in background. Tocca per aprire.';
3245 }
3246
3247 @override
3248 String get background_generation_notice_info_untitled =>
3249 'Un\'altra chat sta rispondendo in background. Tocca per aprire.';
3250
3251 @override
3252 String background_generation_notice_multiple(int count) {
3253 return '$count chat stanno rispondendo in background.';
3254 }
3255
3256 @override
3257 String get background_generation_chat_untitled => 'Chat senza titolo';
3258 }