main
dart 3,157 lines 83.1 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 Korean (`ko`).
8 class AppLocalizationsKo extends AppLocalizations {
9 AppLocalizationsKo([String locale = 'ko']) : super(locale);
10
11 @override
12 String get app_name => 'LocalMind';
13
14 @override
15 String get app_tagline => '당신의 AI. 귀하의 장치. 귀하의 규칙.';
16
17 @override
18 String get app_version => '1.0.0';
19
20 @override
21 String get cancel => '취소';
22
23 @override
24 String get confirm => '확인';
25
26 @override
27 String get delete => '삭제';
28
29 @override
30 String get save => '저장';
31
32 @override
33 String get retry => '재시도';
34
35 @override
36 String get close => '닫기';
37
38 @override
39 String get done => '완료';
40
41 @override
42 String get continue_action => '계속';
43
44 @override
45 String get skip => '건너뛰기';
46
47 @override
48 String get install => '설치';
49
50 @override
51 String get download => '다운로드';
52
53 @override
54 String get resume => '이력서';
55
56 @override
57 String get pause => '일시중지';
58
59 @override
60 String get stop => '중지';
61
62 @override
63 String get edit => '편집';
64
65 @override
66 String get preview => '미리보기';
67
68 @override
69 String get unload => '언로드';
70
71 @override
72 String get load => '로드';
73
74 @override
75 String get rename => '이름 바꾸기';
76
77 @override
78 String get pin => '핀';
79
80 @override
81 String get unpin => '고정 해제';
82
83 @override
84 String get share => '공유';
85
86 @override
87 String get copy => '복사';
88
89 @override
90 String get copied => '복사되었습니다!';
91
92 @override
93 String get copied_to_clipboard => '클립보드에 복사됨';
94
95 @override
96 String get select => '선택';
97
98 @override
99 String get active => '활성';
100
101 @override
102 String get all => '모두';
103
104 @override
105 String get none => '없음';
106
107 @override
108 String get none_selected => '선택한 항목 없음';
109
110 @override
111 String get online => '온라인';
112
113 @override
114 String get connected => '연결됨';
115
116 @override
117 String get checking => '확인 중';
118
119 @override
120 String get offline => '오프라인';
121
122 @override
123 String get error => '오류';
124
125 @override
126 String get unknown_error => '알 수 없는 오류';
127
128 @override
129 String get not_now => '지금은 아님';
130
131 @override
132 String get enable => '활성화';
133
134 @override
135 String get proceed_anyway => '어쨌든 진행';
136
137 @override
138 String get test_connection => '연결 테스트';
139
140 @override
141 String get testing => '테스트 중...';
142
143 @override
144 String get connection_successful => '연결 성공!';
145
146 @override
147 String get connection_failed => '연결에 실패했습니다. 설정을 확인하세요.';
148
149 @override
150 String get save_continue => '저장하고 계속하기';
151
152 @override
153 String get save_changes => '변경 사항 저장';
154
155 @override
156 String get finish_setup => '설정 완료';
157
158 @override
159 String get start_new_chat => '새 채팅 시작';
160
161 @override
162 String get cannot_undo => '이 작업은 취소할 수 없습니다.';
163
164 @override
165 String get ram_warning => 'RAM 경고';
166
167 @override
168 String get recommended => '추천';
169
170 @override
171 String get may_be_large => '이 기기에 비해 너무 클 수 있습니다.';
172
173 @override
174 String get calculating => '계산 중...';
175
176 @override
177 String get download_failed => '다운로드 실패';
178
179 @override
180 String get downloaded => '다운로드됨';
181
182 @override
183 String get not_downloaded => '다운로드되지 않음';
184
185 @override
186 String get installed => '설치됨';
187
188 @override
189 String get not_installed => '설치되지 않음';
190
191 @override
192 String get loading => '로드 중...';
193
194 @override
195 String get thinking => '생각';
196
197 @override
198 String get processing => '처리 중...';
199
200 @override
201 String get initializing => '초기화 중...';
202
203 @override
204 String get ready => '준비';
205
206 @override
207 String get preparing_app => '앱 준비 중...';
208
209 @override
210 String get initializing_services => '서비스 초기화 중...';
211
212 @override
213 String get configuring_server => '서버 구성 중...';
214
215 @override
216 String get startup_failed => '시작 실패';
217
218 @override
219 String get something_went_wrong => '문제가 발생했습니다.';
220
221 @override
222 String get delete_model_title => '모델 삭제';
223
224 @override
225 String delete_model_body(String name) {
226 return '$name을 삭제하시겠습니까?';
227 }
228
229 @override
230 String delete_model_body_with_size(String name, String size) {
231 return '$name을 삭제하시겠습니까? 이렇게 하면 약 $size 정도의 공간이 확보됩니다.\n\n필요한 경우 나중에 이 모델을 다시 다운로드할 수 있습니다.';
232 }
233
234 @override
235 String get delete_voice_title => '음성 삭제';
236
237 @override
238 String delete_voice_body(String name, String size) {
239 return '$name을 삭제하시겠습니까? 이렇게 하면 약 $size 정도의 공간이 확보됩니다.\n\n필요한 경우 나중에 이 음성을 다시 다운로드할 수 있습니다.';
240 }
241
242 @override
243 String get delete_server_title => '서버 삭제';
244
245 @override
246 String delete_server_body(String name) {
247 return '정말로 \"$name\"을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.';
248 }
249
250 @override
251 String get delete_conversation_title => '대화를 삭제하시겠습니까?';
252
253 @override
254 String delete_conversation_body(String title) {
255 return '정말로 \"$title\"을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.';
256 }
257
258 @override
259 String get delete_message_title => '메시지를 삭제하시겠습니까?';
260
261 @override
262 String delete_persona_title(String name) {
263 return '\'$name\'를 삭제하시겠습니까?';
264 }
265
266 @override
267 String get delete_persona_body => '이 작업은 취소할 수 없습니다.';
268
269 @override
270 String get delete_builtin_persona_body =>
271 '이것은 내장된 페르소나입니다. 나중에 설정에서 복원할 수 있습니다.';
272
273 @override
274 String get restore_builtin_personas => '기본 페르소나 복원';
275
276 @override
277 String get restore_builtin_personas_desc => '삭제한 내장 페르소나를 다시 추가하세요.';
278
279 @override
280 String get restore_builtin_personas_success => '기본 페르소나가 복원되었습니다.';
281
282 @override
283 String get clear_personas => '명확한 페르소나';
284
285 @override
286 String get enable_image_compression => '보내기 전에 이미지를 압축하세요';
287
288 @override
289 String get enable_image_compression_desc =>
290 '업로드가 서버 제한 내에서 유지되도록 첨부된 이미지의 크기를 조정하고 압축합니다.';
291
292 @override
293 String get image_compression_level => '압축 공격성';
294
295 @override
296 String get image_compression_level_desc =>
297 '공격성이 높을수록 품질이 낮을수록 업로드 크기가 작아집니다.';
298
299 @override
300 String get image_compression_level_low => '낮음';
301
302 @override
303 String get image_compression_level_medium => '중간';
304
305 @override
306 String get image_compression_level_high => '높음';
307
308 @override
309 String get sort_models_tooltip => '모델 정렬';
310
311 @override
312 String get sort_by_favorites => '즐겨찾기 먼저';
313
314 @override
315 String get sort_by_name => '이름(A~Z)';
316
317 @override
318 String get sort_by_size_smallest => '크기(가장 작은 것부터)';
319
320 @override
321 String get sort_by_size_largest => '크기(큰 것부터)';
322
323 @override
324 String get sort_by_context_length => '컨텍스트 길이';
325
326 @override
327 String bulk_ai_rename_progress(int done, int total) {
328 return '$done/$total 이름 바꾸기...';
329 }
330
331 @override
332 String selected_count(int count) {
333 return '$count 선택됨';
334 }
335
336 @override
337 String get ai_rename_tooltip => 'AI로 선택한 이름 바꾸기';
338
339 @override
340 String get new_chat_in_folder_tooltip => '이 폴더의 새 채팅';
341
342 @override
343 String total_tokens_count(int count) {
344 return '$count 토큰';
345 }
346
347 @override
348 String get smart_replies_use_persona => '스마트 답장에 페르소나 사용';
349
350 @override
351 String get smart_replies_use_persona_desc =>
352 '제안된 답변은 일반적인 어시스턴트가 아닌 활성 페르소나의 어조와 일치합니다.';
353
354 @override
355 String get keep_persona_on_new_chat => '새 채팅에서 페르소나 유지';
356
357 @override
358 String get keep_persona_on_new_chat_desc => '새 채팅을 시작한 후 선택한 페르소나를 지우지 마세요.';
359
360 @override
361 String get role_swap_button_enabled => '역할 전환 버튼 표시';
362
363 @override
364 String get role_swap_button_enabled_desc =>
365 '응답을 생성하지 않고 사용자 대신 어시스턴트로 메시지를 보내려면 채팅 입력에 버튼을 표시하세요.';
366
367 @override
368 String get send_as_user_tooltip => '사용자로 보내기';
369
370 @override
371 String get send_as_assistant_tooltip => '어시스턴트로 보내기(응답 없음)';
372
373 @override
374 String get insert_without_generating_tooltip => '생성하지 않고 삽입';
375
376 @override
377 String get token_usage_title => '토큰 사용';
378
379 @override
380 String get total_tokens_label => '사용된 토큰';
381
382 @override
383 String get usage_percent_label => '사용된 컨텍스트';
384
385 @override
386 String get export_choice_title => '수출';
387
388 @override
389 String get export_choice_body => '이것을 어떻게 내보내시겠습니까?';
390
391 @override
392 String get copy_to_clipboard => '클립보드에 복사';
393
394 @override
395 String bulk_export_conversations_success(int count) {
396 return '$count 대화를 내보냈습니다.';
397 }
398
399 @override
400 String get bulk_ai_rename_confirm_title => 'AI로 이름을 바꾸시겠습니까?';
401
402 @override
403 String bulk_ai_rename_confirm_body(int count) {
404 return '이는 AI에게 $count가 선택한 각 대화에 대해 현재 제목을 대체하는 새로운 제목을 생성하도록 요청합니다. 이 작업은 시간이 좀 걸릴 수 있으며 취소할 수 없습니다.';
405 }
406
407 @override
408 String get sort_by_modified_date => '최종 수정됨';
409
410 @override
411 String get sort_by_created_date => '생성된 날짜';
412
413 @override
414 String get sort_title => '정렬';
415
416 @override
417 String get clear_conversation_title => '명확한 대화?';
418
419 @override
420 String get clear_conversation_body => '이 대화의 모든 메시지가 삭제됩니다.';
421
422 @override
423 String get clear => '지우기';
424
425 @override
426 String label_completed(String label) {
427 return '$label 완료';
428 }
429
430 @override
431 String error_with_message(String error) {
432 return '오류: $error';
433 }
434
435 @override
436 String preview_failed(String error) {
437 return '미리보기 실패: $error';
438 }
439
440 @override
441 String loading_model(String modelId) {
442 return '$modelId 로드 중...';
443 }
444
445 @override
446 String model_loaded(String modelId, String backend) {
447 return '로드된 모델: $modelId($backend)';
448 }
449
450 @override
451 String get no_model_loaded =>
452 '로드된 모델이 없습니다. 모델을 다운로드하고 로드하려면 \"기기 내 모델 관리\"를 탭하세요.';
453
454 @override
455 String loading_model_error(String error) {
456 return '오류: $error';
457 }
458
459 @override
460 String get delete_conversation => '대화를 삭제하시겠습니까?';
461
462 @override
463 String get nav_history => '역사';
464
465 @override
466 String get nav_servers => '서버';
467
468 @override
469 String get nav_local_models => '지역 모델';
470
471 @override
472 String get nav_tts => '텍스트 음성 변환';
473
474 @override
475 String get nav_personas => '페르소나';
476
477 @override
478 String get nav_settings => '설정';
479
480 @override
481 String get nav_new_chat => '새 채팅';
482
483 @override
484 String get search_hint => '대화 검색...';
485
486 @override
487 String get no_server_selected => '서버를 선택하지 않았습니다.';
488
489 @override
490 String get switch_server => '서버 전환';
491
492 @override
493 String get switch_server_subtitle => '연결할 서버를 선택하세요';
494
495 @override
496 String get manage_servers => '서버 관리';
497
498 @override
499 String get open_source => '오픈 소스';
500
501 @override
502 String get open_source_desc =>
503 'LocalMind는 오픈 소스입니다. 진행 상황을 따르거나 GitHub에 기여해 보세요.';
504
505 @override
506 String get star_on_github => 'GitHub의 스타';
507
508 @override
509 String get add_more => '더 추가';
510
511 @override
512 String get on_github => 'GitHub에서';
513
514 @override
515 String get could_not_open_github => 'GitHub를 열 수 없습니다.';
516
517 @override
518 String get settings_title => '설정';
519
520 @override
521 String get settings_appearance => '외관';
522
523 @override
524 String get settings_language => '언어';
525
526 @override
527 String get language_system_default => '시스템 기본값';
528
529 @override
530 String get settings_tts => '텍스트 음성 변환';
531
532 @override
533 String get settings_android_assistant => '안드로이드 어시스턴트';
534
535 @override
536 String get assistant_default_title => 'LocalMind를 보조자로 사용';
537
538 @override
539 String get assistant_default_description =>
540 'Android의 보조 제스처 또는 전원 버튼 단축키를 사용하여 음성 모드를 시작하세요.';
541
542 @override
543 String get assistant_status_active => '활성';
544
545 @override
546 String get assistant_status_available => '비활성';
547
548 @override
549 String get assistant_status_manual => '설정 확인';
550
551 @override
552 String get assistant_status_unsupported => '이용 불가';
553
554 @override
555 String get assistant_status_checking => '확인 중…';
556
557 @override
558 String get assistant_set_default => '기본 도우미로 설정';
559
560 @override
561 String get assistant_open_settings => 'Android 어시스턴트 설정 열기';
562
563 @override
564 String assistant_error(Object error) {
565 return 'Android 어시스턴트 설정을 열 수 없습니다.';
566 }
567
568 @override
569 String get settings_behavior => '행동';
570
571 @override
572 String get settings_on_device => '온디바이스 추론';
573
574 @override
575 String get settings_default_server => '기본 서버';
576
577 @override
578 String get settings_default_persona => '기본 페르소나';
579
580 @override
581 String get settings_default_model => '기본 모델';
582
583 @override
584 String get settings_default_model_desc => '새 채팅을 시작하면 자동으로 선택됩니다.';
585
586 @override
587 String get settings_privacy => '개인 정보 보호';
588
589 @override
590 String get settings_data_management => '데이터 관리';
591
592 @override
593 String get settings_about => '소개';
594
595 @override
596 String get theme => '테마';
597
598 @override
599 String get theme_system => '시스템';
600
601 @override
602 String get theme_light => '빛';
603
604 @override
605 String get theme_dark => '어둠';
606
607 @override
608 String get theme_claude => '클로드';
609
610 @override
611 String get font_size => '글꼴 크기';
612
613 @override
614 String get font_size_desc => '채팅에서 텍스트 크기를 조정합니다.';
615
616 @override
617 String get font_preview => '날렵한 갈색여우가 게으른 개를 뛰어넘습니다.';
618
619 @override
620 String get code_theme_dark => '코드 테마(어두움)';
621
622 @override
623 String get code_theme_light => '코드 테마(빛)';
624
625 @override
626 String get code_theme_desc => '코드 블록에 대한 구문 강조 테마를 선택합니다.';
627
628 @override
629 String get tts_engine => 'TTS 엔진';
630
631 @override
632 String get tts_engine_system => '시스템 TTS';
633
634 @override
635 String get tts_engine_kitten => '새끼 고양이 TTS';
636
637 @override
638 String get voice => '음성';
639
640 @override
641 String get voice_female => '여성';
642
643 @override
644 String get voice_male => '남성';
645
646 @override
647 String get voice_other => '기타';
648
649 @override
650 String get tts_speed => 'TTS 속도';
651
652 @override
653 String get tts_speed_desc => '재생 속도를 조정합니다.';
654
655 @override
656 String get manage_tts_models => 'TTS 모델 관리';
657
658 @override
659 String get manage_on_device_models => '온디바이스 모델 관리';
660
661 @override
662 String get enable_smart_reply => '기기 내 스마트 답장';
663
664 @override
665 String get ai_user_response_enabled => 'AI 사용자 메시지(보류 보내기)';
666
667 @override
668 String get ai_user_response_enabled_desc =>
669 'AI가 다음 메시지를 쓰고 보내도록 하려면 보내기 버튼을 3초 동안 누르세요.';
670
671 @override
672 String get ai_user_response_tooltip => 'AI로 사용자 메시지 생성';
673
674 @override
675 String get streaming_responses => '스트리밍 응답';
676
677 @override
678 String get auto_generate_titles => '제목 자동 생성';
679
680 @override
681 String get send_on_enter => '입력 시 보내기';
682
683 @override
684 String get show_system_messages => '기본 시스템 프롬프트 보내기';
685
686 @override
687 String get show_system_messages_desc =>
688 '페르소나가 선택되지 않은 경우 각 요청과 함께 기본 보조 시스템 프롬프트를 보냅니다.';
689
690 @override
691 String get show_system_messages_in_chat => '채팅에 시스템 메시지 표시';
692
693 @override
694 String get show_system_messages_in_chat_desc =>
695 '대화에서 눈에 보이는 풍선으로 시스템 메시지(예: 가져온 백업의 메시지)를 표시합니다.';
696
697 @override
698 String get auto_collapse_thinking => '자동 붕괴 사고';
699
700 @override
701 String get auto_collapse_thinking_desc =>
702 '주요 답변이 있는 경우 응답 생성이 완료된 후 추론 프로세스를 자동으로 축소합니다.';
703
704 @override
705 String get haptic_feedback => '햅틱 피드백';
706
707 @override
708 String get enable_mcp => 'MCP 활성화';
709
710 @override
711 String get new_chat_mcp_default => '새 채팅 MCP 기본값';
712
713 @override
714 String get show_data_indicator => '데이터 표시기 표시';
715
716 @override
717 String get privacy_info => '\"LocalMind는 귀하의 데이터를 결코 볼 수 없습니다\"';
718
719 @override
720 String get delete_all_conversations => '모든 대화 삭제';
721
722 @override
723 String get reset_settings_defaults => '설정을 기본값으로 재설정';
724
725 @override
726 String get chat_title => '로컬마인드';
727
728 @override
729 String get chat_parameters_tooltip => '채팅 매개변수';
730
731 @override
732 String get change_persona => '페르소나 변경';
733
734 @override
735 String get set_persona => '페르소나 설정';
736
737 @override
738 String get remove_persona => '페르소나 제거';
739
740 @override
741 String get clear_conversation => '명확한 대화';
742
743 @override
744 String get connection_error => '연결 오류입니다. 서버를 확인하세요.';
745
746 @override
747 String get disconnected => '서버와의 연결이 끊어졌습니다.';
748
749 @override
750 String get configure => '구성';
751
752 @override
753 String get select_model => '모델 선택';
754
755 @override
756 String get select_persona => '페르소나 선택';
757
758 @override
759 String get manage_personas => '페르소나 관리';
760
761 @override
762 String get personas_combine_hint => '채팅에서 여러 페르소나를 선택하여 시스템 프롬프트를 쌓으세요.';
763
764 @override
765 String get start_conversation => '대화 시작';
766
767 @override
768 String get recent_chats => '최근 채팅';
769
770 @override
771 String get see_all => '모두 보기';
772
773 @override
774 String get quick_write => '함수 작성 도와주세요';
775
776 @override
777 String get quick_explain => '이 코드를 설명해보세요';
778
779 @override
780 String get quick_debug => '나를 위해 디버깅해 주세요';
781
782 @override
783 String get quick_async => '비동기/대기를 어떻게 사용하나요?';
784
785 @override
786 String get history_missing_title => '기록 누락';
787
788 @override
789 String get history_missing_desc => '이 채팅의 메시지가 삭제되었거나 기록 기록이 손상되었습니다.';
790
791 @override
792 String get technical_details => '기술적인 세부사항';
793
794 @override
795 String get last_error => '마지막 오류:';
796
797 @override
798 String get copy_info => '정보 복사';
799
800 @override
801 String get conversation_id => '대화 ID';
802
803 @override
804 String get created_at => '생성 날짜';
805
806 @override
807 String get expected_messages => '예상되는 메시지';
808
809 @override
810 String get debug_dialog_desc => '동기화 문제를 식별하는 데 도움이 되는 진단 정보입니다.';
811
812 @override
813 String get chat_input_hint => '무엇이든 물어보세요';
814
815 @override
816 String get send_message_tooltip => '메시지 보내기';
817
818 @override
819 String get stop_generation_tooltip => '생성 중지';
820
821 @override
822 String get attach_images_tooltip => '이미지 또는 텍스트 첨부';
823
824 @override
825 String get start_listening_tooltip => '듣기 시작';
826
827 @override
828 String get stop_listening_tooltip => '듣기 중지';
829
830 @override
831 String tool_label(String toolCallId) {
832 return '도구: $toolCallId';
833 }
834
835 @override
836 String get tool_unknown => '도구: 알 수 없음';
837
838 @override
839 String get message_options => '메시지 옵션';
840
841 @override
842 String get copy_markdown => '마크다운으로 복사';
843
844 @override
845 String get copied_markdown => '마크다운으로 복사됨';
846
847 @override
848 String get read_aloud => '소리내어 읽기';
849
850 @override
851 String get stop_reading => '읽기 중지';
852
853 @override
854 String get more => '더보기';
855
856 @override
857 String character_count(int length) {
858 return '$length 문자';
859 }
860
861 @override
862 String get edit_message => '메시지 편집';
863
864 @override
865 String get edit_message_desc => '저장하면 아래 어시스턴트 응답이 제거되고 다시 생성됩니다.';
866
867 @override
868 String get save_regenerate => '저장 및 재생성';
869
870 @override
871 String get chat_settings_title => '채팅 설정';
872
873 @override
874 String get reset_defaults => '기본값 재설정';
875
876 @override
877 String get parameters_tab => '매개변수';
878
879 @override
880 String get mcp_tab => 'MCP';
881
882 @override
883 String get temperature => '온도';
884
885 @override
886 String get temperature_desc => '무작위성 제어: 높음 = 창의적, 낮음 = 집중';
887
888 @override
889 String get top_p => '탑 P';
890
891 @override
892 String get top_p_desc => '핵 샘플링 임계값';
893
894 @override
895 String get max_tokens => '최대 토큰';
896
897 @override
898 String get max_tokens_desc => '응답 한도';
899
900 @override
901 String get context_length => '컨텍스트 길이';
902
903 @override
904 String get context_length_desc => '기록 창';
905
906 @override
907 String get mcp_disabled_warning =>
908 'MCP는 전역적으로 비활성화됩니다. 이러한 기능을 사용하려면 설정에서 활성화하세요.';
909
910 @override
911 String get mcp_enable_chat => '이 채팅에 대해 MCP를 활성화합니다.';
912
913 @override
914 String get auto_execute_tools => '자동 실행 도구';
915
916 @override
917 String get beta_label => '베타';
918
919 @override
920 String get experimental_label => '실험적';
921
922 @override
923 String get add_ephemeral_mcp => '임시 MCP 서버 추가';
924
925 @override
926 String get mcp_label_placeholder => '라벨';
927
928 @override
929 String get mcp_url_placeholder => 'URL(https://...)';
930
931 @override
932 String get active_integrations => '활성 통합';
933
934 @override
935 String get import_mcp_json => 'JSON 가져오기';
936
937 @override
938 String get import_mcp_json_dialog_title => 'MCP 구성 JSON 가져오기';
939
940 @override
941 String get import_mcp_json_instructions =>
942 'LM Studio(mcp.json)에서 직접 mcpServers JSON을 복사하거나 아래에 플러그인 배열을 붙여넣으세요.';
943
944 @override
945 String get import_mcp_json_placeholder =>
946 '여기에 mcpServers JSON 또는 플러그인 목록을 붙여넣으세요...';
947
948 @override
949 String mcp_import_success(int count) {
950 return '$count 통합을 성공적으로 가져왔습니다.';
951 }
952
953 @override
954 String get mcp_import_failed => 'JSON에 유효한 MCP 통합이 없습니다.';
955
956 @override
957 String get enable_notifications => '알림 활성화';
958
959 @override
960 String get enable_notifications_desc => '모델 다운로드가 완료되면 알림을 받습니다.';
961
962 @override
963 String get chat_history_title => '채팅 기록';
964
965 @override
966 String get conversation_just_now => '지금 막';
967
968 @override
969 String conversation_minutes_ago(int minutes) {
970 return '$minutes분 전';
971 }
972
973 @override
974 String conversation_hours_ago(int hours) {
975 return '$hours시간 전';
976 }
977
978 @override
979 String get conversation_yesterday => '어제';
980
981 @override
982 String conversation_days_ago(int days) {
983 return '$days일 전';
984 }
985
986 @override
987 String conversation_date(int month, int day, int year) {
988 return '$month/$day/$year';
989 }
990
991 @override
992 String get options_tooltip => '옵션';
993
994 @override
995 String get no_results_found => '검색결과가 없습니다';
996
997 @override
998 String get no_conversations_yet => '아직 대화가 없습니다.';
999
1000 @override
1001 String get try_different_search => '다른 검색어를 사용해 보세요.';
1002
1003 @override
1004 String get start_new_conversation => '새로운 대화를 시작하세요';
1005
1006 @override
1007 String get rename_conversation => '대화 이름 바꾸기';
1008
1009 @override
1010 String get enter_new_title => '새 제목을 입력하세요';
1011
1012 @override
1013 String get pinned_section => '고정됨';
1014
1015 @override
1016 String get today_section => '오늘';
1017
1018 @override
1019 String get yesterday_section => '어제';
1020
1021 @override
1022 String get previous_7_days => '이전 7일';
1023
1024 @override
1025 String get previous_30_days => '이전 30일';
1026
1027 @override
1028 String get older_section => '나이가 많은';
1029
1030 @override
1031 String get onboarding_choose_language => '언어 선택';
1032
1033 @override
1034 String get onboarding_choose_language_desc =>
1035 '원하는 언어를 선택하세요. 언제든지 설정에서 변경할 수 있습니다.';
1036
1037 @override
1038 String get onboarding_localmind => '지역 마인드';
1039
1040 @override
1041 String get onboarding_connect_server => '당신의 연결\n서버';
1042
1043 @override
1044 String get onboarding_connect_desc =>
1045 'LM Studio, Ollama에 연결하세요.\nOllama Cloud 또는 OpenRouter를 사용하여\n개인 AI 경험을 시작하세요.';
1046
1047 @override
1048 String get openai_compatible_api => 'OpenAI 호환 API';
1049
1050 @override
1051 String get https_requires_ssl => 'HTTPS에는 SSL이 필요합니다';
1052
1053 @override
1054 String get most_local_setups_use_http => '대부분의 로컬 설정에서는 http://를 사용합니다.';
1055
1056 @override
1057 String get onboarding_welcome => '로컬마인드에 오신 것을 환영합니다';
1058
1059 @override
1060 String get server_type_on_device => '기기 내';
1061
1062 @override
1063 String get server_type_lm_studio => 'LM스튜디오';
1064
1065 @override
1066 String get server_type_ollama => '올라마';
1067
1068 @override
1069 String get server_type_ollama_cloud => '올라마 클라우드';
1070
1071 @override
1072 String get server_type_ollama_cloud_sub => '클라우드 관리';
1073
1074 @override
1075 String get server_type_ollama_cloud_display => '올라마 클라우드';
1076
1077 @override
1078 String get server_address_ollama_cloud => 'ollama.com';
1079
1080 @override
1081 String get ollama_cloud_disclosure =>
1082 'Ollama Cloud를 연결하면 채팅 메시지와 입력 내용이 추론을 위해 Ollama의 관리 서버로 전송됩니다. LocalMind는 대화를 추적하거나 저장하지 않습니다. ollama.com/settings/keys에서 언제든지 이 키를 취소할 수 있습니다.';
1083
1084 @override
1085 String get api_key_required_ollama_cloud => 'Ollama Cloud에 필요한 API 키';
1086
1087 @override
1088 String get api_key_hint_ollama_cloud => 'Ollama Cloud API 키를 붙여넣으세요.';
1089
1090 @override
1091 String get add_server_ollama_cloud_subtitle =>
1092 '관리형 클라우드 모델에 액세스하려면 ollama.com/settings/keys의 API 키를 사용하여 Ollama Cloud에 연결하세요.';
1093
1094 @override
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 '로컬 또는 자체 호스팅 끝점을 구성한 다음 저장하기 전에 연결을 확인하세요.';
1105
1106 @override
1107 String get server_type_openrouter => '오픈라우터';
1108
1109 @override
1110 String get server_type_requesty => '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
1121 @override
1122 String get waiting_selection => '선택을 기다리는 중';
1123
1124 @override
1125 String get setup_connection => '연결 설정';
1126
1127 @override
1128 String setup_connection_desc(String server) {
1129 return '채팅을 시작하려면 $server 서버를 구성하세요.';
1130 }
1131
1132 @override
1133 String get server_name => '서버 이름';
1134
1135 @override
1136 String get name_required => '이름이 필요합니다';
1137
1138 @override
1139 String get name_max_50 => '최대 50자';
1140
1141 @override
1142 String get host_label => '호스트/IP 주소';
1143
1144 @override
1145 String get host_required => '호스트 필수';
1146
1147 @override
1148 String get port_label => '항구';
1149
1150 @override
1151 String get port_required => '포트 필요';
1152
1153 @override
1154 String get port_invalid => '숫자여야 합니다.';
1155
1156 @override
1157 String get port_range => '유효한 포트(1-65535)를 입력하세요.';
1158
1159 @override
1160 String get api_key_required => 'API 키 *';
1161
1162 @override
1163 String get api_key_optional => 'API 키(선택사항)';
1164
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
1174 @override
1175 String get my_server_hint => '내 서버';
1176
1177 @override
1178 String get name_length_validation => '이름은 50자 이하여야 합니다.';
1179
1180 @override
1181 String get host_valid => '유효한 호스트 이름 또는 IP 주소를 입력하세요.';
1182
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
1192 @override
1193 String get update_server => '업데이트 서버';
1194
1195 @override
1196 String get save_server => '서버 저장';
1197
1198 @override
1199 String get server_updated => '서버가 업데이트되었습니다.';
1200
1201 @override
1202 String get server_added => '서버가 추가되었습니다';
1203
1204 @override
1205 String get download_model_title => '모델 다운로드';
1206
1207 @override
1208 String get download_model_desc => '다운로드할 모델을 선택하세요.\n장치에서 로컬로 실행됩니다.';
1209
1210 @override
1211 String get on_device_android_only => '기기 내 추론은 현재 Android에서만 사용할 수 있습니다.';
1212
1213 @override
1214 String get total_ram => '총 RAM';
1215
1216 @override
1217 String get available => '가능';
1218
1219 @override
1220 String ram_min_required(String fileSize) {
1221 return '$fileSize GB RAM 최소';
1222 }
1223
1224 @override
1225 String download_progress(String percent, String speed) {
1226 return '$percent% • $speed';
1227 }
1228
1229 @override
1230 String eta_label(String eta) {
1231 return '도착 예정 시간: $eta';
1232 }
1233
1234 @override
1235 String paused_progress(String percent) {
1236 return '일시중지됨 - $percent%';
1237 }
1238
1239 @override
1240 String ram_warning_body_download(String ram, String totalMemory) {
1241 return '이 모델에는 최소 ${ram}GB RAM이 필요하지만 장치에는 $totalMemory가 있습니다. 제대로 실행되지 않거나 앱이 충돌할 수 있습니다.';
1242 }
1243
1244 @override
1245 String ram_warning_body_load(String availableRAM, String ram) {
1246 return '장치에는 $availableRAM 사용 가능한 RAM이 있지만 이 모델에서는 최소 $ram GB를 권장합니다. 로드가 실패하거나 불안정해질 수 있습니다.';
1247 }
1248
1249 @override
1250 String get choose_theme => '테마 선택';
1251
1252 @override
1253 String get choose_theme_desc => '앱 모양을 개인화하세요. 나중에 설정에서 언제든지 변경할 수 있습니다.';
1254
1255 @override
1256 String get theme_card_system => '시스템';
1257
1258 @override
1259 String get theme_card_system_sub => '기기 설정과 일치';
1260
1261 @override
1262 String get theme_card_light => '빛';
1263
1264 @override
1265 String get theme_card_light_sub => '깨끗하고 밝다';
1266
1267 @override
1268 String get theme_card_dark => '어둠';
1269
1270 @override
1271 String get theme_card_dark_sub => '눈이 편하다';
1272
1273 @override
1274 String get theme_card_claude => '클로드';
1275
1276 @override
1277 String get theme_card_claude_sub => '따뜻한 복숭아빛 테마';
1278
1279 @override
1280 String get stay_updated => '최신 정보 유지';
1281
1282 @override
1283 String get stay_updated_desc => 'AI 모델 다운로드가 완료되거나 장기 실행 작업이 완료되면 알림을 받으세요.';
1284
1285 @override
1286 String get notification_benefit_downloads => '모델 다운로드 진행';
1287
1288 @override
1289 String get notification_benefit_completions => '세대 완료';
1290
1291 @override
1292 String get notification_benefit_background => '백그라운드 작업 상태';
1293
1294 @override
1295 String get allow_notifications => '알림 허용';
1296
1297 @override
1298 String get servers_title => '서버';
1299
1300 @override
1301 String get no_servers_yet => '아직 서버가 없습니다';
1302
1303 @override
1304 String get no_servers_desc => 'AI 모델과 채팅을 시작하려면 첫 번째 서버를 추가하세요.';
1305
1306 @override
1307 String get add_server => '서버 추가';
1308
1309 @override
1310 String switched_to_server(String name) {
1311 return '$name로 전환됨';
1312 }
1313
1314 @override
1315 String get edit_server => '서버 편집';
1316
1317 @override
1318 String get add_server_title => '서버 추가';
1319
1320 @override
1321 String get server_type_label => '서버 유형';
1322
1323 @override
1324 String get server_icon_label => '서버 아이콘';
1325
1326 @override
1327 String get default_icon => '기본 아이콘';
1328
1329 @override
1330 String get server_type_lm_studio_display => 'LM스튜디오';
1331
1332 @override
1333 String get server_type_openai_display => 'OpenAI 호환';
1334
1335 @override
1336 String get server_type_ollama_display => '올라마';
1337
1338 @override
1339 String get server_type_openrouter_display => '오픈라우터';
1340
1341 @override
1342 String get server_type_requesty_display => 'Requesty';
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
1356 @override
1357 String server_address_format(String host, String port) {
1358 return '$host:$port';
1359 }
1360
1361 @override
1362 String get default_badge => '기본값';
1363
1364 @override
1365 String get set_as_default => '기본값으로 설정';
1366
1367 @override
1368 String get select_icon => '아이콘 선택';
1369
1370 @override
1371 String get select_icon_desc => '서버 아이콘을 선택하세요';
1372
1373 @override
1374 String get search_icons_hint => '아이콘 검색...';
1375
1376 @override
1377 String get server_icon_stack => '서버 스택';
1378
1379 @override
1380 String get server_icon_stack2 => '서버 스택 02';
1381
1382 @override
1383 String get server_icon_stack3 => '서버 스택 03';
1384
1385 @override
1386 String get server_icon_cloud => '클라우드';
1387
1388 @override
1389 String get server_icon_cloud_server => '클라우드 서버';
1390
1391 @override
1392 String get server_icon_mcp => 'MCP 서버';
1393
1394 @override
1395 String get server_icon_database => '데이터베이스';
1396
1397 @override
1398 String get server_icon_database1 => '데이터베이스 01';
1399
1400 @override
1401 String get server_icon_database2 => '데이터베이스 02';
1402
1403 @override
1404 String get server_icon_cpu => 'CPU';
1405
1406 @override
1407 String get server_icon_chip => '칩';
1408
1409 @override
1410 String get server_icon_chip2 => '칩 02';
1411
1412 @override
1413 String get server_icon_computer => '컴퓨터';
1414
1415 @override
1416 String get server_icon_laptop => '노트북';
1417
1418 @override
1419 String get server_icon_terminal => '컴퓨터 터미널';
1420
1421 @override
1422 String get server_icon_code => '코드';
1423
1424 @override
1425 String get server_icon_ai_brain => 'AI 브레인';
1426
1427 @override
1428 String get server_icon_ai_brain2 => 'AI 브레인 02';
1429
1430 @override
1431 String get server_icon_ai_cloud => 'AI 클라우드';
1432
1433 @override
1434 String get server_icon_ai_network => 'AI 네트워크';
1435
1436 @override
1437 String get server_icon_ai_chat => 'AI채팅';
1438
1439 @override
1440 String get server_icon_cellular => '셀룰러 네트워크';
1441
1442 @override
1443 String get server_icon_plug1 => '플러그 01';
1444
1445 @override
1446 String get server_icon_plug2 => '플러그 02';
1447
1448 @override
1449 String get server_icon_bot => '봇';
1450
1451 @override
1452 String get server_icon_bot2 => '봇 02';
1453
1454 @override
1455 String get server_icon_robotic => '로봇식';
1456
1457 @override
1458 String get server_icon_rocket => '로켓';
1459
1460 @override
1461 String get server_icon_star => '스타';
1462
1463 @override
1464 String get server_icon_settings1 => '설정 01';
1465
1466 @override
1467 String get server_icon_settings2 => '설정 02';
1468
1469 @override
1470 String get server_icon_home1 => '홈 01';
1471
1472 @override
1473 String get server_icon_home2 => '홈 02';
1474
1475 @override
1476 String get server_icon_folder1 => '폴더 01';
1477
1478 @override
1479 String get server_icon_folder2 => '폴더 02';
1480
1481 @override
1482 String get server_icon_file1 => '파일 01';
1483
1484 @override
1485 String get server_icon_lock => '잠금';
1486
1487 @override
1488 String get server_icon_key => '키 01';
1489
1490 @override
1491 String get server_icon_link => '링크 01';
1492
1493 @override
1494 String get server_icon_globe => '지구본';
1495
1496 @override
1497 String get server_icon_api => 'API';
1498
1499 @override
1500 String get server_icon_arrow_right => '화살표 오른쪽 01';
1501
1502 @override
1503 String get server_icon_check => '서클 확인';
1504
1505 @override
1506 String get server_icon_alert => '경고 서클';
1507
1508 @override
1509 String get server_icon_info => '정보 서클';
1510
1511 @override
1512 String get server_icon_zap => '잽';
1513
1514 @override
1515 String get server_icon_cloud_upload => '클라우드 업로드';
1516
1517 @override
1518 String get server_icon_cloud_download => '클라우드 다운로드';
1519
1520 @override
1521 String get server_icon_refresh => '새로고침';
1522
1523 @override
1524 String get server_icon_hard_drive => '하드 드라이브';
1525
1526 @override
1527 String get server_icon_drive => '드라이브';
1528
1529 @override
1530 String get personas_title => '페르소나';
1531
1532 @override
1533 String get persona_category_general => '일반';
1534
1535 @override
1536 String get persona_category_coding => '코딩';
1537
1538 @override
1539 String get persona_category_education => '교육';
1540
1541 @override
1542 String get persona_category_creative => '크리에이티브';
1543
1544 @override
1545 String get persona_builtin_section => '내장';
1546
1547 @override
1548 String get persona_my_section => '내 페르소나';
1549
1550 @override
1551 String get clone_edit => '복제 및 편집';
1552
1553 @override
1554 String get builtin_badge => '내장';
1555
1556 @override
1557 String get no_personas_found => '페르소나를 찾을 수 없습니다.';
1558
1559 @override
1560 String get no_personas_desc => 'AI 동작을 맞춤화하기 위한 첫 번째 페르소나를 만드세요.';
1561
1562 @override
1563 String get edit_persona => '페르소나 편집';
1564
1565 @override
1566 String get create_persona => '페르소나 생성';
1567
1568 @override
1569 String get create_persona_button => '만들기';
1570
1571 @override
1572 String get emoji_label => '이모티콘';
1573
1574 @override
1575 String get name_label => '이름';
1576
1577 @override
1578 String get my_persona_hint => '내 페르소나';
1579
1580 @override
1581 String get category_label => '카테고리';
1582
1583 @override
1584 String get description_optional => '설명(선택사항)';
1585
1586 @override
1587 String get description_hint => '이 인물이 하는 일은...';
1588
1589 @override
1590 String get system_prompt => '시스템 프롬프트';
1591
1592 @override
1593 String character_count_max(int currentLen) {
1594 return '$currentLen/4000';
1595 }
1596
1597 @override
1598 String get no_prompt_placeholder => '아직 프롬프트가 없습니다...';
1599
1600 @override
1601 String get prompt_hint => '당신은 도움이되는 조수입니다 ...';
1602
1603 @override
1604 String get prompt_required => '시스템 프롬프트가 필요합니다';
1605
1606 @override
1607 String get prompt_max_chars => '최대 4000자';
1608
1609 @override
1610 String get advanced_settings => '고급 설정';
1611
1612 @override
1613 String get temperature_label => '온도(0.0-2.0)';
1614
1615 @override
1616 String get top_p_label => '상위 P(0.0-1.0)';
1617
1618 @override
1619 String get temp_hint => '0.7';
1620
1621 @override
1622 String get top_p_hint => '0.9';
1623
1624 @override
1625 String get range_0_2 => '0.0-2.0';
1626
1627 @override
1628 String get range_0_1 => '0.0-1.0';
1629
1630 @override
1631 String get persona_updated => '페르소나가 업데이트되었습니다.';
1632
1633 @override
1634 String get persona_created => '페르소나가 생성되었습니다.';
1635
1636 @override
1637 String get tts_models_title => '텍스트 음성 변환 모델';
1638
1639 @override
1640 String get always_available => '항상 사용 가능';
1641
1642 @override
1643 String get tts_system_desc =>
1644 '기기에 내장된 텍스트 음성 변환 엔진을 사용합니다.\n다운로드가 필요하지 않습니다. 음성 선택에는 장치의 시스템 설정이 사용됩니다.';
1645
1646 @override
1647 String get downloading_status => '다운로드 중...';
1648
1649 @override
1650 String tts_kitten_desc(String size) {
1651 return '8가지 표정이 풍부한 음성을 갖춘 번개처럼 빠른 신경 TTS입니다.\n$size 다운로드가 필요합니다.';
1652 }
1653
1654 @override
1655 String tts_piper_desc(String size) {
1656 return '표현력이 풍부한 2개의 음성을 갖춘 빠른 오프라인 파이퍼 음성입니다.\n음성당 $size 다운로드가 필요합니다.';
1657 }
1658
1659 @override
1660 String engine_spec(String sizeMb, String ramMb, int voiceCount) {
1661 return '$sizeMb MB · $ramMb MB RAM · $voiceCount 음성';
1662 }
1663
1664 @override
1665 String get on_device_models_title => '온디바이스 모델';
1666
1667 @override
1668 String get settings_huggingface_token => '포옹 얼굴 토큰(선택 사항)';
1669
1670 @override
1671 String get settings_huggingface_token_desc =>
1672 '게이트 모델(예: Gemma)에만 필요합니다. Huggingface.co/settings/tokens에서 토큰을 받으세요.';
1673
1674 @override
1675 String get settings_huggingface_token_set => '토큰이 저장되었습니다';
1676
1677 @override
1678 String get settings_huggingface_token_cleared => '토큰이 삭제되었습니다';
1679
1680 @override
1681 String get model_requires_huggingface_token => '포옹하는 얼굴 토큰이 필요합니다.';
1682
1683 @override
1684 String get model_missing_huggingface_token =>
1685 '이 모델은 Hugging Face에 적용되었습니다. 설정 → 온디바이스 추론에서 토큰을 추가하여 다운로드하세요.';
1686
1687 @override
1688 String get set_huggingface_token => '토큰 설정';
1689
1690 @override
1691 String get clear_huggingface_token => '지우기';
1692
1693 @override
1694 String get edit_huggingface_token_dialog_title => '포옹 얼굴 액세스 토큰';
1695
1696 @override
1697 String get huggingface_token_dialog_hint => 'HF_…';
1698
1699 @override
1700 String get server_type_ollama_desc => '로컬 AI 엔진. API 키가 필요하지 않습니다.';
1701
1702 @override
1703 String get server_type_on_device_desc =>
1704 '휴대전화에서 실행됩니다. 일부 모델에는 Hugging Face 토큰이 필요합니다.';
1705
1706 @override
1707 String get server_type_lm_studio_desc => '로컬 API 서버. API 키가 필요하지 않습니다.';
1708
1709 @override
1710 String get available_models => '사용 가능한 모델';
1711
1712 @override
1713 String get device_memory => '장치 메모리';
1714
1715 @override
1716 String get ram_usage => 'RAM 사용량';
1717
1718 @override
1719 String get memory_healthy => '건강하다';
1720
1721 @override
1722 String get memory_critical => '심각';
1723
1724 @override
1725 String get memory_low => '낮음';
1726
1727 @override
1728 String ram_used(String percent) {
1729 return '$percent% 사용됨';
1730 }
1731
1732 @override
1733 String get available_ram => '사용 가능한 RAM';
1734
1735 @override
1736 String get total_capacity => '총 용량';
1737
1738 @override
1739 String get loaded_status => '로드됨';
1740
1741 @override
1742 String get inference_backend => '추론 백엔드';
1743
1744 @override
1745 String get backend_ios_notice => 'iOS에서는 CPU 백엔드만 사용할 수 있습니다.';
1746
1747 @override
1748 String get backend_cpu_desc => '모든 장치에서 작동합니다. 가장 호환됩니다.';
1749
1750 @override
1751 String get backend_gpu_desc => 'OpenCL 가속. 지원되는 장치에서는 더 빠릅니다.';
1752
1753 @override
1754 String get backend_npu_desc => '공급업체 NPU(Qualcomm/MediaTek). 가장 빠른 추론.';
1755
1756 @override
1757 String get select_model_title => '모델 선택';
1758
1759 @override
1760 String get refresh_models => '모델 새로 고침';
1761
1762 @override
1763 String get search_models_hint => '모델 검색...';
1764
1765 @override
1766 String get no_server_connected => '연결된 서버가 없습니다';
1767
1768 @override
1769 String get add_server_first => '사용 가능한 모델을 보려면 먼저 서버를 추가하세요.';
1770
1771 @override
1772 String get failed_load_models => '모델을 로드하지 못했습니다.';
1773
1774 @override
1775 String get no_models_available => '사용 가능한 모델이 없습니다.';
1776
1777 @override
1778 String no_models_match(String searchQuery) {
1779 return '\"$searchQuery\"와 일치하는 모델이 없습니다.';
1780 }
1781
1782 @override
1783 String model_load_failed(String error) {
1784 return '모델을 로드하지 못했습니다: $error';
1785 }
1786
1787 @override
1788 String model_unloaded_ollama(String name) {
1789 return '$name에 대한 언로드가 요청되었습니다. Ollama에 접근할 수 있으면 모델이 즉시 출시됩니다.';
1790 }
1791
1792 @override
1793 String model_unloaded_success(String name) {
1794 return '$name가 성공적으로 언로드되었습니다.';
1795 }
1796
1797 @override
1798 String model_unload_failed(String error) {
1799 return '모델 언로드 실패: $error';
1800 }
1801
1802 @override
1803 String get unload_from_server => '서버에서 언로드';
1804
1805 @override
1806 String context_chip(String ctx) {
1807 return '$ctx ctx';
1808 }
1809
1810 @override
1811 String get unload_all_models => '모두 언로드';
1812
1813 @override
1814 String loaded_models_count(int count) {
1815 return '$count 로드됨';
1816 }
1817
1818 @override
1819 String get all_models_unloaded => '모든 모델이 언로드됨';
1820
1821 @override
1822 String get branch_chat => '지점채팅';
1823
1824 @override
1825 String get branch_chat_desc => '이 메시지로 새 대화를 시작하세요';
1826
1827 @override
1828 String get edit_assistant_message_desc => '어시스턴트 응답 텍스트를 편집합니다.';
1829
1830 @override
1831 String switch_to_model(String modelName, Object model) {
1832 return '$modelName로 전환';
1833 }
1834
1835 @override
1836 String download_notification_title(String modelName) {
1837 return '$modelName 다운로드 중...';
1838 }
1839
1840 @override
1841 String get download_complete_notification => '다운로드가 완료되었습니다!';
1842
1843 @override
1844 String download_complete_body(String modelName) {
1845 return '$modelName가 성공적으로 다운로드되었습니다.';
1846 }
1847
1848 @override
1849 String download_failed_notification(String error) {
1850 return '다운로드 실패: $error';
1851 }
1852
1853 @override
1854 String download_failed_body(String modelName) {
1855 return '$modelName를 다운로드하지 못했습니다.';
1856 }
1857
1858 @override
1859 String get engine_name_system => '시스템 TTS';
1860
1861 @override
1862 String get engine_tagline_system => '내장 장치 엔진';
1863
1864 @override
1865 String get engine_name_kitten => '새끼 고양이 TTS';
1866
1867 @override
1868 String get engine_tagline_kitten => '고속 신경 TTS';
1869
1870 @override
1871 String get engine_name_sherpa => '셰르파 ONNX VITS';
1872
1873 @override
1874 String get engine_tagline_sherpa => '오프라인 파이퍼 목소리';
1875
1876 @override
1877 String get voice_jasper => '재스퍼';
1878
1879 @override
1880 String get voice_bella => '벨라';
1881
1882 @override
1883 String get voice_bruno => '브루노';
1884
1885 @override
1886 String get voice_luna => '루나';
1887
1888 @override
1889 String get voice_hugo => '휴고';
1890
1891 @override
1892 String get voice_rosie => '로지';
1893
1894 @override
1895 String get voice_leo => '레오';
1896
1897 @override
1898 String get voice_kiki => '키키';
1899
1900 @override
1901 String get voice_lessac => '레삭(미국)';
1902
1903 @override
1904 String get voice_ryan => '라이언(미국)';
1905
1906 @override
1907 String get model_qwen_3 => '퀀 3 0.6B';
1908
1909 @override
1910 String get model_qwen_3_desc => '가장 작은 범용 채팅 모델. 빠른 응답, 낮은 메모리 사용량.';
1911
1912 @override
1913 String get model_license_apache => '아파치-2.0';
1914
1915 @override
1916 String get model_qwen_25 => 'Qwen 2.5 1.5B 지시';
1917
1918 @override
1919 String get model_qwen_25_desc => '균형 잡힌 품질과 크기. 일반적인 대화에 좋습니다.';
1920
1921 @override
1922 String get model_deepseek => 'DeepSeek R1 증류 Qwen 1.5B';
1923
1924 @override
1925 String get model_deepseek_desc => '추론 및 사고 사슬 모델. 논리적 작업에 가장 적합합니다.';
1926
1927 @override
1928 String get model_license_mit => 'MIT';
1929
1930 @override
1931 String get model_gemma => '젬마 4 E2B 교육';
1932
1933 @override
1934 String get model_gemma_desc => '구글 플래그십 모델. 최고 품질, 더 많은 RAM이 필요합니다.';
1935
1936 @override
1937 String export_header(String date) {
1938 return '*LocalMind에서 내보내기 — $date*';
1939 }
1940
1941 @override
1942 String get export_role_user => '## 👤 사용자';
1943
1944 @override
1945 String get export_role_assistant => '## 🤖 어시스턴트';
1946
1947 @override
1948 String get export_role_system => '## ⚙️ 시스템';
1949
1950 @override
1951 String get export_role_tool => '## 🔧 도구';
1952
1953 @override
1954 String get export_text_user => '[사용자]';
1955
1956 @override
1957 String get export_text_assistant => '[어시스턴트]';
1958
1959 @override
1960 String get export_text_system => '[시스템]';
1961
1962 @override
1963 String get export_text_tool => '[도구]';
1964
1965 @override
1966 String get export_label_user => '사용자';
1967
1968 @override
1969 String get export_label_assistant => '어시스턴트';
1970
1971 @override
1972 String get export_label_system => '시스템';
1973
1974 @override
1975 String get export_label_tool => '도구';
1976
1977 @override
1978 String get select_model_hint => '채팅을 시작하려면 모델을 선택하세요';
1979
1980 @override
1981 String get test_notification_title => '테스트 알림';
1982
1983 @override
1984 String get test_notification_body => '모델 다운로드 진행에 대한 테스트 알림입니다.';
1985
1986 @override
1987 String get tts_supports_background => '네이티브 오디오로 백그라운드 재생 지원';
1988
1989 @override
1990 String get tts_other_services_background_note =>
1991 '참고: 다른 TTS 서비스는 기본 오디오로 백그라운드 재생을 지원합니다.';
1992
1993 @override
1994 String get gguf_imported_models_title => '가져온 GGUF 모델';
1995
1996 @override
1997 String get gguf_imported_models_empty_subtitle =>
1998 '장치에서 GGUF를 가져오거나 Hugging Face에서 추가하세요. 가져온 모델은 llama.cpp를 사용하여 로컬로 실행됩니다.';
1999
2000 @override
2001 String get gguf_imported_models_ready => '로컬 추론을 위해 준비된 가져온 모델.';
2002
2003 @override
2004 String get gguf_curated_models_subtitle =>
2005 'LocalMind 내에서 다운로드하고 관리할 수 있는 엄선된 온디바이스 모델.';
2006
2007 @override
2008 String get gguf_only_supported => '이 가져오기에는 GGUF 모델만 지원됩니다.';
2009
2010 @override
2011 String get gguf_imported_from_local_file => '로컬 파일에서 가져왔습니다.';
2012
2013 @override
2014 String get gguf_import_failed => 'GGUF 모델을 가져오지 못했습니다.';
2015
2016 @override
2017 String get gguf_imported_from_huggingface => 'Hugging Face에서 가져왔습니다.';
2018
2019 @override
2020 String get gguf_import_canceled => 'GGUF 가져오기가 취소되었습니다.';
2021
2022 @override
2023 String get gguf_enter_huggingface_url => '포옹 얼굴 GGUF URL을 입력하세요.';
2024
2025 @override
2026 String get gguf_only_official_huggingface_urls =>
2027 '공식 Hugging Face GGUF URL만 지원됩니다.';
2028
2029 @override
2030 String get gguf_use_https_url => 'GGUF 가져오기에는 HTTPS 허깅 페이스 URL을 사용하세요.';
2031
2032 @override
2033 String get gguf_url_must_point_to_file =>
2034 'Hugging Face URL은 .gguf 파일을 직접 가리켜야 합니다.';
2035
2036 @override
2037 String get gguf_unable_to_detect_file_name => 'GGUF 파일 이름을 확인할 수 없습니다.';
2038
2039 @override
2040 String get gguf_download_empty => '다운로드한 GGUF 파일이 비어 있거나 누락되었습니다.';
2041
2042 @override
2043 String get gguf_selected_file_missing => '선택한 모델 파일이 존재하지 않습니다.';
2044
2045 @override
2046 String get gguf_import_action => 'GGUF 가져오기';
2047
2048 @override
2049 String get gguf_overview_title => '나만의 GGUF 모델 가져오기';
2050
2051 @override
2052 String get gguf_overview_subtitle =>
2053 '로컬 저장소에서 .gguf를 가져오거나 Hugging Face에서 바로 다운로드하세요. 가져온 모델은 이 장치에 유지되며 llama.cpp로 로드됩니다.';
2054
2055 @override
2056 String get gguf_imported_count_label => '수입됨';
2057
2058 @override
2059 String get gguf_local_files_label => '로컬 파일';
2060
2061 @override
2062 String get gguf_huggingface_label => '포옹하는 얼굴';
2063
2064 @override
2065 String get gguf_import_local_title => '로컬 GGUF 가져오기';
2066
2067 @override
2068 String get gguf_import_local_subtitle => '이 장치에서 .gguf 파일을 복사하세요.';
2069
2070 @override
2071 String get gguf_import_huggingface_title => '포옹 얼굴에서 가져오기';
2072
2073 @override
2074 String get gguf_import_huggingface_subtitle => 'GGUF URL 또는 저장소 경로 붙여넣기';
2075
2076 @override
2077 String get gguf_no_imported_title => '아직 가져온 GGUF 모델이 없습니다.';
2078
2079 @override
2080 String get gguf_no_imported_subtitle =>
2081 '장치 저장소에서 자체 GGUF 파일을 가져오거나 Hugging Face URL 또는 .gguf 파일을 가리키는 저장소 경로를 붙여넣을 수 있습니다.';
2082
2083 @override
2084 String get gguf_import_huggingface_dialog_title => 'Hugging Face에서 GGUF 가져오기';
2085
2086 @override
2087 String get gguf_import_huggingface_dialog_subtitle =>
2088 '직접 GGUF URL이나 \'owner/repo/blob/main/model.gguf\'와 같은 Hugging Face 저장소 경로를 붙여넣으세요. Blob 링크는 자동으로 변환됩니다.';
2089
2090 @override
2091 String get gguf_url_or_repo_path => 'GGUF URL 또는 저장소 경로';
2092
2093 @override
2094 String get paste => '붙여넣기';
2095
2096 @override
2097 String get gguf_browse => 'GGUF 찾아보기';
2098
2099 @override
2100 String get gguf_huggingface_token_ready => '허깅 페이스 토큰 준비 완료';
2101
2102 @override
2103 String get gguf_huggingface_token_optional => '토큰은 선택사항이지만 권장됨';
2104
2105 @override
2106 String get gguf_huggingface_token_ready_desc =>
2107 '저장된 토큰은 게이트 저장소 또는 개인 저장소에 자동으로 사용됩니다.';
2108
2109 @override
2110 String get gguf_huggingface_token_optional_desc =>
2111 '포옹하는 얼굴 토큰이 필요합니다. 이 GGUF가 제한되거나 비공개인 경우 설정에서 하나를 추가하세요.';
2112
2113 @override
2114 String get gguf_downloading => 'GGUF 다운로드 중';
2115
2116 @override
2117 String get gguf_preparing => '준비 중';
2118
2119 @override
2120 String get gguf_preparing_download => '다운로드 준비 중...';
2121
2122 @override
2123 String get gguf_cancel_import => '가져오기 취소';
2124
2125 @override
2126 String get clipboard_empty => '클립보드가 비어 있습니다.';
2127
2128 @override
2129 String get could_not_open_huggingface => '포옹 얼굴을 열 수 없습니다.';
2130
2131 @override
2132 String get gguf_paste_url_error => 'Hugging Face GGUF URL 또는 저장소 경로를 붙여넣으세요.';
2133
2134 @override
2135 String get gguf_blob_link => '블롭 링크';
2136
2137 @override
2138 String get gguf_repository_label => '저장소';
2139
2140 @override
2141 String get gguf_detected_path_label => '감지된 경로';
2142
2143 @override
2144 String get gguf_imported_section_label => '가져온 GGUF';
2145
2146 @override
2147 String get gguf_already_available => '이 기기에서는 이미 사용 가능합니다.';
2148
2149 @override
2150 String get gguf_curated_models_short => '선별된 온디바이스 모델';
2151
2152 @override
2153 String get gguf_vision_projector => 'Vision Projector';
2154
2155 @override
2156 String get gguf_attach_projector => 'Attach Vision Projector';
2157
2158 @override
2159 String get gguf_change_projector => 'Change Vision Projector';
2160
2161 @override
2162 String get gguf_remove_projector => 'Remove Projector';
2163
2164 @override
2165 String get gguf_projector_attached =>
2166 'Vision projector attached successfully';
2167
2168 @override
2169 String get gguf_projector_removed => 'Vision projector removed';
2170
2171 @override
2172 String gguf_projector_auto_detected(String name) {
2173 return 'Auto-detected and linked vision projector: $name';
2174 }
2175
2176 @override
2177 String get gguf_is_projector_file =>
2178 'The selected file is a vision projector (mmproj), not a standalone model.';
2179
2180 @override
2181 String get gguf_projector_url_label =>
2182 'Vision Projector URL (optional mmproj)';
2183
2184 @override
2185 String get gguf_projector_url_hint =>
2186 'https://huggingface.co/.../mmproj-...gguf';
2187
2188 @override
2189 String get gguf_vision_not_supported_error =>
2190 'The active model does not support image attachments. Please attach a vision projector (mmproj) or select a vision-supported model.';
2191
2192 @override
2193 String get execute_tool_title => '도구 실행';
2194
2195 @override
2196 String get execute_tool_request_desc => '모델은 다음 도구 실행을 요청합니다.';
2197
2198 @override
2199 String get reject => '거부';
2200
2201 @override
2202 String get approve => '승인하다';
2203
2204 @override
2205 String get server_type_help => '연결 세부정보를 입력하기 전에 공급자를 선택하세요.';
2206
2207 @override
2208 String get server_identity_title => '아이덴티티';
2209
2210 @override
2211 String get server_identity_desc => '이 서버의 이름을 지정하고 목록에 표시되는 방식을 선택합니다.';
2212
2213 @override
2214 String get server_connection_title => '연결';
2215
2216 @override
2217 String get server_connection_desc => '서버에서 노출된 주소와 포트를 사용하세요.';
2218
2219 @override
2220 String get server_authentication_title => '인증';
2221
2222 @override
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 키를 비워 두세요.';
2233
2234 @override
2235 String get mcp_tools_title => 'MCP 도구';
2236
2237 @override
2238 String get available_tools => '사용 가능한 도구';
2239
2240 @override
2241 String get unable_load_tools => '도구를 로드할 수 없습니다.';
2242
2243 @override
2244 String get no_tools_registered => '등록된 도구가 없습니다.';
2245
2246 @override
2247 String get no_tools_registered_desc =>
2248 '예제 MCP 서버를 활성화하거나 채팅 설정에서 MCP 통합을 추가하세요.';
2249
2250 @override
2251 String get example_mcp_server_title => 'MCP 서버 예';
2252
2253 @override
2254 String get example_mcp_server_desc =>
2255 '외부 서버에서 사용하는 것과 동일한 MCP 도구 공급자를 통해 example.echo 및 example.word_count를 등록합니다.';
2256
2257 @override
2258 String get disable_example_server => '예제 서버 비활성화';
2259
2260 @override
2261 String get enable_example_server => '예제 서버 활성화';
2262
2263 @override
2264 String get built_in_label => '내장';
2265
2266 @override
2267 String get highlights_label => '하이라이트';
2268
2269 @override
2270 String get built_with_label => '다음으로 제작됨';
2271
2272 @override
2273 String get local_label => '지역';
2274
2275 @override
2276 String get gguf_format_label => 'GGUF';
2277
2278 @override
2279 String get tool_status_requested => '요청됨';
2280
2281 @override
2282 String get tool_status_approved => '승인됨';
2283
2284 @override
2285 String get tool_status_rejected => '거부됨';
2286
2287 @override
2288 String get tool_status_running => '달리기';
2289
2290 @override
2291 String get tool_status_done => '완료';
2292
2293 @override
2294 String get tool_status_failed => '실패';
2295
2296 @override
2297 String get model_favorite_toggle => '즐겨찾기 전환';
2298
2299 @override
2300 String get model_set_default => '기본 모델로 설정';
2301
2302 @override
2303 String get model_clear_default => '기본 모델로 제거';
2304
2305 @override
2306 String get model_default_badge => '기본값';
2307
2308 @override
2309 String get model_note_label => '참고';
2310
2311 @override
2312 String get model_note_hint => '이 모델에 대한 메모를 추가하세요…';
2313
2314 @override
2315 String get unload_models_before_load => '새 모델을 로드하기 전에 모든 모델을 언로드하세요.';
2316
2317 @override
2318 String get temp_chat_keyboard_incognito => '임시 채팅의 시크릿 키보드';
2319
2320 @override
2321 String get temp_chat_keyboard_incognito_desc =>
2322 '임시 채팅(예: SwiftKey 시크릿 모드)에서 키보드 학습 및 제안을 비활성화합니다.';
2323
2324 @override
2325 String get resume_last_chat => '실행 시 마지막 채팅 재개';
2326
2327 @override
2328 String get resume_last_chat_desc => '앱을 다시 열 때 마지막으로 열린 대화를 복원하세요.';
2329
2330 @override
2331 String get export_all_data => '모든 데이터 내보내기';
2332
2333 @override
2334 String get import_all_data => '모든 데이터 가져오기';
2335
2336 @override
2337 String get export_data_success => '백업을 성공적으로 내보냈습니다.';
2338
2339 @override
2340 String get import_data_success => '백업을 성공적으로 가져왔습니다.';
2341
2342 @override
2343 String import_data_failed(String error) {
2344 return '백업을 가져오지 못했습니다: $error';
2345 }
2346
2347 @override
2348 String get import_data_confirm =>
2349 '이 백업에서 대화와 맞춤 캐릭터를 가져오시겠습니까? 동일한 ID를 가진 기존 항목이 업데이트됩니다.';
2350
2351 @override
2352 String get import_settings_confirm => '현재 설정을 가져온 백업으로 바꾸시겠습니까?';
2353
2354 @override
2355 String get export_conversations => '대화 내보내기';
2356
2357 @override
2358 String get import_conversations => '대화 가져오기';
2359
2360 @override
2361 String get export_personas => '페르소나 내보내기';
2362
2363 @override
2364 String get import_personas => '페르소나 가져오기';
2365
2366 @override
2367 String get export_settings => '설정 내보내기';
2368
2369 @override
2370 String get import_settings => '가져오기 설정';
2371
2372 @override
2373 String get export_all_zip => '모두 내보내기(ZIP)';
2374
2375 @override
2376 String get import_all_zip => '모두 가져오기(ZIP)';
2377
2378 @override
2379 String get duplicate_chat => '중복된 채팅';
2380
2381 @override
2382 String get duplicate_chat_success => '채팅이 중복되었습니다.';
2383
2384 @override
2385 String get move_to_folder => '폴더로 이동';
2386
2387 @override
2388 String get remove_from_folder => '폴더에서 제거';
2389
2390 @override
2391 String get create_folder => '폴더 생성';
2392
2393 @override
2394 String get new_folder => '새 폴더';
2395
2396 @override
2397 String get folder_name_hint => '폴더 이름';
2398
2399 @override
2400 String get all_chats => '모두';
2401
2402 @override
2403 String get unfiled_chats => '미제출';
2404
2405 @override
2406 String get create => '만들기';
2407
2408 @override
2409 String get server_path_prefix_label => 'API 경로 접두사';
2410
2411 @override
2412 String get server_path_prefix_hint => '/당신의 비밀 토큰';
2413
2414 @override
2415 String get search_message_contents => '메시지 내용 검색';
2416
2417 @override
2418 String get message_search_results => '메시지 일치';
2419
2420 @override
2421 String get saved_messages_title => '저장된 메시지';
2422
2423 @override
2424 String get nav_saved_messages => '저장된 메시지';
2425
2426 @override
2427 String get saved_messages_empty =>
2428 '아직 저장된 메시지가 없습니다. 옵션 메뉴에서 메시지를 북마크에 추가하세요.';
2429
2430 @override
2431 String get save_message => '메시지 저장';
2432
2433 @override
2434 String get message_saved => '메시지가 저장되었습니다';
2435
2436 @override
2437 String token_count(int count) {
2438 return '$count 토큰';
2439 }
2440
2441 @override
2442 String estimated_token_count(int count) {
2443 return '~$count 토큰(추정)';
2444 }
2445
2446 @override
2447 String get test_tts_section_title => '테스트 음성';
2448
2449 @override
2450 String get test_tts_hint => '현재 TTS 엔진을 들으려면 텍스트를 입력하세요…';
2451
2452 @override
2453 String get test_speak_button => '말하기';
2454
2455 @override
2456 String get scroll_to_bottom => '맨 아래로 스크롤';
2457
2458 @override
2459 String get generate_ai_response => 'AI 응답 생성';
2460
2461 @override
2462 String get no_response => '응답 없음';
2463
2464 @override
2465 String get export => '수출';
2466
2467 @override
2468 String get import => '가져오기';
2469
2470 @override
2471 String get conversations_label => '대화';
2472
2473 @override
2474 String get personas_label => '페르소나';
2475
2476 @override
2477 String get settings_label => '설정';
2478
2479 @override
2480 String get export_conversation => '대화 내보내기';
2481
2482 @override
2483 String get tts_process_markdown => '음성에 대한 마크다운 처리';
2484
2485 @override
2486 String get tts_process_markdown_desc => '소리내어 읽기 전에 **굵게** 같은 서식을 제거하세요.';
2487
2488 @override
2489 String get tts_skip_seconds => '건너뛰기 간격';
2490
2491 @override
2492 String get tts_skip_seconds_desc => '재생 중 앞으로 및 되감기 점프 크기';
2493
2494 @override
2495 String tts_skip_seconds_value(int seconds) {
2496 return '$seconds';
2497 }
2498
2499 @override
2500 String get preview_system_prompts => '미리보기 시스템 프롬프트';
2501
2502 @override
2503 String get welcome_message_1 => '오늘은 무엇을 도와드릴까요?';
2504
2505 @override
2506 String get welcome_message_2 => '무엇이든 물어보세요. 귀하가 준비되면 저는 준비되어 있습니다.';
2507
2508 @override
2509 String get welcome_message_3 => '귀하의 데이터는 로컬에서 처리되며 절대로 귀하의 장치를 떠나지 않습니다.';
2510
2511 @override
2512 String get welcome_message_4 => '아이디어가 필요하신가요? 빠른 프롬프트 중 하나를 시도해 보세요.';
2513
2514 @override
2515 String get temporary_chat => '임시 채팅';
2516
2517 @override
2518 String get temporary_chat_desc => '채팅은 기록에 저장되지 않습니다.';
2519
2520 @override
2521 String get temporary_chat_banner => '임시 채팅 - 기록에 저장되지 않음';
2522
2523 @override
2524 String get temporary_chat_save_warning_title => '임시 채팅에 메시지를 저장하시겠습니까?';
2525
2526 @override
2527 String get temporary_chat_save_warning_body =>
2528 '이 채팅은 일시적이며 기록에서 숨겨집니다. 저장된 메시지는 저장된 메시지에 계속 표시됩니다.';
2529
2530 @override
2531 String get save_to_history => '기록에 저장';
2532
2533 @override
2534 String get share_conversation => '대화 공유';
2535
2536 @override
2537 String get download_tts_audio => '오디오 다운로드';
2538
2539 @override
2540 String get tts_download_unavailable => '다운로드는 Piper 및 Kitten TTS에서만 가능합니다.';
2541
2542 @override
2543 String get tts_download_no_audio => '아직 다운로드할 수 있는 오디오가 없습니다.';
2544
2545 @override
2546 String get tts_download_success => '오디오가 저장되었습니다';
2547
2548 @override
2549 String get return_to_chat => '채팅으로 돌아가기';
2550
2551 @override
2552 String get return_to_temp_chat => '임시 채팅으로 돌아가기';
2553
2554 @override
2555 String get insert_saved_message => '저장된 메시지 삽입';
2556
2557 @override
2558 String get insert_saved_message_desc => '입력에 추가할 저장된 메시지를 선택하세요.';
2559
2560 @override
2561 String get model_info => '모델 정보';
2562
2563 @override
2564 String get model_name => '모델명';
2565
2566 @override
2567 String get model_identifier => '식별자';
2568
2569 @override
2570 String get model_capabilities => '기능';
2571
2572 @override
2573 String get model_api_pricing => 'API 가격(100만 개 토큰당)';
2574
2575 @override
2576 String get not_available => '사용할 수 없음';
2577
2578 @override
2579 String get save_message_folders => '메시지 저장';
2580
2581 @override
2582 String get remove_from_saved => '저장된 항목에서 삭제';
2583
2584 @override
2585 String get message_already_saved => '저장됨';
2586
2587 @override
2588 String get stream_ttft => '첫 번째 토큰까지의 시간';
2589
2590 @override
2591 String get stream_tokens_per_sec => '초당 토큰';
2592
2593 @override
2594 String get stream_stop_reason => '중지 이유';
2595
2596 @override
2597 String get stream_input_tokens => '입력 토큰';
2598
2599 @override
2600 String get stream_output_tokens => '출력 토큰';
2601
2602 @override
2603 String get stream_generation_time => '생성 시간';
2604
2605 @override
2606 String get attach_image => '사진';
2607
2608 @override
2609 String get attach_text_document => '문서';
2610
2611 @override
2612 String get attach_shortcut_images => '사진';
2613
2614 @override
2615 String get attach_shortcut_documents => '파일';
2616
2617 @override
2618 String get attach_shortcut_saved => '저장됨';
2619
2620 @override
2621 String get add_attachment => '첨부파일 추가';
2622
2623 @override
2624 String get add_to_chat => '채팅에 추가';
2625
2626 @override
2627 String get choose_what_to_attach => '무엇을 추가하고 싶으신가요?';
2628
2629 @override
2630 String get choose_attachment_subtitle => '메시지에 첨부할 소스를 선택하세요.';
2631
2632 @override
2633 String get photo_permission_denied => '이미지를 첨부하려면 사진 접근권한이 필요합니다';
2634
2635 @override
2636 String get select_model_prompt => '모델 선택';
2637
2638 @override
2639 String get characters_label => '캐릭터';
2640
2641 @override
2642 String get exit_temporary_chat_title => '임시 채팅을 종료하시겠습니까?';
2643
2644 @override
2645 String get exit_temporary_chat_body => '현재 임시 채팅이 삭제되고 새 채팅으로 돌아갑니다.';
2646
2647 @override
2648 String get saved_message_temp_snap_unavailable =>
2649 '이 메시지는 임시 채팅에서 저장되었으므로 원래 대화에서는 열 수 없습니다.';
2650
2651 @override
2652 String get filter_title => '필터';
2653
2654 @override
2655 String get filter_pinned => '고정됨';
2656
2657 @override
2658 String get filter_archived => '보관됨';
2659
2660 @override
2661 String get filter_temp_chats => '임시 채팅';
2662
2663 @override
2664 String get filter_user_messages => '사용자 메시지';
2665
2666 @override
2667 String get filter_assistant_messages => '어시스턴트 메시지';
2668
2669 @override
2670 String get archive_chat => '아카이브';
2671
2672 @override
2673 String get unarchive_chat => '보관 취소';
2674
2675 @override
2676 String conversation_message_count(int count) {
2677 return '$count개의 메시지';
2678 }
2679
2680 @override
2681 String conversation_character_count(int count) {
2682 return '$count 문자';
2683 }
2684
2685 @override
2686 String get generate_title_with_ai => 'AI로 생성';
2687
2688 @override
2689 String get generating_title => '생성 중...';
2690
2691 @override
2692 String get generate_title_failed => '제목을 생성할 수 없습니다.';
2693
2694 @override
2695 String get lm_studio_model_browser_title => '모델 찾아보기';
2696
2697 @override
2698 String get lm_studio_model_search_hint => '이름이나 작성자로 모델 검색…';
2699
2700 @override
2701 String get lm_studio_staff_picks => '직원 추천';
2702
2703 @override
2704 String get lm_studio_community_models => '커뮤니티 모델';
2705
2706 @override
2707 String get lm_studio_no_models => '모델을 찾을 수 없습니다.';
2708
2709 @override
2710 String lm_studio_models_count(int count) {
2711 return '$count 모델';
2712 }
2713
2714 @override
2715 String get lm_studio_browse_models => '탐색 및 다운로드';
2716
2717 @override
2718 String get lm_studio_model_search => 'LMS 모델 검색';
2719
2720 @override
2721 String get lm_studio_downloads_title => '다운로드';
2722
2723 @override
2724 String get lm_studio_choose_quant => '다운로드 옵션을 선택하세요';
2725
2726 @override
2727 String get lm_studio_use_default_quant => '기본값 사용';
2728
2729 @override
2730 String get lm_studio_recommended => '추천';
2731
2732 @override
2733 String get lm_studio_clear_downloads => '클리어 완료';
2734
2735 @override
2736 String get lm_studio_no_downloads => '아직 다운로드가 없습니다.';
2737
2738 @override
2739 String get lm_studio_downloads_disclaimer =>
2740 '다운로드는 LM Studio 호스트에서 실행됩니다. 모델 일시 중지, 중지 및 삭제는 이 앱이 아닌 해당 컴퓨터에서 수행되어야 합니다.';
2741
2742 @override
2743 String get lm_studio_staff_pick => '스탭픽';
2744
2745 @override
2746 String get lm_studio_params => '매개변수';
2747
2748 @override
2749 String get lm_studio_arch => '아치';
2750
2751 @override
2752 String get lm_studio_domain => '도메인';
2753
2754 @override
2755 String get lm_studio_format => '형식';
2756
2757 @override
2758 String get lm_studio_vision => '비전';
2759
2760 @override
2761 String get lm_studio_tool_use => '도구 사용';
2762
2763 @override
2764 String get lm_studio_reasoning => '추론';
2765
2766 @override
2767 String get openrouter_pricing_free => '무료';
2768
2769 @override
2770 String openrouter_pricing_tooltip(String input, String output) {
2771 return '입력 $input / 1M 토큰당 $output 출력';
2772 }
2773
2774 @override
2775 String get lm_studio_download_options => '다운로드 옵션';
2776
2777 @override
2778 String get lm_studio_download => '다운로드';
2779
2780 @override
2781 String lm_studio_download_size(String size) {
2782 return '$size 다운로드';
2783 }
2784
2785 @override
2786 String lm_studio_downloading_percent(int percent) {
2787 return '$percent% 다운로드 중';
2788 }
2789
2790 @override
2791 String get lm_studio_readme_unavailable => '이 모델에는 README가 제공되지 않습니다.';
2792
2793 @override
2794 String get lm_studio_full_gpu_offload => '전체 GPU 오프로드 가능';
2795
2796 @override
2797 String get lm_studio_partial_gpu_offload => '부분 GPU 오프로드 가능';
2798
2799 @override
2800 String get lm_studio_likely_too_large => '너무 클 것 같음';
2801
2802 @override
2803 String get lm_studio_available_ram_gb => '사용 가능한 RAM(GB, 옵션)';
2804
2805 @override
2806 String get lm_studio_available_vram_gb => '사용 가능한 VRAM(GB, 옵션)';
2807
2808 @override
2809 String get lm_studio_memory_settings_title => '추천을 위한 메모리';
2810
2811 @override
2812 String get lm_studio_memory_settings_desc =>
2813 '모델 브라우저에서 모델이 귀하의 컴퓨터에 적합한지 여부를 추정하는 데 사용됩니다.';
2814
2815 @override
2816 String get think_button_label => '생각하다';
2817
2818 @override
2819 String get thinking_mode_title => '사고 모드';
2820
2821 @override
2822 String get reasoning_effort_low => '낮음';
2823
2824 @override
2825 String get reasoning_effort_medium => '중간';
2826
2827 @override
2828 String get reasoning_effort_high => '높음';
2829
2830 @override
2831 String get reasoning_effort_minimal => '최소';
2832
2833 @override
2834 String get reasoning_effort_xhigh => '엑스하이';
2835
2836 @override
2837 String get reasoning_effort_max => '맥스';
2838
2839 @override
2840 String get reasoning_effort_off => '끄기';
2841
2842 @override
2843 String get could_not_read_file => '파일을 읽을 수 없습니다.';
2844
2845 @override
2846 String get server_offline => '서버 오프라인';
2847
2848 @override
2849 String get could_not_establish_connection =>
2850 '서버에 연결을 설정할 수 없습니다. 서버가 실행 중인지, 호스트/포트 설정이 올바른지 확인하세요.';
2851
2852 @override
2853 String get retry_connection => '연결 재시도';
2854
2855 @override
2856 String get tokens_label => '토큰';
2857
2858 @override
2859 String get enter_context_length => '컨텍스트 길이를 입력하세요...';
2860
2861 @override
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
2872 @override
2873 String get privacy_policy => '개인 정보 보호 정책';
2874
2875 @override
2876 String get cloud_sync => 'S3 클라우드 동기화';
2877
2878 @override
2879 String get cloud_sync_description => '자체 S3 호환 서버에 대한 엔드투엔드 암호화 동기화';
2880
2881 @override
2882 String get cloud_sync_endpoint => '엔드포인트 URL';
2883
2884 @override
2885 String get cloud_sync_bucket => '버킷';
2886
2887 @override
2888 String get cloud_sync_region => '지역';
2889
2890 @override
2891 String get cloud_sync_prefix => '접두사';
2892
2893 @override
2894 String get cloud_sync_access_key => '액세스 키 ID';
2895
2896 @override
2897 String get cloud_sync_secret_key => '비밀 액세스 키';
2898
2899 @override
2900 String get cloud_sync_session_token => '세션 토큰(선택사항)';
2901
2902 @override
2903 String get cloud_sync_passphrase => '암호화 암호';
2904
2905 @override
2906 String get cloud_sync_confirm_passphrase => '암호 확인';
2907
2908 @override
2909 String get cloud_sync_path_style => '경로 스타일 주소 지정 사용';
2910
2911 @override
2912 String get cloud_sync_allow_http => '안전하지 않은 HTTP 허용';
2913
2914 @override
2915 String get cloud_sync_http_warning =>
2916 'HTTP는 요청 메타데이터와 자격 증명을 네트워크에 노출합니다. 신뢰할 수 있는 로컬 S3 서버에만 사용하세요.';
2917
2918 @override
2919 String get cloud_sync_test => '테스트 연결';
2920
2921 @override
2922 String get cloud_sync_enable => '암호화된 동기화 활성화';
2923
2924 @override
2925 String get cloud_sync_now => '지금 동기화';
2926
2927 @override
2928 String get cloud_sync_disconnect => '이 장치를 연결 해제하세요';
2929
2930 @override
2931 String get cloud_sync_last_synced => '마지막 동기화';
2932
2933 @override
2934 String get cloud_sync_never => '절대로';
2935
2936 @override
2937 String get cloud_sync_conflicts => '충돌이 보존됨';
2938
2939 @override
2940 String get cloud_sync_passphrase_mismatch => '암호가 일치하지 않습니다.';
2941
2942 @override
2943 String get crash_report_title => '문제가 발생했습니다.';
2944
2945 @override
2946 String get crash_report_stack_trace => '스택 추적';
2947
2948 @override
2949 String get crash_report_tap_to_expand => '펼치려면 탭하세요.';
2950
2951 @override
2952 String get crash_report_button => '충돌 신고';
2953
2954 @override
2955 String get crash_try_again => '다시 시도하세요';
2956
2957 @override
2958 String get crash_report_empty_stack => '<비어있음>';
2959
2960 @override
2961 String get crash_report_disclaimer =>
2962 '보고를 수행하면 진단이 미리 입력된 GitHub가 열립니다. 귀하가 직접 제어할 수 있습니다. 아무것도 자동으로 제출되지 않습니다. 제출하기 전에 민감한 콘텐츠를 검토하고 삭제하시기 바랍니다.';
2963
2964 @override
2965 String get crash_report_copied => '클립보드에 복사됨';
2966
2967 @override
2968 String get report_a_problem => '문제 신고';
2969
2970 @override
2971 String get rename_folder => '폴더 이름 바꾸기';
2972
2973 @override
2974 String get delete_folder => '폴더 삭제';
2975
2976 @override
2977 String get delete_folder_title => '폴더를 삭제하시겠습니까?';
2978
2979 @override
2980 String delete_folder_body(String name) {
2981 return '정말로 \"$name\"을 삭제하시겠습니까? 대화 또는 내부에 저장된 메시지는 \'파일 없음\'으로 다시 이동됩니다. 이 작업은 취소할 수 없습니다.';
2982 }
2983
2984 @override
2985 String get folder_name_required => '폴더 이름을 입력하세요.';
2986
2987 @override
2988 String get model_required_toast => '먼저 모델을 선택해야 합니다.';
2989
2990 @override
2991 String get settings_concise_voice_responses => '간결한 음성 모드 응답';
2992
2993 @override
2994 String get settings_concise_voice_responses_desc =>
2995 'LLM 응답을 간략하게(짧은 문단 1개) 유지하고 음성 모드에서 후속 질문을 하세요.';
2996
2997 @override
2998 String get s3_connection_succeeded => 'S3 연결에 성공했습니다.';
2999
3000 @override
3001 String failed_to_open_url(String error) {
3002 return 'URL을 열지 못했습니다: $error';
3003 }
3004
3005 @override
3006 String failed_to_copy(String error) {
3007 return '복사 실패: $error';
3008 }
3009
3010 @override
3011 String get file_explorer_not_found =>
3012 '파일 탐색기를 찾을 수 없습니다. 파일 관리자 앱이 장치에 설치되어 활성화되어 있는지 확인하세요.';
3013
3014 @override
3015 String export_data_failed(String error) {
3016 return '백업 내보내기 실패: $error';
3017 }
3018
3019 @override
3020 String file_pick_failed(String error) {
3021 return '파일 선택 실패: $error';
3022 }
3023
3024 @override
3025 String image_pick_failed(String error) {
3026 return '이미지 선택 실패: $error';
3027 }
3028
3029 @override
3030 String get calendar_access => '캘린더 액세스';
3031
3032 @override
3033 String get calendar_access_desc => 'AI가 캘린더 이벤트를 읽고 생성하도록 허용';
3034
3035 @override
3036 String get calendar_permission_denied =>
3037 '캘린더 권한이 거부되었습니다. 기기 설정에서 캘린더 액세스 권한을 부여하세요.';
3038
3039 @override
3040 String get location_access => '위치 접근';
3041
3042 @override
3043 String get location_access_desc => 'AI가 장소 이름으로 현재 위치를 가져오도록 허용';
3044
3045 @override
3046 String get location_permission_denied =>
3047 '위치 권한이 거부되었습니다. 기기 설정에서 위치 액세스 권한을 부여하세요.';
3048
3049 @override
3050 String get builtin_ai_not_supported => '내장 AI는 이 장치에서 지원되지 않습니다.';
3051
3052 @override
3053 String get builtin_ai_unsupported_desc =>
3054 '귀하의 장치 하드웨어 또는 OS는 온디바이스 시스템 AI(예: Gemini Nano / Apple Intelligence)를 지원하지 않습니다. 대신 다운로드 가능한 모델을 선택하세요.';
3055
3056 @override
3057 String get builtin_ai_unsupported_chip => '지원되지 않음';
3058
3059 @override
3060 String get builtin_ai_enable => '활성화';
3061
3062 @override
3063 String get model_reasoning_default => '모델 기본값';
3064
3065 @override
3066 String get model_reasoning_on => '켜짐';
3067
3068 @override
3069 String get model_reasoning_help =>
3070 '다음 응답에 적용됩니다. 모델의 채팅 템플릿이 지원하는 경우 끄면 사고가 비활성화됩니다.';
3071
3072 @override
3073 String get model_reasoning_save_error => '사고 모드를 저장하지 못했습니다. 다시 시도해 주세요.';
3074
3075 @override
3076 String get on_device_engine_failed_error =>
3077 '온디바이스 모델이 응답을 멈췄습니다. 대개 대화가 컨텍스트 창을 초과했기 때문입니다. 모델을 다시 불러오는 중입니다. 다시 시도하거나 새 채팅을 시작하거나 설정에서 컨텍스트 길이를 늘리세요.';
3078
3079 @override
3080 String get stt_error_no_match => '음성을 인식하지 못했습니다. 다시 시도하려면 탭하세요.';
3081
3082 @override
3083 String get stt_error_speech_timeout => '음성이 감지되지 않았습니다. 다시 시도하려면 탭하세요.';
3084
3085 @override
3086 String get stt_error_permission => '마이크 권한이 거부되었습니다.';
3087
3088 @override
3089 String get stt_error_busy => '음성 인식이 사용 중입니다. 다시 시도하세요.';
3090
3091 @override
3092 String get stt_error_network => '네트워크 오류입니다. 연결을 확인하고 다시 시도하세요.';
3093
3094 @override
3095 String get stt_error_audio => '오디오 녹음 오류입니다. 마이크를 확인하세요.';
3096
3097 @override
3098 String get stt_error_client =>
3099 '음성 인식 서비스를 시작하지 못했습니다. 음성 입력 앱이 설치되어 있고 기본 음성 인식기로 설정되어 있는지 확인한 후 다시 시도하세요.';
3100
3101 @override
3102 String get stt_error_language => '이 기기의 음성 인식기가 사용자의 언어를 지원하지 않습니다.';
3103
3104 @override
3105 String get stt_error_unavailable =>
3106 '이 기기에서 음성 인식 서비스를 찾을 수 없습니다. 음성 입력 앱(예: FUTO Voice Input)을 설치하고 기본 음성 인식기로 설정하세요.';
3107
3108 @override
3109 String stt_error_generic(String code) {
3110 return '음성 인식 오류: $code';
3111 }
3112
3113 @override
3114 String get send_temperature_to_api => 'Temperature 전송';
3115
3116 @override
3117 String get send_top_p_to_api => 'Top P 전송';
3118
3119 @override
3120 String get send_sampling_params_desc =>
3121 '이 매개변수를 거부하는 제공업체나 모델(예: 일부 추론 모델)에서는 끄세요. 원격 서버와의 모든 채팅에 적용됩니다.';
3122
3123 @override
3124 String get default_system_prompt => '기본 시스템 프롬프트';
3125
3126 @override
3127 String get default_system_prompt_desc => '페르소나와 채팅별 시스템 프롬프트가 없는 채팅에 사용됩니다.';
3128
3129 @override
3130 String get default_system_prompt_hint => '당신은 도움이 되는 어시스턴트입니다…';
3131
3132 @override
3133 String background_generation_notice(String title) {
3134 return '\"$title\"에서 아직 답변을 생성 중입니다. 완료되면 여기서 보낼 수 있습니다. 탭하여 열기.';
3135 }
3136
3137 @override
3138 String get background_generation_notice_untitled =>
3139 '다른 채팅에서 아직 답변을 생성 중입니다. 완료되면 여기서 보낼 수 있습니다. 탭하여 열기.';
3140
3141 @override
3142 String background_generation_notice_info(String title) {
3143 return '백그라운드에서 \"$title\"에 답변 생성 중. 탭하여 열기.';
3144 }
3145
3146 @override
3147 String get background_generation_notice_info_untitled =>
3148 '백그라운드에서 다른 채팅이 답변 생성 중. 탭하여 열기.';
3149
3150 @override
3151 String background_generation_notice_multiple(int count) {
3152 return '$count개의 채팅이 백그라운드에서 답변 생성 중.';
3153 }
3154
3155 @override
3156 String get background_generation_chat_untitled => '제목 없는 채팅';
3157 }