[java] Maven을 사용하여 자바 다국어 지원하기

개발 중인 자바 프로젝트에서 다국어 지원이 필요한 경우, Maven을 사용하여 간단하게 다국어 지원을 구현할 수 있습니다. 다국어 지원은 사용자가 원하는 언어로 애플리케이션의 메시지를 표시할 수 있게 해줍니다. 이 문서에서는 Maven을 사용하여 자바 애플리케이션에서 다국어 지원을 구현하는 방법을 알아보겠습니다.

다국어 메시지 파일 생성

다국어 지원을 위해 먼저 resources 디렉토리에 다국어 메시지 파일을 생성해야 합니다. 이 파일은 애플리케이션에서 사용하는 모든 메시지를 다국어로 저장하는 파일입니다. 메시지 파일은 .properties 확장자를 가지며, 각 언어별로 별도의 메시지 파일을 생성해야 합니다.

예를 들어, 다음과 같이 messages.properties 파일을 생성할 수 있습니다:

hello.message=안녕하세요!

그리고 추가로 messages_en.properties 파일을 생성하여 영어 메시지를 따로 저장할 수 있습니다:

hello.message=Hello!

Maven 종속성 추가

Maven 프로젝트의 pom.xml 파일에 다국어 지원을 위한 종속성을 추가해야 합니다. 다음은 Maven의 message-resource-plugin을 사용하는 예시입니다:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.2.0</version>
            <executions>
                <execution>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target/classes</outputDirectory>
                        <resources>
                            <resource>
                                <directory>src/main/resources</directory>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

위의 코드를 pom.xml<build> 섹션 안에 추가하면 됩니다.

메시지 파일 사용

이제 자바 코드에서 다국어 메시지를 사용할 수 있게 되었습니다. 메시지를 사용하기 위해서는 ResourceBundle 클래스를 사용해야 합니다. 해당 클래스를 사용하면 애플리케이션에서 다국어 메시지 파일을 로드하고 원하는 언어로 메시지를 가져올 수 있습니다.

다음은 ResourceBundle을 사용하여 다국어 메시지를 출력하는 예시입니다:

import java.util.Locale;
import java.util.ResourceBundle;

public class App {
    public static void main(String[] args) {
        Locale locale = new Locale("en"); // 사용할 언어 설정
        ResourceBundle messages = ResourceBundle.getBundle("messages", locale);

        String helloMessage = messages.getString("hello.message");
        System.out.println(helloMessage);
    }
}

위의 코드는 “hello.message”라는 키를 사용하여 ResourceBundle에서 메시지를 가져오고, 이를 출력합니다. Locale을 설정하여 언어를 변경할 수 있습니다.

결론

이제 Maven을 사용하여 자바 애플리케이션에서 다국어 지원을 구현하는 방법을 알게 되었습니다. messages.properties와 같은 다국어 메시지 파일을 생성하고 Maven 종속성을 추가한 뒤, ResourceBundle을 사용하여 메시지를 로드하고 출력할 수 있습니다. 이를 통해 사용자가 원하는 언어로 애플리케이션의 메시지를 표시할 수 있습니다.

참고자료: