คู่มือการแปล (Flutter)

Feb 26 2023
โลคัลไลเซชันคือกระบวนการปรับผลิตภัณฑ์หรือบริการให้ตรงตามภาษา วัฒนธรรม และข้อกำหนดเฉพาะอื่นๆ ของประเทศหรือภูมิภาคนั้นๆ ซึ่งเกี่ยวข้องกับการแปลเนื้อหา การปรับเปลี่ยนองค์ประกอบการออกแบบ และการปรับฟังก์ชันการทำงานเพื่อให้แน่ใจว่าผลิตภัณฑ์หรือบริการนั้นเหมาะสมกับตลาดเป้าหมาย

โลคัลไลเซชันคือกระบวนการปรับผลิตภัณฑ์หรือบริการให้ตรงตามภาษา วัฒนธรรม และข้อกำหนดเฉพาะอื่นๆ ของประเทศหรือภูมิภาคนั้นๆ ซึ่งเกี่ยวข้องกับการแปลเนื้อหา การปรับเปลี่ยนองค์ประกอบการออกแบบ และการปรับฟังก์ชันการทำงานเพื่อให้แน่ใจว่าผลิตภัณฑ์หรือบริการนั้นเหมาะสมกับตลาดเป้าหมาย

การแปลเป็นภาษาท้องถิ่นมีความสำคัญอย่างยิ่งสำหรับบริษัทที่ดำเนินงานในระดับสากล เนื่องจากสามารถปรับปรุงความพึงพอใจของลูกค้าและเพิ่มยอดขายโดยทำให้ผลิตภัณฑ์หรือบริการสามารถเข้าถึงได้มากขึ้นและเป็นมิตรกับผู้ใช้สำหรับผู้ชมทั่วโลก ตัวอย่างของผลิตภัณฑ์ที่แปลโดยทั่วไป ได้แก่ เว็บไซต์ แอปพลิเคชันซอฟต์แวร์ วิดีโอเกม และเอกสารทางการตลาด

การแปลเป็นภาษาท้องถิ่นเป็นมากกว่าการแปลข้อความเพียงอย่างเดียว เนื่องจากคำนึงถึงความแตกต่างทางวัฒนธรรม สำนวน และสำนวนที่อาจไม่ได้เทียบเท่าโดยตรงในภาษาเป้าหมาย นอกจากนี้ยังเกี่ยวข้องกับการดูแลให้มั่นใจว่าการออกแบบและการจัดวางของผลิตภัณฑ์หรือบริการนั้นเหมาะสมกับตลาดเป้าหมาย รวมถึงองค์ประกอบต่างๆ เช่น สี รูปภาพ และสัญลักษณ์ต่างๆ นอกจากนี้ การแปลเป็นภาษาท้องถิ่นอาจเกี่ยวข้องกับการปรับเปลี่ยนฟังก์ชันการทำงานเพื่อให้สอดคล้องกับระเบียบข้อบังคับหรือประเพณีท้องถิ่น

ใน Flutter Localization หมายถึงกระบวนการปรับแอปพลิเคชันให้เข้ากับภาษาและภูมิภาคต่างๆ ทำให้เข้าถึงได้ง่ายขึ้นและเป็นมิตรกับผู้ใช้สำหรับผู้คนทั่วโลก การปรับแอปให้เข้ากับท้องถิ่น นักพัฒนาสามารถให้ผู้ใช้สามารถใช้แอปในภาษาและรูปแบบของตนเองได้ ซึ่งจะช่วยปรับปรุงประสบการณ์ของผู้ใช้และการมีส่วนร่วมโดยรวมได้อย่างมาก

Flutter มีการสนับสนุนในตัวสำหรับการแปลผ่านintlแพ็คเกจ แต่ยังมีแพ็คเกจของบุคคลที่สามอื่น ๆ ที่มีฟีเจอร์และฟังก์ชันเพิ่มเติม หนึ่งในแพ็คเกจดังกล่าวคือeasy_localizationซึ่งทำให้ง่ายต่อการใช้งานการแปลภาษาในแอพ Flutter พร้อมรองรับการทำหลายภาษา การจัดรูปแบบวันที่และเวลา และอื่นๆ

หากต้องการใช้easy_localizationสำหรับการแปลเป็นภาษาท้องถิ่นใน Flutter โดยรองรับภาษาของคุณ (ฉันใช้บางลาเป็นตัวอย่าง) คุณสามารถทำตามขั้นตอนเหล่านี้:

อันดับแรก:

เพิ่มeasy_localizationไปยังโปรเจ็กต์ของคุณ: หากต้องการเพิ่มeasy_localizationไปยังโปรเจ็กต์ Flutter คุณสามารถเพิ่มการอ้างอิงต่อไปนี้ในpubspec.yamlไฟล์ของคุณ:

dependencies:
  easy_localization: ^3.0.0

สร้างไฟล์การแปล: สร้างassets/langไดเร็กทอรีในโครงการของคุณและเพิ่มไฟล์ภาษาบางลา ตัวอย่างเช่น สร้างbn.jsonไฟล์ที่มีเนื้อหาต่อไปนี้:

{
  "welcome_message": "আমার অ্যাপে স্বাগতম!",
  "login_button_text": "লগইন করুন",
  "logout_button_text": "লগআউট করুন"
}

Initialize easy_localization: ในการเริ่มต้นeasy_localizationคุณสามารถใช้EasyLocalizationวิดเจ็ตในmain.dartไฟล์ของคุณ:

import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EasyLocalization.ensureInitialized();
  runApp(
    EasyLocalization(
      supportedLocales: [Locale('bn', 'BD')],
      path: 'assets/langs',
      fallbackLocale: Locale('en', 'US'),
      child: MyApp(),
    ),
  );
}

ประการที่สี่:

ใช้สตริงที่แปลเป็นภาษาท้องถิ่นในแอปของคุณ: หากต้องการใช้สตริงที่แปลเป็นภาษาท้องถิ่นในแอปของคุณ คุณสามารถใช้เมธอดtrจากeasy_localizationแพ็คเกจได้ ตัวอย่างเช่น หากต้องการแสดงชื่อและคำอธิบายบางลา คุณสามารถใช้รหัสต่อไปนี้:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Localization',
      localizationsDelegates: context.localizationDelegates,
      supportedLocales: context.supportedLocales,
      locale: context.locale,
      home: Scaffold(
        appBar: AppBar(
          title: Text(tr('title')),
        ),
        body: Center(
          child: Text('description').tr(),
        ),
      ),
    );
  }
}


//Note
Text('title').tr() //Text widget
Text('title'.tr()) //String
Text(tr('title')) //Static function

ในที่สุด:

ทดสอบการแปลภาษา: สุดท้าย ทดสอบแอปของคุณด้วยการตั้งค่าภาษาต่างๆ เพื่อให้แน่ใจว่าการแปลภาษาทำงานได้อย่างถูกต้อง

ตัวอย่าง:

โดยรวมแล้วeasy_localizationให้โซลูชันที่เรียบง่ายและใช้งานง่ายสำหรับการนำการแปลไปใช้ในท้องถิ่นใน Flutter โดยรองรับภาษาใดก็ได้