Skip to content

Instantly share code, notes, and snippets.

@freedive-cebu30
Last active May 21, 2020 16:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save freedive-cebu30/78fb386b9b88785e443b5513fd5d1588 to your computer and use it in GitHub Desktop.
Save freedive-cebu30/78fb386b9b88785e443b5513fd5d1588 to your computer and use it in GitHub Desktop.
flutter_localizations_1
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'i18n.dart';
import 'i18n_delegate.dart';
void main() {
runApp(
ExchangeShop(),
);
}
// このclassでWrapしています
class ExchangeShop extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: [
const I18nDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: [
const Locale("en", "US"),
const Locale("ja", "JP"),
],
home: ExchangeShopApp(),
);
}
}
// titleが多言語化対応できています。
class ExchangeShopApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Center(child: Text(I18n.of(context).title)),
),
body: MapCebu(),
);
}
}
// このclassから、本来の自分の実装を始めていきます。
class MapCebu extends StatefulWidget {
@override
State<MapCebu> createState() => MapCebuState();
}
class MapCebuState extends State<MapCebu> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
// 現状のLocaleを取得しています
// locale.toString() == 'ja_JP'という風に使えます
Locale _locale = Localizations.localeOf(context);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment