μΆμ²
ChatGPT
κ΅μ ν(i18n)λ° μ§μν(l19n)λ μννΈμ¨μ΄μ μΉ μ ν리μΌμ΄μ κ°λ°μμ μ¬μ©μμ μμ₯μ λ§μΆ° νλ‘κ·Έλ¨μ μ€κ³νκ³ λ°°ν¬νκΈ° μν μ€μν κ°λ μ΄λ€. μ΄ λ μ©μ΄λ μ νμ΄ λ€μν μΈμ΄μ λ¬ΈνκΆμ λ§μΆ°μ§ μ μλλ‘ νλ κ³Όμ μ κ΄λ ¨λμ΄ μλ€.
κ΅μ ν(i18n) - Internationalization
μ μ
κ΅μ ν(i18n)λ μννΈμ¨μ΄λ μΉ μ νλ§μΌμ΄μ μ λ€μν μΈμ΄μ μ§μμμ μ¬μ©λ μ μλλ‘ μ€κ³νκ³ μ€λΉνλ κ³Όμ μ΄λ€. "Internationalization"μ΄λΌλ λ¨μ΄μμ 첫 κΈμ 'i'μ λ§μ§λ§ κΈμ 'n' μ¬μ΄μ 18κ°μ κΈμκ° μ‘΄μ¬νκΈ° λλ¬Έμ i18nμ΄λΌλ μ½μ΄λ‘ λΆλ¦°λ€.
μ£Όμ νλ
λ¬Έμμ΄ μΆμΆ
λͺ¨λ μ¬μ©μ μΈν°νμ΄μ€(UI) λ¬Έμμ΄μ μ½λμμ μΆμΆνκ³ , μΈλΆ 리μμ€ νμΌλ‘ κ΄λ¦¬νμ¬ λ²μμ΄ μ½κ² μ΄λ£¨μ΄μ§λλ‘ νλ€. μλ₯Ό λ€μ΄, λ©μμ§ νμΌ, 리μμ€ λ²λ€ λ±μ νμμΌλ‘ λΆλ¦¬νλ€.
μΈμ΄μ λ‘μΌμΌ μ€μ
λ μ§, ,μκ°, μ«μ, ν΅ν νμ λ± λ¬Ένμ μΌλ‘ λ―Όκ°ν λ°μ΄ν°λ₯Ό νμνκΈ° μν΄ λ‘μΌμΌ μ€μ μ μ§μνλ€.
μ λμ½λ μ§μ
λ€μν μΈμ΄μ λ¬Έμλ₯Ό μ§μνκΈ° μν΄ μ λμ½λλ₯Ό μ¬μ©ν΄ λ¬Έμ μΈμ½λ©μ μΌκ΄λκ² μ μ§νλ€.
λ€κ΅μ΄ μ λ ₯κ³Ό μΆλ ₯
λ€κ΅μ΄ μ λ ₯μ μ²λ¦¬νκ³ , λ€μν μΈμ΄λ‘ λ ν μ€νΈλ₯Ό μ¬λ°λ₯΄κ² μΆλ ₯ν μ μλλ‘ μμ€ν μ μ€κ³νλ€.
νλ«νΌ λ 립μ±
νλ«νΌ λ° μ§μμ λ 립μ μΌλ‘ μλνλλ‘ μμ€ν μ μ€κ³νμ¬, λ€μν μ΄μ 체μ μ λ¬ΈνκΆμμλ λμΌνκ² κΈ°λ₯νλλ‘ νλ€.
μμ
- λ μ§ νμ μ€μ : λ―Έκ΅μμλ 'MM/DD/YYYY', μκ΅μμλ 'DD/MM/YYYY' νμμ μ¬μ©νλ€.
- ν΅ν κΈ°νΈμ λ¨μ μ€μ : 'USD', 'EUR', 'β©', '¥' λ± λ€μν ν΅ν κΈ°νΈλ₯Ό μ§μνλ€.
μ½λ μμ
Javaμμ κ΅μ νλ₯Ό ꡬννκΈ° μν΄ 'ResourceBundle'μ μ¬μ©ν μ μλ€.
Java μ½λ μμ
import java.util.Locale;
import java.util.ResourceBundle;
public class InternationalizationExample {
public static void main(String[] args) {
// λ‘μΌμΌ μ€μ
Locale usLocale = new Locale("en", "US");
Locale krLocale = new Locale("ko", "KR");
// 리μμ€ λ²λ€ λΆλ¬μ€κΈ°
ResourceBundle bundleUS = ResourceBundle.getBundle("Messages", usLocale);
ResourceBundle bundleKR = ResourceBundle.getBundle("Messages", krLocale);
// λ²λ€μμ λ©μμ§ μΆλ ₯
System.out.println("US: " + bundleUS.getString("greeting"));
System.out.println("KR: " + bundleKR.getString("greeting"));
}
}
리μμ€ λ²λ€ μμ
- Message_en_US.properties
greeting=Hello
- Message_ko_KR.propertes
greeting=μλ
νμΈμ
μΆλ ₯
US: Hello
KR: μλ
νμΈμ
μ§μν(l10n) - Localization
μ μ
μ§μν(l10n)λ μννΈμ¨μ΄λ μΉ μ ν리μΌμ΄μ μ νΉμ μ§μμ΄λ λ¬ΈνκΆμ μꡬμ λ§κ² λ§μΆ€ννλ κ³Όμ μ΄λ€. "Localication"μ΄λΌλ λ¨μ΄μμ 첫 κΈμ 'l'κ³Ό λ§μ§λ§ κΈμ 'n' μ¬μ΄μ 10κ°μ κΈμκ° μκΈ° λλ¬Έμ l10nμ΄λΌλ μ½μ΄λ‘ λΆλ¦°λ€.
μ£Όμ νλ
λ²μ
UI, λ¬Έμ, λμλ§ λ± λͺ¨λ ν μ€νΈλ₯Ό νΉμ μΈμ΄λ‘ λ²μνλ€.
λ¬Ένμ λ§₯λ½ μ μ©
νΉμ λ¬ΈνκΆμ μ¬μ©μμκ² λ μΉμν λ΄μ©μΌλ‘ λ³κ²½νλ€. μλ₯Ό λ€μ΄, μμ μλ―Έλ μ΄λ―Έμ§κ° ν΄λΉ λ¬Ένμμ μ μ νμ§ κ²ν νλ€.
ν¬λ§· μ‘°μ
λ μ§, μκ°, μ«μ, ν΅ν λ±μ νμμ ν΄λΉ λ¬ΈνκΆμ λ§κ² μ‘°μ νλ€.
λ²μ μꡬ μ¬ν λ°μ
νΉμ μ§μμ λ²μ μꡬ μ¬νμ μ€μν΄ νλ‘κ·Έλ¨μ μ‘°μ νλ€.
μ¬μ©μ νκ²½ μ‘°μ±
μλ₯Ό λ€μ΄, μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘ μ½λ μΈμ΄μ κ²½μ° UIλ₯Ό μ μ ν μ‘°μ νλ€.
μμ
νκΈλ‘ UI λ³κ²½ : λͺ¨λ μΈν°νμ΄μ€ μμλ₯Ό νκ΅μ΄λ‘ λ²μνλ€.
νκ΅ μ¬μ©μμκ² λ§μΆ€νλ μ½ν μΈ μ 곡 : λ¬Ένμ μΌλ‘ κ΄λ ¨ μλ μ΄λ―Έμ§λ ν μ€νΈλ₯Ό νμνλ€.
μ½λ μμ
Javaμ κ²½μ°, μ§μνλ₯Ό μν΄ λ€λ₯Έ λ‘μΌμΌμ λ§μΆ° UIλ₯Ό λ²μνλ λ°©μμΌλ‘ ꡬννλ€.
Javaμ½λ μμ
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class LocalizationExample {
public static void main(String[] args) {
// νμ¬ λ μ§ κ°μ Έμ€κΈ°
Date currentDate = new Date();
// λ‘μΌμΌ μ€μ
Locale usLocale = new Locale("en", "US");
Locale krLocale = new Locale("ko", "KR");
// λ μ§ νμ μ€μ
DateFormat usDateFormat = DateFormat.getDateInstance(DateFormat.LONG, usLocale);
DateFormat krDateFormat = DateFormat.getDateInstance(DateFormat.LONG, krLocale);
// μΆλ ₯
System.out.println("US: " + usDateFormat.format(currentDate));
System.out.println("KR: " + krDateFormat.format(currentDate));
}
}
μΆλ ₯
US: July 26, 2024
KR: 2024λ
7μ 26μΌ
κ΅μ ν(i18n)μ μ§μν(l10n)μ μ°¨μ΄μ
νΉμ§ | κ΅μ ν i18n | μ§μν l10n |
λͺ©μ | λ€μν μΈμ΄ λ° λ¬Έν μ§μμ μν μ€λΉ | νΉμ μ§μμ λ¬Ένμ , μΈμ΄μ μꡬμ λ§μΆ° μνμ¨μ΄ μ‘°μ |
μ£Όμ νλ | μννΈμ¨μ΄ ꡬ쑰 μ€λΉ, 리μμ€ λΆλ¦¬, μ λμ½λ μ§μ | λ²μ, ν¬λ§· μ‘°μ , λ²μ μꡬ λ°μ |
μμ | κ°λ° μ΄κΈ° λ¨κ³μμ μν | κ΅μ ν μ΄ν, μμ₯ λλ κ³ κ° μꡬμ λ§μΆ° μν |
λμ | μ 체 μννΈμ¨μ΄ μμ€ν | νΉμ μ§μ λλ λ¬Έν |
μμ | λ€κ΅μ΄ 리μμ€ νμΌ κ΄λ¦¬, μ λμ½λ μ¬μ© | νκ΅μ΄ λ²μ, νκΈ λ μ§ νμ μ¬μ© |
κ²°λ‘
κ΅μ ν(i18n)μ μ§μν(l10n)λ μννΈμ¨μ΄λ₯Ό κΈλ‘λ² μμ₯μ μ μμν€κΈ° μν λ κ°μ§ μ€μν κ³Όμ μ΄λ€. κ΅μ νλ μμ€ν μ λ€μν μΈμ΄μ λ¬ΈνκΆμ μ½κ² μ μν μ μλλ‘ μ€λΉνλ κ²μ΄λ©°, μ§μνλ νΉμ μμ₯μ΄λ μ§μμ μꡬμ λ§μΆ° μννΈμ¨μ΄λ₯Ό μ€μ λ‘ μ‘°μ νλ κ²μ΄λ€. λ κ°λ λͺ¨λ μ¬μ©μκ° μννΈμ¨μ΄λ₯Ό μ¬μ©ν λ μΉμνκ³ ν¨μ¨μ μΈ κ²½νμ μ 곡νλ λ° μ€μν μν μ νλ€.