fix localization
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
## 1.3.3
|
||||
|
||||
- Fix a bug in localization
|
||||
|
||||
## 1.3.2
|
||||
|
||||
- Add `enable` property in order to use the disable the button
|
||||
|
||||
18
README.md
18
README.md
@@ -46,6 +46,24 @@ void _onCountryChange(CountryCode countryCode) {
|
||||
|
||||
```
|
||||
|
||||
### i18n
|
||||
|
||||
Just add the `CountryLocalizations.delegate` in the list of your app delegates
|
||||
|
||||
```dart
|
||||
return new MaterialApp(
|
||||
supportedLocales: [
|
||||
Locale('en'),
|
||||
Locale('it'),
|
||||
Locale('en'),
|
||||
],
|
||||
localizationsDelegates: [
|
||||
CountryLocalizations.delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
],
|
||||
```
|
||||
|
||||
## Contributions
|
||||
|
||||
Contributions of any kind are more than welcome! Feel free to fork and improve country_code_picker in any way you want, make a pull request, or open an issue.
|
||||
|
||||
@@ -83,7 +83,7 @@ class _MyAppState extends State<MyApp> {
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: CountryCodePicker(
|
||||
enabled: false,
|
||||
onChanged: print,
|
||||
onChanged: (c) => c.name,
|
||||
initialSelection: 'TF',
|
||||
showCountryOnly: true,
|
||||
showOnlyCountryWhenClosed: true,
|
||||
|
||||
@@ -41,6 +41,12 @@ class CountryCode {
|
||||
return CountryCode.fromJson(jsonCode);
|
||||
}
|
||||
|
||||
CountryCode localize(BuildContext context) {
|
||||
return this
|
||||
..name =
|
||||
CountryLocalizations.of(context)?.translate(this.code) ?? this.name;
|
||||
}
|
||||
|
||||
factory CountryCode.fromJson(Map<String, dynamic> json) {
|
||||
return CountryCode(
|
||||
name: json['name'],
|
||||
|
||||
@@ -90,7 +90,7 @@ class _CountryCodePickerState extends State<CountryCodePicker> {
|
||||
if (widget.builder != null)
|
||||
_widget = InkWell(
|
||||
onTap: _showSelectionDialog,
|
||||
child: widget.builder(selectedItem),
|
||||
child: widget.builder(selectedItem.localize(context)),
|
||||
);
|
||||
else {
|
||||
_widget = FlatButton(
|
||||
@@ -200,13 +200,13 @@ class _CountryCodePickerState extends State<CountryCodePicker> {
|
||||
|
||||
void _publishSelection(CountryCode e) {
|
||||
if (widget.onChanged != null) {
|
||||
widget.onChanged(e);
|
||||
widget.onChanged(e.localize(context));
|
||||
}
|
||||
}
|
||||
|
||||
void _onInit(CountryCode initialData) {
|
||||
void _onInit(CountryCode e) {
|
||||
if (widget.onInit != null) {
|
||||
widget.onInit(initialData);
|
||||
widget.onInit(e.localize(context));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user