진동 포지셔닝

10417 단어
떨림 응용မှာ 언어တခုထက်ပိုပြီး 뒷받침လုပ်ပေးချင်တဲ့အခါ 현지화ဆိုတာ လုပ်ရလေ့ရှိပါတယ်။ ခု ဒီ 지도의မှာတော့ 현지화 설정ဘယ်လိုလုပ်ရသလဲဆိုတာတွေကို 나누다လုပ်ပေးသွားမှာ ဖြစ်ပါတယ်။ Flutter documentation မှာလဲ အပြည့်အစုံ ရေးထားပေးတာရှိပါတယ်။
အရင်ဆုံး pubspec.yaml ထဲမှာ flutter_localizations 의존 관계ကို သွားထည့်ရပါမယ်။
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations: # Add this line
    sdk: flutter         # Add this line
현지화တွေမလုပ်ခင် 싸다တခုကို သွင်းထားဖို့လိုပါမယ်။ ဒါကတော့ 내화하다အတွက် အသုံးပြုတဲ့ 인터내셔널ဆိုတဲ့ 싸다ပဲဖြစ်ပါတယ်။ ကျွန်တော်ကတော့ vscode 플러그인ဖြစ်တဲ့ Pubspec Assistကို သုံးတာဖြစ်တဲ့အတွက် အဲ့ဒီကနေ intl팩ကို သွင်းပါမယ်။
Command+Shift+P ကိုနှိပ်ပြီး 명령하다တွေကျလာပါမယ်။ အဲ့ထဲကမှ Pubspec Assist: Add/update dependencies ဆိုတာကို ရွေးပါမယ်။

အဲ့ဒါပြီးရင်တော့ intl လို့ရိုက်လိုက်ပါမယ်။

အဲ့ဒါဆိုရင်တော့ pubspec.yaml ရဲ့ 의존 관계အောက်မှာ intl팩ထည့်သွင်းပြီး ဖြစ်သွားပါလိမ့်မယ်။ တကယ်လို့ 수동လုပ်ချင်တယ်ဆို pub.dev ကိုသွားပြီး 국제 소포ကိုရှာလို့လဲရပါတယ်။
နောက်ဆုံးတခုအနေနဲ့ကတော့ 의존 관계တို့၊ 개발 의존항တို့ရဲ့ အောက်မှာရှိတဲ့ 진동 명칭 공간အောက်ထဲမှာ generate: true ဆိုတာကို ထည့်ပါမယ်။
flutter:
  uses-material-design: true
  generate: true
အခုဆိုရင်တော့ pubspec.yaml 파일ထဲမှာ လိုအပ်တာတွေ ပြင်ဆင်လို့ ပြီးပါပြီ။
프로젝트 기반 폴더ထဲမှာ l10n.yaml ဆိုတဲ့ 서류တခုကို ဆောက်ပြီး အောက်မှာပြထားတဲ့ 프로비저닝တွေထည့်ပါမယ်။
arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart

ဒါကတော့ ကိုယ် 번역하다လုပ်မယ့် 서류ဘယ်မှာရှိမယ်၊ 생기다လုပ်လိုက်တဲ့အခါ ဘယ်နာမည်နဲ့ 계급.ဆောက်မယ်၊ အဲ့ဒါတွေကို သတ်မှတ်ပေးထားတာပဲ ဖြစ်ပါတယ်။ အခု ဒီ 프로비저닝အတိုင်းဆိုရင် ကျွန်တော်တို့ 응용 프로그램ရဲ့ 기본 언어 키워드တွေကို app_en.arb ဆိုတဲ့ 서류ထဲမှာ သိမ်းထားမယ်။ အဲ့ 서류က lib/l10n ဆိုတဲ့ ပတ်လမ်းကြောင်းမှာ ရှိမယ်။ 생기다လုပ်လိုက်တဲ့ 계급.ကို app_localizations.dart ဆိုတဲ့နာမည်နဲ့ သိမ်းမယ်လို့ သတ်မှတ်ပေးလိုက်တာပဲ ဖြစ်ပါတယ်။
ခုဆိုရင် app_en.arb ဆိုတဲ့ 서류ကိုဖွင့်ပြီး စာကြောင်းတခုလောက်နဲ့ စစမ်းကြည့်ရအောင်ပါ။
{
  "helloWorld": "Hello World!",
  "@helloWorld": {
    "description": "The conventional newborn programmer greeting"
  }
}
ဒါနဲ့အတူ မြန်မာလိုပါ ထည့်ကြည့်လိုက်ရအောင်ပါ။ app_my.arb ဆိုတဲ့ 서류တခုကို l10n 폴더ထဲမှာပဲ ဆောက်လိုက်ပြီး အောက်မှာပြထားတဲ့စာတွေ ထည့်လိုက်ပါ့မယ်။
{
  "helloWorld": "မင်္ဂလာပါ"
}

