[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internationalization with JSON - Exception caught by widgets library #17693

Closed
NTMS2017 opened this issue May 17, 2018 · 3 comments
Closed

Internationalization with JSON - Exception caught by widgets library #17693

NTMS2017 opened this issue May 17, 2018 · 3 comments

Comments

@NTMS2017
Copy link
NTMS2017 commented May 17, 2018

INTERNATIONALISATION with JSON
- ERROR EXCEPTION CAUGHT BY WIDGETS LIBRARY

**ERROR:**
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
Built build/app/outputs/apk/debug/app-debug.apk (30.7MB).
I/FlutterActivityDelegate(24064): onResume setting current activity to this
Syncing files to device Android SDK built for x86...
D/        (24064): HostConnection::get() New Host Connection established 0x9d119840, tid 24082
D/EGL_emulation(24064): eglMakeCurrent: 0x9b637fa0: ver 3 0 (tinfo 0x9d1032d0)
I/flutter (24064): Load tr
I/flutter (24064): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (24064): The following assertion was thrown building MyPage(dirty):
I/flutter (24064): 'package:flutter/src/widgets/text.dart': Failed assertion: line 213 pos 15: 'data != null': is not
I/flutter (24064): true.
I/flutter (24064): 
I/flutter (24064): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (24064): more information in this error message to help you determine and fix the underlying cause.
I/flutter (24064): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (24064):   https://github.com/flutter/flutter/issues/new
I/flutter (24064): 
I/flutter (24064): When the exception was thrown, this was the stack:
I/flutter (24064): #2      new Text (package:flutter/src/widgets/text.dart)
I/flutter (24064): #3      MyPage.build (file:///Users/niyazitoros/IdeaProjects/capital_localization/lib/main.dart:88:16)
I/flutter (24064): #4      StatelessElement.build (package:flutter/src/widgets/framework.dart:3687:28)
I/flutter (24064): #5      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3634:15)
I/flutter (24064): #6      Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #7      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #10     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #11     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #12     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #13     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #14     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #15     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #16     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #17     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #18     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #19     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #20     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #21     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #22     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #23     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #24     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #25     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #26     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #27     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #28     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #29     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #30     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #31     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #32     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #33     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #34     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #35     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #36     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #37     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #38     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #39     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #40     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #41     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #42     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #43     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #44     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #45     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #46     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #47     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #48     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #49     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #50     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #51     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #52     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #53     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #54     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #55     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #56     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #57     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #58     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #59     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #60     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #61     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #62     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #63     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #64     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #65     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #66     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #67     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #68     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #69     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #70     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #72     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #73     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #74     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #75     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #76     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #77     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #78     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #79     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #80     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #81     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #82     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #83     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #84     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #85     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #86     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #87     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #88     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #89     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #90     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #91     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #92     Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #93     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #94     Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #95     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #96     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #97     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #98     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #99     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4751:32)
I/flutter (24064): #100    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #101    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #102    _TheatreElement.mount (package:flutter/src/widgets/overlay.dart:493:16)
I/flutter (24064): #103    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #104    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #105    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #106    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #107    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #108    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #109    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #110    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #111    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #112    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #113    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #114    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #115    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #116    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #117    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #118    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #119    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #120    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #121    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #122    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #123    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #124    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #125    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #126    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #127    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #128    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #129    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #130    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #131    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #132    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #133    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #134    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #135    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #136    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #137    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3761:11)
I/flutter (24064): #138    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #139    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #140    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #141    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #142    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #143    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #144    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #145    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #146    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #147    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4646:14)
I/flutter (24064): #148    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #149    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #150    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #151    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #152    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #153    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #154    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #155    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #156    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #157    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #158    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #159    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #160    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #161    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #162    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #163    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #164    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #165    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #166    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #167    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #168    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #169    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #170    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #171    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #172    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #173    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #174    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #175    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #176    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3614:5)
I/flutter (24064): #177    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3609:5)
I/flutter (24064): #178    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2899:14)
I/flutter (24064): #179    Element.updateChild (package:flutter/src/widgets/framework.dart:2702:12)
I/flutter (24064): #180    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3645:16)
I/flutter (24064): #181    Element.rebuild (package:flutter/src/widgets/framework.dart:3487:5)
I/flutter (24064): #182    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2234:33)
I/flutter (24064): #183    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:626:20)
I/flutter (24064): #184    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter (24064): #185    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (24064): #186    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (24064): #187    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (24064): #188    _invoke (dart:ui/hooks.dart:120:13)
I/flutter (24064): #189    _drawFrame (dart:ui/hooks.dart:109:3)
I/flutter (24064): (elided 2 frames from class _AssertionError)
I/flutter (24064): ═════════════════════════════════════════════

FULL SOURCE:

import 'dart:async';
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
//import 'package:capital_localization/capital_localization.dart';
//import 'package:capital_localization/capital_localization_delegate.dart';


class DemoLocalizations {
	DemoLocalizations(this.locale);

	final Locale locale;

	static DemoLocalizations of(BuildContext context) {
		return Localizations.of<DemoLocalizations>(context, DemoLocalizations);
	}

	Map<String, dynamic> _sentences;

	Future<bool> load() async {
		String data = await rootBundle.loadString('resources/lang/${this.locale.languageCode}.json');
		this._sentences = json.decode(data);
		return true;
	}

	String trans(String key) {
		return this._sentences[key];
	}
}

class DemoLocalizationsDelegate extends LocalizationsDelegate<DemoLocalizations> {
	const DemoLocalizationsDelegate();

	@override
	bool isSupported(Locale locale) => ['tr', 'en', 'ru'].contains(locale.languageCode);

	@override
	Future<DemoLocalizations> load(Locale locale) async {
		DemoLocalizations localizations = new DemoLocalizations(locale);
		await localizations.load();

		print("Load ${locale.languageCode}");

		return localizations;
	}

	@override
	bool shouldReload(DemoLocalizationsDelegate old) => false;
}


class MyApp extends StatelessWidget {
	@override
	Widget build(BuildContext context) {
		return new MaterialApp(
			supportedLocales: [
				const Locale('tr', ''),
				const Locale('en', ''),
				const Locale('ru', ''),
			],
			localizationsDelegates: [
				const DemoLocalizationsDelegate(),
				GlobalMaterialLocalizations.delegate,
				GlobalWidgetsLocalizations.delegate
			],
			localeResolutionCallback: (Locale locale, Iterable<Locale> supportedLocales) {
				for (Locale supportedLocale in supportedLocales) {
					if (supportedLocale.languageCode == locale.languageCode || supportedLocale.countryCode == locale.countryCode) {
						return supportedLocale;
					}
				}

				return supportedLocales.first;
			},
			title: 'Flutter Internationalization',
			home: new MyPage(),
		);
	}
}

class MyPage extends StatelessWidget {
	@override
	Widget build(BuildContext context) {
		return new Scaffold(
			body: new Center(
				child: new Text(
						DemoLocalizations.of(context).trans('hello_world')
				),
			),
		);
	}
}

void main() {
	runApp(new MyApp());
}

pubspec.yaml

name: internationalization
description: A new Flutter project with internationalization by json.

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.0

dev_dependencies:
  flutter_test:
    sdk: flutter


# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - resources/lang/tr.json
    - resources/lang/en.json

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.io/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.io/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies, 
  # see https://flutter.io/custom-fonts/#from-packages

project folder ---> resources folder ---> lang folder has 3 json file as shown below:

en.json

{
  "merhaba_dunya": "Hello World"
}

ru.json

{
  "merhaba_dunya": "Привет мир"
}

tr.json

{
  "merhaba_dunya": "Merhaba Dünya"
}
@zoechi zoechi changed the title INTERNATIONALISATION with JSON ERROR EXCEPTION CAUGHT BY WIDGETS LIBRARY Internationalization with JSON - Exception caught by widgets library Jul 20, 2018
@zoechi
Copy link
Contributor
zoechi commented Jul 20, 2018

Sorry for the late response. Is this still an issue?

@zoechi
Copy link
Contributor
zoechi commented Jul 20, 2018
DemoLocalizations.of(context).trans('hello_world')

won't find
merhaba_dunya

it should instead be

DemoLocalizations.of(context).trans('merhaba_dunya')

@zoechi zoechi closed this as completed Jul 20, 2018
@github-actions
Copy link
github-actions bot commented Sep 2, 2021

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 2, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants