Flutter 全球材料局部化和颤振局部化的意义是什么?
缔约国声明如下: 要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为Flatter_localizations的单独包 但是,我不明白flatter_本地化的意义是什么,如果我想添加对其他语言的支持,为什么我必须[…]将其包括在我的应用程序中 如果我看一看,这就是Flatter_本地化显然与Widget和Cupertino版本一起添加的内容,我只能找到一堆看似随机的字符串,我从未见过这些字符串被翻译成一堆语言。 我从未在我的颤振应用程序中见过这些字符串 如果我想国际化我的应用程序,我真的需要包括flatter_本地化吗?例如,默认情况下,这些字符串是否在任何地方使用?实际上没有 这取决于您想要如何实现国际化 您可以通过以下方式获取当前本地数据: ///因为颤振问题 /// https://github.com/flutter/flutter/issues/38323 ///所以返回'locals[1]`而不是'window.locale'; var locals=window.locales; var local=locals.length>1?locals[1]:window.locale; 当前颤振定位的好处 我认为这个库的好处是它还可以处理 相反 如果只需要处理字符串的翻译,则无需处理文本方向LTRLEFT到右侧或rtlright到左侧: 您可以通过上面返回的值来处理字符串:Flutter 全球材料局部化和颤振局部化的意义是什么?,flutter,Flutter,缔约国声明如下: 要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为Flatter_localizations的单独包 但是,我不明白flatter_本地化的意义是什么,如果我想添加对其他语言的支持,为什么我必须[…]将其包括在我的应用程序中 如果我看一看,这就是Flatter_本地化显然与Widget和Cupertino版本一起添加的内容,我只能找到一堆看似随机的字符串,我从未见过这些字符串被翻译成一堆语言。 我从未在我的颤振应用程序中见过这些字符串 如果我
abstract class Strings {
String hello;
factory Strings() // => instance;
{
var locals = window.locales;
var local = (locals.length > 1) ? locals[1] : window.locale;
if (local != null) {
// log('Strings.load(${local.languageCode})');
if (local.languageCode == 'zh') {
return _StringsZH.instance;
}
}
return _StringsEN.instance;
}
}
class _StringsEN implements Strings {
String hello = 'Hello 2019';
_StringsEN._();
static _StringsEN instance = _StringsEN._();
}
class _StringsZH implements Strings {
String hello = '你好 2019';
_StringsZH._();
static _StringsZH instance = _StringsZH._();
}
像这样使用它
你好,;