(+) Application Layer - l10n

기쑴에 μ‚¬μš©ν–ˆλ˜ νŒ¨ν‚€μ§€μ—μ„œ μ΄κ²ƒμœΌλ‘œ λ°”κΎΈμ—ˆλ‹€. 더 많이 μ“°μ΄λŠ” κ²ƒμœΌλ‘œ 보이고 μ‚¬μš©μ΄ 더 νŽΈλ¦¬ν•˜λ‹€.

usage

거의 곡식 λ„νλ¨ΌνŠΈμ— μ •λ¦¬λ˜μ–΄ μžˆλŠ” λ‚΄μš©κ³Ό λ˜‘κ°™μ•„μ„œ 별달리 μ •λ¦¬ν• κ²Œ μ—†κΈ΄ ν•˜λ‹€. λ„νλ¨ΌνŠΈμ—μ„œ μ§€μ‹œν•˜λŠ”λŒ€λ‘œ λ˜‘κ°™μ΄ ν•˜λ©΄ 되긴 ν•˜λŠ”λ° μ£Όμ˜ν•  점은 EasyLocalization μœ„μ ―μ€ MaterialApp κ³Ό 동일 계측(μ•„λž˜ μ½”λ“œμ—μ„œ 보면 Application λ‚΄) 에 μ„€μ •ν•˜λ‹ˆκΉŒ μ—λŸ¬κ°€ 났닀.

κ·Έλž˜μ„œ μ•„λž˜μ™€ 같이 runApp 내에 μœ„μΉ˜μ‹œμΌ°λ‹€. λ„νλ¨ΌνŠΈμ— λ‚˜μ˜¨λŒ€λ‘œ await EasyLocalization.ensureInitialized(); μ²˜λ¦¬λŠ” λ°˜λ“œμ‹œ ν•΄μ£Όμ–΄μ•Όν•œλ‹€.

void run() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EasyLocalization.ensureInitialized();
  await Injector.prepareDependencies();
  runApp(
    EasyLocalization(
      supportedLocales: const [
        LocaleManager.koLocale,
        LocaleManager.enLocale,
      ],
      path: 'assets/translations',
      fallbackLocale: LocaleManager.koLocale,
      child: Application(),
    ),
  );
}

LocalManager 라고 ν•΄λ‘” 것은 별 것이 μ—†λ‹€. μ•„λž˜μ™€ κ°™λ‹€. Locale μƒμ„±μ‹œ 넣은 언어에 λŒ€ν•œ νŒŒλΌλ―Έν„° κ°’κ³Ό 파일λͺ….json μ—μ„œ 파일λͺ…이 μΌμΉ˜ν•΄μ•Όν•œλ‹€.

κ·Έ 외에 μ•„λž˜μ™€ 같이 json νŒŒμΌμ„ λ§Œλ“€μ–΄μ€˜μ•Ό ν•˜κ³ , 파일 내에 아무것도 μ—†μœΌλ©΄ launch μ‹œ μ—λŸ¬κ°€ λ‚œλ‹€. 파일이 μ—†κ±°λ‚˜ 파일 λ‚΄μš©μ΄ empty λΌλŠ” λ©”μ„Έμ§€κ°€ λœ¬λ‹€. λ‹Ήμž₯ λ­”κ°€ μ“Έ 일이 없어도 λ‚΄μš©μ„ μ±„μ›Œλ‘¬μ•Όν•œλ‹€.

λ‹€μ–‘ν•œ μ‚¬μš©λ²•μ€ κ³΅μ‹λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μž. λ”°λ‘œ μ—°μŠ΅ν•œ μƒ˜ν”Œ ν”„λ‘œμ νŠΈλŠ” 여기에 μžˆλ‹€.

Last updated