Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
725 of 1024 menu
◀ ▶

Класс GlobalMaterialLocalizations

Класс GlobalMaterialLocalizations реализует MaterialLocalizations для десятков языков. В MaterialApp его передают через константу GlobalMaterialLocalizations.delegate в localizationsDelegates. Язык берут из Locale и списка supportedLocales.

Синтаксис

localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, ],

Пример

Давайте включим перевод Material для en и de:

import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; void main() { runApp( MaterialApp( localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: const [ Locale('en'), Locale('de'), ], home: Scaffold( body: Center( child: Text('abcde'), ), ), ), ); }

На экране MaterialApp подхватит переводы; диалоги и date picker получат строки на языке локали.

Пример

Давайте прочитаем okButtonLabel через MaterialLocalizations:

import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; class DelegateProbe extends StatelessWidget { const DelegateProbe({super.key}); @override Widget build(BuildContext context) { var label = MaterialLocalizations.of(context).okButtonLabel; return Text(label); } } void main() { runApp( MaterialApp( locale: const Locale('de'), localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, ], supportedLocales: const [Locale('de')], home: Scaffold( body: Center( child: DelegateProbe(), ), ), ), ); }

На экране по центру немецкая подпись кнопки OK, которую загрузил delegate.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить