4P by kargnas 5일전 | favorite | 댓글과 토론
  • Laravel 프로젝트의 언어 파일을 AI를 사용하여 자동으로 여러 언어로 번역해주는 패키지
  • 기본 언어(보통 영어)로 작성된 언어 파일을 기반으로 다른 언어들로 번역
  • 한번의 명령어 실행으로 모든 언어 파일을 한 번에 번역할 수 있어 개발 시간을 크게 단축
  • config/ai-translator.php 설정 파일에서 소스 언어, 번역 AI 제공자, 추가 규칙 등을 쉽게 customizing 가능
    • 소스 언어, 언어 파일 디렉토리, AI 제공자 설정 등을 변경 가능
    • 추가 규칙을 통해 번역 스타일 커스터마이징 가능
      • 예: "Use a friendly and intuitive tone of voice, like the service tone of voice of 'Discord'."
      • 예: "한국의 인터넷 서비스 '토스'의 서비스 말투 처럼, 유저에게 친근하고 직관적인 말투로 설명하고 존댓말로 설명하세요."
    • 현재는 Anthropic의 Claude AI만 지원하지만, 향후 GPT-3.5, 4, 4 Turbo 등 지원 예정
    • 현재는 JSON 언어 파일은 현재 지원되지 않으며, PHP 언어 파일만 지원
  • php artisan ai-translator:translate 명령어로 모든 언어 파일 자동 번역
    • lang 디렉토리에 이미 생성해둔 언어 폴더들을 인식하고 해당 언어들로 자동으로 번역해줌
    • 기본적으로 영어(en)를 소스 언어로 사용하지만 설정에서 변경 가능
    • 이미 번역된 스트링은 중복 번역하지 않음
  • 단순히 번역하지 않고, 변수 값, 문장의 시제, 단어의 형태(동사/명사 등), 단어의 길이 등을 고려하여 스마트하게 번역하여 UI가 깨지지 않는 최적의 단어를 선정함
  • 번역된 결과는 각 언어 폴더에 자동으로 저장됨

사용예제

// 원본 영어 파일 (en/notifications.php)  
return [  
    'new_feature_search_sentence' => 'New feature: Now you can type sentences not only words. Even in your languages.',  
    'refresh_after_1_min' => 'Refresh after 1 minute. New content will be available! (Previous model: :model, Updated: :updated_at)',  
    'welcome_message' => 'Welcome, :name! You have :count new messages.',  
];  
  
// 번역된 한국어 파일 (ko/notifications.php)  
return [  
    'new_feature_search_sentence' => '새로운 기능: 이제 단어뿐만 아니라 문장도 입력할 수 있어요. 여러분의 언어로도 가능합니다.',  
    'refresh_after_1_min' => '1분 후에 새로고침하세요. 새로운 내용이 준비될 거예요! (이전 모델: :model, 업데이트: :updated_at)',  
    'welcome_message' => ':name님, 환영합니다! :count개의 새 메시지가 있습니다.',  
];  
  
// 번역된 중국어 간체 파일 (zh-cn/notifications.php)  
return [  
    'new_feature_search_sentence' => '新功能:现在你不仅可以输入单词,还可以输入句子。甚至可以用你的语言。',  
    'refresh_after_1_min' => '1分钟后刷新。新内容即将到来!(之前的模型::model,更新时间::updated_at)',  
    'welcome_message' => '欢迎,:name!您有 :count 条新消息。',  
];