Jesway / flutter_translate

Flutter Translate is a fully featured localization / internationalization (i18n) library for Flutter.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Custom locale Malay

mohd-aidi opened this issue · comments

Hi, i am trying to add new locale Malay. When selecting english it works but when select malay the error appears as below.

E/flutter (21751): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FormatException: Unexpected character (at line 16, character 5) E/flutter (21751): }, E/flutter (21751): ^ E/flutter (21751): E/flutter (21751): #0 _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1405:5) E/flutter (21751): #1 _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:929:13) E/flutter (21751): #2 _parseJson (dart:convert-patch/convert_patch.dart:40:10) E/flutter (21751): #3 JsonDecoder.convert (dart:convert/json.dart:506:36) E/flutter (21751): #4 JsonCodec.decode (dart:convert/json.dart:157:41) E/flutter (21751): #5 LocaleService.getLocaleContent (package:flutter_translate/src/services/locale_service.dart:50:17) E/flutter (21751): <asynchronous suspension> E/flutter (21751): #6 LocalizationDelegate.changeLocale (package:flutter_translate/src/delegates/localization_delegate.dart:35:9) E/flutter (21751): <asynchronous suspension> E/flutter (21751): #7 changeLocale (package:flutter_translate/src/utils/utils.dart:36:5) E/flutter (21751): <asynchronous suspension> E/flutter (21751):

this the code that i use
`import 'package:flutter_translate/flutter_translate.dart';
import 'package:mbpj_irest/constants.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class SettingLanguageSelection extends StatefulWidget {
const SettingLanguageSelection({key}) : super(key: key);

@OverRide
_SettingLanguageSelectionState createState() => _SettingLanguageSelectionState();
}

class _SettingLanguageSelectionState extends State {
@OverRide
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
final languages = {
'en',
'my'
};
return Scaffold(
appBar: buildAppBar(),
body: ListView(
children: languages.map((data) {
return
InkWell(
onTap: (){
print(data);
changeLocale(context, data.toString());
Navigator.pop(context);
},
child: Card(
elevation: 4,
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(translate('language.name.${data}'), style: TextStyle(fontSize: 22.0),),
),
),
);

    }).toList(),
  ),
);

}

AppBar buildAppBar() {
return AppBar(
title: Text(translate('button.change_language')),
backgroundColor: kPrimaryColor,
elevation: 0,

);

}
}`

There is probably a syntax error in your json file. Make sure the json syntax is correct for your localization files https://jsonlint.com/

my mistake, my.json have unwanted comma. this behavior not appeared in error stack message.

There is probably a syntax error in your json file. Make sure the json syntax is correct for your localization files https://jsonlint.com/

yes it is! sorry for newbie mistake.