Класс GlobalCupertinoLocalizations
Класс GlobalCupertinoLocalizations переводит
подписи Cupertino date picker, navigation bar и диалогов.
Delegate GlobalCupertinoLocalizations.delegate
ставят в localizationsDelegates
рядом с Material и widgets делегатами.
Язык выбирают через
Locale.
Синтаксис
localizationsDelegates: const [
GlobalCupertinoLocalizations.delegate,
],
Пример
Давайте откроем CupertinoApp с тремя делегатами:
import 'package:flutter/cupertino.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
void main()
{
runApp(
CupertinoApp(
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: const [Locale('en')],
home: CupertinoPageScaffold(
navigationBar: const CupertinoNavigationBar(
middle: Text('abcde'),
),
child: Center(
child: Text('12345'),
),
),
),
);
}
На экране iOS-стиль с заголовком 'abcde'; строки Cupertino берутся из delegate.
Пример
Давайте прочитаем cancelButtonLabel через CupertinoLocalizations:
import 'package:flutter/cupertino.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
class CupertinoCancel extends StatelessWidget
{
const CupertinoCancel({super.key});
@override
Widget build(BuildContext context)
{
var loc = CupertinoLocalizations.of(context);
return Text(loc.cancelButtonLabel);
}
}
void main()
{
runApp(
CupertinoApp(
localizationsDelegates: const [
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: const [Locale('en')],
home: CupertinoPageScaffold(
child: Center(
child: CupertinoCancel(),
),
),
),
);
}
На экране по центру локализованная подпись Cancel для Cupertino.
Смотрите также
-
класс
GlobalMaterialLocalizations,
делегатMaterialдля смешанных приложений -
класс
GlobalWidgetsLocalizations,
делегат базовых виджетов -
виджет
Localizations,
куда складывают загруженные переводы -
класс
MaterialLocalizations,
аналогMaterialдля Cupertino строк