Image Load

Hello world, 

Bahasa dalam aplikasi flutter biasanya sudah default menggunakan bahasa inggris sebagai bahasa internasional dan memang pengembangnya juga adalah orang-orang yang menggunakan bahasa inggris. Lalu bagaimana jika kita ingin mengubah bahasa ke dalam bahasa lain khususnya bahasa Indonesia? Beberapa waktu lalu saya sedang membuat aplikasi dengan ada fitur datepicker di dalamnya. Namun ternyata kebutuhan aplikasinya harus menggunakan bahasa indonesia dalam format tanggalnya.

Seperti contoh di bawah ini datepicker memiliki format tanggal bawaan dengan bahasa inggris (Mon, Jun 28). Lalu bagaimana jika ada kebutuhan dimana tanggal memiliki format bahasa indonesia (Sen, Jun 28).



Langkah pertama kita buat dulu halaman sederhana seperti berikut ini. Saya isi main.dart dengan kode berikut.

main.dart

import 'package:blogsample/views/datepicker.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    debugShowCheckedModeBanner: false,
    title: "My App",
    home: new DatePickerPage(),
  ));
}

datepicker.dart

import 'package:flutter/material.dart';

class DatePickerPage extends StatefulWidget {
  const DatePickerPage({Key key}) : super(key: key);

  @override
  _DatePickerPageState createState() => _DatePickerPageState();
}

class _DatePickerPageState extends State {
  DateTime tgl = DateTime.now();

  pilihTanggal(BuildContext context) async {
    final DateTime picked = await showDatePicker(
      context: context,
      initialDate: tgl, // Refer step 1
      firstDate: DateTime(2000),
      lastDate: DateTime(3000),
    );
    if (picked != null && picked != tgl)
      setState(() {
        tgl = picked;
      });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Tanggal'),
      ),
      body: Center(
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(tgl.toString()),
            RaisedButton(
              onPressed: () {
                pilihTanggal(context);
              },
              child: Text("Date Picker"),
            ),
          ],
        ),
      ),
    );
  }
}


Selanjutnya kita masuk ke tahap untuk mengubah bahasa. Pertama kita tambahkan pada pubspec.yaml

dependencies:
  # flutter:
  flutter_localizations:
    sdk: flutter


Kemudian pada main.dart tambahkan kode berikut.

import 'package:blogsample/views/datepicker.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

void main() {
  runApp(
    new MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: [
        const Locale('id', 'ID'),
      ],
      debugShowCheckedModeBanner: false,
      title: "My App",
      home: new DatePickerPage(),
    ),
  );
}

Begitulah kira-kira cara mengubah bahasa dengan Locale. Untuk mengubah bahasa ke bahasa lain kita tinggal mengatur kode locale nya saja.

Selamat mencoba :)