ဘယ် 언어အတွက် ဘယ် 키워드ကို 접미사ထားသလဲဆိုတာ သိချင်ရင် ဒီ link မှာ သွားကြည့်လို့ရပါတယ်။
ခုလိုတာတွေ ပြင်ဆင်ပြီးပြီဆိုတော့ 명령 실행ဖွင့် 종착역ဖွင့်ပါမယ်။ vs 코드ထဲမှာဆိုရင်တော့ 터미널>새 터미널ဆိုတာ ဖွင့်လိုက်ပါမယ်။ 터미널 경로က 프로젝트 베이스 폴더မှာ ရှိနေရမှာဖြစ်ပါတယ်။ အခု 종착역ထဲမှာ flutter gen-l10n ဆိုတာ ရီုက်လိုက်ပါမယ်။ ဒီ 명령하다ကတော့ l10n.yaml ကိုကြည့်ပြီး ရှိနေတဲ့ arb 파일တွေကနေပြီးတော့ 응용 프로그램ထဲမှာ ပြန်သုံးလို့ရမယ့် 문건을 번역하다တွေ ထုတ်ပေးဖို့ ရိုက်ရတဲ့ 명령하다ဖြစ်ပါတယ်။

ခုလိုပေါ်လာပြီဆိုရင်တော့ 생기다လုပ်တာ 성취ဖြစ်သွားပါပြီ။ 프로젝트 베이스 폴더ထဲက .dart_tool ဆိုတဲ့ 폴더ထဲမှာ flutter_gen/gen_l10n ဆိုပြီး ထွက်လာမှာဖြစ်ပါတယ်။ အဲ့ထဲမှာတော့ ကိုယ် arbအနေနဲ့သတ်မှတ်ထားတဲ့ 폴더တွေ (app_localizations_en.dart,app_localizations_my.dart)အပြင် 신청하다.နဲ့ အဓိက ချိတ်ဆက်မယ့် 응용 프로그램 현지화.다트 줄လဲ ထွက်လာမှာဖြစ်ပါတယ်။
ကဲ.. ပြီးခါနီးပါပြီ။ main.dart ကိုဖွင့်လိုက်မယ်။ အဲ့ထဲမှာ MaterialApp 위젯ကို ခုလိုမျိုး 업데이트လုပ်လိုက်ပါမယ်။
import 'package:flutter/material.dart';
// Import generated app_localizations.dart
import 'package:flutter_gen/gen_l10n/app_localizations.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      localizationsDelegates: AppLocalizations.localizationsDelegates,
      supportedLocales: AppLocalizations.supportedLocales,
      locale: Locale('en'),
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}
ဒါနဲ့အတူ 기본 텍스트 위젯ကိုလဲ 현지화အတွက် ပြုလုပ်ထားတဲ့ helloWorld ပြအောင် အခုလို ပြုလုပ်လို့ရပါတယ်။
Text(
  AppLocalizations.of(context).helloWorld,
),
ခုလို သတ်မှတ်ပြီးသွားရင် locale: Locale('en') ဒါမှမဟုတ် locale: Locale('my') စသဖြင့် ပြောင်းပြီးစမ်းကြည့်လို့ရပါပြီ။ တကယ်လို့ ကိုယ့် 응용 프로그램 설정ထဲကနေ ပြောင်းစေချင်တယ်ဆိုလဲ 국가 관리 메커니즘နဲ့ချိတ်ပြီး 장소.ကို 업데이트လုပ်ပေးပြီး ပြောင်းသွားလို့ရပါတယ်။
네트워크 운영 체제အတွက်တော့ xcodeထဲမှာ ခုဖော်ပြမယ့် 층계လေးတွေ ဖြည့်ပြီးလုပ်ပေးဖို့ လိုအပ်ပါတယ်။


좋은 웹페이지 즐겨찾기