Java로 구현한 다국어 지원 콘솔 애플리케이션

Java 예제

중급 난이도
예제 타입
11/14 등록일

Java로 구현한 다국어 지원 콘솔 애플리케이션

중급
태그
예제 실습 프로젝트 다국어 콘솔 에러처리
## 프로젝트 개요
다양한 언어를 지원하는 간단한 콘솔 기반 애플리케이션으로, 사용자가 선택한 언어에 따라 메뉴와 메시지가 변경됩니다. 이는 엔터프라이즈 환경에서 다국어 지원을 구현하기 위한 실용적인 예제입니다.

## 주요 기능
- 다국어 메시지 표시
- 사용자 선택 언어 처리
- 오류 및 예외 상황 대응
- 간단한 인터페이스 제공

## 사용 방법
1. 프로젝트를 실행합니다.
2. 번호를 입력하여 언어를 선택합니다.
3. 메뉴에 따라 동작을 수행합니다.

## 확장 가능성
- 파일 기반의 언어 데이터 관리 추가
- 설정 파일을 통해 언어 변경 옵션 제공
- 인터페이스 개선 및 GUI로 전환
코드 예제
// 다국어 지원 콘솔 애플리케이션 예제
import java.util.*;
import java.io.*;

public class MultiLanguageConsoleApp {
    private static final Map<String, String> messages = new HashMap<>();

    public static void main(String[] args) {
        loadMessages();
        Scanner scanner = new Scanner(System.in);
        
        System.out.println(messages.get("welcome_message"));
        int languageChoice = 0;
        while (true) {
            try {
                System.out.println(messages.get("language_selection"));
                System.out.println("1. 한국어");
                System.out.println("2. English");
                System.out.println("3. 日本語");
                System.out.println("4. 退出");
                
                languageChoice = scanner.nextInt();
                
                if (languageChoice == 4) {
                    break;
                }

                switch (languageChoice) {
                    case 1:
                        setLanguage("ko");
                        break;
                    case 2:
                        setLanguage("en");
                        break;
                    case 3:
                        setLanguage("ja");
                        break;
                }

                System.out.println(messages.get("menu_message"));
                System.out.println("1. 메뉴 1");
                System.out.println("2. 메뉴 2");
                System.out.println("3. 종료");
                
                int menuChoice = scanner.nextInt();

                if (menuChoice == 3) {
                    break;
                }

                if (menuChoice == 1 || menuChoice == 2) {
                    System.out.println(messages.get("selected_menu"));
                } else {
                    throw new IllegalArgumentException(messages.get("invalid_choice"));
                }
            } catch (InputMismatchException e) {
                System.out.println(messages.get("input_error"));
                scanner.nextLine(); // 버퍼 비우기
            } catch (IllegalArgumentException e) {
                System.out.println(e.getMessage());
            }
        }
    }

    private static void loadMessages() {
        messages.put("welcome_message", "환영합니다. 언어를 선택하세요.");
        messages.put("language_selection", "언어를 선택해주세요:");
        messages.put("menu_message", "메뉴를 선택해주세요:");
        messages.put("selected_menu", "선택하신 메뉴입니다.");
        messages.put("invalid_choice", "잘못된 선택입니다. 다시 입력하세요.");
        messages.put("input_error", "올바른 숫자를 입력하세요.");
    }

    private static void setLanguage(String lang) {
        // 여기에 실제 언어 로드 로직 추가 가능 (예: 파일에서 메시지 불러오기)
        System.out.println(lang + " 언어로 전환되었습니다.");
    }
}
등록일: 2025년 11월 14일 02:36
언어 정보
언어
Java
카테고리
Enterprise
인기도
#3
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요