diff --git a/README.md b/README.md index b5dcec5..14e161c 100644 --- a/README.md +++ b/README.md @@ -62,5 +62,5 @@ This project is licensed under the [MIT License](./LICENSE). ### 👨‍💻 Our Contributors - + diff --git a/lib/app/api/api.dart b/lib/app/api/api.dart index eccd99a..f2f6715 100644 --- a/lib/app/api/api.dart +++ b/lib/app/api/api.dart @@ -7,8 +7,8 @@ import 'package:rain/app/data/db.dart'; import 'package:rain/main.dart'; class WeatherAPI { - final Dio dio = Dio() - ..options.baseUrl = 'https://api.open-meteo.com/v1/forecast?'; + final Dio dio = + Dio()..options.baseUrl = 'https://api.open-meteo.com/v1/forecast?'; final Dio dioLocation = Dio(); static const String _weatherParams = @@ -41,14 +41,25 @@ class WeatherAPI { } } - Future getWeatherCard(double lat, double lon, String city, - String district, String timezone) async { + Future getWeatherCard( + double lat, + double lon, + String city, + String district, + String timezone, + ) async { final String urlWeather = _buildWeatherUrl(lat, lon); try { Response response = await dio.get(urlWeather); WeatherDataApi weatherData = WeatherDataApi.fromJson(response.data); return _mapWeatherDataToCard( - weatherData, lat, lon, city, district, timezone); + weatherData, + lat, + lon, + city, + district, + timezone, + ); } on DioException catch (e) { if (kDebugMode) { print(e); @@ -124,8 +135,14 @@ class WeatherAPI { ); } - WeatherCard _mapWeatherDataToCard(WeatherDataApi weatherData, double lat, - double lon, String city, String district, String timezone) { + WeatherCard _mapWeatherDataToCard( + WeatherDataApi weatherData, + double lat, + double lon, + String city, + String district, + String timezone, + ) { return WeatherCard( time: weatherData.hourly.time, temperature2M: weatherData.hourly.temperature2M, diff --git a/lib/app/api/city_api.dart b/lib/app/api/city_api.dart index 55a3b6a..9712e75 100644 --- a/lib/app/api/city_api.dart +++ b/lib/app/api/city_api.dart @@ -1,15 +1,14 @@ class CityApi { - CityApi({ - required this.results, - }); + CityApi({required this.results}); List results; factory CityApi.fromJson(Map json) => CityApi( - results: json['results'] == null + results: + json['results'] == null ? List.empty() : List.from(json['results'].map((x) => Result.fromJson(x))), - ); + ); } class Result { @@ -26,9 +25,9 @@ class Result { double longitude; factory Result.fromJson(Map json) => Result( - admin1: json['admin1'] ?? '', - name: json['name'], - latitude: json['latitude'], - longitude: json['longitude'], - ); + admin1: json['admin1'] ?? '', + name: json['name'], + latitude: json['latitude'], + longitude: json['longitude'], + ); } diff --git a/lib/app/controller/controller.dart b/lib/app/controller/controller.dart index b4e6adf..3e28c5e 100644 --- a/lib/app/controller/controller.dart +++ b/lib/app/controller/controller.dart @@ -1,7 +1,6 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_timezone/flutter_timezone.dart'; import 'package:geocoding/geocoding.dart'; import 'package:geolocator/geolocator.dart'; @@ -53,15 +52,14 @@ class WeatherController extends GetxController { @override void onInit() { - weatherCards - .assignAll(isar.weatherCards.where().sortByIndex().findAllSync()); + weatherCards.assignAll( + isar.weatherCards.where().sortByIndex().findAllSync(), + ); super.onInit(); } - Future determinePosition() async { - LocationPermission permission; - - permission = await Geolocator.checkPermission(); + Future _determinePosition() async { + LocationPermission permission = await Geolocator.checkPermission(); if (permission == LocationPermission.denied) { permission = await Geolocator.requestPermission(); if (permission == LocationPermission.denied) { @@ -71,7 +69,8 @@ class WeatherController extends GetxController { if (permission == LocationPermission.deniedForever) { return Future.error( - 'Location permissions are permanently denied, we cannot request permissions.'); + 'Location permissions are permanently denied, we cannot request permissions.', + ); } return await Geolocator.getCurrentPosition(); } @@ -80,25 +79,26 @@ class WeatherController extends GetxController { if (settings.location) { await getCurrentLocation(); } else { - if ((isar.locationCaches.where().findAllSync()).isNotEmpty) { - LocationCache locationCity = - (isar.locationCaches.where().findFirstSync())!; - await getLocation(locationCity.lat!, locationCity.lon!, - locationCity.district!, locationCity.city!); + final locationCity = isar.locationCaches.where().findFirstSync(); + if (locationCity != null) { + await getLocation( + locationCity.lat!, + locationCity.lon!, + locationCity.district!, + locationCity.city!, + ); } } } Future getCurrentLocation() async { - bool serviceEnabled = await Geolocator.isLocationServiceEnabled(); - if (!(await isOnline.value)) { showSnackBar(content: 'no_inter'.tr); await readCache(); return; } - if (!serviceEnabled) { + if (!await Geolocator.isLocationServiceEnabled()) { showSnackBar( content: 'no_location'.tr, onPressed: () => Geolocator.openLocationSettings(), @@ -107,70 +107,73 @@ class WeatherController extends GetxController { return; } - if ((isar.mainWeatherCaches.where().findAllSync()).isNotEmpty) { + if (isar.mainWeatherCaches.where().findAllSync().isNotEmpty) { await readCache(); return; } - Position position = await determinePosition(); - List placemarks = - await placemarkFromCoordinates(position.latitude, position.longitude); - Placemark place = placemarks[0]; + final position = await _determinePosition(); + final placemarks = await placemarkFromCoordinates( + position.latitude, + position.longitude, + ); + final place = placemarks[0]; _latitude.value = position.latitude; _longitude.value = position.longitude; - _district.value = '${place.administrativeArea}'; - _city.value = '${place.locality}'; + _district.value = place.administrativeArea ?? ''; + _city.value = place.locality ?? ''; - _mainWeather.value = - await WeatherAPI().getWeatherData(_latitude.value, _longitude.value); + _mainWeather.value = await WeatherAPI().getWeatherData( + _latitude.value, + _longitude.value, + ); notificationCheck(); - await writeCache(); await readCache(); } Future getCurrentLocationSearch() async { - bool serviceEnabled = await Geolocator.isLocationServiceEnabled(); - double lat, lon; - String city, district; - if (!(await isOnline.value)) { showSnackBar(content: 'no_inter'.tr); } - if (!serviceEnabled) { + if (!await Geolocator.isLocationServiceEnabled()) { showSnackBar( content: 'no_location'.tr, onPressed: () => Geolocator.openLocationSettings(), ); } - Position position = await determinePosition(); - List placemarks = - await placemarkFromCoordinates(position.latitude, position.longitude); - Placemark place = placemarks[0]; + final position = await _determinePosition(); + final placemarks = await placemarkFromCoordinates( + position.latitude, + position.longitude, + ); + final place = placemarks[0]; - lat = position.latitude; - lon = position.longitude; - city = '${place.administrativeArea}'; - district = '${place.locality}'; - - Map location = {'lat': lat, 'lon': lon, 'city': city, 'district': district}; - - return location; + return { + 'lat': position.latitude, + 'lon': position.longitude, + 'city': place.administrativeArea ?? '', + 'district': place.locality ?? '', + }; } - Future getLocation(double latitude, double longitude, String district, - String locality) async { + Future getLocation( + double latitude, + double longitude, + String district, + String locality, + ) async { if (!(await isOnline.value)) { showSnackBar(content: 'no_inter'.tr); await readCache(); return; } - if ((isar.mainWeatherCaches.where().findAllSync()).isNotEmpty) { + if (isar.mainWeatherCaches.where().findAllSync().isNotEmpty) { await readCache(); return; } @@ -180,11 +183,12 @@ class WeatherController extends GetxController { _district.value = district; _city.value = locality; - _mainWeather.value = - await WeatherAPI().getWeatherData(_latitude.value, _longitude.value); + _mainWeather.value = await WeatherAPI().getWeatherData( + _latitude.value, + _longitude.value, + ); notificationCheck(); - await writeCache(); await readCache(); } @@ -201,10 +205,14 @@ class WeatherController extends GetxController { _mainWeather.value = mainWeatherCache; _location.value = locationCache; - hourOfDay.value = - getTime(_mainWeather.value.time!, _mainWeather.value.timezone!); - dayOfNow.value = - getDay(_mainWeather.value.timeDaily!, _mainWeather.value.timezone!); + hourOfDay.value = getTime( + _mainWeather.value.time!, + _mainWeather.value.timezone!, + ); + dayOfNow.value = getDay( + _mainWeather.value.timeDaily!, + _mainWeather.value.timezone!, + ); if (Platform.isAndroid) { Workmanager().registerPeriodicTask( @@ -235,16 +243,10 @@ class WeatherController extends GetxController { ); isar.writeTxnSync(() { - final mainWeatherCachesIsEmpty = - (isar.mainWeatherCaches.where().findAllSync()).isEmpty; - final locationCachesIsEmpty = - (isar.locationCaches.where().findAllSync()).isEmpty; - - if (mainWeatherCachesIsEmpty) { + if (isar.mainWeatherCaches.where().findAllSync().isEmpty) { isar.mainWeatherCaches.putSync(_mainWeather.value); } - - if (locationCachesIsEmpty) { + if (isar.locationCaches.where().findAllSync().isEmpty) { isar.locationCaches.putSync(locationCaches); } }); @@ -261,7 +263,7 @@ class WeatherController extends GetxController { .timestampLessThan(cacheExpiry) .deleteAllSync(); }); - if ((isar.mainWeatherCaches.where().findAllSync()).isEmpty) { + if (isar.mainWeatherCaches.where().findAllSync().isEmpty) { await flutterLocalNotificationsPlugin.cancelAll(); } } @@ -271,31 +273,39 @@ class WeatherController extends GetxController { return; } - bool serviceEnabled = await Geolocator.isLocationServiceEnabled(); + final serviceEnabled = await Geolocator.isLocationServiceEnabled(); await flutterLocalNotificationsPlugin.cancelAll(); isar.writeTxnSync(() { if (!settings.location) { isar.mainWeatherCaches.where().deleteAllSync(); } - if ((settings.location && serviceEnabled) || changeCity) { + if (settings.location && serviceEnabled || changeCity) { isar.mainWeatherCaches.where().deleteAllSync(); isar.locationCaches.where().deleteAllSync(); } }); } - // Card Weather Future addCardWeather( - double latitude, double longitude, String city, String district) async { + double latitude, + double longitude, + String city, + String district, + ) async { if (!(await isOnline.value)) { showSnackBar(content: 'no_inter'.tr); return; } - String tz = tzmap.latLngToTimezoneString(latitude, longitude); - _weatherCard.value = await WeatherAPI() - .getWeatherCard(latitude, longitude, city, district, tz); + final tz = tzmap.latLngToTimezoneString(latitude, longitude); + _weatherCard.value = await WeatherAPI().getWeatherCard( + latitude, + longitude, + city, + district, + tz, + ); isar.writeTxnSync(() { weatherCards.add(_weatherCard.value); isar.weatherCards.putSync(_weatherCard.value); @@ -303,21 +313,27 @@ class WeatherController extends GetxController { } Future updateCacheCard(bool refresh) async { - List weatherCard = refresh - ? isar.weatherCards.where().sortByIndex().findAllSync() - : isar.weatherCards - .filter() - .timestampLessThan(cacheExpiry) - .sortByIndex() - .findAllSync(); + final weatherCard = + refresh + ? isar.weatherCards.where().sortByIndex().findAllSync() + : isar.weatherCards + .filter() + .timestampLessThan(cacheExpiry) + .sortByIndex() + .findAllSync(); - if ((!(await isOnline.value)) || weatherCard.isEmpty) { + if (!(await isOnline.value) || weatherCard.isEmpty) { return; } for (var oldCard in weatherCard) { - var updatedCard = await WeatherAPI().getWeatherCard(oldCard.lat!, - oldCard.lon!, oldCard.city!, oldCard.district!, oldCard.timezone!); + final updatedCard = await WeatherAPI().getWeatherCard( + oldCard.lat!, + oldCard.lon!, + oldCard.city!, + oldCard.district!, + oldCard.timezone!, + ); isar.writeTxnSync(() { oldCard ..time = updatedCard.time @@ -358,8 +374,8 @@ class WeatherController extends GetxController { isar.weatherCards.putSync(oldCard); - var newCard = oldCard; - int oldIdx = weatherCard.indexOf(oldCard); + final newCard = oldCard; + final oldIdx = weatherCard.indexOf(oldCard); weatherCards[oldIdx] = newCard; weatherCards.refresh(); }); @@ -428,35 +444,26 @@ class WeatherController extends GetxController { } int getTime(List time, String timezone) { - int getTime = 0; - for (var i = 0; i < time.length; i++) { - if (tz.TZDateTime.now(tz.getLocation(timezone)).hour == - DateTime.parse(time[i]).hour && - tz.TZDateTime.now(tz.getLocation(timezone)).day == - DateTime.parse(time[i]).day) { - getTime = i; - } - } - return getTime; + return time.indexWhere((t) { + final dateTime = DateTime.parse(t); + return tz.TZDateTime.now(tz.getLocation(timezone)).hour == + dateTime.hour && + tz.TZDateTime.now(tz.getLocation(timezone)).day == dateTime.day; + }); } int getDay(List time, String timezone) { - int getDay = 0; - for (var i = 0; i < time.length; i++) { - if (tz.TZDateTime.now(tz.getLocation(timezone)).day == time[i].day) { - getDay = i; - } - } - return getDay; + return time.indexWhere( + (t) => tz.TZDateTime.now(tz.getLocation(timezone)).day == t.day, + ); } TimeOfDay timeConvert(String normTime) { - int hh = 0; - if (normTime.endsWith('PM')) hh = 12; - normTime = normTime.split(' ')[0]; + final hh = normTime.endsWith('PM') ? 12 : 0; + final timeParts = normTime.split(' ')[0].split(':'); return TimeOfDay( - hour: hh + int.parse(normTime.split(':')[0]) % 24, - minute: int.parse(normTime.split(':')[1]) % 60, + hour: hh + int.parse(timeParts[0]) % 24, + minute: int.parse(timeParts[1]) % 60, ); } @@ -464,8 +471,8 @@ class WeatherController extends GetxController { final directory = await getTemporaryDirectory(); final imagePath = '${directory.path}/$icon'; - final ByteData data = await rootBundle.load('assets/images/$icon'); - final List bytes = data.buffer.asUint8List(); + final data = await rootBundle.load('assets/images/$icon'); + final bytes = data.buffer.asUint8List(); await File(imagePath).writeAsBytes(bytes); @@ -473,12 +480,12 @@ class WeatherController extends GetxController { } void notification(MainWeatherCache mainWeatherCache) async { - DateTime now = DateTime.now(); - int startHour = timeConvert(timeStart).hour; - int endHour = timeConvert(timeEnd).hour; + final now = DateTime.now(); + final startHour = timeConvert(timeStart).hour; + final endHour = timeConvert(timeEnd).hour; for (var i = 0; i < mainWeatherCache.time!.length; i += timeRange) { - DateTime notificationTime = DateTime.parse(mainWeatherCache.time![i]); + final notificationTime = DateTime.parse(mainWeatherCache.time![i]); if (notificationTime.isAfter(now) && notificationTime.hour >= startHour && @@ -505,7 +512,7 @@ class WeatherController extends GetxController { void notificationCheck() async { if (settings.notifications) { - final List pendingNotificationRequests = + final pendingNotificationRequests = await flutterLocalNotificationsPlugin.pendingNotificationRequests(); if (pendingNotificationRequests.isEmpty) { notification(_mainWeather.value); @@ -513,7 +520,7 @@ class WeatherController extends GetxController { } } - void reorder(oldIndex, newIndex) { + void reorder(int oldIndex, int newIndex) { if (newIndex > oldIndex) { newIndex -= 1; } @@ -533,15 +540,11 @@ class WeatherController extends GetxController { isar.settings.putSync(settings); }); - return Future.wait([ - HomeWidget.saveWidgetData( - 'background_color', - color, - ), + final results = await Future.wait([ + HomeWidget.saveWidgetData('background_color', color), HomeWidget.updateWidget(androidName: androidWidgetName), - ]).then((value) { - return !value.contains(false); - }); + ]); + return !results.contains(false); } Future updateWidgetTextColor(String color) async { @@ -550,15 +553,11 @@ class WeatherController extends GetxController { isar.settings.putSync(settings); }); - return Future.wait([ - HomeWidget.saveWidgetData( - 'text_color', - color, - ), + final results = await Future.wait([ + HomeWidget.saveWidgetData('text_color', color), HomeWidget.updateWidget(androidName: androidWidgetName), - ]).then((value) { - return !value.contains(false); - }); + ]); + return !results.contains(false); } Future updateWidget() async { @@ -573,34 +572,36 @@ class WeatherController extends GetxController { WeatherCardSchema, ], directory: (await getApplicationSupportDirectory()).path); - MainWeatherCache? mainWeatherCache; - mainWeatherCache = isarWidget.mainWeatherCaches.where().findFirstSync(); + final mainWeatherCache = + isarWidget.mainWeatherCaches.where().findFirstSync(); if (mainWeatherCache == null) return false; - int hour = getTime(mainWeatherCache.time!, mainWeatherCache.timezone!); - int day = getDay(mainWeatherCache.timeDaily!, mainWeatherCache.timezone!); + final hour = getTime(mainWeatherCache.time!, mainWeatherCache.timezone!); + final day = getDay(mainWeatherCache.timeDaily!, mainWeatherCache.timezone!); - return Future.wait([ + final results = await Future.wait([ HomeWidget.saveWidgetData( - 'weather_icon', - await getLocalImagePath(StatusWeather().getImageNotification( + 'weather_icon', + await getLocalImagePath( + StatusWeather().getImageNotification( mainWeatherCache.weathercode![hour], mainWeatherCache.time![hour], mainWeatherCache.sunrise![day], mainWeatherCache.sunset![day], - ))), + ), + ), + ), HomeWidget.saveWidgetData( 'weather_degree', '${mainWeatherCache.temperature2M?[hour].round()}°', ), HomeWidget.updateWidget(androidName: androidWidgetName), - ]).then((value) { - return !value.contains(false); - }); + ]); + return !results.contains(false); } void urlLauncher(String uri) async { - final Uri url = Uri.parse(uri); + final url = Uri.parse(uri); if (!await launchUrl(url, mode: LaunchMode.externalApplication)) { throw Exception('Could not launch $url'); } diff --git a/lib/app/data/db.dart b/lib/app/data/db.dart index 38c43f4..332dc35 100644 --- a/lib/app/data/db.dart +++ b/lib/app/data/db.dart @@ -105,43 +105,43 @@ class MainWeatherCache { }); Map toJson() => { - 'id': id, - 'time': time, - 'weathercode': weathercode, - 'temperature2M': temperature2M, - 'apparentTemperature': apparentTemperature, - 'relativehumidity2M': relativehumidity2M, - 'precipitation': precipitation, - 'rain': rain, - 'surfacePressure': surfacePressure, - 'visibility': visibility, - 'evapotranspiration': evapotranspiration, - 'windspeed10M': windspeed10M, - 'winddirection10M': winddirection10M, - 'windgusts10M': windgusts10M, - 'cloudcover': cloudcover, - 'uvIndex': uvIndex, - 'dewpoint2M': dewpoint2M, - 'precipitationProbability': precipitationProbability, - 'shortwaveRadiation': shortwaveRadiation, - 'timeDaily': timeDaily, - 'weathercodeDaily': weathercodeDaily, - 'temperature2MMax': temperature2MMax, - 'temperature2MMin': temperature2MMin, - 'apparentTemperatureMax': apparentTemperatureMax, - 'apparentTemperatureMin': apparentTemperatureMin, - 'sunrise': sunrise, - 'sunset': sunset, - 'precipitationSum': precipitationSum, - 'precipitationProbabilityMax': precipitationProbabilityMax, - 'windspeed10MMax': windspeed10MMax, - 'windgusts10MMax': windgusts10MMax, - 'uvIndexMax': uvIndexMax, - 'rainSum': rainSum, - 'winddirection10MDominant': winddirection10MDominant, - 'timezone': timezone, - 'timestamp': timestamp, - }; + 'id': id, + 'time': time, + 'weathercode': weathercode, + 'temperature2M': temperature2M, + 'apparentTemperature': apparentTemperature, + 'relativehumidity2M': relativehumidity2M, + 'precipitation': precipitation, + 'rain': rain, + 'surfacePressure': surfacePressure, + 'visibility': visibility, + 'evapotranspiration': evapotranspiration, + 'windspeed10M': windspeed10M, + 'winddirection10M': winddirection10M, + 'windgusts10M': windgusts10M, + 'cloudcover': cloudcover, + 'uvIndex': uvIndex, + 'dewpoint2M': dewpoint2M, + 'precipitationProbability': precipitationProbability, + 'shortwaveRadiation': shortwaveRadiation, + 'timeDaily': timeDaily, + 'weathercodeDaily': weathercodeDaily, + 'temperature2MMax': temperature2MMax, + 'temperature2MMin': temperature2MMin, + 'apparentTemperatureMax': apparentTemperatureMax, + 'apparentTemperatureMin': apparentTemperatureMin, + 'sunrise': sunrise, + 'sunset': sunset, + 'precipitationSum': precipitationSum, + 'precipitationProbabilityMax': precipitationProbabilityMax, + 'windspeed10MMax': windspeed10MMax, + 'windgusts10MMax': windgusts10MMax, + 'uvIndexMax': uvIndexMax, + 'rainSum': rainSum, + 'winddirection10MDominant': winddirection10MDominant, + 'timezone': timezone, + 'timestamp': timestamp, + }; } @collection @@ -152,20 +152,15 @@ class LocationCache { String? city; String? district; - LocationCache({ - this.lat, - this.lon, - this.city, - this.district, - }); + LocationCache({this.lat, this.lon, this.city, this.district}); Map toJson() => { - 'id': id, - 'lat': lat, - 'lon': lon, - 'city': city, - 'district': district, - }; + 'id': id, + 'lat': lat, + 'lon': lon, + 'city': city, + 'district': district, + }; } @collection @@ -256,56 +251,57 @@ class WeatherCard { }); Map toJson() => { - 'id': id, - 'time': time, - 'weathercode': weathercode, - 'temperature2M': temperature2M, - 'apparentTemperature': apparentTemperature, - 'relativehumidity2M': relativehumidity2M, - 'precipitation': precipitation, - 'rain': rain, - 'surfacePressure': surfacePressure, - 'visibility': visibility, - 'evapotranspiration': evapotranspiration, - 'windspeed10M': windspeed10M, - 'winddirection10M': winddirection10M, - 'windgusts10M': windgusts10M, - 'cloudcover': cloudcover, - 'uvIndex': uvIndex, - 'dewpoint2M': dewpoint2M, - 'precipitationProbability': precipitationProbability, - 'shortwaveRadiation': shortwaveRadiation, - 'timeDaily': timeDaily, - 'weathercodeDaily': weathercodeDaily, - 'temperature2MMax': temperature2MMax, - 'temperature2MMin': temperature2MMin, - 'apparentTemperatureMax': apparentTemperatureMax, - 'apparentTemperatureMin': apparentTemperatureMin, - 'sunrise': sunrise, - 'sunset': sunset, - 'precipitationSum': precipitationSum, - 'precipitationProbabilityMax': precipitationProbabilityMax, - 'windspeed10MMax': windspeed10MMax, - 'windgusts10MMax': windgusts10MMax, - 'uvIndexMax': uvIndexMax, - 'rainSum': rainSum, - 'winddirection10MDominant': winddirection10MDominant, - 'timezone': timezone, - 'timestamp': timestamp, - 'lat': lat, - 'lon': lon, - 'city': city, - 'district': district, - 'index': index, - }; + 'id': id, + 'time': time, + 'weathercode': weathercode, + 'temperature2M': temperature2M, + 'apparentTemperature': apparentTemperature, + 'relativehumidity2M': relativehumidity2M, + 'precipitation': precipitation, + 'rain': rain, + 'surfacePressure': surfacePressure, + 'visibility': visibility, + 'evapotranspiration': evapotranspiration, + 'windspeed10M': windspeed10M, + 'winddirection10M': winddirection10M, + 'windgusts10M': windgusts10M, + 'cloudcover': cloudcover, + 'uvIndex': uvIndex, + 'dewpoint2M': dewpoint2M, + 'precipitationProbability': precipitationProbability, + 'shortwaveRadiation': shortwaveRadiation, + 'timeDaily': timeDaily, + 'weathercodeDaily': weathercodeDaily, + 'temperature2MMax': temperature2MMax, + 'temperature2MMin': temperature2MMin, + 'apparentTemperatureMax': apparentTemperatureMax, + 'apparentTemperatureMin': apparentTemperatureMin, + 'sunrise': sunrise, + 'sunset': sunset, + 'precipitationSum': precipitationSum, + 'precipitationProbabilityMax': precipitationProbabilityMax, + 'windspeed10MMax': windspeed10MMax, + 'windgusts10MMax': windgusts10MMax, + 'uvIndexMax': uvIndexMax, + 'rainSum': rainSum, + 'winddirection10MDominant': winddirection10MDominant, + 'timezone': timezone, + 'timestamp': timestamp, + 'lat': lat, + 'lon': lon, + 'city': city, + 'district': district, + 'index': index, + }; factory WeatherCard.fromJson(Map json) { return WeatherCard( time: List.from(json['time'] ?? []), weathercode: List.from(json['weathercode'] ?? []), temperature2M: List.from(json['temperature2M'] ?? []), - apparentTemperature: - List.from(json['apparentTemperature'] ?? []), + apparentTemperature: List.from( + json['apparentTemperature'] ?? [], + ), relativehumidity2M: List.from(json['relativehumidity2M'] ?? []), precipitation: List.from(json['precipitation'] ?? []), rain: List.from(json['rain'] ?? []), @@ -318,26 +314,31 @@ class WeatherCard { cloudcover: List.from(json['cloudcover'] ?? []), uvIndex: List.from(json['uvIndex'] ?? []), dewpoint2M: List.from(json['dewpoint2M'] ?? []), - precipitationProbability: - List.from(json['precipitationProbability'] ?? []), + precipitationProbability: List.from( + json['precipitationProbability'] ?? [], + ), shortwaveRadiation: List.from(json['shortwaveRadiation'] ?? []), timeDaily: List.from(json['timeDaily'] ?? []), weathercodeDaily: List.from(json['weathercodeDaily'] ?? []), temperature2MMax: List.from(json['temperature2MMax'] ?? []), temperature2MMin: List.from(json['temperature2MMin'] ?? []), - apparentTemperatureMax: - List.from(json['apparentTemperatureMax'] ?? []), - apparentTemperatureMin: - List.from(json['apparentTemperatureMin'] ?? []), + apparentTemperatureMax: List.from( + json['apparentTemperatureMax'] ?? [], + ), + apparentTemperatureMin: List.from( + json['apparentTemperatureMin'] ?? [], + ), windspeed10MMax: List.from(json['windspeed10MMax'] ?? []), windgusts10MMax: List.from(json['windgusts10MMax'] ?? []), uvIndexMax: List.from(json['uvIndexMax'] ?? []), rainSum: List.from(json['rainSum'] ?? []), - winddirection10MDominant: - List.from(json['winddirection10MDominant'] ?? []), + winddirection10MDominant: List.from( + json['winddirection10MDominant'] ?? [], + ), precipitationSum: List.from(json['precipitationSum'] ?? []), - precipitationProbabilityMax: - List.from(json['precipitationProbabilityMax'] ?? []), + precipitationProbabilityMax: List.from( + json['precipitationProbabilityMax'] ?? [], + ), sunrise: List.from(json['sunrise'] ?? []), sunset: List.from(json['sunset'] ?? []), lat: json['lat'], diff --git a/lib/app/ui/geolocation.dart b/lib/app/ui/geolocation.dart index cca9cbf..8f8b959 100644 --- a/lib/app/ui/geolocation.dart +++ b/lib/app/ui/geolocation.dart @@ -15,10 +15,7 @@ import 'package:rain/app/ui/widgets/text_form.dart'; import 'package:rain/main.dart'; class SelectGeolocation extends StatefulWidget { - const SelectGeolocation({ - super.key, - required this.isStart, - }); + const SelectGeolocation({super.key, required this.isStart}); final bool isStart; @override @@ -94,19 +91,17 @@ class _SelectGeolocationState extends State { resizeToAvoidBottomInset: true, appBar: AppBar( centerTitle: true, - leading: widget.isStart - ? null - : IconButton( - onPressed: () { - Get.back(); - }, - icon: const Icon( - IconsaxPlusLinear.arrow_left_3, - size: 20, + leading: + widget.isStart + ? null + : IconButton( + onPressed: () { + Get.back(); + }, + icon: const Icon(IconsaxPlusLinear.arrow_left_3, size: 20), + splashColor: Colors.transparent, + highlightColor: Colors.transparent, ), - splashColor: Colors.transparent, - highlightColor: Colors.transparent, - ), automaticallyImplyLeading: false, title: Text( 'searchCity'.tr, @@ -131,7 +126,8 @@ class _SelectGeolocationState extends State { children: [ Padding( padding: const EdgeInsets.symmetric( - horizontal: 10), + horizontal: 10, + ), child: ClipRRect( borderRadius: const BorderRadius.all( Radius.circular(20), @@ -150,19 +146,22 @@ class _SelectGeolocationState extends State { initialZoom: 3, interactionOptions: const InteractionOptions( - flags: InteractiveFlag.all & - ~InteractiveFlag.rotate, - ), + flags: + InteractiveFlag.all & + ~InteractiveFlag.rotate, + ), cameraConstraint: CameraConstraint.contain( - bounds: LatLngBounds( - const LatLng(-90, -180), - const LatLng(90, 180), - ), - ), - onLongPress: (tapPosition, point) => - fillMap(point.latitude, - point.longitude), + bounds: LatLngBounds( + const LatLng(-90, -180), + const LatLng(90, 180), + ), + ), + onLongPress: + (tapPosition, point) => fillMap( + point.latitude, + point.longitude, + ), ), children: [ if (_isDarkMode) @@ -177,9 +176,11 @@ class _SelectGeolocationState extends State { attributions: [ TextSourceAttribution( 'OpenStreetMap contributors', - onTap: () => weatherController - .urlLauncher( - 'https://openstreetmap.org/copyright'), + onTap: + () => weatherController + .urlLauncher( + 'https://openstreetmap.org/copyright', + ), ), ], ), @@ -189,8 +190,12 @@ class _SelectGeolocationState extends State { ), ), Padding( - padding: - const EdgeInsets.fromLTRB(10, 15, 10, 5), + padding: const EdgeInsets.fromLTRB( + 10, + 15, + 10, + 5, + ), child: Text( 'searchMethod'.tr, style: context.theme.textTheme.bodyLarge @@ -204,42 +209,54 @@ class _SelectGeolocationState extends State { child: RawAutocomplete( focusNode: _focusNode, textEditingController: _controller, - fieldViewBuilder: (BuildContext context, - TextEditingController - fieldTextEditingController, - FocusNode fieldFocusNode, - VoidCallback onFieldSubmitted) { + fieldViewBuilder: ( + BuildContext context, + TextEditingController + fieldTextEditingController, + FocusNode fieldFocusNode, + VoidCallback onFieldSubmitted, + ) { return MyTextForm( elevation: kTextFieldElevation, labelText: 'search'.tr, type: TextInputType.text, - icon: const Icon(IconsaxPlusLinear - .global_search), + icon: const Icon( + IconsaxPlusLinear.global_search, + ), controller: _controller, margin: const EdgeInsets.only( - left: 10, right: 10, top: 10), + left: 10, + right: 10, + top: 10, + ), focusNode: _focusNode, ); }, - optionsBuilder: (TextEditingValue - textEditingValue) { + optionsBuilder: ( + TextEditingValue textEditingValue, + ) { if (textEditingValue.text.isEmpty) { return const Iterable< - Result>.empty(); + Result + >.empty(); } return WeatherAPI().getCity( - textEditingValue.text, locale); + textEditingValue.text, + locale, + ); }, - onSelected: (Result selection) => - fillController(selection), - displayStringForOption: (Result - option) => - '${option.name}, ${option.admin1}', - optionsViewBuilder: - (BuildContext context, - AutocompleteOnSelected - onSelected, - Iterable options) { + onSelected: + (Result selection) => + fillController(selection), + displayStringForOption: + (Result option) => + '${option.name}, ${option.admin1}', + optionsViewBuilder: ( + BuildContext context, + AutocompleteOnSelected + onSelected, + Iterable options, + ) { return Padding( padding: const EdgeInsets.symmetric( horizontal: 10, @@ -255,21 +272,26 @@ class _SelectGeolocationState extends State { padding: EdgeInsets.zero, shrinkWrap: true, itemCount: options.length, - itemBuilder: - (BuildContext context, - int index) { + itemBuilder: ( + BuildContext context, + int index, + ) { final Result option = - options - .elementAt(index); + options.elementAt( + index, + ); return InkWell( - onTap: () => - onSelected(option), + onTap: + () => onSelected( + option, + ), child: ListTile( title: Text( '${option.name}, ${option.admin1}', - style: context - .textTheme - .labelLarge, + style: + context + .textTheme + .labelLarge, ), ), ); @@ -292,47 +314,53 @@ class _SelectGeolocationState extends State { child: IconButton( onPressed: () async { bool serviceEnabled = - await Geolocator - .isLocationServiceEnabled(); + await Geolocator.isLocationServiceEnabled(); if (!serviceEnabled) { if (!context.mounted) return; await showAdaptiveDialog( context: context, - builder: - (BuildContext context) { + builder: ( + BuildContext context, + ) { return AlertDialog.adaptive( title: Text( 'location'.tr, - style: context - .textTheme.titleLarge, + style: + context + .textTheme + .titleLarge, ), content: Text( 'no_location'.tr, - style: context.textTheme - .titleMedium, + style: + context + .textTheme + .titleMedium, ), actions: [ TextButton( - onPressed: () => - Get.back( - result: false), + onPressed: + () => Get.back( + result: false, + ), child: Text( 'cancel'.tr, style: context .textTheme .titleMedium ?.copyWith( - color: Colors - .blueAccent, - ), + color: + Colors + .blueAccent, + ), ), ), TextButton( onPressed: () { - Geolocator - .openLocationSettings(); + Geolocator.openLocationSettings(); Get.back( - result: true); + result: true, + ); }, child: Text( 'settings'.tr, @@ -340,8 +368,10 @@ class _SelectGeolocationState extends State { .textTheme .titleMedium ?.copyWith( - color: Colors - .green), + color: + Colors + .green, + ), ), ), ], @@ -380,8 +410,9 @@ class _SelectGeolocationState extends State { if (value == null || value.isEmpty) { return 'validateValue'.tr; } - double? numericValue = - double.tryParse(value); + double? numericValue = double.tryParse( + value, + ); if (numericValue == null) { return 'validateNumber'.tr; } @@ -407,8 +438,9 @@ class _SelectGeolocationState extends State { if (value == null || value.isEmpty) { return 'validateValue'.tr; } - double? numericValue = - double.tryParse(value); + double? numericValue = double.tryParse( + value, + ); if (numericValue == null) { return 'validateNumber'.tr; } @@ -424,10 +456,14 @@ class _SelectGeolocationState extends State { controller: _controllerCity, labelText: 'city'.tr, type: TextInputType.name, - icon: - const Icon(IconsaxPlusLinear.building_3), + icon: const Icon( + IconsaxPlusLinear.building_3, + ), margin: const EdgeInsets.only( - left: 10, right: 10, top: 10), + left: 10, + right: 10, + top: 10, + ), validator: (value) { if (value == null || value.isEmpty) { return 'validateName'.tr; @@ -442,7 +478,10 @@ class _SelectGeolocationState extends State { type: TextInputType.streetAddress, icon: const Icon(IconsaxPlusLinear.global), margin: const EdgeInsets.only( - left: 10, right: 10, top: 10), + left: 10, + right: 10, + top: 10, + ), ), const Gap(20), ], @@ -453,8 +492,10 @@ class _SelectGeolocationState extends State { ), ), Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10, vertical: 8), + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 8, + ), child: MyTextButton( buttonName: 'done'.tr, onPressed: () async { @@ -472,8 +513,10 @@ class _SelectGeolocationState extends State { _controllerCity.text, ); widget.isStart - ? Get.off(() => const HomePage(), - transition: Transition.downToUp) + ? Get.off( + () => const HomePage(), + transition: Transition.downToUp, + ) : Get.back(); } catch (error) { Future.error(error); @@ -487,9 +530,7 @@ class _SelectGeolocationState extends State { if (isLoading) BackdropFilter( filter: ImageFilter.blur(sigmaY: 3, sigmaX: 3), - child: const Center( - child: CircularProgressIndicator(), - ), + child: const Center(child: CircularProgressIndicator()), ), ], ), diff --git a/lib/app/ui/home.dart b/lib/app/ui/home.dart index a566e77..fc450a9 100644 --- a/lib/app/ui/home.dart +++ b/lib/app/ui/home.dart @@ -102,20 +102,20 @@ class _HomePageState extends State with TickerProviderStateMixin { automaticallyImplyLeading: false, leading: switch (tabIndex) { 0 => IconButton( - onPressed: () { - Get.to(() => const SelectGeolocation(isStart: false), - transition: Transition.downToUp); - }, - icon: const Icon( - IconsaxPlusLinear.global_search, - size: 18, - ), - ), + onPressed: () { + Get.to( + () => const SelectGeolocation(isStart: false), + transition: Transition.downToUp, + ); + }, + icon: const Icon(IconsaxPlusLinear.global_search, size: 18), + ), int() => null, }, title: switch (tabIndex) { - 0 => visible - ? RawAutocomplete( + 0 => + visible + ? RawAutocomplete( focusNode: _focusNode, textEditingController: _controller, fieldViewBuilder: (_, __, ___, ____) { @@ -123,17 +123,17 @@ class _HomePageState extends State with TickerProviderStateMixin { controller: _controller, focusNode: _focusNode, style: labelLarge?.copyWith(fontSize: 16), - decoration: InputDecoration( - hintText: 'search'.tr, - ), + decoration: InputDecoration(hintText: 'search'.tr), ); }, optionsBuilder: (TextEditingValue textEditingValue) { if (textEditingValue.text.isEmpty) { return const Iterable.empty(); } - return WeatherAPI() - .getCity(textEditingValue.text, locale); + return WeatherAPI().getCity( + textEditingValue.text, + locale, + ); }, onSelected: (Result selection) async { await weatherController.deleteAll(true); @@ -148,11 +148,13 @@ class _HomePageState extends State with TickerProviderStateMixin { _focusNode.unfocus(); setState(() {}); }, - displayStringForOption: (Result option) => - '${option.name}, ${option.admin1}', - optionsViewBuilder: (BuildContext context, - AutocompleteOnSelected onSelected, - Iterable options) { + displayStringForOption: + (Result option) => '${option.name}, ${option.admin1}', + optionsViewBuilder: ( + BuildContext context, + AutocompleteOnSelected onSelected, + Iterable options, + ) { return Align( alignment: Alignment.topLeft, child: Material( @@ -165,8 +167,9 @@ class _HomePageState extends State with TickerProviderStateMixin { shrinkWrap: true, itemCount: options.length, itemBuilder: (BuildContext context, int index) { - final Result option = - options.elementAt(index); + final Result option = options.elementAt( + index, + ); return InkWell( onTap: () => onSelected(option), child: ListTile( @@ -183,78 +186,63 @@ class _HomePageState extends State with TickerProviderStateMixin { ); }, ) - : Obx( - () { - final location = weatherController.location; - final city = location.city; - final district = location.district; - return Text( - weatherController.isLoading.isFalse - ? district!.isEmpty - ? '$city' - : city!.isEmpty - ? district - : city == district - ? city - : '$city' ', $district' - : settings.location - ? 'search'.tr - : (isar.locationCaches.where().findAllSync()) - .isNotEmpty - ? 'loading'.tr - : 'searchCity'.tr, - style: textStyle, - ); - }, - ), - 1 => Text( - 'cities'.tr, - style: textStyle, - ), - 2 => settings.hideMap - ? Text( - 'settings_full'.tr, - style: textStyle, - ) - : Text( - 'map'.tr, - style: textStyle, - ), - 3 => Text( - 'settings_full'.tr, - style: textStyle, - ), + : Obx(() { + final location = weatherController.location; + final city = location.city; + final district = location.district; + return Text( + weatherController.isLoading.isFalse + ? district!.isEmpty + ? '$city' + : city!.isEmpty + ? district + : city == district + ? city + : '$city' + ', $district' + : settings.location + ? 'search'.tr + : (isar.locationCaches.where().findAllSync()) + .isNotEmpty + ? 'loading'.tr + : 'searchCity'.tr, + style: textStyle, + ); + }), + 1 => Text('cities'.tr, style: textStyle), + 2 => + settings.hideMap + ? Text('settings_full'.tr, style: textStyle) + : Text('map'.tr, style: textStyle), + 3 => Text('settings_full'.tr, style: textStyle), int() => null, }, actions: switch (tabIndex) { 0 => [ - IconButton( - onPressed: () { - if (visible) { - _controller.clear(); - _focusNode.unfocus(); - visible = false; - } else { - visible = true; - } - setState(() {}); - }, - icon: Icon( - visible - ? IconsaxPlusLinear.close_circle - : IconsaxPlusLinear.search_normal_1, - size: 18, - ), - ) - ], + IconButton( + onPressed: () { + if (visible) { + _controller.clear(); + _focusNode.unfocus(); + visible = false; + } else { + visible = true; + } + setState(() {}); + }, + icon: Icon( + visible + ? IconsaxPlusLinear.close_circle + : IconsaxPlusLinear.search_normal_1, + size: 18, + ), + ), + ], int() => null, }, ), body: SafeArea( - child: TabBarView( - controller: tabController, - children: pages, - ), + child: TabBarView(controller: tabController, children: pages), ), bottomNavigationBar: NavigationBar( onDestinationSelected: (int index) => changeTabIndex(index), @@ -283,19 +271,20 @@ class _HomePageState extends State with TickerProviderStateMixin { ), ], ), - floatingActionButton: tabIndex == 1 - ? FloatingActionButton( - onPressed: () => showModalBottomSheet( - context: context, - isScrollControlled: true, - enableDrag: false, - builder: (BuildContext context) => const CreatePlace(), - ), - child: const Icon( - IconsaxPlusLinear.add, - ), - ) - : null, + floatingActionButton: + tabIndex == 1 + ? FloatingActionButton( + onPressed: + () => showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: false, + builder: + (BuildContext context) => const CreatePlace(), + ), + child: const Icon(IconsaxPlusLinear.add), + ) + : null, ), ), ); diff --git a/lib/app/ui/main/view/main.dart b/lib/app/ui/main/view/main.dart index d418b0b..eb33e04 100644 --- a/lib/app/ui/main/view/main.dart +++ b/lib/app/ui/main/view/main.dart @@ -35,9 +35,7 @@ class _MainPageState extends State { if (weatherController.isLoading.isTrue) { return ListView( children: const [ - MyShimmer( - hight: 200, - ), + MyShimmer(hight: 200), MyShimmer( hight: 130, edgeInsetsMargin: EdgeInsets.symmetric(vertical: 15), @@ -53,7 +51,7 @@ class _MainPageState extends State { MyShimmer( hight: 450, edgeInsetsMargin: EdgeInsets.only(bottom: 15), - ) + ), ], ); } @@ -82,8 +80,10 @@ class _MainPageState extends State { Card( margin: const EdgeInsets.only(bottom: 15), child: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10, vertical: 5), + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 5, + ), child: SizedBox( height: 135, child: ScrollablePositionedList.separated( @@ -115,9 +115,13 @@ class _MainPageState extends State { vertical: 5, ), decoration: BoxDecoration( - color: i == hourOfDay - ? context.theme.colorScheme.secondaryContainer - : Colors.transparent, + color: + i == hourOfDay + ? context + .theme + .colorScheme + .secondaryContainer + : Colors.transparent, borderRadius: const BorderRadius.all( Radius.circular(20), ), @@ -136,10 +140,7 @@ class _MainPageState extends State { ), ), ), - SunsetSunrise( - timeSunrise: sunrise, - timeSunset: sunset, - ), + SunsetSunrise(timeSunrise: sunrise, timeSunset: sunset), DescContainer( humidity: mainWeather.relativehumidity2M?[hourOfDay], wind: mainWeather.windspeed10M?[hourOfDay], @@ -162,13 +163,12 @@ class _MainPageState extends State { ), DailyContainer( weatherData: weatherCard, - onTap: () => Get.to( - () => DailyCardList( - weatherData: weatherCard, - ), - transition: Transition.downToUp, - ), - ) + onTap: + () => Get.to( + () => DailyCardList(weatherData: weatherCard), + transition: Transition.downToUp, + ), + ), ], ); }), diff --git a/lib/app/ui/map/view/map.dart b/lib/app/ui/map/view/map.dart index 99698a6..a556a89 100644 --- a/lib/app/ui/map/view/map.dart +++ b/lib/app/ui/map/view/map.dart @@ -66,10 +66,9 @@ class _MapPageState extends State with TickerProviderStateMixin { _offsetAnimation = Tween( begin: const Offset(0.0, 1.0), end: Offset.zero, - ).animate(CurvedAnimation( - parent: _animationController, - curve: Curves.easeInOut, - )); + ).animate( + CurvedAnimation(parent: _animationController, curve: Curves.easeInOut), + ); super.initState(); } @@ -114,25 +113,26 @@ class _MapPageState extends State with TickerProviderStateMixin { _focusNode.unfocus(); } - Widget _buidStyleMarkers(int weathercode, String time, String sunrise, - String sunset, double temperature2M) { + Widget _buidStyleMarkers( + int weathercode, + String time, + String sunrise, + String sunset, + double temperature2M, + ) { return Card( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( - statusWeather.getImageNow( - weathercode, - time, - sunrise, - sunset, - ), + statusWeather.getImageNow(weathercode, time, sunrise, sunset), scale: 18, ), const MaxGap(5), Text( - statusData - .getDegree(roundDegree ? temperature2M.round() : temperature2M), + statusData.getDegree( + roundDegree ? temperature2M.round() : temperature2M, + ), style: context.textTheme.labelLarge?.copyWith( fontWeight: FontWeight.bold, fontSize: 16, @@ -144,7 +144,10 @@ class _MapPageState extends State with TickerProviderStateMixin { } Marker _buildMainLocationMarker( - WeatherCard weatherCard, int hourOfDay, int dayOfNow) { + WeatherCard weatherCard, + int hourOfDay, + int dayOfNow, + ) { return Marker( height: 50, width: 100, @@ -171,15 +174,25 @@ class _MapPageState extends State with TickerProviderStateMixin { onTap: () => _onMarkerTap(weatherCardList), child: _buidStyleMarkers( weatherCardList.weathercode![weatherController.getTime( - weatherCardList.time!, weatherCardList.timezone!)], + weatherCardList.time!, + weatherCardList.timezone!, + )], weatherCardList.time![weatherController.getTime( - weatherCardList.time!, weatherCardList.timezone!)], + weatherCardList.time!, + weatherCardList.timezone!, + )], weatherCardList.sunrise![weatherController.getDay( - weatherCardList.timeDaily!, weatherCardList.timezone!)], + weatherCardList.timeDaily!, + weatherCardList.timezone!, + )], weatherCardList.sunset![weatherController.getDay( - weatherCardList.timeDaily!, weatherCardList.timezone!)], + weatherCardList.timeDaily!, + weatherCardList.timezone!, + )], weatherCardList.temperature2M![weatherController.getTime( - weatherCardList.time!, weatherCardList.timezone!)], + weatherCardList.time!, + weatherCardList.timezone!, + )], ), ), ); @@ -199,25 +212,26 @@ class _MapPageState extends State with TickerProviderStateMixin { Widget _buildWeatherCard() { return _isCardVisible && _selectedWeatherCard != null ? SlideTransition( - position: _offsetAnimation, - child: GestureDetector( - onTap: () => Get.to( - () => PlaceInfo(weatherCard: _selectedWeatherCard!), - transition: Transition.downToUp, - ), - child: PlaceCard( - time: _selectedWeatherCard!.time!, - timeDaily: _selectedWeatherCard!.timeDaily!, - timeDay: _selectedWeatherCard!.sunrise!, - timeNight: _selectedWeatherCard!.sunset!, - weather: _selectedWeatherCard!.weathercode!, - degree: _selectedWeatherCard!.temperature2M!, - district: _selectedWeatherCard!.district!, - city: _selectedWeatherCard!.city!, - timezone: _selectedWeatherCard!.timezone!, - ), + position: _offsetAnimation, + child: GestureDetector( + onTap: + () => Get.to( + () => PlaceInfo(weatherCard: _selectedWeatherCard!), + transition: Transition.downToUp, + ), + child: PlaceCard( + time: _selectedWeatherCard!.time!, + timeDaily: _selectedWeatherCard!.timeDaily!, + timeDay: _selectedWeatherCard!.sunrise!, + timeNight: _selectedWeatherCard!.sunset!, + weather: _selectedWeatherCard!.weathercode!, + degree: _selectedWeatherCard!.temperature2M!, + district: _selectedWeatherCard!.district!, + city: _selectedWeatherCard!.city!, + timezone: _selectedWeatherCard!.timezone!, ), - ) + ), + ) : const SizedBox.shrink(); } @@ -261,15 +275,17 @@ class _MapPageState extends State with TickerProviderStateMixin { ), ), onTap: (_, __) => _hideCard(), - onLongPress: (tapPosition, point) => showModalBottomSheet( - context: context, - isScrollControlled: true, - enableDrag: false, - builder: (BuildContext context) => CreatePlace( - latitude: '${point.latitude}', - longitude: '${point.longitude}', - ), - ), + onLongPress: + (tapPosition, point) => showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: false, + builder: + (BuildContext context) => CreatePlace( + latitude: '${point.latitude}', + longitude: '${point.longitude}', + ), + ), ), children: [ if (_isDarkMode) @@ -290,8 +306,10 @@ class _MapPageState extends State with TickerProviderStateMixin { attributions: [ TextSourceAttribution( 'OpenStreetMap contributors', - onTap: () => weatherController - .urlLauncher('https://openstreetmap.org/copyright'), + onTap: + () => weatherController.urlLauncher( + 'https://openstreetmap.org/copyright', + ), ), ], ), @@ -305,14 +323,15 @@ class _MapPageState extends State with TickerProviderStateMixin { dayOfNow, ); - final cardMarkers = weatherController.weatherCards - .map((weatherCardList) => - _buildCardMarker(weatherCardList)) - .toList(); + final cardMarkers = + weatherController.weatherCards + .map( + (weatherCardList) => + _buildCardMarker(weatherCardList), + ) + .toList(); - return MarkerLayer( - markers: [mainMarker, ...cardMarkers], - ); + return MarkerLayer(markers: [mainMarker, ...cardMarkers]); }), ExpandableFab( key: _fabKey, @@ -331,24 +350,32 @@ class _MapPageState extends State with TickerProviderStateMixin { FloatingActionButton( heroTag: null, child: const Icon(IconsaxPlusLinear.home_2), - onPressed: () => _resetMapOrientation( - center: - LatLng(mainLocation.lat!, mainLocation.lon!), - zoom: 8), + onPressed: + () => _resetMapOrientation( + center: LatLng( + mainLocation.lat!, + mainLocation.lon!, + ), + zoom: 8, + ), ), FloatingActionButton( heroTag: null, child: const Icon(IconsaxPlusLinear.search_zoom_out_1), - onPressed: () => _animatedMapController.animatedZoomOut( - customId: _useTransformer ? _useTransformerId : null, - ), + onPressed: + () => _animatedMapController.animatedZoomOut( + customId: + _useTransformer ? _useTransformerId : null, + ), ), FloatingActionButton( heroTag: null, child: const Icon(IconsaxPlusLinear.search_zoom_in), - onPressed: () => _animatedMapController.animatedZoomIn( - customId: _useTransformer ? _useTransformerId : null, - ), + onPressed: + () => _animatedMapController.animatedZoomIn( + customId: + _useTransformer ? _useTransformerId : null, + ), ), ], ), @@ -363,10 +390,12 @@ class _MapPageState extends State with TickerProviderStateMixin { RawAutocomplete( focusNode: _focusNode, textEditingController: _controllerSearch, - fieldViewBuilder: (BuildContext context, - TextEditingController fieldTextEditingController, - FocusNode fieldFocusNode, - VoidCallback onFieldSubmitted) { + fieldViewBuilder: ( + BuildContext context, + TextEditingController fieldTextEditingController, + FocusNode fieldFocusNode, + VoidCallback onFieldSubmitted, + ) { return MyTextForm( labelText: 'search'.tr, type: TextInputType.text, @@ -375,18 +404,19 @@ class _MapPageState extends State with TickerProviderStateMixin { margin: const EdgeInsets.only(left: 10, right: 10, top: 10), focusNode: _focusNode, onChanged: (value) => setState(() {}), - iconButton: _controllerSearch.text.isNotEmpty - ? IconButton( - onPressed: () { - _controllerSearch.clear(); - }, - icon: const Icon( - IconsaxPlusLinear.close_circle, - color: Colors.grey, - size: 20, - ), - ) - : null, + iconButton: + _controllerSearch.text.isNotEmpty + ? IconButton( + onPressed: () { + _controllerSearch.clear(); + }, + icon: const Icon( + IconsaxPlusLinear.close_circle, + color: Colors.grey, + size: 20, + ), + ) + : null, ); }, optionsBuilder: (TextEditingValue textEditingValue) { @@ -397,18 +427,24 @@ class _MapPageState extends State with TickerProviderStateMixin { }, onSelected: (Result selection) { _animatedMapController.mapController.move( - LatLng(selection.latitude, selection.longitude), 14); + LatLng(selection.latitude, selection.longitude), + 14, + ); _controllerSearch.clear(); _focusNode.unfocus(); }, - displayStringForOption: (Result option) => - '${option.name}, ${option.admin1}', - optionsViewBuilder: (BuildContext context, - AutocompleteOnSelected onSelected, - Iterable options) { + displayStringForOption: + (Result option) => '${option.name}, ${option.admin1}', + optionsViewBuilder: ( + BuildContext context, + AutocompleteOnSelected onSelected, + Iterable options, + ) { return Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10, vertical: 5), + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 5, + ), child: Align( alignment: Alignment.topCenter, child: Material( diff --git a/lib/app/ui/onboarding.dart b/lib/app/ui/onboarding.dart index 38ef116..3d4db4a 100644 --- a/lib/app/ui/onboarding.dart +++ b/lib/app/ui/onboarding.dart @@ -32,8 +32,10 @@ class _OnBordingState extends State { void onBoardHome() { settings.onboard = true; isar.writeTxnSync(() => isar.settings.putSync(settings)); - Get.off(() => const SelectGeolocation(isStart: true), - transition: Transition.downToUp); + Get.off( + () => const SelectGeolocation(isStart: true), + transition: Transition.downToUp, + ); } @override @@ -52,22 +54,24 @@ class _OnBordingState extends State { pageIndex = index; }); }, - itemBuilder: (context, index) => OnboardContent( - image: data[index].image, - title: data[index].title, - description: data[index].description, - ), + itemBuilder: + (context, index) => OnboardContent( + image: data[index].image, + title: data[index].title, + description: data[index].description, + ), ), ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ ...List.generate( - data.length, - (index) => Padding( - padding: const EdgeInsets.symmetric(horizontal: 5), - child: DotIndicator(isActive: index == pageIndex), - )), + data.length, + (index) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 5), + child: DotIndicator(isActive: index == pageIndex), + ), + ), ], ), Padding( @@ -79,12 +83,12 @@ class _OnBordingState extends State { pageIndex == data.length - 1 ? onBoardHome() : pageController.nextPage( - duration: const Duration(milliseconds: 300), - curve: Curves.ease, - ); + duration: const Duration(milliseconds: 300), + curve: Curves.ease, + ); }, ), - ) + ), ], ), ), @@ -93,10 +97,7 @@ class _OnBordingState extends State { } class DotIndicator extends StatelessWidget { - const DotIndicator({ - super.key, - this.isActive = false, - }); + const DotIndicator({super.key, this.isActive = false}); final bool isActive; @@ -107,9 +108,10 @@ class DotIndicator extends StatelessWidget { height: 8, width: 8, decoration: BoxDecoration( - color: isActive - ? context.theme.colorScheme.secondary - : context.theme.colorScheme.secondaryContainer, + color: + isActive + ? context.theme.colorScheme.secondary + : context.theme.colorScheme.secondaryContainer, shape: BoxShape.circle, ), ); @@ -128,17 +130,20 @@ class Onboard { final List data = [ Onboard( - image: 'assets/icons/Rain.png', - title: 'name'.tr, - description: 'description'.tr), + image: 'assets/icons/Rain.png', + title: 'name'.tr, + description: 'description'.tr, + ), Onboard( - image: 'assets/icons/Design.png', - title: 'name2'.tr, - description: 'description2'.tr), + image: 'assets/icons/Design.png', + title: 'name2'.tr, + description: 'description2'.tr, + ), Onboard( - image: 'assets/icons/Team.png', - title: 'name3'.tr, - description: 'description3'.tr), + image: 'assets/icons/Team.png', + title: 'name3'.tr, + description: 'description3'.tr, + ), ]; class OnboardContent extends StatelessWidget { @@ -158,14 +163,12 @@ class OnboardContent extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - Image.asset( - image, - scale: 5, - ), + Image.asset(image, scale: 5), Text( title, - style: context.textTheme.titleLarge - ?.copyWith(fontWeight: FontWeight.w600), + style: context.textTheme.titleLarge?.copyWith( + fontWeight: FontWeight.w600, + ), ), const Gap(10), SizedBox( diff --git a/lib/app/ui/places/view/place_info.dart b/lib/app/ui/places/view/place_info.dart index c4c513b..3cdd075 100644 --- a/lib/app/ui/places/view/place_info.dart +++ b/lib/app/ui/places/view/place_info.dart @@ -12,10 +12,7 @@ import 'package:rain/app/ui/widgets/weather/sunset_sunrise.dart'; import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; class PlaceInfo extends StatefulWidget { - const PlaceInfo({ - super.key, - required this.weatherCard, - }); + const PlaceInfo({super.key, required this.weatherCard}); final WeatherCard weatherCard; @override @@ -37,10 +34,14 @@ class _PlaceInfoState extends State { void getTime() { final weatherCard = widget.weatherCard; - timeNow = - weatherController.getTime(weatherCard.time!, weatherCard.timezone!); - dayNow = - weatherController.getDay(weatherCard.timeDaily!, weatherCard.timezone!); + timeNow = weatherController.getTime( + weatherCard.time!, + weatherCard.timezone!, + ); + dayNow = weatherController.getDay( + weatherCard.timeDaily!, + weatherCard.timezone!, + ); Future.delayed(const Duration(milliseconds: 30), () { itemScrollController.scrollTo( index: timeNow, @@ -66,10 +67,7 @@ class _PlaceInfoState extends State { automaticallyImplyLeading: false, leading: IconButton( onPressed: () => Get.back(), - icon: const Icon( - IconsaxPlusLinear.arrow_left_3, - size: 20, - ), + icon: const Icon(IconsaxPlusLinear.arrow_left_3, size: 20), ), title: Text( weatherCard.district!.isNotEmpty @@ -100,8 +98,10 @@ class _PlaceInfoState extends State { Card( margin: const EdgeInsets.only(bottom: 15), child: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10, vertical: 5), + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 5, + ), child: SizedBox( height: 135, child: ScrollablePositionedList.separated( @@ -116,35 +116,42 @@ class _PlaceInfoState extends State { scrollDirection: Axis.horizontal, itemScrollController: itemScrollController, itemCount: weatherCard.time!.length, - itemBuilder: (ctx, i) => GestureDetector( - onTap: () { - timeNow = i; - dayNow = (i / 24).floor(); - setState(() {}); - }, - child: Container( - margin: const EdgeInsets.symmetric(vertical: 5), - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 5, - ), - decoration: BoxDecoration( - color: i == timeNow - ? context.theme.colorScheme.secondaryContainer - : Colors.transparent, - borderRadius: const BorderRadius.all( - Radius.circular(20), + itemBuilder: + (ctx, i) => GestureDetector( + onTap: () { + timeNow = i; + dayNow = (i / 24).floor(); + setState(() {}); + }, + child: Container( + margin: const EdgeInsets.symmetric(vertical: 5), + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 5, + ), + decoration: BoxDecoration( + color: + i == timeNow + ? context + .theme + .colorScheme + .secondaryContainer + : Colors.transparent, + borderRadius: const BorderRadius.all( + Radius.circular(20), + ), + ), + child: Hourly( + time: weatherCard.time![i], + weather: weatherCard.weathercode![i], + degree: weatherCard.temperature2M![i], + timeDay: + weatherCard.sunrise![(i / 24).floor()], + timeNight: + weatherCard.sunset![(i / 24).floor()], + ), ), ), - child: Hourly( - time: weatherCard.time![i], - weather: weatherCard.weathercode![i], - degree: weatherCard.temperature2M![i], - timeDay: weatherCard.sunrise![(i / 24).floor()], - timeNight: weatherCard.sunset![(i / 24).floor()], - ), - ), - ), ), ), ), @@ -175,12 +182,11 @@ class _PlaceInfoState extends State { ), DailyContainer( weatherData: weatherCard, - onTap: () => Get.to( - () => DailyCardList( - weatherData: weatherCard, - ), - transition: Transition.downToUp, - ), + onTap: + () => Get.to( + () => DailyCardList(weatherData: weatherCard), + transition: Transition.downToUp, + ), ), ], ), diff --git a/lib/app/ui/places/view/place_list.dart b/lib/app/ui/places/view/place_list.dart index 6f899b8..2910d72 100644 --- a/lib/app/ui/places/view/place_list.dart +++ b/lib/app/ui/places/view/place_list.dart @@ -33,71 +33,72 @@ class _PlaceListState extends State { final textTheme = context.textTheme; final titleMedium = textTheme.titleMedium; return Obx( - () => weatherController.weatherCards.isEmpty - ? Center( - child: SingleChildScrollView( - child: Column( - children: [ - Image.asset( - 'assets/icons/City.png', - scale: 6, - ), - SizedBox( - width: Get.size.width * 0.8, - child: Text( - 'noWeatherCard'.tr, - textAlign: TextAlign.center, - style: titleMedium?.copyWith( - fontWeight: FontWeight.w600, - fontSize: 18, + () => + weatherController.weatherCards.isEmpty + ? Center( + child: SingleChildScrollView( + child: Column( + children: [ + Image.asset('assets/icons/City.png', scale: 6), + SizedBox( + width: Get.size.width * 0.8, + child: Text( + 'noWeatherCard'.tr, + textAlign: TextAlign.center, + style: titleMedium?.copyWith( + fontWeight: FontWeight.w600, + fontSize: 18, + ), ), ), + ], + ), + ), + ) + : NestedScrollView( + physics: const NeverScrollableScrollPhysics(), + headerSliverBuilder: (context, innerBoxIsScrolled) { + return [ + SliverToBoxAdapter( + child: MyTextForm( + labelText: 'search'.tr, + type: TextInputType.text, + icon: const Icon( + IconsaxPlusLinear.search_normal_1, + size: 20, + ), + controller: searchTasks, + margin: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 5, + ), + onChanged: applyFilter, + iconButton: + searchTasks.text.isNotEmpty + ? IconButton( + onPressed: () { + searchTasks.clear(); + applyFilter(''); + }, + icon: const Icon( + IconsaxPlusLinear.close_circle, + color: Colors.grey, + size: 20, + ), + ) + : null, + ), ), - ], + ]; + }, + body: RefreshIndicator( + onRefresh: () async { + await weatherController.updateCacheCard(true); + setState(() {}); + }, + child: PlaceCardList(searchCity: filter), ), ), - ) - : NestedScrollView( - physics: const NeverScrollableScrollPhysics(), - headerSliverBuilder: (context, innerBoxIsScrolled) { - return [ - SliverToBoxAdapter( - child: MyTextForm( - labelText: 'search'.tr, - type: TextInputType.text, - icon: const Icon( - IconsaxPlusLinear.search_normal_1, - size: 20, - ), - controller: searchTasks, - margin: const EdgeInsets.symmetric( - horizontal: 10, vertical: 5), - onChanged: applyFilter, - iconButton: searchTasks.text.isNotEmpty - ? IconButton( - onPressed: () { - searchTasks.clear(); - applyFilter(''); - }, - icon: const Icon( - IconsaxPlusLinear.close_circle, - color: Colors.grey, - size: 20, - ), - ) - : null, - ), - ), - ]; - }, - body: RefreshIndicator( - onRefresh: () async { - await weatherController.updateCacheCard(true); - setState(() {}); - }, - child: PlaceCardList(searchCity: filter), - ), - ), ); } } diff --git a/lib/app/ui/places/widgets/create_place.dart b/lib/app/ui/places/widgets/create_place.dart index b72ec47..d1207df 100644 --- a/lib/app/ui/places/widgets/create_place.dart +++ b/lib/app/ui/places/widgets/create_place.dart @@ -9,11 +9,7 @@ import 'package:rain/app/ui/widgets/text_form.dart'; import 'package:rain/main.dart'; class CreatePlace extends StatefulWidget { - const CreatePlace({ - super.key, - this.latitude, - this.longitude, - }); + const CreatePlace({super.key, this.latitude, this.longitude}); final String? latitude; final String? longitude; @@ -85,7 +81,8 @@ class _CreatePlaceState extends State @override Widget build(BuildContext context) { const kTextFieldElevation = 4.0; - bool showButton = _controllerLon.text.isNotEmpty && + bool showButton = + _controllerLon.text.isNotEmpty && _controllerLat.text.isNotEmpty && _controllerCity.text.isNotEmpty && _controllerDistrict.text.isNotEmpty; @@ -115,18 +112,21 @@ class _CreatePlaceState extends State padding: const EdgeInsets.only(top: 14, bottom: 7), child: Text( 'create'.tr, - style: context.textTheme.titleLarge - ?.copyWith(fontWeight: FontWeight.bold), + style: context.textTheme.titleLarge?.copyWith( + fontWeight: FontWeight.bold, + ), textAlign: TextAlign.center, ), ), RawAutocomplete( focusNode: _focusNode, textEditingController: _controller, - fieldViewBuilder: (BuildContext context, - TextEditingController fieldTextEditingController, - FocusNode fieldFocusNode, - VoidCallback onFieldSubmitted) { + fieldViewBuilder: ( + BuildContext context, + TextEditingController fieldTextEditingController, + FocusNode fieldFocusNode, + VoidCallback onFieldSubmitted, + ) { return MyTextForm( elevation: kTextFieldElevation, labelText: 'search'.tr, @@ -134,7 +134,10 @@ class _CreatePlaceState extends State icon: const Icon(IconsaxPlusLinear.global_search), controller: _controller, margin: const EdgeInsets.only( - left: 10, right: 10, top: 10), + left: 10, + right: 10, + top: 10, + ), focusNode: _focusNode, ); }, @@ -142,16 +145,20 @@ class _CreatePlaceState extends State if (textEditingValue.text.isEmpty) { return const Iterable.empty(); } - return WeatherAPI() - .getCity(textEditingValue.text, locale); + return WeatherAPI().getCity( + textEditingValue.text, + locale, + ); }, - onSelected: (Result selection) => - fillController(selection), - displayStringForOption: (Result option) => - '${option.name}, ${option.admin1}', - optionsViewBuilder: (BuildContext context, - AutocompleteOnSelected onSelected, - Iterable options) { + onSelected: + (Result selection) => fillController(selection), + displayStringForOption: + (Result option) => '${option.name}, ${option.admin1}', + optionsViewBuilder: ( + BuildContext context, + AutocompleteOnSelected onSelected, + Iterable options, + ) { return Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Align( @@ -164,8 +171,9 @@ class _CreatePlaceState extends State shrinkWrap: true, itemCount: options.length, itemBuilder: (BuildContext context, int index) { - final Result option = - options.elementAt(index); + final Result option = options.elementAt( + index, + ); return InkWell( onTap: () => onSelected(option), child: ListTile( @@ -189,8 +197,11 @@ class _CreatePlaceState extends State type: TextInputType.number, icon: const Icon(IconsaxPlusLinear.location), onChanged: (value) => setState(() {}), - margin: - const EdgeInsets.only(left: 10, right: 10, top: 10), + margin: const EdgeInsets.only( + left: 10, + right: 10, + top: 10, + ), validator: (value) { if (value == null || value.isEmpty) { return 'validateValue'.tr; @@ -212,8 +223,11 @@ class _CreatePlaceState extends State type: TextInputType.number, icon: const Icon(IconsaxPlusLinear.location), onChanged: (value) => setState(() {}), - margin: - const EdgeInsets.only(left: 10, right: 10, top: 10), + margin: const EdgeInsets.only( + left: 10, + right: 10, + top: 10, + ), validator: (value) { if (value == null || value.isEmpty) { return 'validateValue'.tr; @@ -235,8 +249,11 @@ class _CreatePlaceState extends State type: TextInputType.name, icon: const Icon(IconsaxPlusLinear.building_3), onChanged: (value) => setState(() {}), - margin: - const EdgeInsets.only(left: 10, right: 10, top: 10), + margin: const EdgeInsets.only( + left: 10, + right: 10, + top: 10, + ), validator: (value) { if (value == null || value.isEmpty) { return 'validateName'.tr; @@ -251,8 +268,11 @@ class _CreatePlaceState extends State type: TextInputType.streetAddress, icon: const Icon(IconsaxPlusLinear.global), onChanged: (value) => setState(() {}), - margin: - const EdgeInsets.only(left: 10, right: 10, top: 10), + margin: const EdgeInsets.only( + left: 10, + right: 10, + top: 10, + ), validator: (value) { if (value == null || value.isEmpty) { return 'validateName'.tr; @@ -262,7 +282,9 @@ class _CreatePlaceState extends State ), Padding( padding: const EdgeInsets.symmetric( - horizontal: 10, vertical: 10), + horizontal: 10, + vertical: 10, + ), child: SizeTransition( sizeFactor: _animation, axisAlignment: -1.0, @@ -291,10 +313,7 @@ class _CreatePlaceState extends State ], ), ), - if (isLoading) - const Center( - child: CircularProgressIndicator(), - ), + if (isLoading) const Center(child: CircularProgressIndicator()), ], ), ), diff --git a/lib/app/ui/places/widgets/place_card.dart b/lib/app/ui/places/widgets/place_card.dart index 93a08a9..1d266af 100644 --- a/lib/app/ui/places/widgets/place_card.dart +++ b/lib/app/ui/places/widgets/place_card.dart @@ -54,10 +54,15 @@ class _PlaceCardState extends State { crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( - statusData.getDegree(widget.degree[weatherController - .getTime(widget.time, widget.timezone)] - .round() - .toInt()), + statusData.getDegree( + widget + .degree[weatherController.getTime( + widget.time, + widget.timezone, + )] + .round() + .toInt(), + ), style: context.textTheme.titleLarge?.copyWith( fontSize: 22, fontWeight: FontWeight.w600, @@ -65,8 +70,12 @@ class _PlaceCardState extends State { ), const Gap(7), Text( - statusWeather.getText(widget.weather[weatherController - .getTime(widget.time, widget.timezone)]), + statusWeather.getText( + widget.weather[weatherController.getTime( + widget.time, + widget.timezone, + )], + ), style: context.textTheme.titleMedium?.copyWith( color: Colors.grey, fontWeight: FontWeight.w400, @@ -79,11 +88,11 @@ class _PlaceCardState extends State { widget.district.isEmpty ? widget.city : widget.city.isEmpty - ? widget.district - : widget.city == widget.district - ? widget.city - : '${widget.city}' - ', ${widget.district}', + ? widget.district + : widget.city == widget.district + ? widget.city + : '${widget.city}' + ', ${widget.district}', style: context.textTheme.titleMedium?.copyWith( fontWeight: FontWeight.w500, ), @@ -107,14 +116,23 @@ class _PlaceCardState extends State { const Gap(5), Image.asset( statusWeather.getImageNow( - widget.weather[ - weatherController.getTime(widget.time, widget.timezone)], - widget.time[ - weatherController.getTime(widget.time, widget.timezone)], - widget.timeDay[weatherController.getDay( - widget.timeDaily, widget.timezone)], - widget.timeNight[weatherController.getDay( - widget.timeDaily, widget.timezone)]), + widget.weather[weatherController.getTime( + widget.time, + widget.timezone, + )], + widget.time[weatherController.getTime( + widget.time, + widget.timezone, + )], + widget.timeDay[weatherController.getDay( + widget.timeDaily, + widget.timezone, + )], + widget.timeNight[weatherController.getDay( + widget.timeDaily, + widget.timezone, + )], + ), scale: 6.5, ), ], diff --git a/lib/app/ui/places/widgets/place_card_list.dart b/lib/app/ui/places/widgets/place_card_list.dart index a603f3e..51462ed 100644 --- a/lib/app/ui/places/widgets/place_card_list.dart +++ b/lib/app/ui/places/widgets/place_card_list.dart @@ -6,10 +6,7 @@ import 'package:rain/app/ui/places/view/place_info.dart'; import 'package:rain/app/ui/places/widgets/place_card.dart'; class PlaceCardList extends StatefulWidget { - const PlaceCardList({ - super.key, - required this.searchCity, - }); + const PlaceCardList({super.key, required this.searchCity}); final String searchCity; @override @@ -24,15 +21,21 @@ class _PlaceCardListState extends State { final textTheme = context.textTheme; final titleMedium = textTheme.titleMedium; - var weatherCards = weatherController.weatherCards - .where((weatherCard) => (widget.searchCity.isEmpty || - weatherCard.city!.toLowerCase().contains(widget.searchCity))) - .toList() - .obs; + var weatherCards = + weatherController.weatherCards + .where( + (weatherCard) => + (widget.searchCity.isEmpty || + weatherCard.city!.toLowerCase().contains( + widget.searchCity, + )), + ) + .toList() + .obs; return ReorderableListView( - onReorder: (oldIndex, newIndex) => - weatherController.reorder(oldIndex, newIndex), + onReorder: + (oldIndex, newIndex) => weatherController.reorder(oldIndex, newIndex), children: [ ...weatherCards.map( (weatherCardList) => Dismissible( @@ -42,10 +45,7 @@ class _PlaceCardListState extends State { alignment: Alignment.centerRight, child: const Padding( padding: EdgeInsets.only(right: 15), - child: Icon( - IconsaxPlusLinear.trash_square, - color: Colors.red, - ), + child: Icon(IconsaxPlusLinear.trash_square, color: Colors.red), ), ), confirmDismiss: (DismissDirection direction) async { @@ -75,9 +75,7 @@ class _PlaceCardListState extends State { onPressed: () => Get.back(result: true), child: Text( 'delete'.tr, - style: titleMedium?.copyWith( - color: Colors.red, - ), + style: titleMedium?.copyWith(color: Colors.red), ), ), ], @@ -89,12 +87,11 @@ class _PlaceCardListState extends State { await weatherController.deleteCardWeather(weatherCardList); }, child: GestureDetector( - onTap: () => Get.to( - () => PlaceInfo( - weatherCard: weatherCardList, - ), - transition: Transition.downToUp, - ), + onTap: + () => Get.to( + () => PlaceInfo(weatherCard: weatherCardList), + transition: Transition.downToUp, + ), child: PlaceCard( time: weatherCardList.time!, timeDaily: weatherCardList.timeDaily!, diff --git a/lib/app/ui/settings/widgets/setting_card.dart b/lib/app/ui/settings/widgets/setting_card.dart index 0a2f96c..c22e9f7 100644 --- a/lib/app/ui/settings/widgets/setting_card.dart +++ b/lib/app/ui/settings/widgets/setting_card.dart @@ -41,9 +41,7 @@ class SettingCard extends StatelessWidget { elevation: elevation ?? 1, margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 5), child: ListTile( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15), - ), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)), onTap: onPressed, leading: icon, title: Text( @@ -51,50 +49,44 @@ class SettingCard extends StatelessWidget { style: context.textTheme.titleMedium, overflow: TextOverflow.visible, ), - trailing: switcher - ? Transform.scale( - scale: 0.8, - child: Switch( - value: value!, - onChanged: onChange, - ), - ) - : dropdown + trailing: + switcher + ? Transform.scale( + scale: 0.8, + child: Switch(value: value!, onChanged: onChange), + ) + : dropdown ? DropdownButton( - icon: const Padding( - padding: EdgeInsets.only(left: 7), - child: Icon(IconsaxPlusLinear.arrow_down), - ), - iconSize: 15, - alignment: AlignmentDirectional.centerEnd, - borderRadius: const BorderRadius.all(Radius.circular(15)), - underline: Container(), - value: dropdownName, - items: dropdownList! - .map>((String value) { - return DropdownMenuItem( - value: value, - child: Text(value), - ); - }).toList(), - onChanged: dropdownCange, - ) + icon: const Padding( + padding: EdgeInsets.only(left: 7), + child: Icon(IconsaxPlusLinear.arrow_down), + ), + iconSize: 15, + alignment: AlignmentDirectional.centerEnd, + borderRadius: const BorderRadius.all(Radius.circular(15)), + underline: Container(), + value: dropdownName, + items: + dropdownList!.map>(( + String value, + ) { + return DropdownMenuItem( + value: value, + child: Text(value), + ); + }).toList(), + onChanged: dropdownCange, + ) : info - ? infoSettings - ? Wrap( - children: [ - infoWidget!, - const Icon( - IconsaxPlusLinear.arrow_right_3, - size: 18, - ), - ], - ) - : infoWidget! - : const Icon( - IconsaxPlusLinear.arrow_right_3, - size: 18, - ), + ? infoSettings + ? Wrap( + children: [ + infoWidget!, + const Icon(IconsaxPlusLinear.arrow_right_3, size: 18), + ], + ) + : infoWidget! + : const Icon(IconsaxPlusLinear.arrow_right_3, size: 18), ), ); } diff --git a/lib/app/ui/widgets/button.dart b/lib/app/ui/widgets/button.dart index 65cca54..6205978 100644 --- a/lib/app/ui/widgets/button.dart +++ b/lib/app/ui/widgets/button.dart @@ -19,13 +19,11 @@ class MyTextButton extends StatelessWidget { style: ButtonStyle( shadowColor: const WidgetStatePropertyAll(Colors.transparent), backgroundColor: WidgetStatePropertyAll( - context.theme.colorScheme.secondaryContainer.withAlpha(80)), + context.theme.colorScheme.secondaryContainer.withAlpha(80), + ), ), onPressed: onPressed, - child: Text( - buttonName, - style: context.textTheme.titleMedium, - ), + child: Text(buttonName, style: context.textTheme.titleMedium), ), ); } diff --git a/lib/app/ui/widgets/shimmer.dart b/lib/app/ui/widgets/shimmer.dart index 24a19ec..a439a89 100644 --- a/lib/app/ui/widgets/shimmer.dart +++ b/lib/app/ui/widgets/shimmer.dart @@ -3,11 +3,7 @@ import 'package:get/get.dart'; import 'package:shimmer/shimmer.dart'; class MyShimmer extends StatelessWidget { - const MyShimmer({ - super.key, - required this.hight, - this.edgeInsetsMargin, - }); + const MyShimmer({super.key, required this.hight, this.edgeInsetsMargin}); final double hight; final EdgeInsets? edgeInsetsMargin; @@ -16,12 +12,7 @@ class MyShimmer extends StatelessWidget { return Shimmer.fromColors( baseColor: context.theme.cardColor, highlightColor: context.theme.primaryColor, - child: Card( - margin: edgeInsetsMargin, - child: SizedBox( - height: hight, - ), - ), + child: Card(margin: edgeInsetsMargin, child: SizedBox(height: hight)), ); } } diff --git a/lib/app/ui/widgets/weather/daily/daily_card.dart b/lib/app/ui/widgets/weather/daily/daily_card.dart index ca519a5..11afec1 100644 --- a/lib/app/ui/widgets/weather/daily/daily_card.dart +++ b/lib/app/ui/widgets/weather/daily/daily_card.dart @@ -32,50 +32,51 @@ class _DailyCardState extends State { return widget.weathercodeDaily == null ? Container() : Card( - margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 8), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 15, horizontal: 20), - child: Row( - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '${statusData.getDegree(widget.temperature2MMin?.round())} / ${statusData.getDegree(widget.temperature2MMax?.round())}', - style: context.textTheme.titleLarge?.copyWith( - fontSize: 22, - fontWeight: FontWeight.w600, - ), + margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 8), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 15, horizontal: 20), + child: Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${statusData.getDegree(widget.temperature2MMin?.round())} / ${statusData.getDegree(widget.temperature2MMax?.round())}', + style: context.textTheme.titleLarge?.copyWith( + fontSize: 22, + fontWeight: FontWeight.w600, ), - const Gap(5), - Text( - DateFormat.MMMMEEEEd(locale.languageCode) - .format(widget.timeDaily), - style: context.textTheme.titleMedium?.copyWith( - color: Colors.grey, - fontWeight: FontWeight.w400, - ), + ), + const Gap(5), + Text( + DateFormat.MMMMEEEEd( + locale.languageCode, + ).format(widget.timeDaily), + style: context.textTheme.titleMedium?.copyWith( + color: Colors.grey, + fontWeight: FontWeight.w400, ), - const Gap(5), - Text( - statusWeather.getText(widget.weathercodeDaily), - style: context.textTheme.titleMedium?.copyWith( - color: Colors.grey, - fontWeight: FontWeight.w400, - ), + ), + const Gap(5), + Text( + statusWeather.getText(widget.weathercodeDaily), + style: context.textTheme.titleMedium?.copyWith( + color: Colors.grey, + fontWeight: FontWeight.w400, ), - ], - ), + ), + ], ), - const Gap(5), - Image.asset( - statusWeather.getImageNowDaily(widget.weathercodeDaily), - scale: 6.5, - ), - ], - ), + ), + const Gap(5), + Image.asset( + statusWeather.getImageNowDaily(widget.weathercodeDaily), + scale: 6.5, + ), + ], ), - ); + ), + ); } } diff --git a/lib/app/ui/widgets/weather/daily/daily_card_info.dart b/lib/app/ui/widgets/weather/daily/daily_card_info.dart index 4290164..1d04f42 100644 --- a/lib/app/ui/widgets/weather/daily/daily_card_info.dart +++ b/lib/app/ui/widgets/weather/daily/daily_card_info.dart @@ -64,16 +64,14 @@ class _DailyCardInfoState extends State { onPressed: () { Get.back(); }, - icon: const Icon( - IconsaxPlusLinear.arrow_left_3, - size: 20, - ), + icon: const Icon(IconsaxPlusLinear.arrow_left_3, size: 20), splashColor: Colors.transparent, highlightColor: Colors.transparent, ), title: Text( - DateFormat.MMMMEEEEd(locale.languageCode) - .format(timeDaily[pageIndex]), + DateFormat.MMMMEEEEd( + locale.languageCode, + ).format(timeDaily[pageIndex]), style: textTheme.titleMedium?.copyWith( fontWeight: FontWeight.w600, fontSize: 18, @@ -115,133 +113,145 @@ class _DailyCardInfoState extends State { return indexedWeatherCodeDaily == null ? null : Container( - margin: const EdgeInsets.symmetric(horizontal: 10), - child: ListView( - children: [ - Now( - weather: - weatherData.weathercode![startIndex + hourOfDay], - degree: weatherData - .temperature2M![startIndex + hourOfDay], - feels: weatherData - .apparentTemperature![startIndex + hourOfDay]!, - time: weatherData.time![startIndex + hourOfDay], - timeDay: sunrise, - timeNight: sunset, - tempMax: temperature2MMax!, - tempMin: temperature2MMin!, - ), - Card( - margin: const EdgeInsets.only(bottom: 15), - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 10, vertical: 5), - child: SizedBox( - height: 135, - child: ScrollablePositionedList.separated( - separatorBuilder: - (BuildContext context, int index) { - return const VerticalDivider( - width: 10, - indent: 40, - endIndent: 40, - ); - }, - scrollDirection: Axis.horizontal, - itemCount: 24, - itemBuilder: (ctx, i) { - int hourlyIndex = startIndex + i; - return GestureDetector( - onTap: () { - hourOfDay = i; - setState(() {}); - }, - child: Container( - margin: const EdgeInsets.symmetric( - vertical: 5), - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 5, - ), - decoration: BoxDecoration( - color: i == hourOfDay - ? context.theme.colorScheme - .secondaryContainer - : Colors.transparent, - borderRadius: const BorderRadius.all( - Radius.circular(20), - ), - ), - child: Hourly( - time: weatherData.time![hourlyIndex], - weather: weatherData - .weathercode![hourlyIndex], - degree: weatherData - .temperature2M![hourlyIndex], - timeDay: sunrise, - timeNight: sunset, + margin: const EdgeInsets.symmetric(horizontal: 10), + child: ListView( + children: [ + Now( + weather: + weatherData.weathercode![startIndex + hourOfDay], + degree: + weatherData.temperature2M![startIndex + hourOfDay], + feels: + weatherData.apparentTemperature![startIndex + + hourOfDay]!, + time: weatherData.time![startIndex + hourOfDay], + timeDay: sunrise, + timeNight: sunset, + tempMax: temperature2MMax!, + tempMin: temperature2MMin!, + ), + Card( + margin: const EdgeInsets.only(bottom: 15), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 5, + ), + child: SizedBox( + height: 135, + child: ScrollablePositionedList.separated( + separatorBuilder: ( + BuildContext context, + int index, + ) { + return const VerticalDivider( + width: 10, + indent: 40, + endIndent: 40, + ); + }, + scrollDirection: Axis.horizontal, + itemCount: 24, + itemBuilder: (ctx, i) { + int hourlyIndex = startIndex + i; + return GestureDetector( + onTap: () { + hourOfDay = i; + setState(() {}); + }, + child: Container( + margin: const EdgeInsets.symmetric( + vertical: 5, + ), + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 5, + ), + decoration: BoxDecoration( + color: + i == hourOfDay + ? context + .theme + .colorScheme + .secondaryContainer + : Colors.transparent, + borderRadius: const BorderRadius.all( + Radius.circular(20), ), ), - ); - }, - ), + child: Hourly( + time: weatherData.time![hourlyIndex], + weather: + weatherData.weathercode![hourlyIndex], + degree: + weatherData + .temperature2M![hourlyIndex], + timeDay: sunrise, + timeNight: sunset, + ), + ), + ); + }, ), ), ), - SunsetSunrise( - timeSunrise: sunrise, - timeSunset: sunset, - ), - DescContainer( - humidity: weatherData - .relativehumidity2M?[startIndex + hourOfDay], - wind: - weatherData.windspeed10M?[startIndex + hourOfDay], - visibility: - weatherData.visibility?[startIndex + hourOfDay], - feels: weatherData - .apparentTemperature?[startIndex + hourOfDay], - evaporation: weatherData - .evapotranspiration?[startIndex + hourOfDay], - precipitation: weatherData - .precipitation?[startIndex + hourOfDay], - direction: weatherData - .winddirection10M?[startIndex + hourOfDay], - pressure: weatherData - .surfacePressure?[startIndex + hourOfDay], - rain: weatherData.rain?[startIndex + hourOfDay], - cloudcover: - weatherData.cloudcover?[startIndex + hourOfDay], - windgusts: - weatherData.windgusts10M?[startIndex + hourOfDay], - uvIndex: weatherData.uvIndex?[startIndex + hourOfDay], - dewpoint2M: - weatherData.dewpoint2M?[startIndex + hourOfDay], - precipitationProbability: - weatherData.precipitationProbability?[ - startIndex + hourOfDay], - shortwaveRadiation: weatherData - .shortwaveRadiation?[startIndex + hourOfDay], - initiallyExpanded: true, - title: 'hourlyVariables'.tr, - ), - DescContainer( - apparentTemperatureMin: apparentTemperatureMin, - apparentTemperatureMax: apparentTemperatureMax, - uvIndexMax: uvIndexMax, - windDirection10MDominant: windDirection10MDominant, - windSpeed10MMax: windSpeed10MMax, - windGusts10MMax: windGusts10MMax, - precipitationProbabilityMax: - precipitationProbabilityMax, - rainSum: rainSum, - precipitationSum: precipitationSum, - initiallyExpanded: true, - title: 'dailyVariables'.tr, - ), - ], - ), - ); + ), + SunsetSunrise(timeSunrise: sunrise, timeSunset: sunset), + DescContainer( + humidity: + weatherData.relativehumidity2M?[startIndex + + hourOfDay], + wind: weatherData.windspeed10M?[startIndex + hourOfDay], + visibility: + weatherData.visibility?[startIndex + hourOfDay], + feels: + weatherData.apparentTemperature?[startIndex + + hourOfDay], + evaporation: + weatherData.evapotranspiration?[startIndex + + hourOfDay], + precipitation: + weatherData.precipitation?[startIndex + hourOfDay], + direction: + weatherData.winddirection10M?[startIndex + + hourOfDay], + pressure: + weatherData.surfacePressure?[startIndex + + hourOfDay], + rain: weatherData.rain?[startIndex + hourOfDay], + cloudcover: + weatherData.cloudcover?[startIndex + hourOfDay], + windgusts: + weatherData.windgusts10M?[startIndex + hourOfDay], + uvIndex: weatherData.uvIndex?[startIndex + hourOfDay], + dewpoint2M: + weatherData.dewpoint2M?[startIndex + hourOfDay], + precipitationProbability: + weatherData.precipitationProbability?[startIndex + + hourOfDay], + shortwaveRadiation: + weatherData.shortwaveRadiation?[startIndex + + hourOfDay], + initiallyExpanded: true, + title: 'hourlyVariables'.tr, + ), + DescContainer( + apparentTemperatureMin: apparentTemperatureMin, + apparentTemperatureMax: apparentTemperatureMax, + uvIndexMax: uvIndexMax, + windDirection10MDominant: windDirection10MDominant, + windSpeed10MMax: windSpeed10MMax, + windGusts10MMax: windGusts10MMax, + precipitationProbabilityMax: + precipitationProbabilityMax, + rainSum: rainSum, + precipitationSum: precipitationSum, + initiallyExpanded: true, + title: 'dailyVariables'.tr, + ), + ], + ), + ); }, ), ), diff --git a/lib/app/ui/widgets/weather/daily/daily_card_list.dart b/lib/app/ui/widgets/weather/daily/daily_card_list.dart index 55a7442..787bde4 100644 --- a/lib/app/ui/widgets/weather/daily/daily_card_list.dart +++ b/lib/app/ui/widgets/weather/daily/daily_card_list.dart @@ -6,10 +6,7 @@ import 'package:rain/app/ui/widgets/weather/daily/daily_card_info.dart'; import 'package:rain/app/ui/widgets/weather/daily/daily_card.dart'; class DailyCardList extends StatefulWidget { - const DailyCardList({ - super.key, - required this.weatherData, - }); + const DailyCardList({super.key, required this.weatherData}); final WeatherCard weatherData; @override @@ -31,10 +28,7 @@ class _DailyCardListState extends State { onPressed: () { Get.back(); }, - icon: const Icon( - IconsaxPlusLinear.arrow_left_3, - size: 20, - ), + icon: const Icon(IconsaxPlusLinear.arrow_left_3, size: 20), splashColor: transparent, highlightColor: transparent, ), @@ -49,21 +43,21 @@ class _DailyCardListState extends State { body: SafeArea( child: ListView.builder( itemCount: timeDaily.length, - itemBuilder: (context, index) => GestureDetector( - onTap: () => Get.to( - () => DailyCardInfo( - weatherData: weatherData, - index: index, + itemBuilder: + (context, index) => GestureDetector( + onTap: + () => Get.to( + () => + DailyCardInfo(weatherData: weatherData, index: index), + transition: Transition.downToUp, + ), + child: DailyCard( + timeDaily: timeDaily[index], + weathercodeDaily: weatherData.weathercodeDaily![index], + temperature2MMax: weatherData.temperature2MMax![index], + temperature2MMin: weatherData.temperature2MMin![index], + ), ), - transition: Transition.downToUp, - ), - child: DailyCard( - timeDaily: timeDaily[index], - weathercodeDaily: weatherData.weathercodeDaily![index], - temperature2MMax: weatherData.temperature2MMax![index], - temperature2MMin: weatherData.temperature2MMin![index], - ), - ), ), ), ); diff --git a/lib/app/ui/widgets/weather/daily/daily_container.dart b/lib/app/ui/widgets/weather/daily/daily_container.dart index cc62e0a..e2056c4 100644 --- a/lib/app/ui/widgets/weather/daily/daily_container.dart +++ b/lib/app/ui/widgets/weather/daily/daily_container.dart @@ -29,9 +29,7 @@ class _DailyContainerState extends State { @override Widget build(BuildContext context) { final splashColor = context.theme.colorScheme.primary.withOpacity(0.4); - const inkWellBorderRadius = BorderRadius.all( - Radius.circular(16), - ); + const inkWellBorderRadius = BorderRadius.all(Radius.circular(16)); final weatherData = widget.weatherData; final weatherCodeDaily = weatherData.weathercodeDaily ?? []; @@ -52,13 +50,14 @@ class _DailyContainerState extends State { return InkWell( splashColor: splashColor, borderRadius: inkWellBorderRadius, - onTap: () => Get.to( - () => DailyCardInfo( - weatherData: weatherData, - index: index, - ), - transition: Transition.downToUp, - ), + onTap: + () => Get.to( + () => DailyCardInfo( + weatherData: weatherData, + index: index, + ), + transition: Transition.downToUp, + ), child: Container( margin: const EdgeInsets.symmetric(vertical: 12), child: Row( @@ -66,8 +65,9 @@ class _DailyContainerState extends State { children: [ Expanded( child: Text( - DateFormat.EEEE(locale.languageCode) - .format((weatherData.timeDaily ?? [])[index]), + DateFormat.EEEE( + locale.languageCode, + ).format((weatherData.timeDaily ?? [])[index]), style: labelLarge, overflow: TextOverflow.ellipsis, ), @@ -77,15 +77,17 @@ class _DailyContainerState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( - statusWeather - .getImage7Day(weatherCodeDaily[index]), + statusWeather.getImage7Day( + weatherCodeDaily[index], + ), scale: 3, ), const Gap(5), Expanded( child: Text( - statusWeather - .getText(weatherCodeDaily[index]), + statusWeather.getText( + weatherCodeDaily[index], + ), style: labelLarge, overflow: TextOverflow.ellipsis, ), @@ -99,18 +101,17 @@ class _DailyContainerState extends State { children: [ Text( statusData.getDegree( - (weatherData.temperature2MMin ?? [])[index] - ?.round()), - style: labelLarge, - ), - Text( - ' / ', + (weatherData.temperature2MMin ?? [])[index] + ?.round(), + ), style: labelLarge, ), + Text(' / ', style: labelLarge), Text( statusData.getDegree( - (weatherData.temperature2MMax ?? [])[index] - ?.round()), + (weatherData.temperature2MMax ?? [])[index] + ?.round(), + ), style: labelLarge, ), ], diff --git a/lib/app/ui/widgets/weather/desc/desc.dart b/lib/app/ui/widgets/weather/desc/desc.dart index a2191df..ee28267 100644 --- a/lib/app/ui/widgets/weather/desc/desc.dart +++ b/lib/app/ui/widgets/weather/desc/desc.dart @@ -35,14 +35,12 @@ class _DescWeatherState extends State { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - Image.asset( - widget.imageName, - scale: 20, - ), + Image.asset(widget.imageName, scale: 20), const Gap(5), Text( widget.value, style: textTheme.labelLarge, + overflow: TextOverflow.ellipsis, ), Expanded( child: Text( diff --git a/lib/app/ui/widgets/weather/desc/desc_container.dart b/lib/app/ui/widgets/weather/desc/desc_container.dart index e9d3ad1..76ef35a 100644 --- a/lib/app/ui/widgets/weather/desc/desc_container.dart +++ b/lib/app/ui/widgets/weather/desc/desc_container.dart @@ -107,10 +107,7 @@ class _DescContainerState extends State { margin: const EdgeInsets.only(bottom: 15), child: ExpansionTile( shape: const Border(), - title: Text( - title, - style: context.textTheme.labelLarge, - ), + title: Text(title, style: context.textTheme.labelLarge), initiallyExpanded: initiallyExpanded, children: [ Padding( @@ -122,180 +119,180 @@ class _DescContainerState extends State { apparentTemperatureMin == null ? Container() : DescWeather( - imageName: 'assets/images/cold.png', - value: statusData - .getDegree(apparentTemperatureMin.round()), - desc: 'apparentTemperatureMin'.tr, + imageName: 'assets/images/cold.png', + value: statusData.getDegree( + apparentTemperatureMin.round(), ), + desc: 'apparentTemperatureMin'.tr, + ), apparentTemperatureMax == null ? Container() : DescWeather( - imageName: 'assets/images/hot.png', - value: statusData - .getDegree(apparentTemperatureMax.round()), - desc: 'apparentTemperatureMax'.tr, + imageName: 'assets/images/hot.png', + value: statusData.getDegree( + apparentTemperatureMax.round(), ), + desc: 'apparentTemperatureMax'.tr, + ), uvIndexMax == null ? Container() : DescWeather( - imageName: 'assets/images/uv.png', - value: '${uvIndexMax.round()}', - desc: 'uvIndex'.tr, - message: message.getUvIndex(uvIndexMax.round()), - ), + imageName: 'assets/images/uv.png', + value: '${uvIndexMax.round()}', + desc: 'uvIndex'.tr, + message: message.getUvIndex(uvIndexMax.round()), + ), windDirection10MDominant == null ? Container() : DescWeather( - imageName: 'assets/images/windsock.png', - value: '$windDirection10MDominant°', - desc: 'direction'.tr, - message: message.getDirection(windDirection10MDominant), - ), + imageName: 'assets/images/windsock.png', + value: '$windDirection10MDominant°', + desc: 'direction'.tr, + message: message.getDirection(windDirection10MDominant), + ), windSpeed10MMax == null ? Container() : DescWeather( - imageName: 'assets/images/wind.png', - value: statusData.getSpeed(windSpeed10MMax.round()), - desc: 'wind'.tr, - ), + imageName: 'assets/images/wind.png', + value: statusData.getSpeed(windSpeed10MMax.round()), + desc: 'wind'.tr, + ), windGusts10MMax == null ? Container() : DescWeather( - imageName: 'assets/images/windgusts.png', - value: statusData.getSpeed(windGusts10MMax.round()), - desc: 'windgusts'.tr, - ), + imageName: 'assets/images/windgusts.png', + value: statusData.getSpeed(windGusts10MMax.round()), + desc: 'windgusts'.tr, + ), precipitationProbabilityMax == null ? Container() : DescWeather( - imageName: - 'assets/images/precipitation_probability.png', - value: '$precipitationProbabilityMax%', - desc: 'precipitationProbability'.tr, - ), + imageName: 'assets/images/precipitation_probability.png', + value: '$precipitationProbabilityMax%', + desc: 'precipitationProbability'.tr, + ), rainSum == null ? Container() : DescWeather( - imageName: 'assets/images/water.png', - value: statusData.getPrecipitation(rainSum), - desc: 'rain'.tr, - ), + imageName: 'assets/images/water.png', + value: statusData.getPrecipitation(rainSum), + desc: 'rain'.tr, + ), precipitationSum == null ? Container() : DescWeather( - imageName: 'assets/images/rainfall.png', - value: statusData.getPrecipitation(precipitationSum), - desc: 'precipitation'.tr, - ), + imageName: 'assets/images/rainfall.png', + value: statusData.getPrecipitation(precipitationSum), + desc: 'precipitation'.tr, + ), dewpoint2M == null ? Container() : DescWeather( - imageName: 'assets/images/dew.png', - value: statusData.getDegree(dewpoint2M.round()), - desc: 'dewpoint'.tr, - ), + imageName: 'assets/images/dew.png', + value: statusData.getDegree(dewpoint2M.round()), + desc: 'dewpoint'.tr, + ), feels == null ? Container() : DescWeather( - imageName: 'assets/images/temperature.png', - value: statusData.getDegree(feels.round()), - desc: 'feels'.tr, - ), + imageName: 'assets/images/temperature.png', + value: statusData.getDegree(feels.round()), + desc: 'feels'.tr, + ), visibility == null ? Container() : DescWeather( - imageName: 'assets/images/fog.png', - value: statusData.getVisibility(visibility), - desc: 'visibility'.tr, - ), + imageName: 'assets/images/fog.png', + value: statusData.getVisibility(visibility), + desc: 'visibility'.tr, + ), direction == null ? Container() : DescWeather( - imageName: 'assets/images/windsock.png', - value: '$direction°', - desc: 'direction'.tr, - message: message.getDirection(direction), - ), + imageName: 'assets/images/windsock.png', + value: '$direction°', + desc: 'direction'.tr, + message: message.getDirection(direction), + ), wind == null ? Container() : DescWeather( - imageName: 'assets/images/wind.png', - value: statusData.getSpeed(wind.round()), - desc: 'wind'.tr, - ), + imageName: 'assets/images/wind.png', + value: statusData.getSpeed(wind.round()), + desc: 'wind'.tr, + ), windgusts == null ? Container() : DescWeather( - imageName: 'assets/images/windgusts.png', - value: statusData.getSpeed(windgusts.round()), - desc: 'windgusts'.tr, - ), + imageName: 'assets/images/windgusts.png', + value: statusData.getSpeed(windgusts.round()), + desc: 'windgusts'.tr, + ), evaporation == null ? Container() : DescWeather( - imageName: 'assets/images/evaporation.png', - value: statusData.getPrecipitation(evaporation.abs()), - desc: 'evaporation'.tr, - ), + imageName: 'assets/images/evaporation.png', + value: statusData.getPrecipitation(evaporation.abs()), + desc: 'evaporation'.tr, + ), precipitation == null ? Container() : DescWeather( - imageName: 'assets/images/rainfall.png', - value: statusData.getPrecipitation(precipitation), - desc: 'precipitation'.tr, - ), + imageName: 'assets/images/rainfall.png', + value: statusData.getPrecipitation(precipitation), + desc: 'precipitation'.tr, + ), rain == null ? Container() : DescWeather( - imageName: 'assets/images/water.png', - value: statusData.getPrecipitation(rain), - desc: 'rain'.tr, - ), + imageName: 'assets/images/water.png', + value: statusData.getPrecipitation(rain), + desc: 'rain'.tr, + ), precipitationProbability == null ? Container() : DescWeather( - imageName: - 'assets/images/precipitation_probability.png', - value: '$precipitationProbability%', - desc: 'precipitationProbability'.tr, - ), + imageName: 'assets/images/precipitation_probability.png', + value: '$precipitationProbability%', + desc: 'precipitationProbability'.tr, + ), humidity == null ? Container() : DescWeather( - imageName: 'assets/images/humidity.png', - value: '$humidity%', - desc: 'humidity'.tr, - ), + imageName: 'assets/images/humidity.png', + value: '$humidity%', + desc: 'humidity'.tr, + ), cloudcover == null ? Container() : DescWeather( - imageName: 'assets/images/cloudy.png', - value: '$cloudcover%', - desc: 'cloudcover'.tr, - ), + imageName: 'assets/images/cloudy.png', + value: '$cloudcover%', + desc: 'cloudcover'.tr, + ), pressure == null ? Container() : DescWeather( - imageName: 'assets/images/atmospheric.png', - value: statusData.getPressure(pressure.round()), - desc: 'pressure'.tr, - message: message.getPressure(pressure.round()), - ), + imageName: 'assets/images/atmospheric.png', + value: statusData.getPressure(pressure.round()), + desc: 'pressure'.tr, + message: message.getPressure(pressure.round()), + ), uvIndex == null ? Container() : DescWeather( - imageName: 'assets/images/uv.png', - value: '${uvIndex.round()}', - desc: 'uvIndex'.tr, - message: message.getUvIndex(uvIndex.round()), - ), + imageName: 'assets/images/uv.png', + value: '${uvIndex.round()}', + desc: 'uvIndex'.tr, + message: message.getUvIndex(uvIndex.round()), + ), shortwaveRadiation == null ? Container() : DescWeather( - imageName: 'assets/images/shortwave_radiation.png', - value: '${shortwaveRadiation.round()} ${'W/m2'.tr}', - desc: 'shortwaveRadiation'.tr, - ), + imageName: 'assets/images/shortwave_radiation.png', + value: '${shortwaveRadiation.round()} ${'W/m2'.tr}', + desc: 'shortwaveRadiation'.tr, + ), ], ), ), diff --git a/lib/app/ui/widgets/weather/hourly.dart b/lib/app/ui/widgets/weather/hourly.dart index df504a3..61bee81 100644 --- a/lib/app/ui/widgets/weather/hourly.dart +++ b/lib/app/ui/widgets/weather/hourly.dart @@ -37,16 +37,13 @@ class _HourlyState extends State { children: [ Column( children: [ + Text(statusData.getTimeFormat(time), style: textTheme.labelLarge), Text( - statusData.getTimeFormat(time), - style: textTheme.labelLarge, - ), - Text( - DateFormat('E', locale.languageCode) - .format(DateTime.tryParse(time)!), - style: textTheme.labelLarge?.copyWith( - color: Colors.grey, - ), + DateFormat( + 'E', + locale.languageCode, + ).format(DateTime.tryParse(time)!), + style: textTheme.labelLarge?.copyWith(color: Colors.grey), ), ], ), @@ -61,9 +58,7 @@ class _HourlyState extends State { ), Text( statusData.getDegree(widget.degree.round()), - style: textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w600, - ), + style: textTheme.titleMedium?.copyWith(fontWeight: FontWeight.w600), ), ], ); diff --git a/lib/app/ui/widgets/weather/now.dart b/lib/app/ui/widgets/weather/now.dart index 6e1c3a3..2836ea6 100644 --- a/lib/app/ui/widgets/weather/now.dart +++ b/lib/app/ui/widgets/weather/now.dart @@ -39,113 +39,131 @@ class _NowState extends State { Widget build(BuildContext context) { return largeElement ? Padding( - padding: const EdgeInsets.only(bottom: 15), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, + padding: const EdgeInsets.only(bottom: 15), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Gap(15), + Image( + image: AssetImage( + statusWeather.getImageNow( + widget.weather, + widget.time, + widget.timeDay, + widget.timeNight, + ), + ), + fit: BoxFit.fill, + height: 200, + ), + Text( + '${roundDegree ? widget.degree.round() : widget.degree}', + style: context.textTheme.displayLarge?.copyWith( + fontSize: 90, + fontWeight: FontWeight.w800, + shadows: const [Shadow(blurRadius: 15, offset: Offset(5, 5))], + ), + ), + Text( + statusWeather.getText(widget.weather), + style: context.textTheme.titleLarge, + ), + const Gap(5), + Text( + DateFormat.MMMMEEEEd( + locale.languageCode, + ).format(DateTime.parse(widget.time)), + style: context.textTheme.labelLarge?.copyWith( + color: Colors.grey, + ), + ), + ], + ), + ) + : Card( + margin: const EdgeInsets.only(bottom: 15), + child: Padding( + padding: const EdgeInsets.only( + top: 18, + bottom: 18, + left: 25, + right: 15, + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, children: [ - const Gap(15), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + DateFormat.MMMMEEEEd( + locale.languageCode, + ).format(DateTime.parse(widget.time)), + style: context.textTheme.labelLarge?.copyWith( + color: Colors.grey, + ), + ), + const Gap(5), + Text( + statusWeather.getText(widget.weather), + style: context.textTheme.titleLarge?.copyWith( + fontSize: 20, + ), + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('feels'.tr, style: context.textTheme.bodyMedium), + Text(' • ', style: context.textTheme.bodyMedium), + Text( + statusData.getDegree(widget.feels.round()), + style: context.textTheme.bodyMedium, + ), + ], + ), + const Gap(30), + Text( + statusData.getDegree( + roundDegree ? widget.degree.round() : widget.degree, + ), + style: context.textTheme.displayMedium?.copyWith( + fontWeight: FontWeight.w800, + ), + ), + const Gap(5), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + statusData.getDegree((widget.tempMin.round())), + style: context.textTheme.labelLarge, + ), + Text(' / ', style: context.textTheme.labelLarge), + Text( + statusData.getDegree((widget.tempMax.round())), + style: context.textTheme.labelLarge, + ), + ], + ), + ], + ), + ), Image( - image: AssetImage(statusWeather.getImageNow(widget.weather, - widget.time, widget.timeDay, widget.timeNight)), + image: AssetImage( + statusWeather.getImageNow( + widget.weather, + widget.time, + widget.timeDay, + widget.timeNight, + ), + ), fit: BoxFit.fill, - height: 200, - ), - Text( - '${roundDegree ? widget.degree.round() : widget.degree}', - style: context.textTheme.displayLarge?.copyWith( - fontSize: 90, - fontWeight: FontWeight.w800, - shadows: const [ - Shadow( - blurRadius: 15, - offset: Offset(5, 5), - ) - ]), - ), - Text( - statusWeather.getText(widget.weather), - style: context.textTheme.titleLarge, - ), - const Gap(5), - Text( - DateFormat.MMMMEEEEd(locale.languageCode).format( - DateTime.parse(widget.time), - ), - style: context.textTheme.labelLarge?.copyWith( - color: Colors.grey, - ), + height: 140, ), ], ), - ) - : Card( - margin: const EdgeInsets.only(bottom: 15), - child: Padding( - padding: const EdgeInsets.only( - top: 18, bottom: 18, left: 25, right: 15), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - DateFormat.MMMMEEEEd(locale.languageCode).format( - DateTime.parse(widget.time), - ), - style: context.textTheme.labelLarge?.copyWith( - color: Colors.grey, - ), - ), - const Gap(5), - Text( - statusWeather.getText(widget.weather), - style: context.textTheme.titleLarge - ?.copyWith(fontSize: 20), - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text('feels'.tr, - style: context.textTheme.bodyMedium), - Text(' • ', style: context.textTheme.bodyMedium), - Text(statusData.getDegree(widget.feels.round()), - style: context.textTheme.bodyMedium), - ], - ), - const Gap(30), - Text( - statusData.getDegree(roundDegree - ? widget.degree.round() - : widget.degree), - style: context.textTheme.displayMedium?.copyWith( - fontWeight: FontWeight.w800, - ), - ), - const Gap(5), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(statusData.getDegree((widget.tempMin.round())), - style: context.textTheme.labelLarge), - Text(' / ', style: context.textTheme.labelLarge), - Text(statusData.getDegree((widget.tempMax.round())), - style: context.textTheme.labelLarge), - ], - ), - ], - ), - ), - Image( - image: AssetImage(statusWeather.getImageNow(widget.weather, - widget.time, widget.timeDay, widget.timeNight)), - fit: BoxFit.fill, - height: 140, - ), - ], - ), - ), - ); + ), + ); } } diff --git a/lib/app/ui/widgets/weather/status/status_data.dart b/lib/app/ui/widgets/weather/status/status_data.dart index 3ae8a50..3a20b20 100644 --- a/lib/app/ui/widgets/weather/status/status_data.dart +++ b/lib/app/ui/widgets/weather/status/status_data.dart @@ -63,14 +63,17 @@ class StatusData { String getTimeFormat(String time) { switch (settings.timeformat) { case '12': - return DateFormat.jm(locale.languageCode) - .format(DateTime.tryParse(time)!); + return DateFormat.jm( + locale.languageCode, + ).format(DateTime.tryParse(time)!); case '24': - return DateFormat.Hm(locale.languageCode) - .format(DateTime.tryParse(time)!); + return DateFormat.Hm( + locale.languageCode, + ).format(DateTime.tryParse(time)!); default: - return DateFormat.Hm(locale.languageCode) - .format(DateTime.tryParse(time)!); + return DateFormat.Hm( + locale.languageCode, + ).format(DateTime.tryParse(time)!); } } diff --git a/lib/app/ui/widgets/weather/status/status_weather.dart b/lib/app/ui/widgets/weather/status/status_weather.dart index b33d8c1..5d58fdd 100644 --- a/lib/app/ui/widgets/weather/status/status_weather.dart +++ b/lib/app/ui/widgets/weather/status/status_weather.dart @@ -4,15 +4,29 @@ const assetImageRoot = 'assets/images/'; class StatusWeather { String getImageNow( - int weather, String time, String timeDay, String timeNight) { + int weather, + String time, + String timeDay, + String timeNight, + ) { final currentTime = DateTime.parse(time); final day = DateTime.parse(timeDay); final night = DateTime.parse(timeNight); - final dayTime = - DateTime(day.year, day.month, day.day, day.hour, day.minute); - final nightTime = - DateTime(night.year, night.month, night.day, night.hour, night.minute); + final dayTime = DateTime( + day.year, + day.month, + day.day, + day.hour, + day.minute, + ); + final nightTime = DateTime( + night.year, + night.month, + night.day, + night.hour, + night.minute, + ); switch (weather) { case 0: @@ -112,15 +126,29 @@ class StatusWeather { } String getImageToday( - int weather, String time, String timeDay, String timeNight) { + int weather, + String time, + String timeDay, + String timeNight, + ) { final currentTime = DateTime.parse(time); final day = DateTime.parse(timeDay); final night = DateTime.parse(timeNight); - final dayTime = - DateTime(day.year, day.month, day.day, day.hour, day.minute); - final nightTime = - DateTime(night.year, night.month, night.day, night.hour, night.minute); + final dayTime = DateTime( + day.year, + day.month, + day.day, + day.hour, + day.minute, + ); + final nightTime = DateTime( + night.year, + night.month, + night.day, + night.hour, + night.minute, + ); switch (weather) { case 0: @@ -274,15 +302,29 @@ class StatusWeather { } String getImageNotification( - int weather, String time, String timeDay, String timeNight) { + int weather, + String time, + String timeDay, + String timeNight, + ) { final currentTime = DateTime.parse(time); final day = DateTime.parse(timeDay); final night = DateTime.parse(timeNight); - final dayTime = - DateTime(day.year, day.month, day.day, day.hour, day.minute); - final nightTime = - DateTime(night.year, night.month, night.day, night.hour, night.minute); + final dayTime = DateTime( + day.year, + day.month, + day.day, + day.hour, + day.minute, + ); + final nightTime = DateTime( + night.year, + night.month, + night.day, + night.hour, + night.minute, + ); switch (weather) { case 0: diff --git a/lib/app/ui/widgets/weather/sunset_sunrise.dart b/lib/app/ui/widgets/weather/sunset_sunrise.dart index e7f0556..57f3f9d 100644 --- a/lib/app/ui/widgets/weather/sunset_sunrise.dart +++ b/lib/app/ui/widgets/weather/sunset_sunrise.dart @@ -55,10 +55,7 @@ class _SunsetSunriseState extends State { ), const Gap(5), Flexible( - child: Image.asset( - 'assets/images/sunrise.png', - scale: 10, - ), + child: Image.asset('assets/images/sunrise.png', scale: 10), ), ], ), @@ -86,10 +83,7 @@ class _SunsetSunriseState extends State { ), const Gap(5), Flexible( - child: Image.asset( - 'assets/images/sunset.png', - scale: 10, - ), + child: Image.asset('assets/images/sunset.png', scale: 10), ), ], ), diff --git a/lib/app/utils/color_converter.dart b/lib/app/utils/color_converter.dart index 8f4c614..e573021 100644 --- a/lib/app/utils/color_converter.dart +++ b/lib/app/utils/color_converter.dart @@ -10,9 +10,17 @@ extension HexColor on Color { } /// Prefixes a hash sign if [leadingHashSign] is set to `true` (default is `true`). - String toHex({bool leadingHashSign = true}) => '${leadingHashSign ? '#' : ''}' - '${alpha.toRadixString(16).padLeft(2, '0')}' - '${red.toRadixString(16).padLeft(2, '0')}' - '${green.toRadixString(16).padLeft(2, '0')}' - '${blue.toRadixString(16).padLeft(2, '0')}'; + String toHex({bool leadingHashSign = true}) { + final argb = toARGB32(); // Get 32-bit integer representation + final a = (argb >> 24) & 0xFF; + final r = (argb >> 16) & 0xFF; + final g = (argb >> 8) & 0xFF; + final b = argb & 0xFF; + + return '${leadingHashSign ? '#' : ''}' + '${a.toRadixString(16).padLeft(2, '0')}' + '${r.toRadixString(16).padLeft(2, '0')}' + '${g.toRadixString(16).padLeft(2, '0')}' + '${b.toRadixString(16).padLeft(2, '0')}'; + } } diff --git a/lib/app/utils/notification.dart b/lib/app/utils/notification.dart index ba07067..675f8be 100644 --- a/lib/app/utils/notification.dart +++ b/lib/app/utils/notification.dart @@ -15,16 +15,17 @@ class NotificationShow { AndroidNotificationDetails androidNotificationDetails = AndroidNotificationDetails( - 'Rain', - 'DARK NIGHT', - priority: Priority.high, - importance: Importance.max, - playSound: false, - enableVibration: false, - largeIcon: FilePathAndroidBitmap(imagePath), + 'Rain', + 'DARK NIGHT', + priority: Priority.high, + importance: Importance.max, + playSound: false, + enableVibration: false, + largeIcon: FilePathAndroidBitmap(imagePath), + ); + NotificationDetails notificationDetails = NotificationDetails( + android: androidNotificationDetails, ); - NotificationDetails notificationDetails = - NotificationDetails(android: androidNotificationDetails); var scheduledTime = tz.TZDateTime.from(date, tz.local); flutterLocalNotificationsPlugin.zonedSchedule( diff --git a/lib/app/utils/show_snack_bar.dart b/lib/app/utils/show_snack_bar.dart index a7dd8a1..612bfcb 100644 --- a/lib/app/utils/show_snack_bar.dart +++ b/lib/app/utils/show_snack_bar.dart @@ -7,14 +7,15 @@ void showSnackBar({required String content, Function? onPressed}) { globalKey.currentState?.showSnackBar( SnackBar( content: Text(content), - action: onPressed != null - ? SnackBarAction( - label: 'settings'.tr, - onPressed: () { - onPressed(); - }, - ) - : null, + action: + onPressed != null + ? SnackBarAction( + label: 'settings'.tr, + onPressed: () { + onPressed(); + }, + ) + : null, ), ); } diff --git a/lib/main.dart b/lib/main.dart index eea5369..93a9adc 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -33,7 +33,7 @@ final ValueNotifier> isOnline = ValueNotifier( InternetConnection().hasInternetAccess, ); -FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = +final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); bool amoledTheme = false; @@ -47,36 +47,36 @@ String timeEnd = '21:00'; String widgetBackgroundColor = ''; String widgetTextColor = ''; -final List appLanguages = [ - {'name': 'বাংলা', 'locale': const Locale('bn', 'IN')}, - {'name': 'Čeština', 'locale': const Locale('cs', 'CZ')}, - {'name': 'Dansk', 'locale': const Locale('da', 'DK')}, - {'name': 'Deutsch', 'locale': const Locale('de', 'DE')}, - {'name': 'English', 'locale': const Locale('en', 'US')}, - {'name': 'Español', 'locale': const Locale('es', 'ES')}, - {'name': 'Français', 'locale': const Locale('fr', 'FR')}, - // {'name': 'Gaeilge', 'locale': const Locale('ga', 'IE')}, - {'name': 'हिन्दी', 'locale': const Locale('hi', 'IN')}, - {'name': 'Magyar', 'locale': const Locale('hu', 'HU')}, - {'name': 'Italiano', 'locale': const Locale('it', 'IT')}, - {'name': '한국어', 'locale': const Locale('ko', 'KR')}, - {'name': 'فارسی', 'locale': const Locale('fa', 'IR')}, - {'name': 'ქართული', 'locale': const Locale('ka', 'GE')}, - {'name': 'Nederlands', 'locale': const Locale('nl', 'NL')}, - {'name': 'Polski', 'locale': const Locale('pl', 'PL')}, - {'name': 'Português (Brasil)', 'locale': const Locale('pt', 'BR')}, - {'name': 'Română', 'locale': const Locale('ro', 'RO')}, - {'name': 'Русский', 'locale': const Locale('ru', 'RU')}, - {'name': 'Slovenčina', 'locale': const Locale('sk', 'SK')}, - {'name': 'Türkçe', 'locale': const Locale('tr', 'TR')}, - {'name': 'اردو', 'locale': const Locale('ur', 'PK')}, - {'name': '中文(简体)', 'locale': const Locale('zh', 'CN')}, - {'name': '中文(繁體)', 'locale': const Locale('zh', 'TW')}, -]; - const String appGroupId = 'DARK NIGHT'; const String androidWidgetName = 'OreoWidget'; +const List> appLanguages = [ + {'name': 'বাংলা', 'locale': Locale('bn', 'IN')}, + {'name': 'Čeština', 'locale': Locale('cs', 'CZ')}, + {'name': 'Dansk', 'locale': Locale('da', 'DK')}, + {'name': 'Deutsch', 'locale': Locale('de', 'DE')}, + {'name': 'English', 'locale': Locale('en', 'US')}, + {'name': 'Español', 'locale': Locale('es', 'ES')}, + {'name': 'Français', 'locale': Locale('fr', 'FR')}, + // {'name': 'Gaeilge', 'locale': Locale('ga', 'IE')}, + {'name': 'हिन्दी', 'locale': Locale('hi', 'IN')}, + {'name': 'Magyar', 'locale': Locale('hu', 'HU')}, + {'name': 'Italiano', 'locale': Locale('it', 'IT')}, + {'name': '한국어', 'locale': Locale('ko', 'KR')}, + {'name': 'فارسی', 'locale': Locale('fa', 'IR')}, + {'name': 'ქართული', 'locale': Locale('ka', 'GE')}, + {'name': 'Nederlands', 'locale': Locale('nl', 'NL')}, + {'name': 'Polski', 'locale': Locale('pl', 'PL')}, + {'name': 'Português (Brasil)', 'locale': Locale('pt', 'BR')}, + {'name': 'Română', 'locale': Locale('ro', 'RO')}, + {'name': 'Русский', 'locale': Locale('ru', 'RU')}, + {'name': 'Slovenčina', 'locale': Locale('sk', 'SK')}, + {'name': 'Türkçe', 'locale': Locale('tr', 'TR')}, + {'name': 'اردو', 'locale': Locale('ur', 'PK')}, + {'name': '中文(简体)', 'locale': Locale('zh', 'CN')}, + {'name': '中文(繁體)', 'locale': Locale('zh', 'TW')}, +]; + @pragma('vm:entry-point') void callbackDispatcher() { Workmanager().executeTask((task, inputData) { @@ -85,59 +85,40 @@ void callbackDispatcher() { } void main() async { - final String timeZoneName; WidgetsFlutterBinding.ensureInitialized(); - Connectivity().onConnectivityChanged.listen(( - List result, - ) { - result.contains(ConnectivityResult.none) - ? isOnline.value = Future(() => false) - : isOnline.value = InternetConnection().hasInternetAccess; - }); - DeviceFeature().init(); - if (Platform.isAndroid) { - Workmanager().initialize(callbackDispatcher, isInDebugMode: kDebugMode); - await setOptimalDisplayMode(); - } - timeZoneName = await FlutterTimezone.getLocalTimezone(); - tz.initializeTimeZones(); - tz.setLocalLocation(tz.getLocation(timeZoneName)); - await isarInit(); - const AndroidInitializationSettings initializationSettingsAndroid = - AndroidInitializationSettings('@mipmap/ic_launcher'); - const DarwinInitializationSettings initializationSettingsDarwin = - DarwinInitializationSettings(); - const LinuxInitializationSettings initializationSettingsLinux = - LinuxInitializationSettings(defaultActionName: 'Rain'); - const InitializationSettings initializationSettings = InitializationSettings( - android: initializationSettingsAndroid, - iOS: initializationSettingsDarwin, - linux: initializationSettingsLinux, - ); - await flutterLocalNotificationsPlugin.initialize(initializationSettings); + await _initializeApp(); runApp(const MyApp()); } -Future setOptimalDisplayMode() async { - final List supported = await FlutterDisplayMode.supported; - final DisplayMode active = await FlutterDisplayMode.active; - final List sameResolution = - supported - .where( - (DisplayMode m) => - m.width == active.width && m.height == active.height, - ) - .toList() - ..sort( - (DisplayMode a, DisplayMode b) => - b.refreshRate.compareTo(a.refreshRate), - ); - final DisplayMode mostOptimalMode = - sameResolution.isNotEmpty ? sameResolution.first : active; - await FlutterDisplayMode.setPreferredMode(mostOptimalMode); +Future _initializeApp() async { + _setupConnectivityListener(); + await _initializeTimeZone(); + await _initializeIsar(); + await _initializeNotifications(); + if (Platform.isAndroid) { + await _setOptimalDisplayMode(); + Workmanager().initialize(callbackDispatcher, isInDebugMode: kDebugMode); + HomeWidget.setAppGroupId(appGroupId); + } + DeviceFeature().init(); } -Future isarInit() async { +void _setupConnectivityListener() { + Connectivity().onConnectivityChanged.listen((result) { + isOnline.value = + result.contains(ConnectivityResult.none) + ? Future.value(false) + : InternetConnection().hasInternetAccess; + }); +} + +Future _initializeTimeZone() async { + final timeZoneName = await FlutterTimezone.getLocalTimezone(); + tz.initializeTimeZones(); + tz.setLocalLocation(tz.getLocation(timeZoneName)); +} + +Future _initializeIsar() async { isar = await Isar.open([ SettingsSchema, MainWeatherCacheSchema, @@ -159,6 +140,28 @@ Future isarInit() async { } } +Future _initializeNotifications() async { + const initializationSettings = InitializationSettings( + android: AndroidInitializationSettings('@mipmap/ic_launcher'), + iOS: DarwinInitializationSettings(), + linux: LinuxInitializationSettings(defaultActionName: 'Rain'), + ); + await flutterLocalNotificationsPlugin.initialize(initializationSettings); +} + +Future _setOptimalDisplayMode() async { + final supported = await FlutterDisplayMode.supported; + final active = await FlutterDisplayMode.active; + final sameResolution = + supported + .where((m) => m.width == active.width && m.height == active.height) + .toList() + ..sort((a, b) => b.refreshRate.compareTo(a.refreshRate)); + final mostOptimalMode = + sameResolution.isNotEmpty ? sameResolution.first : active; + await FlutterDisplayMode.setPreferredMode(mostOptimalMode); +} + class MyApp extends StatefulWidget { const MyApp({super.key}); @@ -177,30 +180,14 @@ class MyApp extends StatefulWidget { }) async { final state = context.findAncestorStateOfType<_MyAppState>()!; - if (newAmoledTheme != null) { - state.changeAmoledTheme(newAmoledTheme); - } - if (newMaterialColor != null) { - state.changeMarerialTheme(newMaterialColor); - } - if (newRoundDegree != null) { - state.changeRoundDegree(newRoundDegree); - } - if (newLargeElement != null) { - state.changeLargeElement(newLargeElement); - } - if (newLocale != null) { - state.changeLocale(newLocale); - } - if (newTimeRange != null) { - state.changeTimeRange(newTimeRange); - } - if (newTimeStart != null) { - state.changeTimeStart(newTimeStart); - } - if (newTimeEnd != null) { - state.changeTimeEnd(newTimeEnd); - } + if (newAmoledTheme != null) state.changeAmoledTheme(newAmoledTheme); + if (newMaterialColor != null) state.changeMarerialTheme(newMaterialColor); + if (newRoundDegree != null) state.changeRoundDegree(newRoundDegree); + if (newLargeElement != null) state.changeLargeElement(newLargeElement); + if (newLocale != null) state.changeLocale(newLocale); + if (newTimeRange != null) state.changeTimeRange(newTimeRange); + if (newTimeStart != null) state.changeTimeStart(newTimeStart); + if (newTimeEnd != null) state.changeTimeEnd(newTimeEnd); if (newWidgetBackgroundColor != null) { state.changeWidgetBackgroundColor(newWidgetBackgroundColor); } @@ -216,68 +203,28 @@ class MyApp extends StatefulWidget { class _MyAppState extends State { final themeController = Get.put(ThemeController()); - void changeAmoledTheme(bool newAmoledTheme) { - setState(() { - amoledTheme = newAmoledTheme; - }); - } - - void changeMarerialTheme(bool newMaterialColor) { - setState(() { - materialColor = newMaterialColor; - }); - } - - void changeRoundDegree(bool newRoundDegree) { - setState(() { - roundDegree = newRoundDegree; - }); - } - - void changeLargeElement(bool newLargeElement) { - setState(() { - largeElement = newLargeElement; - }); - } - - void changeTimeRange(int newTimeRange) { - setState(() { - timeRange = newTimeRange; - }); - } - - void changeTimeStart(String newTimeStart) { - setState(() { - timeStart = newTimeStart; - }); - } - - void changeTimeEnd(String newTimeEnd) { - setState(() { - timeEnd = newTimeEnd; - }); - } - - void changeLocale(Locale newLocale) { - setState(() { - locale = newLocale; - }); - } - - void changeWidgetBackgroundColor(String newWidgetBackgroundColor) { - setState(() { - widgetBackgroundColor = newWidgetBackgroundColor; - }); - } - - void changeWidgetTextColor(String newWidgetTextColor) { - setState(() { - widgetTextColor = newWidgetTextColor; - }); - } + void changeAmoledTheme(bool newAmoledTheme) => + setState(() => amoledTheme = newAmoledTheme); + void changeMarerialTheme(bool newMaterialColor) => + setState(() => materialColor = newMaterialColor); + void changeRoundDegree(bool newRoundDegree) => + setState(() => roundDegree = newRoundDegree); + void changeLargeElement(bool newLargeElement) => + setState(() => largeElement = newLargeElement); + void changeTimeRange(int newTimeRange) => + setState(() => timeRange = newTimeRange); + void changeTimeStart(String newTimeStart) => + setState(() => timeStart = newTimeStart); + void changeTimeEnd(String newTimeEnd) => setState(() => timeEnd = newTimeEnd); + void changeLocale(Locale newLocale) => setState(() => locale = newLocale); + void changeWidgetBackgroundColor(String newWidgetBackgroundColor) => + setState(() => widgetBackgroundColor = newWidgetBackgroundColor); + void changeWidgetTextColor(String newWidgetTextColor) => + setState(() => widgetTextColor = newWidgetTextColor); @override void initState() { + super.initState(); amoledTheme = settings.amoledTheme; materialColor = settings.materialColor; roundDegree = settings.roundDegree; @@ -291,10 +238,6 @@ class _MyAppState extends State { timeEnd = settings.timeEnd ?? '21:00'; widgetBackgroundColor = settings.widgetBackgroundColor ?? ''; widgetTextColor = settings.widgetTextColor ?? ''; - if (Platform.isAndroid) { - HomeWidget.setAppGroupId(appGroupId); - } - super.initState(); } @override @@ -379,10 +322,10 @@ class _MyAppState extends State { debugShowCheckedModeBanner: false, home: settings.onboard - ? (locationCache.city == null) || - (locationCache.district == null) || - (locationCache.lat == null) || - (locationCache.lon == null) + ? (locationCache.city == null || + locationCache.district == null || + locationCache.lat == null || + locationCache.lon == null) ? const SelectGeolocation(isStart: true) : const HomePage() : const OnBording(), diff --git a/lib/theme/theme.dart b/lib/theme/theme.dart index c7af436..a74c586 100644 --- a/lib/theme/theme.dart +++ b/lib/theme/theme.dart @@ -20,15 +20,19 @@ ColorScheme colorSchemeDark = ColorScheme.fromSeed( ); ThemeData lightTheme( - Color? color, ColorScheme? colorScheme, bool edgeToEdgeAvailable) { + Color? color, + ColorScheme? colorScheme, + bool edgeToEdgeAvailable, +) { return baseLigth.copyWith( brightness: Brightness.light, - colorScheme: colorScheme - ?.copyWith( - brightness: Brightness.light, - surface: baseLigth.colorScheme.surface, - ) - .harmonized(), + colorScheme: + colorScheme + ?.copyWith( + brightness: Brightness.light, + surface: baseLigth.colorScheme.surface, + ) + .harmonized(), textTheme: GoogleFonts.ubuntuTextTheme(baseLigth.textTheme), appBarTheme: AppBarTheme( backgroundColor: color, @@ -54,9 +58,7 @@ ThemeData lightTheme( color: color, surfaceTintColor: color == oledColor ? Colors.transparent : colorScheme?.surfaceTint, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - ), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), shadowColor: Colors.transparent, ), bottomSheetTheme: baseLigth.bottomSheetTheme.copyWith( @@ -73,11 +75,9 @@ ThemeData lightTheme( color == oledColor ? Colors.transparent : colorScheme?.surfaceTint, ), inputDecorationTheme: baseLigth.inputDecorationTheme.copyWith( - labelStyle: WidgetStateTextStyle.resolveWith( - (Set states) { - return const TextStyle(fontSize: 14); - }, - ), + labelStyle: WidgetStateTextStyle.resolveWith((Set states) { + return const TextStyle(fontSize: 14); + }), border: InputBorder.none, focusedBorder: InputBorder.none, enabledBorder: InputBorder.none, @@ -87,15 +87,19 @@ ThemeData lightTheme( } ThemeData darkTheme( - Color? color, ColorScheme? colorScheme, bool edgeToEdgeAvailable) { + Color? color, + ColorScheme? colorScheme, + bool edgeToEdgeAvailable, +) { return baseDark.copyWith( brightness: Brightness.dark, - colorScheme: colorScheme - ?.copyWith( - brightness: Brightness.dark, - surface: baseDark.colorScheme.surface, - ) - .harmonized(), + colorScheme: + colorScheme + ?.copyWith( + brightness: Brightness.dark, + surface: baseDark.colorScheme.surface, + ) + .harmonized(), textTheme: GoogleFonts.ubuntuTextTheme(baseDark.textTheme), appBarTheme: AppBarTheme( backgroundColor: color, @@ -121,9 +125,7 @@ ThemeData darkTheme( color: color, surfaceTintColor: color == oledColor ? Colors.transparent : colorScheme?.surfaceTint, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - ), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), shadowColor: Colors.transparent, ), bottomSheetTheme: baseDark.bottomSheetTheme.copyWith( @@ -140,11 +142,9 @@ ThemeData darkTheme( color == oledColor ? Colors.transparent : colorScheme?.surfaceTint, ), inputDecorationTheme: baseDark.inputDecorationTheme.copyWith( - labelStyle: WidgetStateTextStyle.resolveWith( - (Set states) { - return const TextStyle(fontSize: 14); - }, - ), + labelStyle: WidgetStateTextStyle.resolveWith((Set states) { + return const TextStyle(fontSize: 14); + }), border: InputBorder.none, focusedBorder: InputBorder.none, enabledBorder: InputBorder.none, diff --git a/lib/theme/theme_controller.dart b/lib/theme/theme_controller.dart index 8bf4301..a7b1757 100644 --- a/lib/theme/theme_controller.dart +++ b/lib/theme/theme_controller.dart @@ -4,9 +4,10 @@ import 'package:rain/app/data/db.dart'; import 'package:rain/main.dart'; class ThemeController extends GetxController { - ThemeMode get theme => settings.theme == 'system' - ? ThemeMode.system - : settings.theme == 'dark' + ThemeMode get theme => + settings.theme == 'system' + ? ThemeMode.system + : settings.theme == 'dark' ? ThemeMode.dark : ThemeMode.light; diff --git a/lib/translation/bn_in.dart b/lib/translation/bn_in.dart index 593f9c5..7aff547 100644 --- a/lib/translation/bn_in.dart +++ b/lib/translation/bn_in.dart @@ -1,141 +1,141 @@ class BnIn { Map get messages => { - 'start': 'শুরু করুন', - 'description': - 'প্রতি ঘণ্টায়, দিনে এবং সপ্তাহের জন্য প্রতিষ্ঠানের জন্য সক্রিয় পূর্বাভাস সহ আবহাওয়া অ্যাপ্লিকেশন।', - 'name': 'আবহাওয়া', - 'name2': 'সুবিধাজনক ডিজাইন', - 'name3': 'আমাদের সাথে যোগাযোগ করুন', - 'description2': - 'সমস্ত নেভিগেশনটি এমনভাবে তৈরি করা হয়েছে যাতে আপনি অ্যাপ্লিকেশনে সর্বোত্তম সুবিধায় এবং দ্রুত ইন্টারঅ্যাক্ট করতে পারেন।', - 'description3': - 'আপনার যদি কোনও সমস্যা হয়, অনুগ্রহ করে ইমেল বা অ্যাপ্লিকেশন পর্যালোচনার মাধ্যমে আমাদের সাথে যোগাযোগ করুন।', - 'next': 'পরবর্তী', - 'search': 'অনুসন্ধান...', - 'loading': 'লোড হচ্ছে...', - 'searchCity': 'আপনার শহর খুঁজুন', - 'humidity': 'আর্দ্ধমন্দ', - 'wind': 'বায়ু', - 'visibility': 'দৃশ্যতা', - 'feels': 'অনুভব', - 'evaporation': 'অবপাত ও প্রবাহ', - 'precipitation': 'বৃষ্টিপাত', - 'direction': 'দিশা', - 'pressure': 'চাপ', - 'rain': 'বৃষ্টি', - 'clear_sky': 'পরিষ্কার আকাশ', - 'cloudy': 'মেঘলা', - 'overcast': 'মেঘাচ্ছন্ন', - 'fog': 'কুয়াশা', - 'drizzle': 'বৃষ্টি বৃষ্টি', - 'freezing_drizzle': 'শীতল বৃষ্টি', - 'freezing_rain': 'শীতল বৃষ্টি', - 'rain_showers': 'বৃষ্টির বৃষ্টি', - 'snow': 'তুষার', - 'thunderstorm': 'বজ্রপাত', - 'kph': 'কিমি/ঘণ্টা', - 'mph': 'মাইল/ঘণ্টা', - 'm/s': 'মি/সে', - 'mmHg': 'মিমি Hg', - 'mi': 'মাইল', - 'km': 'কিমি', - 'inch': 'ইঞ্চ', - 'mm': 'মিমি', - 'hPa': 'হেক্টোপাস্কল', - 'settings': 'সেটিংস', - 'no_inter': 'ইন্টারনেট নেই', - 'on_inter': 'মেটিয়োরোলজিক তথ্য পেতে ইন্টারনেট চালু করুন।', - 'location': 'অবস্থান', - 'no_location': - 'বর্তমান অবস্থানের জন্য আবহাওয়া ডেটা পেতে অবস্থান সেবা সক্রিয় করুন।', - 'theme': 'থিম', - 'low': 'নিম্ন', - 'high': 'উচ্চ', - 'normal': 'সাধারণ', - 'lat': 'অক্ষাংশ', - 'lon': 'দ্রাঘিমাংশ', - 'create': 'তৈরি করুন', - 'city': 'শহর', - 'district': 'জেলা', - 'noWeatherCard': 'একটি শহর যোগ করুন', - 'deletedCardWeather': 'একটি শহর মুছে ফেলা হচ্ছে', - 'deletedCardWeatherQuery': 'আপনি কি নিশ্চিত যে আপনি শহরটি মুছতে চান?', - 'delete': 'মুছে ফেলুন', - 'cancel': 'বাতিল করুন', - 'time': 'শহরে সময়', - 'validateName': 'দয়া করে নাম লিখুন', - 'measurements': 'মাপনের সিস্টেম', - 'degrees': 'ডিগ্রি', - 'celsius': 'সেলসিয়াস', - 'fahrenheit': 'ফারেনহাইট', - 'imperial': 'ইমপেরিয়াল', - 'metric': 'মেট্রিক', - 'validateValue': 'দয়া করে একটি মান লিখুন', - 'validateNumber': 'দয়া করে একটি বৈধ সংখ্যা লিখুন', - 'validate90': 'মান -৯০ থেকে ৯০ মধ্যে হতে হবে', - 'validate180': 'মান -১৮০ থেকে ১৮০ মধ্যে হতে হবে', - 'notifications': 'বিজ্ঞপ্তি', - 'sunrise': 'সূর্যোদয়', - 'sunset': 'সূর্যাস্ত', - 'timeformat': 'সময় বিন্যাস', - '12': '১২-ঘণ্টা', - '24': '২৪-ঘণ্টা', - 'cloudcover': 'মেঘপর্দা', - 'uvIndex': 'আল্ট্রাভায়োলেট-সূচী', - 'materialColor': 'গতিবিধির রঙ', - 'uvLow': 'নিম্ন', - 'uvAverage': 'মধ্যম', - 'uvHigh': 'উচ্চ', - 'uvVeryHigh': 'অত্যন্ত উচ্চ', - 'uvExtreme': 'একাধিক', - 'weatherMore': '১২-দিনের আবহাওয়া পূর্বানুমান', - 'windgusts': 'ঝংকার', - 'north': 'উত্তর', - 'northeast': 'উত্তরপূর্ব', - 'east': 'পূর্ব', - 'southeast': 'দক্ষিণপূর্ব', - 'south': 'দক্ষিণ', - 'southwest': 'দক্ষিণপশ্চিম', - 'west': 'পশ্চিম', - 'northwest': 'উত্তরপশ্চিম', - 'project': 'প্রকল্প', - 'version': 'অ্যাপ্লিকেশন সংস্করণ', - 'precipitationProbability': 'বৃষ্টিপাতের সম্ভাবনা', - 'apparentTemperatureMin': - 'ন্যায্য ন্যায্য তাপমাত্রা ন্যায্য ন্যায্য ন্যায্য ন্যায্য ন্যায্য ন্যায্য ন্যায্য', - 'apparentTemperatureMax': 'সর্বাধিক ন্যায্য তাপমাত্রা', - 'amoledTheme': 'এমোলেড-থিম', - 'appearance': 'উপস্থিতি', - 'functions': 'কার্য', - 'data': 'ডেটা', - 'language': 'ভাষা', - 'timeRange': 'সময় পরিস্থিতি (ঘণ্টায়)', - 'timeStart': 'শুরুর সময়', - 'timeEnd': 'শেষ সময়', - 'support': 'সাহায্য', - 'system': 'সিস্টেম', - 'dark': 'ডার্ক', - 'light': 'আলো', - 'license': 'লাইসেন্স', - 'widget': 'উইজেট', - 'widgetBackground': 'উইজেট পেশা', - 'widgetText': 'উইজেট টেক্সট', - 'dewpoint': 'তুষার বিন্দু', - 'shortwaveRadiation': 'সংক্ষেপণ তরঙ্গ প্রকৃতি', - 'W/m2': 'ডব্লিউ/মিটার বর্গ', - 'roundDegree': 'ডিগ্রি রাউন্ড করুন', - 'settings_full': 'সেটিংস', - 'cities': 'শহর', - 'groups': 'আমাদের দলগুলি', - 'openMeteo': 'Open-Meteo থেকে ডেটা (CC-BY 4.0)', - 'hourlyVariables': 'ঘণ্টায় আবহাওয়ার পরিবর্তনশীল', - 'dailyVariables': 'দৈনিক আবহাওয়ার পরিবর্তনশীল', - 'largeElement': 'বড় আবহাওয়া ডিসপ্লে', - 'map': 'মানচিত্র', - 'clearCacheStore': 'ক্যাশ পরিষ্কার করুন', - 'deletedCacheStore': 'ক্যাশ পরিষ্কার করা হচ্ছে', - 'deletedCacheStoreQuery': 'আপনি কি সত্যিই ক্যাশ পরিষ্কার করতে চান?', - 'addWidget': 'উইজেট যোগ করুন', - 'hideMap': 'মানচিত্র লুকান', - }; + 'start': 'শুরু করুন', + 'description': + 'প্রতি ঘণ্টায়, দিনে এবং সপ্তাহের জন্য প্রতিষ্ঠানের জন্য সক্রিয় পূর্বাভাস সহ আবহাওয়া অ্যাপ্লিকেশন।', + 'name': 'আবহাওয়া', + 'name2': 'সুবিধাজনক ডিজাইন', + 'name3': 'আমাদের সাথে যোগাযোগ করুন', + 'description2': + 'সমস্ত নেভিগেশনটি এমনভাবে তৈরি করা হয়েছে যাতে আপনি অ্যাপ্লিকেশনে সর্বোত্তম সুবিধায় এবং দ্রুত ইন্টারঅ্যাক্ট করতে পারেন।', + 'description3': + 'আপনার যদি কোনও সমস্যা হয়, অনুগ্রহ করে ইমেল বা অ্যাপ্লিকেশন পর্যালোচনার মাধ্যমে আমাদের সাথে যোগাযোগ করুন।', + 'next': 'পরবর্তী', + 'search': 'অনুসন্ধান...', + 'loading': 'লোড হচ্ছে...', + 'searchCity': 'আপনার শহর খুঁজুন', + 'humidity': 'আর্দ্ধমন্দ', + 'wind': 'বায়ু', + 'visibility': 'দৃশ্যতা', + 'feels': 'অনুভব', + 'evaporation': 'অবপাত ও প্রবাহ', + 'precipitation': 'বৃষ্টিপাত', + 'direction': 'দিশা', + 'pressure': 'চাপ', + 'rain': 'বৃষ্টি', + 'clear_sky': 'পরিষ্কার আকাশ', + 'cloudy': 'মেঘলা', + 'overcast': 'মেঘাচ্ছন্ন', + 'fog': 'কুয়াশা', + 'drizzle': 'বৃষ্টি বৃষ্টি', + 'freezing_drizzle': 'শীতল বৃষ্টি', + 'freezing_rain': 'শীতল বৃষ্টি', + 'rain_showers': 'বৃষ্টির বৃষ্টি', + 'snow': 'তুষার', + 'thunderstorm': 'বজ্রপাত', + 'kph': 'কিমি/ঘণ্টা', + 'mph': 'মাইল/ঘণ্টা', + 'm/s': 'মি/সে', + 'mmHg': 'মিমি Hg', + 'mi': 'মাইল', + 'km': 'কিমি', + 'inch': 'ইঞ্চ', + 'mm': 'মিমি', + 'hPa': 'হেক্টোপাস্কল', + 'settings': 'সেটিংস', + 'no_inter': 'ইন্টারনেট নেই', + 'on_inter': 'মেটিয়োরোলজিক তথ্য পেতে ইন্টারনেট চালু করুন।', + 'location': 'অবস্থান', + 'no_location': + 'বর্তমান অবস্থানের জন্য আবহাওয়া ডেটা পেতে অবস্থান সেবা সক্রিয় করুন।', + 'theme': 'থিম', + 'low': 'নিম্ন', + 'high': 'উচ্চ', + 'normal': 'সাধারণ', + 'lat': 'অক্ষাংশ', + 'lon': 'দ্রাঘিমাংশ', + 'create': 'তৈরি করুন', + 'city': 'শহর', + 'district': 'জেলা', + 'noWeatherCard': 'একটি শহর যোগ করুন', + 'deletedCardWeather': 'একটি শহর মুছে ফেলা হচ্ছে', + 'deletedCardWeatherQuery': 'আপনি কি নিশ্চিত যে আপনি শহরটি মুছতে চান?', + 'delete': 'মুছে ফেলুন', + 'cancel': 'বাতিল করুন', + 'time': 'শহরে সময়', + 'validateName': 'দয়া করে নাম লিখুন', + 'measurements': 'মাপনের সিস্টেম', + 'degrees': 'ডিগ্রি', + 'celsius': 'সেলসিয়াস', + 'fahrenheit': 'ফারেনহাইট', + 'imperial': 'ইমপেরিয়াল', + 'metric': 'মেট্রিক', + 'validateValue': 'দয়া করে একটি মান লিখুন', + 'validateNumber': 'দয়া করে একটি বৈধ সংখ্যা লিখুন', + 'validate90': 'মান -৯০ থেকে ৯০ মধ্যে হতে হবে', + 'validate180': 'মান -১৮০ থেকে ১৮০ মধ্যে হতে হবে', + 'notifications': 'বিজ্ঞপ্তি', + 'sunrise': 'সূর্যোদয়', + 'sunset': 'সূর্যাস্ত', + 'timeformat': 'সময় বিন্যাস', + '12': '১২-ঘণ্টা', + '24': '২৪-ঘণ্টা', + 'cloudcover': 'মেঘপর্দা', + 'uvIndex': 'আল্ট্রাভায়োলেট-সূচী', + 'materialColor': 'গতিবিধির রঙ', + 'uvLow': 'নিম্ন', + 'uvAverage': 'মধ্যম', + 'uvHigh': 'উচ্চ', + 'uvVeryHigh': 'অত্যন্ত উচ্চ', + 'uvExtreme': 'একাধিক', + 'weatherMore': '১২-দিনের আবহাওয়া পূর্বানুমান', + 'windgusts': 'ঝংকার', + 'north': 'উত্তর', + 'northeast': 'উত্তরপূর্ব', + 'east': 'পূর্ব', + 'southeast': 'দক্ষিণপূর্ব', + 'south': 'দক্ষিণ', + 'southwest': 'দক্ষিণপশ্চিম', + 'west': 'পশ্চিম', + 'northwest': 'উত্তরপশ্চিম', + 'project': 'প্রকল্প', + 'version': 'অ্যাপ্লিকেশন সংস্করণ', + 'precipitationProbability': 'বৃষ্টিপাতের সম্ভাবনা', + 'apparentTemperatureMin': + 'ন্যায্য ন্যায্য তাপমাত্রা ন্যায্য ন্যায্য ন্যায্য ন্যায্য ন্যায্য ন্যায্য ন্যায্য', + 'apparentTemperatureMax': 'সর্বাধিক ন্যায্য তাপমাত্রা', + 'amoledTheme': 'এমোলেড-থিম', + 'appearance': 'উপস্থিতি', + 'functions': 'কার্য', + 'data': 'ডেটা', + 'language': 'ভাষা', + 'timeRange': 'সময় পরিস্থিতি (ঘণ্টায়)', + 'timeStart': 'শুরুর সময়', + 'timeEnd': 'শেষ সময়', + 'support': 'সাহায্য', + 'system': 'সিস্টেম', + 'dark': 'ডার্ক', + 'light': 'আলো', + 'license': 'লাইসেন্স', + 'widget': 'উইজেট', + 'widgetBackground': 'উইজেট পেশা', + 'widgetText': 'উইজেট টেক্সট', + 'dewpoint': 'তুষার বিন্দু', + 'shortwaveRadiation': 'সংক্ষেপণ তরঙ্গ প্রকৃতি', + 'W/m2': 'ডব্লিউ/মিটার বর্গ', + 'roundDegree': 'ডিগ্রি রাউন্ড করুন', + 'settings_full': 'সেটিংস', + 'cities': 'শহর', + 'groups': 'আমাদের দলগুলি', + 'openMeteo': 'Open-Meteo থেকে ডেটা (CC-BY 4.0)', + 'hourlyVariables': 'ঘণ্টায় আবহাওয়ার পরিবর্তনশীল', + 'dailyVariables': 'দৈনিক আবহাওয়ার পরিবর্তনশীল', + 'largeElement': 'বড় আবহাওয়া ডিসপ্লে', + 'map': 'মানচিত্র', + 'clearCacheStore': 'ক্যাশ পরিষ্কার করুন', + 'deletedCacheStore': 'ক্যাশ পরিষ্কার করা হচ্ছে', + 'deletedCacheStoreQuery': 'আপনি কি সত্যিই ক্যাশ পরিষ্কার করতে চান?', + 'addWidget': 'উইজেট যোগ করুন', + 'hideMap': 'মানচিত্র লুকান', + }; } diff --git a/lib/translation/cs_cz.dart b/lib/translation/cs_cz.dart index 35827d6..da112f0 100644 --- a/lib/translation/cs_cz.dart +++ b/lib/translation/cs_cz.dart @@ -1,141 +1,141 @@ class CsCz { Map get messages => { - 'start': 'Začít', - 'description': - 'Aplikace počasí s aktuálním předpovědí na každou hodinu, den a týden pro libovolné místo.', - 'name': 'Počasí', - 'name2': 'Pohodlný design', - 'name3': 'Kontaktujte nás', - 'description2': - 'Celá navigace je navržena tak, aby bylo možné s aplikací co nejpohodlněji a nejrychleji interagovat.', - 'description3': - 'Pokud narazíte na nějaké potíže, kontaktujte nás prosím e-mailem nebo v recenzích aplikace.', - 'next': 'Další', - 'search': 'Hledat...', - 'loading': 'Načítá se...', - 'searchCity': 'Najděte své místo', - 'humidity': 'Vlhkost', - 'wind': 'Vítr', - 'visibility': 'Viditelnost', - 'feels': 'Pocitová teplota', - 'evaporation': 'Evapotranspirace', - 'precipitation': 'Srážky', - 'direction': 'Směr', - 'pressure': 'Tlak', - 'rain': 'Déšť', - 'clear_sky': 'Jasno', - 'cloudy': 'Oblačno', - 'overcast': 'Zataženo', - 'fog': 'Mlha', - 'drizzle': 'Mrholení', - 'drizzling_rain': 'Mrznúce mrholení', - 'freezing_rain': 'Mrazivý déšť', - 'heavy_rains': 'Přeháňky', - 'snow': 'Sníh', - 'thunderstorm': 'Bouřka', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Nast.', - 'no_inter': 'Žádný internet', - 'on_inter': 'Připojte se k internetu a získejte meteorologické údaje.', - 'location': 'Poloha', - 'no_location': - 'Chcete-li získat údaje o počasí pro aktuální polohu, povolte službu určování polohy.', - 'theme': 'Téma', - 'low': 'Nízký', - 'high': 'Vysoký', - 'normal': 'Normální', - 'lat': 'Zeměpisná šířka', - 'lon': 'Zemepisná délka', - 'create': 'Vytvořit', - 'city': 'Místo', - 'district': 'Okres', - 'noWeatherCard': 'Přidat město', - 'deletedCardWeather': 'Vymazat město', - 'deletedCardWeatherQuery': 'Opravdu chcete odstranit město?', - 'delete': 'Odstranit', - 'cancel': 'Zrušit', - 'time': 'Čas ve městě', - 'validateName': 'Prosím zadejte název', - 'measurements': 'Jednotky měření', - 'degrees': 'Stupně', - 'celsius': 'Celzius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperiální', - 'metric': 'Metrické', - 'validateValue': 'Zadejte hodnotu', - 'validateNumber': 'Zadejte platné číslo', - 'validate90': 'Hodnota musí být mezi -90 a 90', - 'validate180': 'Hodnota musí být mezi -180 a 180', - 'notifications': 'Notifikace', - 'sunrise': 'Východ slunce', - 'sunset': 'Západ slunce', - 'timeformat': 'Formát času', - '12': '12-hodinový', - '24': '24-hodinový', - 'cloudcover': 'Oblačnost', - 'uvIndex': 'UV-index', - 'materialColor': 'Dynamické Barvy', - 'uvLow': 'Nízký', - 'uvAverage': 'Mírný', - 'uvHigh': 'Vysoký', - 'uvVeryHigh': 'Velmi vysoký', - 'uvExtreme': 'Extrémní', - 'weatherMore': 'Předpověď počasí na 12 dní', - 'windgusts': 'Nárazy větru', - 'north': 'Sever', - 'northeast': 'Severo-Východ', - 'east': 'Východ', - 'southeast': 'Juhovýchod', - 'south': 'Juž', - 'southwest': 'Juhozápad', - 'west': 'Západ', - 'northwest': 'Severo-Západ', - 'project': 'Projekt na', - 'version': 'Verzia aplikace', - 'precipitationProbability': 'Pravděpodobnost srážek', - 'apparentTemperatureMin': 'Minimální pocitová teplota', - 'apparentTemperatureMax': 'Maximální pocitová teplota', - 'amoledTheme': 'AMOLED-téma', - 'appearance': 'Vzhled', - 'functions': 'Funkce', - 'data': 'Data', - 'language': 'Jazyk', - 'timeRange': 'Frekvence (v hodinách)', - 'timeStart': 'Čas začátku', - 'timeEnd': 'Čas ukončení', - 'support': 'Podpora', - 'system': 'Systém', - 'dark': 'Tmavá', - 'light': 'Světlá', - 'license': 'Licence', - 'widget': 'Widget', - 'widgetBackground': 'Pozadí widgetu', - 'widgetText': 'Text widgetu', - 'dewpoint': 'Rosný bod', - 'shortwaveRadiation': 'Krátká vlnová radiace', - 'roundDegree': 'Zaokrouhlit stupně', - 'settings_full': 'Nastavení', - 'cities': 'Města', - 'searchMethod': 'Použijte hledání nebo geolokaci', - 'done': 'Hotovo', - 'groups': 'Naše skupiny', - 'openMeteo': 'Data z Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Hodinové meteorologické proměnné', - 'dailyVariables': 'Denní meteorologické proměnné', - 'largeElement': 'Velké zobrazení počasí', - 'map': 'Mapa', - 'clearCacheStore': 'Vymazat mezipaměť', - 'deletedCacheStore': 'Čištění mezipaměti', - 'deletedCacheStoreQuery': 'Opravdu chcete vymazat mezipaměť?', - 'addWidget': 'Přidat widget', - 'hideMap': 'Skrýt mapu', - }; + 'start': 'Začít', + 'description': + 'Aplikace počasí s aktuálním předpovědí na každou hodinu, den a týden pro libovolné místo.', + 'name': 'Počasí', + 'name2': 'Pohodlný design', + 'name3': 'Kontaktujte nás', + 'description2': + 'Celá navigace je navržena tak, aby bylo možné s aplikací co nejpohodlněji a nejrychleji interagovat.', + 'description3': + 'Pokud narazíte na nějaké potíže, kontaktujte nás prosím e-mailem nebo v recenzích aplikace.', + 'next': 'Další', + 'search': 'Hledat...', + 'loading': 'Načítá se...', + 'searchCity': 'Najděte své místo', + 'humidity': 'Vlhkost', + 'wind': 'Vítr', + 'visibility': 'Viditelnost', + 'feels': 'Pocitová teplota', + 'evaporation': 'Evapotranspirace', + 'precipitation': 'Srážky', + 'direction': 'Směr', + 'pressure': 'Tlak', + 'rain': 'Déšť', + 'clear_sky': 'Jasno', + 'cloudy': 'Oblačno', + 'overcast': 'Zataženo', + 'fog': 'Mlha', + 'drizzle': 'Mrholení', + 'drizzling_rain': 'Mrznúce mrholení', + 'freezing_rain': 'Mrazivý déšť', + 'heavy_rains': 'Přeháňky', + 'snow': 'Sníh', + 'thunderstorm': 'Bouřka', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Nast.', + 'no_inter': 'Žádný internet', + 'on_inter': 'Připojte se k internetu a získejte meteorologické údaje.', + 'location': 'Poloha', + 'no_location': + 'Chcete-li získat údaje o počasí pro aktuální polohu, povolte službu určování polohy.', + 'theme': 'Téma', + 'low': 'Nízký', + 'high': 'Vysoký', + 'normal': 'Normální', + 'lat': 'Zeměpisná šířka', + 'lon': 'Zemepisná délka', + 'create': 'Vytvořit', + 'city': 'Místo', + 'district': 'Okres', + 'noWeatherCard': 'Přidat město', + 'deletedCardWeather': 'Vymazat město', + 'deletedCardWeatherQuery': 'Opravdu chcete odstranit město?', + 'delete': 'Odstranit', + 'cancel': 'Zrušit', + 'time': 'Čas ve městě', + 'validateName': 'Prosím zadejte název', + 'measurements': 'Jednotky měření', + 'degrees': 'Stupně', + 'celsius': 'Celzius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperiální', + 'metric': 'Metrické', + 'validateValue': 'Zadejte hodnotu', + 'validateNumber': 'Zadejte platné číslo', + 'validate90': 'Hodnota musí být mezi -90 a 90', + 'validate180': 'Hodnota musí být mezi -180 a 180', + 'notifications': 'Notifikace', + 'sunrise': 'Východ slunce', + 'sunset': 'Západ slunce', + 'timeformat': 'Formát času', + '12': '12-hodinový', + '24': '24-hodinový', + 'cloudcover': 'Oblačnost', + 'uvIndex': 'UV-index', + 'materialColor': 'Dynamické Barvy', + 'uvLow': 'Nízký', + 'uvAverage': 'Mírný', + 'uvHigh': 'Vysoký', + 'uvVeryHigh': 'Velmi vysoký', + 'uvExtreme': 'Extrémní', + 'weatherMore': 'Předpověď počasí na 12 dní', + 'windgusts': 'Nárazy větru', + 'north': 'Sever', + 'northeast': 'Severo-Východ', + 'east': 'Východ', + 'southeast': 'Juhovýchod', + 'south': 'Juž', + 'southwest': 'Juhozápad', + 'west': 'Západ', + 'northwest': 'Severo-Západ', + 'project': 'Projekt na', + 'version': 'Verzia aplikace', + 'precipitationProbability': 'Pravděpodobnost srážek', + 'apparentTemperatureMin': 'Minimální pocitová teplota', + 'apparentTemperatureMax': 'Maximální pocitová teplota', + 'amoledTheme': 'AMOLED-téma', + 'appearance': 'Vzhled', + 'functions': 'Funkce', + 'data': 'Data', + 'language': 'Jazyk', + 'timeRange': 'Frekvence (v hodinách)', + 'timeStart': 'Čas začátku', + 'timeEnd': 'Čas ukončení', + 'support': 'Podpora', + 'system': 'Systém', + 'dark': 'Tmavá', + 'light': 'Světlá', + 'license': 'Licence', + 'widget': 'Widget', + 'widgetBackground': 'Pozadí widgetu', + 'widgetText': 'Text widgetu', + 'dewpoint': 'Rosný bod', + 'shortwaveRadiation': 'Krátká vlnová radiace', + 'roundDegree': 'Zaokrouhlit stupně', + 'settings_full': 'Nastavení', + 'cities': 'Města', + 'searchMethod': 'Použijte hledání nebo geolokaci', + 'done': 'Hotovo', + 'groups': 'Naše skupiny', + 'openMeteo': 'Data z Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Hodinové meteorologické proměnné', + 'dailyVariables': 'Denní meteorologické proměnné', + 'largeElement': 'Velké zobrazení počasí', + 'map': 'Mapa', + 'clearCacheStore': 'Vymazat mezipaměť', + 'deletedCacheStore': 'Čištění mezipaměti', + 'deletedCacheStoreQuery': 'Opravdu chcete vymazat mezipaměť?', + 'addWidget': 'Přidat widget', + 'hideMap': 'Skrýt mapu', + }; } diff --git a/lib/translation/da_dk.dart b/lib/translation/da_dk.dart index b522fad..a23b26f 100644 --- a/lib/translation/da_dk.dart +++ b/lib/translation/da_dk.dart @@ -1,142 +1,142 @@ class DaDk { Map get messages => { - 'start': 'Kom i gang', - 'description': - 'Vejr app med en opdateret vejrudsigt for hver time, dag og uge for ethvert sted.', - 'name': 'Vejr', - 'name2': 'Praktisk design', - 'name3': 'Kontakt os', - 'description2': - 'Al navigation er designet til at interagere med appen så bekvemt og hurtigt som muligt.', - 'description3': - 'Hvis du støder på problemer, må du meget gerne kontakte os via e-mail eller i app anmeldelserne.', - 'next': 'Næste', - 'search': 'Søg...', - 'loading': 'Henter...', - 'searchCity': 'Find din by', - 'humidity': 'Luftfugtighed', - 'wind': 'Vind', - 'visibility': 'Sigtbarhed', - 'feels': 'Føles som', - 'evaporation': 'Fordampning', - 'precipitation': 'Nedbør', - 'direction': 'Retning', - 'pressure': 'Tryk', - 'rain': 'Regn', - 'clear_sky': 'Skyfri himmel', - 'cloudy': 'Skyet', - 'overcast': 'Overskyet', - 'fog': 'Tåge', - 'drizzle': 'Støv regn', - 'drizzling_rain': 'Frysende støvregn', - 'freezing_rain': 'Frostregn', - 'heavy_rains': 'Regnskyl', - 'snow': 'Sne', - 'thunderstorm': 'Tordenvejr', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'tommer', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Inds.', - 'no_inter': 'Ingen Internet', - 'on_inter': 'Tænd for internettet for at få meteorologisk data.', - 'location': 'Placering', - 'no_location': - 'Aktiver placeringer for at få vejrdata for den aktuelle placering.', - 'theme': 'Tema', - 'low': 'Lav', - 'high': 'Høj', - 'normal': 'Normal', - 'lat': 'Breddegrad', - 'lon': 'Længdegrad', - 'create': 'Opret', - 'city': 'By', - 'district': 'Distrikt', - 'noWeatherCard': 'Tilføj en by', - 'deletedCardWeather': 'Slet en by', - 'deletedCardWeatherQuery': 'Er du sikker på at du vil slette denne by?', - 'delete': 'Slet', - 'cancel': 'Annullere', - 'time': 'Tid i byen', - 'validateName': 'Indtast venligst navnet', - 'measurements': 'Foranstaltningssystemet', - 'degrees': 'Grader', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperialistisk', - 'metric': 'Metrisk', - 'validateValue': 'Indtast en værdi', - 'validateNumber': 'Indtast et gyldigt nummer', - 'validate90': 'Værdien skal være mellem -90 og 90', - 'validate180': 'Værdien skal være mellem -180 og 180', - 'notifications': 'Notifikationer', - 'sunrise': 'Solopgang', - 'sunset': 'Solnedgang', - 'timeformat': 'Tids format', - '12': '12-timer', - '24': '24-timer', - 'cloudcover': 'skydække', - 'uvIndex': 'UV-index', - 'materialColor': 'Dynamiske farver', - 'uvLow': 'Lav', - 'uvAverage': 'Moderat', - 'uvHigh': 'Høj', - 'uvVeryHigh': 'Meget højt', - 'uvExtreme': 'Ekstrem', - 'weatherMore': '12 dages vejrudsigt', - 'windgusts': 'Vindstød', - 'north': 'Nord', - 'northeast': 'Nordøst', - 'east': 'Øst', - 'southeast': 'Sydøst', - 'south': 'Syd', - 'southwest': 'Sydvest', - 'west': 'Vest', - 'northwest': 'Nordvest', - 'project': 'Projektet findes på', - 'version': 'App version', - 'precipitationProbability': 'Sandsynlighed for nedbør', - 'apparentTemperatureMin': 'Minimum temperature', - 'apparentTemperatureMax': 'Maksimal temperatur', - 'amoledTheme': 'AMOLED-tema', - 'appearance': 'Udseende', - 'functions': 'Funktioner', - 'data': 'Data', - 'language': 'Sprog', - 'timeRange': 'Hyppighed (i timer)', - 'timeStart': 'Start tid', - 'timeEnd': 'Slut tid', - 'support': 'Support', - 'system': 'System', - 'dark': 'Mørk', - 'light': 'Lys', - 'license': 'Licenser', - 'widget': 'Widget', - 'widgetBackground': 'Widget baggrund', - 'widgetText': 'Widget tekst', - 'dewpoint': 'Dugpunktet', - 'shortwaveRadiation': 'Kortbølgestråling', - 'W/m2': 'W/m2', - 'roundDegree': 'Afrundede grader', - 'settings_full': 'Indstillinger', - 'cities': 'Byer', - 'searchMethod': 'Brug søgning eller geolokation', - 'done': 'Færdig', - 'groups': 'Vores grupper', - 'openMeteo': 'Data fra Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Timevise vejrfaktorer', - 'dailyVariables': 'Daglige vejrfaktorer', - 'largeElement': 'Stort vejrdisplay', - 'map': 'Kort', - 'clearCacheStore': 'Ryd cache', - 'deletedCacheStore': 'Rydder cache', - 'deletedCacheStoreQuery': 'Er du sikker på, at du vil rydde cachen?', - 'addWidget': 'Tilføj widget', - 'hideMap': 'Skjul kort', - }; + 'start': 'Kom i gang', + 'description': + 'Vejr app med en opdateret vejrudsigt for hver time, dag og uge for ethvert sted.', + 'name': 'Vejr', + 'name2': 'Praktisk design', + 'name3': 'Kontakt os', + 'description2': + 'Al navigation er designet til at interagere med appen så bekvemt og hurtigt som muligt.', + 'description3': + 'Hvis du støder på problemer, må du meget gerne kontakte os via e-mail eller i app anmeldelserne.', + 'next': 'Næste', + 'search': 'Søg...', + 'loading': 'Henter...', + 'searchCity': 'Find din by', + 'humidity': 'Luftfugtighed', + 'wind': 'Vind', + 'visibility': 'Sigtbarhed', + 'feels': 'Føles som', + 'evaporation': 'Fordampning', + 'precipitation': 'Nedbør', + 'direction': 'Retning', + 'pressure': 'Tryk', + 'rain': 'Regn', + 'clear_sky': 'Skyfri himmel', + 'cloudy': 'Skyet', + 'overcast': 'Overskyet', + 'fog': 'Tåge', + 'drizzle': 'Støv regn', + 'drizzling_rain': 'Frysende støvregn', + 'freezing_rain': 'Frostregn', + 'heavy_rains': 'Regnskyl', + 'snow': 'Sne', + 'thunderstorm': 'Tordenvejr', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'tommer', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Inds.', + 'no_inter': 'Ingen Internet', + 'on_inter': 'Tænd for internettet for at få meteorologisk data.', + 'location': 'Placering', + 'no_location': + 'Aktiver placeringer for at få vejrdata for den aktuelle placering.', + 'theme': 'Tema', + 'low': 'Lav', + 'high': 'Høj', + 'normal': 'Normal', + 'lat': 'Breddegrad', + 'lon': 'Længdegrad', + 'create': 'Opret', + 'city': 'By', + 'district': 'Distrikt', + 'noWeatherCard': 'Tilføj en by', + 'deletedCardWeather': 'Slet en by', + 'deletedCardWeatherQuery': 'Er du sikker på at du vil slette denne by?', + 'delete': 'Slet', + 'cancel': 'Annullere', + 'time': 'Tid i byen', + 'validateName': 'Indtast venligst navnet', + 'measurements': 'Foranstaltningssystemet', + 'degrees': 'Grader', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperialistisk', + 'metric': 'Metrisk', + 'validateValue': 'Indtast en værdi', + 'validateNumber': 'Indtast et gyldigt nummer', + 'validate90': 'Værdien skal være mellem -90 og 90', + 'validate180': 'Værdien skal være mellem -180 og 180', + 'notifications': 'Notifikationer', + 'sunrise': 'Solopgang', + 'sunset': 'Solnedgang', + 'timeformat': 'Tids format', + '12': '12-timer', + '24': '24-timer', + 'cloudcover': 'skydække', + 'uvIndex': 'UV-index', + 'materialColor': 'Dynamiske farver', + 'uvLow': 'Lav', + 'uvAverage': 'Moderat', + 'uvHigh': 'Høj', + 'uvVeryHigh': 'Meget højt', + 'uvExtreme': 'Ekstrem', + 'weatherMore': '12 dages vejrudsigt', + 'windgusts': 'Vindstød', + 'north': 'Nord', + 'northeast': 'Nordøst', + 'east': 'Øst', + 'southeast': 'Sydøst', + 'south': 'Syd', + 'southwest': 'Sydvest', + 'west': 'Vest', + 'northwest': 'Nordvest', + 'project': 'Projektet findes på', + 'version': 'App version', + 'precipitationProbability': 'Sandsynlighed for nedbør', + 'apparentTemperatureMin': 'Minimum temperature', + 'apparentTemperatureMax': 'Maksimal temperatur', + 'amoledTheme': 'AMOLED-tema', + 'appearance': 'Udseende', + 'functions': 'Funktioner', + 'data': 'Data', + 'language': 'Sprog', + 'timeRange': 'Hyppighed (i timer)', + 'timeStart': 'Start tid', + 'timeEnd': 'Slut tid', + 'support': 'Support', + 'system': 'System', + 'dark': 'Mørk', + 'light': 'Lys', + 'license': 'Licenser', + 'widget': 'Widget', + 'widgetBackground': 'Widget baggrund', + 'widgetText': 'Widget tekst', + 'dewpoint': 'Dugpunktet', + 'shortwaveRadiation': 'Kortbølgestråling', + 'W/m2': 'W/m2', + 'roundDegree': 'Afrundede grader', + 'settings_full': 'Indstillinger', + 'cities': 'Byer', + 'searchMethod': 'Brug søgning eller geolokation', + 'done': 'Færdig', + 'groups': 'Vores grupper', + 'openMeteo': 'Data fra Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Timevise vejrfaktorer', + 'dailyVariables': 'Daglige vejrfaktorer', + 'largeElement': 'Stort vejrdisplay', + 'map': 'Kort', + 'clearCacheStore': 'Ryd cache', + 'deletedCacheStore': 'Rydder cache', + 'deletedCacheStoreQuery': 'Er du sikker på, at du vil rydde cachen?', + 'addWidget': 'Tilføj widget', + 'hideMap': 'Skjul kort', + }; } diff --git a/lib/translation/de_de.dart b/lib/translation/de_de.dart index 7f90779..3f6e697 100644 --- a/lib/translation/de_de.dart +++ b/lib/translation/de_de.dart @@ -1,144 +1,144 @@ class DeDe { Map get messages => { - 'start': 'Los gehts', - 'description': - 'Wetteranwendung mit einer aktuellen Prognose für jede Stunde, Tag und Woche für jeden Ort.', - 'name': 'Wetter', - 'name2': 'Bequemes Design', - 'name3': 'Kontaktiere uns', - 'description2': - 'Die gesamte Navigation ist so gestaltet, dass die Interaktion mit der Anwendung so bequem und schnell wie möglich erfolgt.', - 'description3': - 'Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte per E-Mail oder in den Bewertungen der Anwendung.', - 'next': 'Weiter', - 'search': 'Suchen...', - 'loading': 'Lädt...', - 'searchCity': 'Finde deine Stadt', - 'humidity': 'Luftfeuchtigkeit', - 'wind': 'Wind', - 'visibility': 'Sichtweite', - 'feels': 'Gefühlt', - 'evaporation': 'Verdunstung', - 'precipitation': 'Niederschlag', - 'direction': 'Richtung', - 'pressure': 'Druck', - 'rain': 'Regen', - 'clear_sky': 'Klarer Himmel', - 'cloudy': 'Bewölkt', - 'overcast': 'Bedeckt', - 'fog': 'Nebel', - 'drizzle': 'Nieselregen', - 'drizzling_rain': 'Gefrierender Nieselregen', - 'freezing_rain': 'Gefrierender Regen', - 'heavy_rains': 'Regenschauer', - 'snow': 'Schnee', - 'thunderstorm': 'Gewitter', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Einstellungen', - 'no_inter': 'Keine Internetverbindung', - 'on_inter': - 'Schalte das Internet ein, um meteorologische Daten zu erhalten.', - 'location': 'Standort', - 'no_location': - 'Aktiviere den Standortdienst, um Wetterdaten für den aktuellen Standort zu erhalten.', - 'theme': 'Thema', - 'low': 'Niedrig', - 'high': 'Hoch', - 'normal': 'Normal', - 'lat': 'Breitengrad', - 'lon': 'Längengrad', - 'create': 'Erstellen', - 'city': 'Stadt', - 'district': 'Bezirk', - 'noWeatherCard': 'Füge eine Stadt hinzu', - 'deletedCardWeather': 'Stadt löschen', - 'deletedCardWeatherQuery': - 'Sind Sie sicher, dass Sie die Stadt löschen möchten?', - 'delete': 'Löschen', - 'cancel': 'Abbrechen', - 'time': 'Ortszeit', - 'validateName': 'Bitte geben Sie den Namen ein', - 'measurements': 'Einheitensystem', - 'degrees': 'Grade', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperial', - 'metric': 'Metrisch', - 'validateValue': 'Bitte geben Sie einen Wert ein', - 'validateNumber': 'Bitte geben Sie eine Nummer ein', - 'validate90': 'Der Wert muss zwischen -90 und 90 liegen', - 'validate180': 'Der Wert muss zwischen -180 und 180 liegen', - 'notifications': 'Benachrichtigungen', - 'sunrise': 'Sonnenaufgang', - 'sunset': 'Sonnenuntergang', - 'timeformat': 'Zeitformat', - '12': '12-stunden', - '24': '24-stunden', - 'cloudcover': 'Wolkenbedeckung', - 'uvIndex': 'UV-index', - 'materialColor': 'Dynamische Farben', - 'uvLow': 'Niedrig', - 'uvAverage': 'Mäßig', - 'uvHigh': 'Hoch', - 'uvVeryHigh': 'Sehr hoch', - 'uvExtreme': 'Extrem', - 'weatherMore': '12-Tage-Wettervorhersage', - 'windgusts': 'Böe', - 'north': 'Norden', - 'northeast': 'Nordosten', - 'east': 'Osten', - 'southeast': 'Südosten', - 'south': 'Süden', - 'southwest': 'Südwesten', - 'west': 'Westen', - 'northwest': 'Nordwesten', - 'project': 'Projekt auf', - 'version': 'Anwendungsversion', - 'precipitationProbability': 'Niederschlagswahrscheinlichkeit', - 'apparentTemperatureMin': 'Minimale gefühlte Temperatur', - 'apparentTemperatureMax': 'Maximale gefühlte Temperatur', - 'amoledTheme': 'AMOLED-thema', - 'appearance': 'Erscheinungsbild', - 'functions': 'Funktionen', - 'data': 'Daten', - 'language': 'Sprache', - 'timeRange': 'Häufigkeit (in Stunden)', - 'timeStart': 'Startzeit', - 'timeEnd': 'Endzeit', - 'support': 'Unterstützung', - 'system': 'System', - 'dark': 'Dunkel', - 'light': 'Hell', - 'license': 'Lizenzen', - 'widget': 'Widget', - 'widgetBackground': 'Widget-Hintergrund', - 'widgetText': 'Widget-Text', - 'dewpoint': 'Taupunkt', - 'shortwaveRadiation': 'Kurzwellenstrahlung', - 'roundDegree': 'Grad runden', - 'settings_full': 'Einstellungen', - 'cities': 'Städte', - 'searchMethod': 'Verwenden Sie die Suche oder die Geolokalisierung', - 'done': 'Fertig', - 'groups': 'Unsere gruppen', - 'openMeteo': 'Daten von Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Stündliche Wettervariablen', - 'dailyVariables': 'Tägliche Wettervariablen', - 'largeElement': 'Große Wetteranzeige', - 'map': 'Karte', - 'clearCacheStore': 'Cache leeren', - 'deletedCacheStore': 'Cache wird geleert', - 'deletedCacheStoreQuery': - 'Sind Sie sicher, dass Sie den Cache leeren möchten?', - 'addWidget': 'Widget hinzufügen', - 'hideMap': 'Karte ausblenden', - }; + 'start': 'Los gehts', + 'description': + 'Wetteranwendung mit einer aktuellen Prognose für jede Stunde, Tag und Woche für jeden Ort.', + 'name': 'Wetter', + 'name2': 'Bequemes Design', + 'name3': 'Kontaktiere uns', + 'description2': + 'Die gesamte Navigation ist so gestaltet, dass die Interaktion mit der Anwendung so bequem und schnell wie möglich erfolgt.', + 'description3': + 'Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte per E-Mail oder in den Bewertungen der Anwendung.', + 'next': 'Weiter', + 'search': 'Suchen...', + 'loading': 'Lädt...', + 'searchCity': 'Finde deine Stadt', + 'humidity': 'Luftfeuchtigkeit', + 'wind': 'Wind', + 'visibility': 'Sichtweite', + 'feels': 'Gefühlt', + 'evaporation': 'Verdunstung', + 'precipitation': 'Niederschlag', + 'direction': 'Richtung', + 'pressure': 'Druck', + 'rain': 'Regen', + 'clear_sky': 'Klarer Himmel', + 'cloudy': 'Bewölkt', + 'overcast': 'Bedeckt', + 'fog': 'Nebel', + 'drizzle': 'Nieselregen', + 'drizzling_rain': 'Gefrierender Nieselregen', + 'freezing_rain': 'Gefrierender Regen', + 'heavy_rains': 'Regenschauer', + 'snow': 'Schnee', + 'thunderstorm': 'Gewitter', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Einstellungen', + 'no_inter': 'Keine Internetverbindung', + 'on_inter': + 'Schalte das Internet ein, um meteorologische Daten zu erhalten.', + 'location': 'Standort', + 'no_location': + 'Aktiviere den Standortdienst, um Wetterdaten für den aktuellen Standort zu erhalten.', + 'theme': 'Thema', + 'low': 'Niedrig', + 'high': 'Hoch', + 'normal': 'Normal', + 'lat': 'Breitengrad', + 'lon': 'Längengrad', + 'create': 'Erstellen', + 'city': 'Stadt', + 'district': 'Bezirk', + 'noWeatherCard': 'Füge eine Stadt hinzu', + 'deletedCardWeather': 'Stadt löschen', + 'deletedCardWeatherQuery': + 'Sind Sie sicher, dass Sie die Stadt löschen möchten?', + 'delete': 'Löschen', + 'cancel': 'Abbrechen', + 'time': 'Ortszeit', + 'validateName': 'Bitte geben Sie den Namen ein', + 'measurements': 'Einheitensystem', + 'degrees': 'Grade', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperial', + 'metric': 'Metrisch', + 'validateValue': 'Bitte geben Sie einen Wert ein', + 'validateNumber': 'Bitte geben Sie eine Nummer ein', + 'validate90': 'Der Wert muss zwischen -90 und 90 liegen', + 'validate180': 'Der Wert muss zwischen -180 und 180 liegen', + 'notifications': 'Benachrichtigungen', + 'sunrise': 'Sonnenaufgang', + 'sunset': 'Sonnenuntergang', + 'timeformat': 'Zeitformat', + '12': '12-stunden', + '24': '24-stunden', + 'cloudcover': 'Wolkenbedeckung', + 'uvIndex': 'UV-index', + 'materialColor': 'Dynamische Farben', + 'uvLow': 'Niedrig', + 'uvAverage': 'Mäßig', + 'uvHigh': 'Hoch', + 'uvVeryHigh': 'Sehr hoch', + 'uvExtreme': 'Extrem', + 'weatherMore': '12-Tage-Wettervorhersage', + 'windgusts': 'Böe', + 'north': 'Norden', + 'northeast': 'Nordosten', + 'east': 'Osten', + 'southeast': 'Südosten', + 'south': 'Süden', + 'southwest': 'Südwesten', + 'west': 'Westen', + 'northwest': 'Nordwesten', + 'project': 'Projekt auf', + 'version': 'Anwendungsversion', + 'precipitationProbability': 'Niederschlagswahrscheinlichkeit', + 'apparentTemperatureMin': 'Minimale gefühlte Temperatur', + 'apparentTemperatureMax': 'Maximale gefühlte Temperatur', + 'amoledTheme': 'AMOLED-thema', + 'appearance': 'Erscheinungsbild', + 'functions': 'Funktionen', + 'data': 'Daten', + 'language': 'Sprache', + 'timeRange': 'Häufigkeit (in Stunden)', + 'timeStart': 'Startzeit', + 'timeEnd': 'Endzeit', + 'support': 'Unterstützung', + 'system': 'System', + 'dark': 'Dunkel', + 'light': 'Hell', + 'license': 'Lizenzen', + 'widget': 'Widget', + 'widgetBackground': 'Widget-Hintergrund', + 'widgetText': 'Widget-Text', + 'dewpoint': 'Taupunkt', + 'shortwaveRadiation': 'Kurzwellenstrahlung', + 'roundDegree': 'Grad runden', + 'settings_full': 'Einstellungen', + 'cities': 'Städte', + 'searchMethod': 'Verwenden Sie die Suche oder die Geolokalisierung', + 'done': 'Fertig', + 'groups': 'Unsere gruppen', + 'openMeteo': 'Daten von Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Stündliche Wettervariablen', + 'dailyVariables': 'Tägliche Wettervariablen', + 'largeElement': 'Große Wetteranzeige', + 'map': 'Karte', + 'clearCacheStore': 'Cache leeren', + 'deletedCacheStore': 'Cache wird geleert', + 'deletedCacheStoreQuery': + 'Sind Sie sicher, dass Sie den Cache leeren möchten?', + 'addWidget': 'Widget hinzufügen', + 'hideMap': 'Karte ausblenden', + }; } diff --git a/lib/translation/en_us.dart b/lib/translation/en_us.dart index 705aa51..344545f 100644 --- a/lib/translation/en_us.dart +++ b/lib/translation/en_us.dart @@ -1,142 +1,142 @@ class EnUs { Map get messages => { - 'start': 'Get Started', - 'description': - 'Weather application with an up-to-date forecast for each hour, day, and week for any location.', - 'name': 'Weather', - 'name2': 'Convenient Design', - 'name3': 'Contact Us', - 'description2': - 'All navigation is designed to interact with the application as conveniently and quickly as possible.', - 'description3': - 'If you encounter any issues, please contact us via email or in the application reviews.', - 'next': 'Next', - 'search': 'Search...', - 'loading': 'Loading...', - 'searchCity': 'Find your city', - 'humidity': 'Humidity', - 'wind': 'Wind', - 'visibility': 'Visibility', - 'feels': 'Feels', - 'evaporation': 'Evapotranspiration', - 'precipitation': 'Precipitation', - 'direction': 'Direction', - 'pressure': 'Pressure', - 'rain': 'Rain', - 'clear_sky': 'Clear sky', - 'cloudy': 'Cloudy', - 'overcast': 'Overcast', - 'fog': 'Fog', - 'drizzle': 'Drizzle', - 'drizzling_rain': 'Freezing Drizzle', - 'freezing_rain': 'Freezing Rain', - 'heavy_rains': 'Rain showers', - 'snow': 'Snow', - 'thunderstorm': 'Thunderstorm', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Set.', - 'no_inter': 'No Internet', - 'on_inter': 'Turn on the Internet to get meteorological data.', - 'location': 'Location', - 'no_location': - 'Enable the location service to get weather data for the current location.', - 'theme': 'Theme', - 'low': 'Low', - 'high': 'High', - 'normal': 'Normal', - 'lat': 'Latitude', - 'lon': 'Longitude', - 'create': 'Create', - 'city': 'City', - 'district': 'District', - 'noWeatherCard': 'Add a city', - 'deletedCardWeather': 'Deleting a city', - 'deletedCardWeatherQuery': 'Are you sure you want to delete the city?', - 'delete': 'Delete', - 'cancel': 'Cancel', - 'time': 'Time in the city', - 'validateName': 'Please enter the name', - 'measurements': 'System of measures', - 'degrees': 'Degrees', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperial', - 'metric': 'Metric', - 'validateValue': 'Please enter a value', - 'validateNumber': 'Please enter a valid number', - 'validate90': 'Value must be between -90 and 90', - 'validate180': 'Value must be between -180 and 180', - 'notifications': 'Notifications', - 'sunrise': 'Sunrise', - 'sunset': 'Sunset', - 'timeformat': 'Time format', - '12': '12-hour', - '24': '24-hour', - 'cloudcover': 'Cloudcover', - 'uvIndex': 'UV-index', - 'materialColor': 'Dynamic colors', - 'uvLow': 'Low', - 'uvAverage': 'Moderate', - 'uvHigh': 'High', - 'uvVeryHigh': 'Very high', - 'uvExtreme': 'Extreme', - 'weatherMore': '12-day weather forecast', - 'windgusts': 'Gust', - 'north': 'North', - 'northeast': 'Northeast', - 'east': 'East', - 'southeast': 'Southeast', - 'south': 'South', - 'southwest': 'Southwest', - 'west': 'West', - 'northwest': 'Northwest', - 'project': 'Project on', - 'version': 'Application version', - 'precipitationProbability': 'Precipitation probability', - 'apparentTemperatureMin': 'Minimum apparent temperature', - 'apparentTemperatureMax': 'Maximum apparent temperature', - 'amoledTheme': 'AMOLED-theme', - 'appearance': 'Appearance', - 'functions': 'Functions', - 'data': 'Data', - 'language': 'Language', - 'timeRange': 'Frequency (in hours)', - 'timeStart': 'Start time', - 'timeEnd': 'End time', - 'support': 'Donate', - 'system': 'System', - 'dark': 'Dark', - 'light': 'Light', - 'license': 'Licenses', - 'widget': 'Widget', - 'widgetBackground': 'Widget background', - 'widgetText': 'Widget text', - 'dewpoint': 'Dewpoint', - 'shortwaveRadiation': 'Shortwave radiation', - 'W/m2': 'W/m2', - 'roundDegree': 'Round degrees', - 'settings_full': 'Settings', - 'cities': 'Cities', - 'searchMethod': 'Use search or geolocation', - 'done': 'Done', - 'groups': 'Our groups', - 'openMeteo': 'Data by Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Hourly weather variables', - 'dailyVariables': 'Daily weather variables', - 'largeElement': 'Large weather display', - 'map': 'Map', - 'clearCacheStore': 'Clear cache', - 'deletedCacheStore': 'Clearing the cache', - 'deletedCacheStoreQuery': 'Are you sure you want to clear the cache?', - 'addWidget': 'Add widget', - 'hideMap': 'Hide map', - }; + 'start': 'Get Started', + 'description': + 'Weather application with an up-to-date forecast for each hour, day, and week for any location.', + 'name': 'Weather', + 'name2': 'Convenient Design', + 'name3': 'Contact Us', + 'description2': + 'All navigation is designed to interact with the application as conveniently and quickly as possible.', + 'description3': + 'If you encounter any issues, please contact us via email or in the application reviews.', + 'next': 'Next', + 'search': 'Search...', + 'loading': 'Loading...', + 'searchCity': 'Find your city', + 'humidity': 'Humidity', + 'wind': 'Wind', + 'visibility': 'Visibility', + 'feels': 'Feels', + 'evaporation': 'Evapotranspiration', + 'precipitation': 'Precipitation', + 'direction': 'Direction', + 'pressure': 'Pressure', + 'rain': 'Rain', + 'clear_sky': 'Clear sky', + 'cloudy': 'Cloudy', + 'overcast': 'Overcast', + 'fog': 'Fog', + 'drizzle': 'Drizzle', + 'drizzling_rain': 'Freezing Drizzle', + 'freezing_rain': 'Freezing Rain', + 'heavy_rains': 'Rain showers', + 'snow': 'Snow', + 'thunderstorm': 'Thunderstorm', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Set.', + 'no_inter': 'No Internet', + 'on_inter': 'Turn on the Internet to get meteorological data.', + 'location': 'Location', + 'no_location': + 'Enable the location service to get weather data for the current location.', + 'theme': 'Theme', + 'low': 'Low', + 'high': 'High', + 'normal': 'Normal', + 'lat': 'Latitude', + 'lon': 'Longitude', + 'create': 'Create', + 'city': 'City', + 'district': 'District', + 'noWeatherCard': 'Add a city', + 'deletedCardWeather': 'Deleting a city', + 'deletedCardWeatherQuery': 'Are you sure you want to delete the city?', + 'delete': 'Delete', + 'cancel': 'Cancel', + 'time': 'Time in the city', + 'validateName': 'Please enter the name', + 'measurements': 'System of measures', + 'degrees': 'Degrees', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperial', + 'metric': 'Metric', + 'validateValue': 'Please enter a value', + 'validateNumber': 'Please enter a valid number', + 'validate90': 'Value must be between -90 and 90', + 'validate180': 'Value must be between -180 and 180', + 'notifications': 'Notifications', + 'sunrise': 'Sunrise', + 'sunset': 'Sunset', + 'timeformat': 'Time format', + '12': '12-hour', + '24': '24-hour', + 'cloudcover': 'Cloudcover', + 'uvIndex': 'UV-index', + 'materialColor': 'Dynamic colors', + 'uvLow': 'Low', + 'uvAverage': 'Moderate', + 'uvHigh': 'High', + 'uvVeryHigh': 'Very high', + 'uvExtreme': 'Extreme', + 'weatherMore': '12-day weather forecast', + 'windgusts': 'Gust', + 'north': 'North', + 'northeast': 'Northeast', + 'east': 'East', + 'southeast': 'Southeast', + 'south': 'South', + 'southwest': 'Southwest', + 'west': 'West', + 'northwest': 'Northwest', + 'project': 'Project on', + 'version': 'Application version', + 'precipitationProbability': 'Precipitation probability', + 'apparentTemperatureMin': 'Minimum apparent temperature', + 'apparentTemperatureMax': 'Maximum apparent temperature', + 'amoledTheme': 'AMOLED-theme', + 'appearance': 'Appearance', + 'functions': 'Functions', + 'data': 'Data', + 'language': 'Language', + 'timeRange': 'Frequency (in hours)', + 'timeStart': 'Start time', + 'timeEnd': 'End time', + 'support': 'Donate', + 'system': 'System', + 'dark': 'Dark', + 'light': 'Light', + 'license': 'Licenses', + 'widget': 'Widget', + 'widgetBackground': 'Widget background', + 'widgetText': 'Widget text', + 'dewpoint': 'Dewpoint', + 'shortwaveRadiation': 'Shortwave radiation', + 'W/m2': 'W/m2', + 'roundDegree': 'Round degrees', + 'settings_full': 'Settings', + 'cities': 'Cities', + 'searchMethod': 'Use search or geolocation', + 'done': 'Done', + 'groups': 'Our groups', + 'openMeteo': 'Data by Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Hourly weather variables', + 'dailyVariables': 'Daily weather variables', + 'largeElement': 'Large weather display', + 'map': 'Map', + 'clearCacheStore': 'Clear cache', + 'deletedCacheStore': 'Clearing the cache', + 'deletedCacheStoreQuery': 'Are you sure you want to clear the cache?', + 'addWidget': 'Add widget', + 'hideMap': 'Hide map', + }; } diff --git a/lib/translation/es_es.dart b/lib/translation/es_es.dart index 4519b07..0aad197 100644 --- a/lib/translation/es_es.dart +++ b/lib/translation/es_es.dart @@ -1,144 +1,142 @@ class EsEs { Map get messages => { - 'start': 'Empezar', - 'description': - 'Aplicación meteorológica con un pronóstico actualizado para cada hora, día y semana para cualquier lugar.', - 'name': 'Tiempo', - 'name2': 'Diseño Conveniente', - 'name3': 'Contáctenos', - 'description2': - 'Toda la navegación está diseñada para interactuar con la aplicación de la manera más cómoda y rápida posible.', - 'description3': - 'Si encuentra algún problema, contáctenos por correo electrónico o en las reseñas de la aplicación.', - 'next': 'Siguiente', - 'search': 'Buscar...', - 'loading': 'Cargando...', - 'searchCity': 'Busca tu ciudad', - 'humidity': 'Humedad', - 'wind': 'Viento', - 'visibility': 'Visibilidad', - 'feels': 'Sensación térmica', - 'evaporation': 'Evaporación', - 'precipitation': 'Precipitación', - 'direction': 'Dirección', - 'pressure': 'Presión', - 'rain': 'Lluvia', - 'clear_sky': 'Cielo despejado', - 'cloudy': 'Nuboso', - 'overcast': 'Cubierto de nubes', - 'fog': 'Niebla', - 'drizzle': 'Llovizna', - 'drizzling_rain': 'Llovizna helada', - 'freezing_rain': 'Lluvia helada', - 'heavy_rains': 'Chubasco intenso', - 'snow': 'Nieve', - 'thunderstorm': 'Tormenta', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Ajustes', - 'no_inter': 'Sin conexión a Internet', - 'on_inter': - 'Conéctate a Internet para obtener información meteorológica.', - 'location': 'Ubicación', - 'no_location': - 'Activa la localización para obtener información meteorológica para tu ubicación actual.', - 'theme': 'Tema', - 'low': 'Bajo', - 'high': 'Alto', - 'normal': 'Normal', - 'lat': 'Latitud', - 'lon': 'Longitud', - 'create': 'Crear', - 'city': 'Ciudad', - 'district': 'Distrito', - 'noWeatherCard': 'Añadir una ciudad', - 'deletedCardWeather': 'Eliminar una ciudad', - 'deletedCardWeatherQuery': - '¿Estás seguro de que quieres eliminar la ciudad?', - 'delete': 'Eliminar', - 'cancel': 'Cancelar', - 'time': 'Hora en la ciudad', - 'validateName': 'Por favor, introduce un nombre', - 'measurements': 'Sistema de medidas', - 'degrees': 'Grados', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperial', - 'metric': 'Métrico', - 'validateValue': 'Por favor, introduce un valor', - 'validateNumber': 'Por favor, introduce un número válido', - 'validate90': 'El valor tiene que estar entre -90 y 90', - 'validate180': 'El valor tiene que estar entre -180 y 180', - 'notifications': 'Notificaciones', - 'sunrise': 'Amanecer', - 'sunset': 'Atardecer', - 'timeformat': 'Formato de hora', - '12': '12 horas', - '24': '24 horas', - 'cloudcover': 'Cobertura de nubes', - 'uvIndex': 'UV-índice', - 'materialColor': 'Colores Dinámicos', - 'uvLow': 'Bajo', - 'uvAverage': 'Moderado', - 'uvHigh': 'Alto', - 'uvVeryHigh': 'Muy alto', - 'uvExtreme': 'Extremo', - 'weatherMore': 'Pronóstico del tiempo para 12 días', - 'windgusts': 'Ráfagas', - 'north': 'Norte', - 'northeast': 'Noreste', - 'east': 'Este', - 'southeast': 'Sureste', - 'south': 'Sur', - 'southwest': 'Suroeste', - 'west': 'Oeste', - 'northwest': 'Noroeste', - 'project': 'Proyecto en', - 'version': 'Versión de la aplicación', - 'precipitationProbability': 'Probabilidad de precipitación', - 'apparentTemperatureMin': 'Temperatura aparente mínima', - 'apparentTemperatureMax': 'Temperatura aparente máxima', - 'amoledTheme': 'AMOLED-tema', - 'appearance': 'Apariencia', - 'functions': 'Funciones', - 'data': 'Datos', - 'language': 'Idioma', - 'timeRange': 'Frecuencia (en horas)', - 'timeStart': 'Hora de inicio', - 'timeEnd': 'Hora de finalización', - 'support': 'Soporte', - 'system': 'Sistema', - 'dark': 'Oscuro', - 'light': 'Claro', - 'license': 'Licencias', - 'widget': 'Widget', - 'widgetBackground': 'Fondo del widget', - 'widgetText': 'Texto del widget', - 'dewpoint': 'Punto de rocío', - 'shortwaveRadiation': 'Radiación de onda corta', - 'roundDegree': 'Redondear grados', - 'settings_full': 'Configuración', - 'cities': 'Ciudades', - 'searchMethod': 'Usa la búsqueda o la geolocalización', - 'done': 'Hecho', - 'groups': 'Nuestros grupos', - 'openMeteo': 'Datos de Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Variables meteorológicas horarias', - 'dailyVariables': 'Variables meteorológicas diarias', - 'largeElement': 'Visualización grande del clima', - 'map': 'Mapa', - 'clearCacheStore': 'Borrar caché', - 'deletedCacheStore': 'Borrando caché', - 'deletedCacheStoreQuery': - '¿Estás seguro de que quieres borrar el caché?', - 'addWidget': 'Agregar widget', - 'hideMap': 'Ocultar mapa', - }; + 'start': 'Empezar', + 'description': + 'Aplicación meteorológica con un pronóstico actualizado para cada hora, día y semana para cualquier lugar.', + 'name': 'Tiempo', + 'name2': 'Diseño Conveniente', + 'name3': 'Contáctenos', + 'description2': + 'Toda la navegación está diseñada para interactuar con la aplicación de la manera más cómoda y rápida posible.', + 'description3': + 'Si encuentra algún problema, contáctenos por correo electrónico o en las reseñas de la aplicación.', + 'next': 'Siguiente', + 'search': 'Buscar...', + 'loading': 'Cargando...', + 'searchCity': 'Busca tu ciudad', + 'humidity': 'Humedad', + 'wind': 'Viento', + 'visibility': 'Visibilidad', + 'feels': 'Sensación térmica', + 'evaporation': 'Evaporación', + 'precipitation': 'Precipitación', + 'direction': 'Dirección', + 'pressure': 'Presión', + 'rain': 'Lluvia', + 'clear_sky': 'Cielo despejado', + 'cloudy': 'Nuboso', + 'overcast': 'Cubierto de nubes', + 'fog': 'Niebla', + 'drizzle': 'Llovizna', + 'drizzling_rain': 'Llovizna helada', + 'freezing_rain': 'Lluvia helada', + 'heavy_rains': 'Chubasco intenso', + 'snow': 'Nieve', + 'thunderstorm': 'Tormenta', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Ajustes', + 'no_inter': 'Sin conexión a Internet', + 'on_inter': 'Conéctate a Internet para obtener información meteorológica.', + 'location': 'Ubicación', + 'no_location': + 'Activa la localización para obtener información meteorológica para tu ubicación actual.', + 'theme': 'Tema', + 'low': 'Bajo', + 'high': 'Alto', + 'normal': 'Normal', + 'lat': 'Latitud', + 'lon': 'Longitud', + 'create': 'Crear', + 'city': 'Ciudad', + 'district': 'Distrito', + 'noWeatherCard': 'Añadir una ciudad', + 'deletedCardWeather': 'Eliminar una ciudad', + 'deletedCardWeatherQuery': + '¿Estás seguro de que quieres eliminar la ciudad?', + 'delete': 'Eliminar', + 'cancel': 'Cancelar', + 'time': 'Hora en la ciudad', + 'validateName': 'Por favor, introduce un nombre', + 'measurements': 'Sistema de medidas', + 'degrees': 'Grados', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperial', + 'metric': 'Métrico', + 'validateValue': 'Por favor, introduce un valor', + 'validateNumber': 'Por favor, introduce un número válido', + 'validate90': 'El valor tiene que estar entre -90 y 90', + 'validate180': 'El valor tiene que estar entre -180 y 180', + 'notifications': 'Notificaciones', + 'sunrise': 'Amanecer', + 'sunset': 'Atardecer', + 'timeformat': 'Formato de hora', + '12': '12 horas', + '24': '24 horas', + 'cloudcover': 'Cobertura de nubes', + 'uvIndex': 'UV-índice', + 'materialColor': 'Colores Dinámicos', + 'uvLow': 'Bajo', + 'uvAverage': 'Moderado', + 'uvHigh': 'Alto', + 'uvVeryHigh': 'Muy alto', + 'uvExtreme': 'Extremo', + 'weatherMore': 'Pronóstico del tiempo para 12 días', + 'windgusts': 'Ráfagas', + 'north': 'Norte', + 'northeast': 'Noreste', + 'east': 'Este', + 'southeast': 'Sureste', + 'south': 'Sur', + 'southwest': 'Suroeste', + 'west': 'Oeste', + 'northwest': 'Noroeste', + 'project': 'Proyecto en', + 'version': 'Versión de la aplicación', + 'precipitationProbability': 'Probabilidad de precipitación', + 'apparentTemperatureMin': 'Temperatura aparente mínima', + 'apparentTemperatureMax': 'Temperatura aparente máxima', + 'amoledTheme': 'AMOLED-tema', + 'appearance': 'Apariencia', + 'functions': 'Funciones', + 'data': 'Datos', + 'language': 'Idioma', + 'timeRange': 'Frecuencia (en horas)', + 'timeStart': 'Hora de inicio', + 'timeEnd': 'Hora de finalización', + 'support': 'Soporte', + 'system': 'Sistema', + 'dark': 'Oscuro', + 'light': 'Claro', + 'license': 'Licencias', + 'widget': 'Widget', + 'widgetBackground': 'Fondo del widget', + 'widgetText': 'Texto del widget', + 'dewpoint': 'Punto de rocío', + 'shortwaveRadiation': 'Radiación de onda corta', + 'roundDegree': 'Redondear grados', + 'settings_full': 'Configuración', + 'cities': 'Ciudades', + 'searchMethod': 'Usa la búsqueda o la geolocalización', + 'done': 'Hecho', + 'groups': 'Nuestros grupos', + 'openMeteo': 'Datos de Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Variables meteorológicas horarias', + 'dailyVariables': 'Variables meteorológicas diarias', + 'largeElement': 'Visualización grande del clima', + 'map': 'Mapa', + 'clearCacheStore': 'Borrar caché', + 'deletedCacheStore': 'Borrando caché', + 'deletedCacheStoreQuery': '¿Estás seguro de que quieres borrar el caché?', + 'addWidget': 'Agregar widget', + 'hideMap': 'Ocultar mapa', + }; } diff --git a/lib/translation/fa_ir.dart b/lib/translation/fa_ir.dart index 82629b7..3aa9be7 100644 --- a/lib/translation/fa_ir.dart +++ b/lib/translation/fa_ir.dart @@ -1,143 +1,143 @@ class FaIr { Map get messages => { - 'start': 'شروع کنید', - 'description': - 'یک برنامه هواشناسی با پیش‌بینی به روز برای هر ساعت، روز و هفته و هر مکان', - 'name': 'آب و هوا', - 'name2': 'طراحی راحت', - 'name3': 'ارتباط باما', - 'description2': - 'برنامه به گونه ای طراحی شده است تا به راحتی بتوانید با آن ارتباط بگیرید.', - 'description3': - 'اگر با مشکلی روبرو شدید، لطفاً با ما از طریق ایمیل و یا نظرات برنامه ارتباط بگیرید.', - 'next': 'بعدی', - 'search': 'جستجو....', - 'loading': 'درحال بارگذاری...', - 'searchCity': 'شهر خود را پیدا کنید', - 'humidity': 'رطوبت', - 'wind': 'باد', - 'visibility': 'میزان دید', - 'feels': 'دما', - 'evaporation': 'تبخیر و تعرق', - 'precipitation': 'ته‌نشینی', - 'direction': 'جهت', - 'pressure': 'فشار', - 'rain': 'باران', - 'clear_sky': 'آسمان صاف', - 'cloudy': 'ابری', - 'overcast': 'ابری', - 'fog': 'مه', - 'drizzle': 'ریز باران', - 'drizzling_rain': 'تگرگ', - 'freezing_rain': 'باران یخ‌زن', - 'heavy_rains': 'باران شدید', - 'snow': 'برف', - 'thunderstorm': 'طوفان', - 'kph': 'km/h', - 'mph': 'mph', - 'mi': 'mi', - 'km': 'km', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'تنظیمات', - 'no_inter': 'عدم اتصال به اینترنت', - 'on_inter': 'برای دریافت تغییرات جوی اینترنت خود را روشن کنید.', - 'location': 'مکان', - 'no_location': - 'برای دریافت اطلاعات آب و هوا برای مکان فعلی، سرویس مکان را فعال کنید.', - 'theme': 'پوسته', - 'low': 'کم', - 'high': 'زیاد', - 'normal': 'عادی', - 'lat': 'عرض جغرافیایی', - 'lon': 'طول جغرافیایی', - 'create': 'ایجاد', - 'city': 'شهر', - 'district': 'ناحیه', - 'noWeatherCard': 'یک شهر اضافه کنید', - 'deletedCardWeather': 'حذف یک شهر', - 'deletedCardWeatherQuery': 'آیا از حذف این شهر اطمینان دارید؟', - 'delete': 'حذف', - 'cancel': 'صرف نظر', - 'time': 'زمان در این شهر', - 'validateName': 'لطفاً نام را وارد کنید.', - 'measurements': 'سیستم اندازه گیری', - 'degrees': 'درجه', - 'celsius': 'سلسیوس', - 'fahrenheit': 'فارنهایت', - 'imperial': 'بریتانیایی', - 'metric': 'متریک', - 'validateValue': 'لطفاً یک مقدار را وارد کنید.', - 'validateNumber': 'لطفاً یک مقدار معتبر وارد کنید.', - 'validate90': 'مقدار شما باید بین -۹۰ و ۹۰ باشد.', - 'validate180': 'مقدار شما باید بین -۱۸۰ و ۱۸۰ باشد.', - 'notifications': 'اعلانات', - 'sunrise': 'طلوع آفتاب', - 'sunset': 'غروب آفتاب', - 'timeformat': 'نوع زمان', - '12': '۱۲ ساعته', - '24': '۲۴ ساعته', - 'cloudcover': 'پوشش ابری', - 'uvIndex': 'شاخص اشعه ماوراء بنفش', - 'materialColor': 'رنگ های پویا', - 'uvLow': 'کم', - 'uvAverage': 'متوسط', - 'uvHigh': 'زیاد', - 'uvVeryHigh': 'خیلی زیاد', - 'uvExtreme': 'شدید', - 'weatherMore': 'پیش بینی آب و هوا 12 روزه', - 'windgusts': 'وزش باد', - 'north': 'شمال', - 'northeast': 'شمال شرقی', - 'east': 'شرق', - 'southeast': 'جنوب شرقی', - 'south': 'جنوب', - 'southwest': 'جنوب غربی', - 'west': 'غرب', - 'northwest': 'شمال غربی', - 'project': 'Project on', - 'version': 'نگارش برنامه', - 'precipitationProbability': 'احتمال بارش', - 'apparentTemperatureMin': 'حداقل دمای ظاهری', - 'apparentTemperatureMax': 'حداکثر دمای ظاهری', - 'amoledTheme': 'پوسته امولد', - 'appearance': 'ظاهر', - 'functions': 'کارکرد', - 'data': 'داده ها', - 'language': 'زبان', - 'timeRange': 'فرکانس (بر حسب ساعت)', - 'timeStart': 'زمان شروع', - 'timeEnd': 'زمان پایان', - 'support': 'پشتیبانی', - 'system': 'سیستم', - 'dark': 'تیره', - 'light': 'روشن', - 'license': 'مجوز', - 'widget': 'ویجت', - 'widgetBackground': 'پس زمینه ویجت', - 'widgetText': 'متن ویجت', - 'dewpoint': 'نقطه شبنم', - 'shortwaveRadiation': 'تابش موج کوتاه', - 'W/m2': 'W/m2', - 'roundDegree': 'درجه گرد', - 'settings_full': 'تنظیمات', - 'cities': 'شهر ها', - 'searchMethod': 'از جستجو یا موقعیت جغرافیایی استفاده کنید', - 'done': 'پایان', - 'groups': 'گروه‌های ما', - 'openMeteo': 'داده‌ها از Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'متغیرهای ساعتی هواشناسی', - 'dailyVariables': 'متغیرهای روزانه هواشناسی', - 'largeElement': 'نمایش هواشناسی بزرگ', - 'map': 'نقشه', - 'clearCacheStore': 'پاک کردن حافظه نهان', - 'deletedCacheStore': 'در حال پاک کردن حافظه نهان', - 'deletedCacheStoreQuery': - 'آیا مطمئن هستید که می‌خواهید حافظه نهان را پاک کنید؟', - 'addWidget': 'افزودن ویجت', - 'hideMap': 'پنهان کردن نقشه', - }; + 'start': 'شروع کنید', + 'description': + 'یک برنامه هواشناسی با پیش‌بینی به روز برای هر ساعت، روز و هفته و هر مکان', + 'name': 'آب و هوا', + 'name2': 'طراحی راحت', + 'name3': 'ارتباط باما', + 'description2': + 'برنامه به گونه ای طراحی شده است تا به راحتی بتوانید با آن ارتباط بگیرید.', + 'description3': + 'اگر با مشکلی روبرو شدید، لطفاً با ما از طریق ایمیل و یا نظرات برنامه ارتباط بگیرید.', + 'next': 'بعدی', + 'search': 'جستجو....', + 'loading': 'درحال بارگذاری...', + 'searchCity': 'شهر خود را پیدا کنید', + 'humidity': 'رطوبت', + 'wind': 'باد', + 'visibility': 'میزان دید', + 'feels': 'دما', + 'evaporation': 'تبخیر و تعرق', + 'precipitation': 'ته‌نشینی', + 'direction': 'جهت', + 'pressure': 'فشار', + 'rain': 'باران', + 'clear_sky': 'آسمان صاف', + 'cloudy': 'ابری', + 'overcast': 'ابری', + 'fog': 'مه', + 'drizzle': 'ریز باران', + 'drizzling_rain': 'تگرگ', + 'freezing_rain': 'باران یخ‌زن', + 'heavy_rains': 'باران شدید', + 'snow': 'برف', + 'thunderstorm': 'طوفان', + 'kph': 'km/h', + 'mph': 'mph', + 'mi': 'mi', + 'km': 'km', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'تنظیمات', + 'no_inter': 'عدم اتصال به اینترنت', + 'on_inter': 'برای دریافت تغییرات جوی اینترنت خود را روشن کنید.', + 'location': 'مکان', + 'no_location': + 'برای دریافت اطلاعات آب و هوا برای مکان فعلی، سرویس مکان را فعال کنید.', + 'theme': 'پوسته', + 'low': 'کم', + 'high': 'زیاد', + 'normal': 'عادی', + 'lat': 'عرض جغرافیایی', + 'lon': 'طول جغرافیایی', + 'create': 'ایجاد', + 'city': 'شهر', + 'district': 'ناحیه', + 'noWeatherCard': 'یک شهر اضافه کنید', + 'deletedCardWeather': 'حذف یک شهر', + 'deletedCardWeatherQuery': 'آیا از حذف این شهر اطمینان دارید؟', + 'delete': 'حذف', + 'cancel': 'صرف نظر', + 'time': 'زمان در این شهر', + 'validateName': 'لطفاً نام را وارد کنید.', + 'measurements': 'سیستم اندازه گیری', + 'degrees': 'درجه', + 'celsius': 'سلسیوس', + 'fahrenheit': 'فارنهایت', + 'imperial': 'بریتانیایی', + 'metric': 'متریک', + 'validateValue': 'لطفاً یک مقدار را وارد کنید.', + 'validateNumber': 'لطفاً یک مقدار معتبر وارد کنید.', + 'validate90': 'مقدار شما باید بین -۹۰ و ۹۰ باشد.', + 'validate180': 'مقدار شما باید بین -۱۸۰ و ۱۸۰ باشد.', + 'notifications': 'اعلانات', + 'sunrise': 'طلوع آفتاب', + 'sunset': 'غروب آفتاب', + 'timeformat': 'نوع زمان', + '12': '۱۲ ساعته', + '24': '۲۴ ساعته', + 'cloudcover': 'پوشش ابری', + 'uvIndex': 'شاخص اشعه ماوراء بنفش', + 'materialColor': 'رنگ های پویا', + 'uvLow': 'کم', + 'uvAverage': 'متوسط', + 'uvHigh': 'زیاد', + 'uvVeryHigh': 'خیلی زیاد', + 'uvExtreme': 'شدید', + 'weatherMore': 'پیش بینی آب و هوا 12 روزه', + 'windgusts': 'وزش باد', + 'north': 'شمال', + 'northeast': 'شمال شرقی', + 'east': 'شرق', + 'southeast': 'جنوب شرقی', + 'south': 'جنوب', + 'southwest': 'جنوب غربی', + 'west': 'غرب', + 'northwest': 'شمال غربی', + 'project': 'Project on', + 'version': 'نگارش برنامه', + 'precipitationProbability': 'احتمال بارش', + 'apparentTemperatureMin': 'حداقل دمای ظاهری', + 'apparentTemperatureMax': 'حداکثر دمای ظاهری', + 'amoledTheme': 'پوسته امولد', + 'appearance': 'ظاهر', + 'functions': 'کارکرد', + 'data': 'داده ها', + 'language': 'زبان', + 'timeRange': 'فرکانس (بر حسب ساعت)', + 'timeStart': 'زمان شروع', + 'timeEnd': 'زمان پایان', + 'support': 'پشتیبانی', + 'system': 'سیستم', + 'dark': 'تیره', + 'light': 'روشن', + 'license': 'مجوز', + 'widget': 'ویجت', + 'widgetBackground': 'پس زمینه ویجت', + 'widgetText': 'متن ویجت', + 'dewpoint': 'نقطه شبنم', + 'shortwaveRadiation': 'تابش موج کوتاه', + 'W/m2': 'W/m2', + 'roundDegree': 'درجه گرد', + 'settings_full': 'تنظیمات', + 'cities': 'شهر ها', + 'searchMethod': 'از جستجو یا موقعیت جغرافیایی استفاده کنید', + 'done': 'پایان', + 'groups': 'گروه‌های ما', + 'openMeteo': 'داده‌ها از Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'متغیرهای ساعتی هواشناسی', + 'dailyVariables': 'متغیرهای روزانه هواشناسی', + 'largeElement': 'نمایش هواشناسی بزرگ', + 'map': 'نقشه', + 'clearCacheStore': 'پاک کردن حافظه نهان', + 'deletedCacheStore': 'در حال پاک کردن حافظه نهان', + 'deletedCacheStoreQuery': + 'آیا مطمئن هستید که می‌خواهید حافظه نهان را پاک کنید؟', + 'addWidget': 'افزودن ویجت', + 'hideMap': 'پنهان کردن نقشه', + }; } diff --git a/lib/translation/fr_fr.dart b/lib/translation/fr_fr.dart index 972bde5..6a4536b 100644 --- a/lib/translation/fr_fr.dart +++ b/lib/translation/fr_fr.dart @@ -1,143 +1,142 @@ class FrFr { Map get messages => { - 'start': 'Démarrer', - 'description': - 'Application météo avec un pronostic à jour pour chaque heure, jour et semaine pour n\'importe quel endroit.', - 'name': 'Météo', - 'name2': 'Design pratique', - 'name3': 'Nous contacter', - 'description2': - 'Toute la navigation est conçue pour interagir avec l\'application de la manière la plus pratique et la plus rapide possible.', - 'description3': - 'Si vous rencontrez des problèmes, veuillez nous contacter par e-mail ou dans les avis de l\'application.', - 'next': 'Suivant', - 'search': 'Rechercher...', - 'loading': 'Chargement...', - 'searchCity': 'Trouver votre ville', - 'humidity': 'Humidité', - 'wind': 'Vent', - 'visibility': 'Visibilité', - 'feels': 'Ressenti', - 'evaporation': 'Evaporation', - 'precipitation': 'Précipitation', - 'direction': 'Direction', - 'pressure': 'Pression', - 'rain': 'Pluie', - 'clear_sky': 'Ciel dégagé', - 'cloudy': 'Nuageux', - 'overcast': 'Couvert', - 'fog': 'Brouillard', - 'drizzle': 'Bruine', - 'drizzling_rain': 'Brouillard givrant', - 'freezing_rain': 'Pluie verglaçante', - 'heavy_rains': 'Averses de pluie', - 'snow': 'Neige', - 'thunderstorm': 'Orage', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Par.', - 'no_inter': 'Pas de réseau', - 'on_inter': - 'Connectez-vous à internet pour obtenir des données météorologiques.', - 'location': 'Localisation', - 'no_location': - 'Activez le service de localisation pour obtenir les données météorologiques de l\'endroit actuel.', - 'theme': 'Thème', - 'low': 'Bas', - 'high': 'Haut', - 'normal': 'Normal', - 'lat': 'Latitude', - 'lon': 'Longitude', - 'create': 'Créer', - 'city': 'Ville', - 'district': 'District', - 'noWeatherCard': 'Ajouter une ville', - 'deletedCardWeather': 'Supprimer une ville', - 'deletedCardWeatherQuery': - 'Êtes-vous sûr de vouloir supprimer la ville ?', - 'delete': 'Supprimer', - 'cancel': 'Annuler', - 'time': 'Heure locale', - 'validateName': 'Veuillez saisir le nom', - 'measurements': 'Système de mesures', - 'degrees': 'Degrés', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperial', - 'metric': 'Métrique', - 'validateValue': 'Veuillez saisir une valeur', - 'validateNumber': 'Veuillez saisir un numéro valide', - 'validate90': 'La valeur doit être comprise entre -90 et 90', - 'validate180': 'La valeur doit être comprise entre -180 et 180', - 'notifications': 'Notifications', - 'sunrise': 'Lever du soleil', - 'sunset': 'Coucher du soleil', - 'timeformat': 'Format horaire', - '12': '12 heures', - '24': '24 heures', - 'cloudcover': 'Сouverture nuageuse', - 'uvIndex': 'UV-indice', - 'materialColor': 'Couleurs Dynamiques', - 'uvLow': 'Faible', - 'uvAverage': 'Modéré', - 'uvHigh': 'Élevé', - 'uvVeryHigh': 'Très élevé', - 'uvExtreme': 'Extrême', - 'weatherMore': 'Prévisions météo pour 12 jours', - 'windgusts': 'Rafale', - 'north': 'Nord', - 'northeast': 'Nord-Est', - 'east': 'Est', - 'southeast': 'Sud-Est', - 'south': 'Sud', - 'southwest': 'Sud-Ouest', - 'west': 'Ouest', - 'northwest': 'Nord-Ouest', - 'project': 'Project on', - 'version': 'Application version', - 'precipitationProbability': 'Probabilité de précipitation', - 'apparentTemperatureMin': 'Température apparente minimale', - 'apparentTemperatureMax': 'Température apparente maximale', - 'amoledTheme': 'AMOLED-thème', - 'appearance': 'Apparence', - 'functions': 'Fonctions', - 'data': 'Données', - 'language': 'Langue', - 'timeRange': 'Fréquence (en heures)', - 'timeStart': 'Heure de début', - 'timeEnd': 'Heure de fin', - 'support': 'Support', - 'system': 'Système', - 'dark': 'Sombre', - 'light': 'Clair', - 'license': 'Licences', - 'widget': 'Widget', - 'widgetBackground': 'Fond du widget', - 'widgetText': 'Texte du widget', - 'dewpoint': 'Point de rosée', - 'shortwaveRadiation': 'Rayonnement à ondes courtes', - 'roundDegree': 'Arrondir les degrés', - 'settings_full': 'Paramètres', - 'cities': 'Villes', - 'searchMethod': 'Utilisez la recherche ou la géolocalisation', - 'done': 'Terminé', - 'groups': 'Nos groupes', - 'openMeteo': 'Données de Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Variables météorologiques horaires', - 'dailyVariables': 'Variables météorologiques quotidiennes', - 'largeElement': 'Affichage météo grand format', - 'map': 'Carte', - 'clearCacheStore': 'Effacer le cache', - 'deletedCacheStore': 'Effacement du cache', - 'deletedCacheStoreQuery': 'Êtes-vous sûr de vouloir effacer le cache?', - 'addWidget': 'Ajouter un widget', - 'hideMap': 'Cacher la carte', - }; + 'start': 'Démarrer', + 'description': + 'Application météo avec un pronostic à jour pour chaque heure, jour et semaine pour n\'importe quel endroit.', + 'name': 'Météo', + 'name2': 'Design pratique', + 'name3': 'Nous contacter', + 'description2': + 'Toute la navigation est conçue pour interagir avec l\'application de la manière la plus pratique et la plus rapide possible.', + 'description3': + 'Si vous rencontrez des problèmes, veuillez nous contacter par e-mail ou dans les avis de l\'application.', + 'next': 'Suivant', + 'search': 'Rechercher...', + 'loading': 'Chargement...', + 'searchCity': 'Trouver votre ville', + 'humidity': 'Humidité', + 'wind': 'Vent', + 'visibility': 'Visibilité', + 'feels': 'Ressenti', + 'evaporation': 'Evaporation', + 'precipitation': 'Précipitation', + 'direction': 'Direction', + 'pressure': 'Pression', + 'rain': 'Pluie', + 'clear_sky': 'Ciel dégagé', + 'cloudy': 'Nuageux', + 'overcast': 'Couvert', + 'fog': 'Brouillard', + 'drizzle': 'Bruine', + 'drizzling_rain': 'Brouillard givrant', + 'freezing_rain': 'Pluie verglaçante', + 'heavy_rains': 'Averses de pluie', + 'snow': 'Neige', + 'thunderstorm': 'Orage', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Par.', + 'no_inter': 'Pas de réseau', + 'on_inter': + 'Connectez-vous à internet pour obtenir des données météorologiques.', + 'location': 'Localisation', + 'no_location': + 'Activez le service de localisation pour obtenir les données météorologiques de l\'endroit actuel.', + 'theme': 'Thème', + 'low': 'Bas', + 'high': 'Haut', + 'normal': 'Normal', + 'lat': 'Latitude', + 'lon': 'Longitude', + 'create': 'Créer', + 'city': 'Ville', + 'district': 'District', + 'noWeatherCard': 'Ajouter une ville', + 'deletedCardWeather': 'Supprimer une ville', + 'deletedCardWeatherQuery': 'Êtes-vous sûr de vouloir supprimer la ville ?', + 'delete': 'Supprimer', + 'cancel': 'Annuler', + 'time': 'Heure locale', + 'validateName': 'Veuillez saisir le nom', + 'measurements': 'Système de mesures', + 'degrees': 'Degrés', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperial', + 'metric': 'Métrique', + 'validateValue': 'Veuillez saisir une valeur', + 'validateNumber': 'Veuillez saisir un numéro valide', + 'validate90': 'La valeur doit être comprise entre -90 et 90', + 'validate180': 'La valeur doit être comprise entre -180 et 180', + 'notifications': 'Notifications', + 'sunrise': 'Lever du soleil', + 'sunset': 'Coucher du soleil', + 'timeformat': 'Format horaire', + '12': '12 heures', + '24': '24 heures', + 'cloudcover': 'Сouverture nuageuse', + 'uvIndex': 'UV-indice', + 'materialColor': 'Couleurs Dynamiques', + 'uvLow': 'Faible', + 'uvAverage': 'Modéré', + 'uvHigh': 'Élevé', + 'uvVeryHigh': 'Très élevé', + 'uvExtreme': 'Extrême', + 'weatherMore': 'Prévisions météo pour 12 jours', + 'windgusts': 'Rafale', + 'north': 'Nord', + 'northeast': 'Nord-Est', + 'east': 'Est', + 'southeast': 'Sud-Est', + 'south': 'Sud', + 'southwest': 'Sud-Ouest', + 'west': 'Ouest', + 'northwest': 'Nord-Ouest', + 'project': 'Project on', + 'version': 'Application version', + 'precipitationProbability': 'Probabilité de précipitation', + 'apparentTemperatureMin': 'Température apparente minimale', + 'apparentTemperatureMax': 'Température apparente maximale', + 'amoledTheme': 'AMOLED-thème', + 'appearance': 'Apparence', + 'functions': 'Fonctions', + 'data': 'Données', + 'language': 'Langue', + 'timeRange': 'Fréquence (en heures)', + 'timeStart': 'Heure de début', + 'timeEnd': 'Heure de fin', + 'support': 'Support', + 'system': 'Système', + 'dark': 'Sombre', + 'light': 'Clair', + 'license': 'Licences', + 'widget': 'Widget', + 'widgetBackground': 'Fond du widget', + 'widgetText': 'Texte du widget', + 'dewpoint': 'Point de rosée', + 'shortwaveRadiation': 'Rayonnement à ondes courtes', + 'roundDegree': 'Arrondir les degrés', + 'settings_full': 'Paramètres', + 'cities': 'Villes', + 'searchMethod': 'Utilisez la recherche ou la géolocalisation', + 'done': 'Terminé', + 'groups': 'Nos groupes', + 'openMeteo': 'Données de Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Variables météorologiques horaires', + 'dailyVariables': 'Variables météorologiques quotidiennes', + 'largeElement': 'Affichage météo grand format', + 'map': 'Carte', + 'clearCacheStore': 'Effacer le cache', + 'deletedCacheStore': 'Effacement du cache', + 'deletedCacheStoreQuery': 'Êtes-vous sûr de vouloir effacer le cache?', + 'addWidget': 'Ajouter un widget', + 'hideMap': 'Cacher la carte', + }; } diff --git a/lib/translation/ga_ie.dart b/lib/translation/ga_ie.dart index 245ce1f..c9cd726 100644 --- a/lib/translation/ga_ie.dart +++ b/lib/translation/ga_ie.dart @@ -1,144 +1,144 @@ class GaIe { Map get messages => { - 'start': 'Tosaigh', - 'description': - 'Aip aimsire le réamhaisnéis láithreach do gach uair, lá, agus seachtain do gach áit.', - 'name': 'Aimsir', - 'name2': 'Dearadh Éasca', - 'name3': 'Déan teagmháil linn', - 'description2': - 'Tá gach treoir déanta chun éascaíocht agus gniomhachtú a dhéanamh leis an aip chomh héasca agus chomh tapa agus is féidir.', - 'description3': - 'Má tá fadhb ar bith agat, déan teagmháil linn trí Ríomhphost nó trí phlé an aip.', - 'next': 'Ar Aghaidh', - 'search': 'Cuardaigh...', - 'loading': 'Ag Lódáil...', - 'searchCity': 'Aimsigh do chathair', - 'humidity': 'Measarthaíocht Géimneachta', - 'wind': 'Gaoth', - 'visibility': 'Radharc', - 'feels': 'Brath', - 'evaporation': 'Buirtheasaiteacht', - 'precipitation': 'Tuirlingt', - 'direction': 'Treorach', - 'pressure': 'Brú', - 'rain': 'Fearthainn', - 'clear_sky': 'Spéir Ghlán', - 'cloudy': 'Scamallach', - 'overcast': 'Tromscamallach', - 'fog': 'Ceo', - 'drizzle': 'Táilliú', - 'drizzling_rain': 'Táilliú Ag Fuarthainn', - 'freezing_rain': 'Tuirlingt Fuara', - 'heavy_rains': 'Scáil fearthainne', - 'snow': 'Sneachta', - 'thunderstorm': 'Tornaí', - 'kph': 'km/u', - 'mph': 'mi/u', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'míle', - 'km': 'km', - 'inch': 'úinse', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Socrú', - 'no_inter': 'Gan Idirlíon', - 'on_inter': 'Cuir ar Idirlíon chun sonraí aeráide a fháil.', - 'location': 'Áit', - 'no_location': - 'Cumasaigh seirbhís na háite chun sonraí aimsire a fháil don áit reatha.', - 'theme': 'Téama', - 'low': 'Íseal', - 'high': 'Ard', - 'normal': 'Gnáth', - 'lat': 'Éilt', - 'lon': 'Long', - 'create': 'Cruthaigh', - 'city': 'Cathair', - 'district': 'Ceantar', - 'noWeatherCard': 'Cuir cathair leis', - 'deletedCardWeather': 'Áireamh cathair á scriosadh', - 'deletedCardWeatherQuery': - 'An bhfuil tú cinnte go bhfuil tú ag iarraidh an chathair a scriosadh?', - 'delete': 'Scrios', - 'cancel': 'Cealaigh', - 'time': 'Am sa chathair', - 'validateName': 'Cuir ainm isteach, le do thoil', - 'measurements': 'Córas Mheáchain', - 'degrees': 'Céim', - 'celsius': 'Céim Celsius', - 'fahrenheit': 'Céim Fahrenheit', - 'imperial': 'Impireach', - 'metric': 'Mheitric', - 'validateValue': 'Cuir luach isteach, le do thoil', - 'validateNumber': 'Cuir uimhir bailí isteach, le do thoil', - 'validate90': 'Caithfidh luach a bheith idir -90 agus 90', - 'validate180': 'Caithfidh luach a bheith idir -180 agus 180', - 'notifications': 'Fógraí', - 'sunrise': 'Éirí na Gréine', - 'sunset': 'Dul faoi na Gréine', - 'timeformat': 'Formáid Am', - '12': '12-uair', - '24': '24-uair', - 'cloudcover': 'Clúdach Scamall', - 'uvIndex': 'Indéacs UV', - 'materialColor': 'Dathanna Dinimiciúla', - 'uvLow': 'Íseal', - 'uvAverage': 'Meánach', - 'uvHigh': 'Ard', - 'uvVeryHigh': 'An-Árd', - 'uvExtreme': 'Éachtach', - 'weatherMore': 'Réamhaisnéis Aimsire 12 lá', - 'windgusts': 'Tonna Gaoithe', - 'north': 'Tuaisceart', - 'northeast': 'Tuaisceart-Thoir', - 'east': 'Thoir', - 'southeast': 'Deisceart-Thoir', - 'south': 'Deisceart', - 'southwest': 'Deisceart-Iarthar', - 'west': 'Iarthar', - 'northwest': 'Tuaisceart-Iarthar', - 'project': 'Tionscadal ar siúl', - 'version': 'Leagan Feidhmchláir', - 'precipitationProbability': 'Ionsaíocht Tuirlingt', - 'apparentTemperatureMin': 'Teocht Shamhlaithe Ísle', - 'apparentTemperatureMax': 'Teocht Shamhlaithe Uachtarach', - 'amoledTheme': 'Téama AMOLED', - 'appearance': 'Amharc', - 'functions': 'Feidhmeanna', - 'data': 'Sonraí', - 'language': 'Teanga', - 'timeRange': 'Raon Am (i n-uaireanta)', - 'timeStart': 'Tús Am', - 'timeEnd': 'Críoch Am', - 'support': 'Tacaíocht', - 'system': 'Córas', - 'dark': 'Téama Dorcha', - 'light': 'Téama Soiléir', - 'license': 'Ceadúnas', - 'widget': 'Rón', - 'widgetBackground': 'Cúlra an Rón', - 'widgetText': 'Téacs an Rón', - 'dewpoint': 'Poinnte Dé', - 'shortwaveRadiation': 'Fuinneamh Ghearrfhad', - 'W/m2': 'W/m2', - 'roundDegree': 'Timpeall na Gráid', - 'settings_full': 'Socruithe', - 'cities': 'Cathracha', - 'searchMethod': 'Úsáid ceangal nó geolocáid', - 'done': 'Críochnaithe', - 'groups': 'Ár ngrúpaí', - 'openMeteo': 'Sonraí ó Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Athrógacha aimsire uaireanta', - 'dailyVariables': 'Athrógacha aimsire laethúla', - 'largeElement': 'Taispeáint mór na haimsire', - 'map': 'Léarscáil', - 'clearCacheStore': 'Glan taisce', - 'deletedCacheStore': 'Ag glanadh an taisce', - 'deletedCacheStoreQuery': - 'An bhfuil tú cinnte gur mian leat an taisce a ghlanadh?', - 'addWidget': 'Cuir giuirléid leis', - 'hideMap': 'Folaigh léarscáil', - }; + 'start': 'Tosaigh', + 'description': + 'Aip aimsire le réamhaisnéis láithreach do gach uair, lá, agus seachtain do gach áit.', + 'name': 'Aimsir', + 'name2': 'Dearadh Éasca', + 'name3': 'Déan teagmháil linn', + 'description2': + 'Tá gach treoir déanta chun éascaíocht agus gniomhachtú a dhéanamh leis an aip chomh héasca agus chomh tapa agus is féidir.', + 'description3': + 'Má tá fadhb ar bith agat, déan teagmháil linn trí Ríomhphost nó trí phlé an aip.', + 'next': 'Ar Aghaidh', + 'search': 'Cuardaigh...', + 'loading': 'Ag Lódáil...', + 'searchCity': 'Aimsigh do chathair', + 'humidity': 'Measarthaíocht Géimneachta', + 'wind': 'Gaoth', + 'visibility': 'Radharc', + 'feels': 'Brath', + 'evaporation': 'Buirtheasaiteacht', + 'precipitation': 'Tuirlingt', + 'direction': 'Treorach', + 'pressure': 'Brú', + 'rain': 'Fearthainn', + 'clear_sky': 'Spéir Ghlán', + 'cloudy': 'Scamallach', + 'overcast': 'Tromscamallach', + 'fog': 'Ceo', + 'drizzle': 'Táilliú', + 'drizzling_rain': 'Táilliú Ag Fuarthainn', + 'freezing_rain': 'Tuirlingt Fuara', + 'heavy_rains': 'Scáil fearthainne', + 'snow': 'Sneachta', + 'thunderstorm': 'Tornaí', + 'kph': 'km/u', + 'mph': 'mi/u', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'míle', + 'km': 'km', + 'inch': 'úinse', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Socrú', + 'no_inter': 'Gan Idirlíon', + 'on_inter': 'Cuir ar Idirlíon chun sonraí aeráide a fháil.', + 'location': 'Áit', + 'no_location': + 'Cumasaigh seirbhís na háite chun sonraí aimsire a fháil don áit reatha.', + 'theme': 'Téama', + 'low': 'Íseal', + 'high': 'Ard', + 'normal': 'Gnáth', + 'lat': 'Éilt', + 'lon': 'Long', + 'create': 'Cruthaigh', + 'city': 'Cathair', + 'district': 'Ceantar', + 'noWeatherCard': 'Cuir cathair leis', + 'deletedCardWeather': 'Áireamh cathair á scriosadh', + 'deletedCardWeatherQuery': + 'An bhfuil tú cinnte go bhfuil tú ag iarraidh an chathair a scriosadh?', + 'delete': 'Scrios', + 'cancel': 'Cealaigh', + 'time': 'Am sa chathair', + 'validateName': 'Cuir ainm isteach, le do thoil', + 'measurements': 'Córas Mheáchain', + 'degrees': 'Céim', + 'celsius': 'Céim Celsius', + 'fahrenheit': 'Céim Fahrenheit', + 'imperial': 'Impireach', + 'metric': 'Mheitric', + 'validateValue': 'Cuir luach isteach, le do thoil', + 'validateNumber': 'Cuir uimhir bailí isteach, le do thoil', + 'validate90': 'Caithfidh luach a bheith idir -90 agus 90', + 'validate180': 'Caithfidh luach a bheith idir -180 agus 180', + 'notifications': 'Fógraí', + 'sunrise': 'Éirí na Gréine', + 'sunset': 'Dul faoi na Gréine', + 'timeformat': 'Formáid Am', + '12': '12-uair', + '24': '24-uair', + 'cloudcover': 'Clúdach Scamall', + 'uvIndex': 'Indéacs UV', + 'materialColor': 'Dathanna Dinimiciúla', + 'uvLow': 'Íseal', + 'uvAverage': 'Meánach', + 'uvHigh': 'Ard', + 'uvVeryHigh': 'An-Árd', + 'uvExtreme': 'Éachtach', + 'weatherMore': 'Réamhaisnéis Aimsire 12 lá', + 'windgusts': 'Tonna Gaoithe', + 'north': 'Tuaisceart', + 'northeast': 'Tuaisceart-Thoir', + 'east': 'Thoir', + 'southeast': 'Deisceart-Thoir', + 'south': 'Deisceart', + 'southwest': 'Deisceart-Iarthar', + 'west': 'Iarthar', + 'northwest': 'Tuaisceart-Iarthar', + 'project': 'Tionscadal ar siúl', + 'version': 'Leagan Feidhmchláir', + 'precipitationProbability': 'Ionsaíocht Tuirlingt', + 'apparentTemperatureMin': 'Teocht Shamhlaithe Ísle', + 'apparentTemperatureMax': 'Teocht Shamhlaithe Uachtarach', + 'amoledTheme': 'Téama AMOLED', + 'appearance': 'Amharc', + 'functions': 'Feidhmeanna', + 'data': 'Sonraí', + 'language': 'Teanga', + 'timeRange': 'Raon Am (i n-uaireanta)', + 'timeStart': 'Tús Am', + 'timeEnd': 'Críoch Am', + 'support': 'Tacaíocht', + 'system': 'Córas', + 'dark': 'Téama Dorcha', + 'light': 'Téama Soiléir', + 'license': 'Ceadúnas', + 'widget': 'Rón', + 'widgetBackground': 'Cúlra an Rón', + 'widgetText': 'Téacs an Rón', + 'dewpoint': 'Poinnte Dé', + 'shortwaveRadiation': 'Fuinneamh Ghearrfhad', + 'W/m2': 'W/m2', + 'roundDegree': 'Timpeall na Gráid', + 'settings_full': 'Socruithe', + 'cities': 'Cathracha', + 'searchMethod': 'Úsáid ceangal nó geolocáid', + 'done': 'Críochnaithe', + 'groups': 'Ár ngrúpaí', + 'openMeteo': 'Sonraí ó Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Athrógacha aimsire uaireanta', + 'dailyVariables': 'Athrógacha aimsire laethúla', + 'largeElement': 'Taispeáint mór na haimsire', + 'map': 'Léarscáil', + 'clearCacheStore': 'Glan taisce', + 'deletedCacheStore': 'Ag glanadh an taisce', + 'deletedCacheStoreQuery': + 'An bhfuil tú cinnte gur mian leat an taisce a ghlanadh?', + 'addWidget': 'Cuir giuirléid leis', + 'hideMap': 'Folaigh léarscáil', + }; } diff --git a/lib/translation/hi_in.dart b/lib/translation/hi_in.dart index 1e6ea7a..10986d5 100644 --- a/lib/translation/hi_in.dart +++ b/lib/translation/hi_in.dart @@ -1,140 +1,140 @@ class HiIn { Map get messages => { - 'start': 'शुरू करें', - 'description': - 'प्रति घंटे, दिन और सप्ताह के लिए किसी भी स्थान के लिए आधुनिक पूर्वानुमान के साथ मौसम एप्लिकेशन।', - 'name': 'मौसम', - 'name2': 'आसान डिजाइन', - 'name3': 'हमे संपर्क करें', - 'description2': - 'सभी नेविगेशन को इस प्रकार तैयार किया गया है ताकि आप एप्लिकेशन के साथ सर्वोत्तम रूप से और तेजी से संवाद कर सकें।', - 'description3': - 'यदि आपको कोई समस्या आती है, तो कृपया हमसे ईमेल या एप्लिकेशन समीक्षा के माध्यम से संपर्क करें।', - 'next': 'आगे', - 'search': 'खोजें...', - 'loading': 'लोड हो रहा है...', - 'searchCity': 'अपना शहर खोजें', - 'humidity': 'नमी', - 'wind': 'हवा', - 'visibility': 'दृश्यता', - 'feels': 'अनुभव', - 'evaporation': 'वाष्पीकरण', - 'precipitation': 'वर्षा', - 'direction': 'दिशा', - 'pressure': 'दबाव', - 'rain': 'बारिश', - 'clear_sky': 'साफ आकाश', - 'cloudy': 'मेघपाली', - 'overcast': 'बादलबस्ती', - 'fog': 'कोहरा', - 'drizzle': 'बूंदाबांदी', - 'drizzling_rain': 'हिमवृष्टि', - 'freezing_rain': 'हिमस्खलन', - 'heavy_rains': 'बारिश की बौछारें', - 'snow': 'बर्फबारी', - 'thunderstorm': 'बिजली चमक', - 'kph': 'किमी/घंटा', - 'mph': 'मील/घंटा', - 'm/s': 'मी/से', - 'mmHg': 'मिमी एचजी', - 'mi': 'मील', - 'km': 'किमी', - 'inch': 'इंच', - 'mm': 'मिलीमीटर', - 'hPa': 'हेक्टोपास्कल', - 'settings': 'सेटिंग्स', - 'no_inter': 'कोई इंटरनेट नहीं है', - 'on_inter': 'मौसमी आंकड़े प्राप्त करने के लिए इंटरनेट को चालू करें।', - 'location': 'स्थान', - 'no_location': 'वर्तमान स्थान के लिए मौसम डेटा प्राप्त करने के', - 'theme': 'थीम', - 'low': 'निम्न', - 'high': 'उच्च', - 'normal': 'सामान्य', - 'lat': 'अक्षांश', - 'lon': 'देशांतर', - 'create': 'बनाएँ', - 'city': 'शहर', - 'district': 'जिला', - 'noWeatherCard': 'शहर जोड़ें', - 'deletedCardWeather': 'शहर हटाना', - 'deletedCardWeatherQuery': 'क्या आप वाकई शहर को हटाना चाहते हैं?', - 'delete': 'हटाएँ', - 'cancel': 'रद्द करें', - 'time': 'शहर में समय', - 'validateName': 'कृपया नाम दर्ज करें', - 'measurements': 'मापन प्रणाली', - 'degrees': 'डिग्री', - 'celsius': 'सेल्सियस', - 'fahrenheit': 'फ़ारेनहाइट', - 'imperial': 'इम्पीरियल', - 'metric': 'मीट्रिक', - 'validateValue': 'कृपया मान दर्ज करें', - 'validateNumber': 'कृपया एक मान्य संख्या दर्ज करें', - 'validate90': 'मान -९० और ९० के बीच होना चाहिए', - 'validate180': 'मान -१८० और १८० के बीच होना चाहिए', - 'notifications': 'सूचनाएं', - 'sunrise': 'सूर्योदय', - 'sunset': 'सूर्यास्त', - 'timeformat': 'समय प्रारूप', - '12': '१२ घंटा', - '24': '२४ घंटा', - 'cloudcover': 'बादलों का कवर', - 'uvIndex': 'यूवी-सूचकांक', - 'materialColor': 'गतिशील रंग', - 'uvLow': 'कम', - 'uvAverage': 'माध्यम', - 'uvHigh': 'उच्च', - 'uvVeryHigh': 'बहुत उच्च', - 'uvExtreme': 'अत्यधिक', - 'weatherMore': '१२ - दिवसीय मौसम पूर', - 'windgusts': 'गुस्त', - 'north': 'उत्तर', - 'northeast': 'उत्तर-पूर्व', - 'east': 'पूर्व', - 'southeast': 'दक्षिण-पूर्व', - 'south': 'दक्षिण', - 'southwest': 'दक्षिण-पश्चिम', - 'west': 'पश्चिम', - 'northwest': 'उत्तर-पश्चिम', - 'project': 'परियोजना पर', - 'version': 'एप्लिकेशन संस्करण', - 'precipitationProbability': 'वर्षा संभावना', - 'apparentTemperatureMin': 'न्यूनतम प्रतीत तापमान', - 'apparentTemperatureMax': 'अधिकतम प्रतीत तापमान', - 'amoledTheme': 'AMOLED थीम', - 'appearance': 'दिखावट', - 'functions': 'कार्य', - 'data': 'डेटा', - 'language': 'भाषा', - 'timeRange': 'अवधि (घंटों में)', - 'timeStart': 'प्रारंभ समय', - 'timeEnd': 'समाप्ति समय', - 'support': 'समर्थन', - 'system': 'सिस्टम', - 'dark': 'डार्क', - 'light': 'लाइट', - 'license': 'लाइसेंस', - 'widget': 'विजेट', - 'widgetBackground': 'विजेट कि पृष्ठभूमि', - 'widgetText': 'विजेट पाठ', - 'dewpoint': 'बर्फ़ के बिंदु', - 'shortwaveRadiation': 'शॉर्टवेव विकिरण', - 'roundDegree': 'डिग्री गोली मारें', - 'settings_full': 'सेटिंग्स', - 'cities': 'शहर', - 'searchMethod': 'खोज या स्थानगति का उपयोग करें', - 'done': 'किया', - 'groups': 'हमारे समूह', - 'openMeteo': 'Open-Meteo से डेटा (CC-BY 4.0)', - 'hourlyVariables': 'घंटेवार मौसम चर', - 'dailyVariables': 'दैनिक मौसम चर', - 'largeElement': 'बड़े मौसम का प्रदर्शन', - 'map': 'मानचित्र', - 'clearCacheStore': 'कैश साफ़ करें', - 'deletedCacheStore': 'कैश साफ़ हो रहा है', - 'deletedCacheStoreQuery': 'क्या आप वाकई कैश साफ़ करना चाहते हैं?', - 'addWidget': 'विजेट जोड़ें', - 'hideMap': 'मानचित्र छिपाएँ', - }; + 'start': 'शुरू करें', + 'description': + 'प्रति घंटे, दिन और सप्ताह के लिए किसी भी स्थान के लिए आधुनिक पूर्वानुमान के साथ मौसम एप्लिकेशन।', + 'name': 'मौसम', + 'name2': 'आसान डिजाइन', + 'name3': 'हमे संपर्क करें', + 'description2': + 'सभी नेविगेशन को इस प्रकार तैयार किया गया है ताकि आप एप्लिकेशन के साथ सर्वोत्तम रूप से और तेजी से संवाद कर सकें।', + 'description3': + 'यदि आपको कोई समस्या आती है, तो कृपया हमसे ईमेल या एप्लिकेशन समीक्षा के माध्यम से संपर्क करें।', + 'next': 'आगे', + 'search': 'खोजें...', + 'loading': 'लोड हो रहा है...', + 'searchCity': 'अपना शहर खोजें', + 'humidity': 'नमी', + 'wind': 'हवा', + 'visibility': 'दृश्यता', + 'feels': 'अनुभव', + 'evaporation': 'वाष्पीकरण', + 'precipitation': 'वर्षा', + 'direction': 'दिशा', + 'pressure': 'दबाव', + 'rain': 'बारिश', + 'clear_sky': 'साफ आकाश', + 'cloudy': 'मेघपाली', + 'overcast': 'बादलबस्ती', + 'fog': 'कोहरा', + 'drizzle': 'बूंदाबांदी', + 'drizzling_rain': 'हिमवृष्टि', + 'freezing_rain': 'हिमस्खलन', + 'heavy_rains': 'बारिश की बौछारें', + 'snow': 'बर्फबारी', + 'thunderstorm': 'बिजली चमक', + 'kph': 'किमी/घंटा', + 'mph': 'मील/घंटा', + 'm/s': 'मी/से', + 'mmHg': 'मिमी एचजी', + 'mi': 'मील', + 'km': 'किमी', + 'inch': 'इंच', + 'mm': 'मिलीमीटर', + 'hPa': 'हेक्टोपास्कल', + 'settings': 'सेटिंग्स', + 'no_inter': 'कोई इंटरनेट नहीं है', + 'on_inter': 'मौसमी आंकड़े प्राप्त करने के लिए इंटरनेट को चालू करें।', + 'location': 'स्थान', + 'no_location': 'वर्तमान स्थान के लिए मौसम डेटा प्राप्त करने के', + 'theme': 'थीम', + 'low': 'निम्न', + 'high': 'उच्च', + 'normal': 'सामान्य', + 'lat': 'अक्षांश', + 'lon': 'देशांतर', + 'create': 'बनाएँ', + 'city': 'शहर', + 'district': 'जिला', + 'noWeatherCard': 'शहर जोड़ें', + 'deletedCardWeather': 'शहर हटाना', + 'deletedCardWeatherQuery': 'क्या आप वाकई शहर को हटाना चाहते हैं?', + 'delete': 'हटाएँ', + 'cancel': 'रद्द करें', + 'time': 'शहर में समय', + 'validateName': 'कृपया नाम दर्ज करें', + 'measurements': 'मापन प्रणाली', + 'degrees': 'डिग्री', + 'celsius': 'सेल्सियस', + 'fahrenheit': 'फ़ारेनहाइट', + 'imperial': 'इम्पीरियल', + 'metric': 'मीट्रिक', + 'validateValue': 'कृपया मान दर्ज करें', + 'validateNumber': 'कृपया एक मान्य संख्या दर्ज करें', + 'validate90': 'मान -९० और ९० के बीच होना चाहिए', + 'validate180': 'मान -१८० और १८० के बीच होना चाहिए', + 'notifications': 'सूचनाएं', + 'sunrise': 'सूर्योदय', + 'sunset': 'सूर्यास्त', + 'timeformat': 'समय प्रारूप', + '12': '१२ घंटा', + '24': '२४ घंटा', + 'cloudcover': 'बादलों का कवर', + 'uvIndex': 'यूवी-सूचकांक', + 'materialColor': 'गतिशील रंग', + 'uvLow': 'कम', + 'uvAverage': 'माध्यम', + 'uvHigh': 'उच्च', + 'uvVeryHigh': 'बहुत उच्च', + 'uvExtreme': 'अत्यधिक', + 'weatherMore': '१२ - दिवसीय मौसम पूर', + 'windgusts': 'गुस्त', + 'north': 'उत्तर', + 'northeast': 'उत्तर-पूर्व', + 'east': 'पूर्व', + 'southeast': 'दक्षिण-पूर्व', + 'south': 'दक्षिण', + 'southwest': 'दक्षिण-पश्चिम', + 'west': 'पश्चिम', + 'northwest': 'उत्तर-पश्चिम', + 'project': 'परियोजना पर', + 'version': 'एप्लिकेशन संस्करण', + 'precipitationProbability': 'वर्षा संभावना', + 'apparentTemperatureMin': 'न्यूनतम प्रतीत तापमान', + 'apparentTemperatureMax': 'अधिकतम प्रतीत तापमान', + 'amoledTheme': 'AMOLED थीम', + 'appearance': 'दिखावट', + 'functions': 'कार्य', + 'data': 'डेटा', + 'language': 'भाषा', + 'timeRange': 'अवधि (घंटों में)', + 'timeStart': 'प्रारंभ समय', + 'timeEnd': 'समाप्ति समय', + 'support': 'समर्थन', + 'system': 'सिस्टम', + 'dark': 'डार्क', + 'light': 'लाइट', + 'license': 'लाइसेंस', + 'widget': 'विजेट', + 'widgetBackground': 'विजेट कि पृष्ठभूमि', + 'widgetText': 'विजेट पाठ', + 'dewpoint': 'बर्फ़ के बिंदु', + 'shortwaveRadiation': 'शॉर्टवेव विकिरण', + 'roundDegree': 'डिग्री गोली मारें', + 'settings_full': 'सेटिंग्स', + 'cities': 'शहर', + 'searchMethod': 'खोज या स्थानगति का उपयोग करें', + 'done': 'किया', + 'groups': 'हमारे समूह', + 'openMeteo': 'Open-Meteo से डेटा (CC-BY 4.0)', + 'hourlyVariables': 'घंटेवार मौसम चर', + 'dailyVariables': 'दैनिक मौसम चर', + 'largeElement': 'बड़े मौसम का प्रदर्शन', + 'map': 'मानचित्र', + 'clearCacheStore': 'कैश साफ़ करें', + 'deletedCacheStore': 'कैश साफ़ हो रहा है', + 'deletedCacheStoreQuery': 'क्या आप वाकई कैश साफ़ करना चाहते हैं?', + 'addWidget': 'विजेट जोड़ें', + 'hideMap': 'मानचित्र छिपाएँ', + }; } diff --git a/lib/translation/hu_hu.dart b/lib/translation/hu_hu.dart index e5b682c..43f983a 100644 --- a/lib/translation/hu_hu.dart +++ b/lib/translation/hu_hu.dart @@ -1,143 +1,142 @@ class HuHu { Map get messages => { - 'start': 'Kezdés', - 'description': - 'Időjárás alkalmazás a friss óránkénti, napi és heti előrejelzéssel bármely helyszínre.', - 'name': 'Időjárás', - 'name2': 'Kényelmes tervezés', - 'name3': 'Kapcsolatfelvétel velünk', - 'description2': - 'Az összes navigáció úgy van kialakítva, hogy maximálisan kényelmes és gyors legyen az alkalmazással való interakció.', - 'description3': - 'Ha bármilyen problémája adódik, kérjük, lépjen kapcsolatba velünk e-mailben vagy az alkalmazás értékeléseiben.', - 'next': 'Tovább', - 'search': 'Keresés...', - 'loading': 'Betöltés...', - 'searchCity': 'Keresse meg a városát', - 'humidity': 'Páratartalom', - 'wind': 'Szél', - 'visibility': 'Láthatóság', - 'feels': 'Hőérzet', - 'evaporation': 'Párolgás', - 'precipitation': 'Csapadék', - 'direction': 'Irány', - 'pressure': 'Nyomás', - 'rain': 'Eső', - 'clear_sky': 'Tiszta ég', - 'cloudy': 'Felhős', - 'overcast': 'Borult', - 'fog': 'Köd', - 'drizzle': 'Szitálás', - 'drizzling_rain': 'Fagyos szitálás', - 'freezing_rain': 'Fagyos eső', - 'heavy_rains': 'Zivataros záporok', - 'snow': 'Hó', - 'thunderstorm': 'Zivatar', - 'kph': 'km/óra', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mérföld', - 'km': 'km', - 'inch': 'hüvelyk', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Beállítások', - 'no_inter': 'Nincs internet', - 'on_inter': - 'Kapcsolja be az internetet az időjárási adatok lekéréséhez.', - 'location': 'Hely', - 'no_location': - 'Engedélyezze a helyszolgáltatást az aktuális hely időjárásadatainak megszerzéséhez.', - 'theme': 'Téma', - 'low': 'Alacsony', - 'high': 'Magas', - 'normal': 'Normál', - 'lat': 'Szélesség', - 'lon': 'Hosszúság', - 'create': 'Létrehozás', - 'city': 'Város', - 'district': 'Kerület', - 'noWeatherCard': 'Adjon hozzá egy várost', - 'deletedCardWeather': 'Város törlése', - 'deletedCardWeatherQuery': 'Biztosan törölni szeretné a várost?', - 'delete': 'Törlés', - 'cancel': 'Mégse', - 'time': 'Idő a városban', - 'validateName': 'Kérjük, adja meg a nevet', - 'measurements': 'Mérési rendszer', - 'degrees': 'Fok', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Angol mértékegység', - 'metric': 'Metrikus mértékegység', - 'validateValue': 'Kérjük, adjon meg egy értéket', - 'validateNumber': 'Kérjük, adjon meg érvényes számot', - 'validate90': 'Az érték -90 és 90 közötti kell legyen', - 'validate180': 'Az érték -180 és 180 közötti kell legyen', - 'notifications': 'Értesítések', - 'sunrise': 'Napkelte', - 'sunset': 'Napnyugta', - 'timeformat': 'Időformátum', - '12': '12 órás', - '24': '24 órás', - 'cloudcover': 'Felhőzet', - 'uvIndex': 'UV-index', - 'materialColor': 'Dinamikus színek', - 'uvLow': 'Alacsony', - 'uvAverage': 'Mérsékelt', - 'uvHigh': 'Magas', - 'uvVeryHigh': 'Nagyon magas', - 'uvExtreme': 'Extrém', - 'weatherMore': '12 napos időjárás előrejelzés', - 'windgusts': 'Szélrohamok', - 'north': 'Észak', - 'northeast': 'Északkelet', - 'east': 'Kelet', - 'southeast': 'Délkelet', - 'south': 'Dél', - 'southwest': 'Délkelet', - 'west': 'Nyugat', - 'northwest': 'Északnyugat', - 'project': 'Projekt', - 'version': 'Alkalmazás verzió', - 'precipitationProbability': 'Csapadék valószínűsége', - 'apparentTemperatureMin': 'Minimális látszólagos hőmérséklet', - 'apparentTemperatureMax': 'Maximális látszólagos hőmérséklet', - 'amoledTheme': 'AMOLED téma', - 'appearance': 'Megjelenés', - 'functions': 'Funkciók', - 'data': 'Adatok', - 'language': 'Nyelv', - 'timeRange': 'Gyakoriság (órákban)', - 'timeStart': 'Kezdési idő', - 'timeEnd': 'Befejezési idő', - 'support': 'Támogatás', - 'system': 'Rendszer', - 'dark': 'Sötét', - 'light': 'Világos', - 'license': 'Licenc', - 'widget': 'Widget', - 'widgetBackground': 'Widget háttér', - 'widgetText': 'Widget szöveg', - 'dewpoint': 'Harmatpont', - 'shortwaveRadiation': 'Rövidhullámú sugárzás', - 'W/m2': 'W/m2', - 'roundDegree': 'Fokok Kerekítése', - 'settings_full': 'Beállítások', - 'cities': 'Városok', - 'searchMethod': 'Használja a keresést vagy a földrajzi helyet', - 'done': 'Kész', - 'groups': 'Csoportjaink', - 'openMeteo': 'Adatok az Open-Meteo-tól (CC-BY 4.0)', - 'hourlyVariables': 'Óránkénti időjárási változók', - 'dailyVariables': 'Napi időjárási változók', - 'largeElement': 'Nagy méretű időjárás megjelenítése', - 'map': 'Térkép', - 'clearCacheStore': 'Gyorsítótár törlése', - 'deletedCacheStore': 'Gyorsítótár törlése folyamatban', - 'deletedCacheStoreQuery': 'Biztosan törölni szeretné a gyorsítótárat?', - 'addWidget': 'Widget hozzáadása', - 'hideMap': 'Térkép elrejtése', - }; + 'start': 'Kezdés', + 'description': + 'Időjárás alkalmazás a friss óránkénti, napi és heti előrejelzéssel bármely helyszínre.', + 'name': 'Időjárás', + 'name2': 'Kényelmes tervezés', + 'name3': 'Kapcsolatfelvétel velünk', + 'description2': + 'Az összes navigáció úgy van kialakítva, hogy maximálisan kényelmes és gyors legyen az alkalmazással való interakció.', + 'description3': + 'Ha bármilyen problémája adódik, kérjük, lépjen kapcsolatba velünk e-mailben vagy az alkalmazás értékeléseiben.', + 'next': 'Tovább', + 'search': 'Keresés...', + 'loading': 'Betöltés...', + 'searchCity': 'Keresse meg a városát', + 'humidity': 'Páratartalom', + 'wind': 'Szél', + 'visibility': 'Láthatóság', + 'feels': 'Hőérzet', + 'evaporation': 'Párolgás', + 'precipitation': 'Csapadék', + 'direction': 'Irány', + 'pressure': 'Nyomás', + 'rain': 'Eső', + 'clear_sky': 'Tiszta ég', + 'cloudy': 'Felhős', + 'overcast': 'Borult', + 'fog': 'Köd', + 'drizzle': 'Szitálás', + 'drizzling_rain': 'Fagyos szitálás', + 'freezing_rain': 'Fagyos eső', + 'heavy_rains': 'Zivataros záporok', + 'snow': 'Hó', + 'thunderstorm': 'Zivatar', + 'kph': 'km/óra', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mérföld', + 'km': 'km', + 'inch': 'hüvelyk', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Beállítások', + 'no_inter': 'Nincs internet', + 'on_inter': 'Kapcsolja be az internetet az időjárási adatok lekéréséhez.', + 'location': 'Hely', + 'no_location': + 'Engedélyezze a helyszolgáltatást az aktuális hely időjárásadatainak megszerzéséhez.', + 'theme': 'Téma', + 'low': 'Alacsony', + 'high': 'Magas', + 'normal': 'Normál', + 'lat': 'Szélesség', + 'lon': 'Hosszúság', + 'create': 'Létrehozás', + 'city': 'Város', + 'district': 'Kerület', + 'noWeatherCard': 'Adjon hozzá egy várost', + 'deletedCardWeather': 'Város törlése', + 'deletedCardWeatherQuery': 'Biztosan törölni szeretné a várost?', + 'delete': 'Törlés', + 'cancel': 'Mégse', + 'time': 'Idő a városban', + 'validateName': 'Kérjük, adja meg a nevet', + 'measurements': 'Mérési rendszer', + 'degrees': 'Fok', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Angol mértékegység', + 'metric': 'Metrikus mértékegység', + 'validateValue': 'Kérjük, adjon meg egy értéket', + 'validateNumber': 'Kérjük, adjon meg érvényes számot', + 'validate90': 'Az érték -90 és 90 közötti kell legyen', + 'validate180': 'Az érték -180 és 180 közötti kell legyen', + 'notifications': 'Értesítések', + 'sunrise': 'Napkelte', + 'sunset': 'Napnyugta', + 'timeformat': 'Időformátum', + '12': '12 órás', + '24': '24 órás', + 'cloudcover': 'Felhőzet', + 'uvIndex': 'UV-index', + 'materialColor': 'Dinamikus színek', + 'uvLow': 'Alacsony', + 'uvAverage': 'Mérsékelt', + 'uvHigh': 'Magas', + 'uvVeryHigh': 'Nagyon magas', + 'uvExtreme': 'Extrém', + 'weatherMore': '12 napos időjárás előrejelzés', + 'windgusts': 'Szélrohamok', + 'north': 'Észak', + 'northeast': 'Északkelet', + 'east': 'Kelet', + 'southeast': 'Délkelet', + 'south': 'Dél', + 'southwest': 'Délkelet', + 'west': 'Nyugat', + 'northwest': 'Északnyugat', + 'project': 'Projekt', + 'version': 'Alkalmazás verzió', + 'precipitationProbability': 'Csapadék valószínűsége', + 'apparentTemperatureMin': 'Minimális látszólagos hőmérséklet', + 'apparentTemperatureMax': 'Maximális látszólagos hőmérséklet', + 'amoledTheme': 'AMOLED téma', + 'appearance': 'Megjelenés', + 'functions': 'Funkciók', + 'data': 'Adatok', + 'language': 'Nyelv', + 'timeRange': 'Gyakoriság (órákban)', + 'timeStart': 'Kezdési idő', + 'timeEnd': 'Befejezési idő', + 'support': 'Támogatás', + 'system': 'Rendszer', + 'dark': 'Sötét', + 'light': 'Világos', + 'license': 'Licenc', + 'widget': 'Widget', + 'widgetBackground': 'Widget háttér', + 'widgetText': 'Widget szöveg', + 'dewpoint': 'Harmatpont', + 'shortwaveRadiation': 'Rövidhullámú sugárzás', + 'W/m2': 'W/m2', + 'roundDegree': 'Fokok Kerekítése', + 'settings_full': 'Beállítások', + 'cities': 'Városok', + 'searchMethod': 'Használja a keresést vagy a földrajzi helyet', + 'done': 'Kész', + 'groups': 'Csoportjaink', + 'openMeteo': 'Adatok az Open-Meteo-tól (CC-BY 4.0)', + 'hourlyVariables': 'Óránkénti időjárási változók', + 'dailyVariables': 'Napi időjárási változók', + 'largeElement': 'Nagy méretű időjárás megjelenítése', + 'map': 'Térkép', + 'clearCacheStore': 'Gyorsítótár törlése', + 'deletedCacheStore': 'Gyorsítótár törlése folyamatban', + 'deletedCacheStoreQuery': 'Biztosan törölni szeretné a gyorsítótárat?', + 'addWidget': 'Widget hozzáadása', + 'hideMap': 'Térkép elrejtése', + }; } diff --git a/lib/translation/it_it.dart b/lib/translation/it_it.dart index 78af46f..63bf7d0 100644 --- a/lib/translation/it_it.dart +++ b/lib/translation/it_it.dart @@ -1,143 +1,141 @@ class ItIt { Map get messages => { - 'start': 'Clicca per iniziare', - 'description': - 'Applicazione meteo con una previsione aggiornata per ogni ora, giorno e settimana per qualsiasi luogo.', - 'name': 'Meteo', - 'name2': 'Design comodo', - 'name3': 'Contattaci', - 'description2': - 'Tutta la navigazione è progettata per interagire con l\'applicazione nel modo più comodo e veloce possibile.', - 'description3': - 'Se incontri problemi, contattaci via email o nelle recensioni dell\'applicazione.', - 'next': 'Avanti', - 'search': 'Cerca...', - 'loading': 'Caricamento...', - 'searchCity': 'Trova la tua città', - 'humidity': 'Umidità', - 'wind': 'Vento', - 'visibility': 'Visibilità', - 'feels': 'Percepiti', - 'evaporation': 'Evaporazione', - 'precipitation': 'Precipitazione', - 'direction': 'Direzione', - 'pressure': 'Pressione', - 'rain': 'Pioggia', - 'clear_sky': 'Sereno', - 'cloudy': 'Nuvoloso', - 'overcast': 'Coperto', - 'fog': 'Nebbia', - 'drizzle': 'Pioggerella', - 'drizzling_rain': 'Pioggerella Gelata', - 'freezing_rain': 'Pioggia Gelata', - 'heavy_rains': 'Acquazzone', - 'snow': 'Neve', - 'thunderstorm': 'Temporale', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Imposta.', - 'no_inter': 'Non c\'è connessione Internet', - 'on_inter': - 'Attiva la connessione Internet per avere dati meteorologici.', - 'location': 'Posizione', - 'no_location': - 'Abilita il servizio di localizzazione per ottenere i dati meteo per la posizione corrente.', - 'theme': 'Tema', - 'low': 'Basso', - 'high': 'Alto', - 'normal': 'Normale', - 'lat': 'Latitudine', - 'lon': 'Longitudine', - 'create': 'Creare', - 'city': 'Città', - 'district': 'Regione', - 'noWeatherCard': 'Aggiungi una città', - 'deletedCardWeather': 'Rimozione della città', - 'deletedCardWeatherQuery': - 'Sei sicuro di voler rimuovere questa città?', - 'delete': 'Elimina', - 'cancel': 'Annulla', - 'time': 'Orario locale', - 'validateName': 'Si prega di inserire il nome', - 'measurements': 'Sistema di misure', - 'degrees': 'Gradi', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperiale', - 'metric': 'Metrico', - 'validateValue': 'Si prega di inserire il valore', - 'validateNumber': 'Si prega di inserire il numero', - 'validate90': 'Il valore deve essere compreso tra -90 e 90', - 'validate180': 'Il valore deve essere compreso tra -180 e 180', - 'notifications': 'Notifiche', - 'sunrise': 'Alba', - 'sunset': 'Tramonto', - 'timeformat': 'Formato ora', - '12': '12 ore', - '24': '24 ore', - 'cloudcover': 'Copertura nuvolosa', - 'uvIndex': 'Indice UV', - 'materialColor': 'Colori Dinamici', - 'uvLow': 'Basso', - 'uvAverage': 'Moderato', - 'uvHigh': 'Alto', - 'uvVeryHigh': 'Molto alto', - 'uvExtreme': 'Estremo', - 'weatherMore': 'Previsioni del tempo per 12 giorni', - 'windgusts': 'Raffica', - 'north': 'Nord', - 'northeast': 'Nord-est', - 'east': 'Est', - 'southeast': 'Sud-est', - 'south': 'Sud', - 'southwest': 'Sud-ovest', - 'west': 'Ovest', - 'northwest': 'Nord-ovest', - 'project': 'Progetto su', - 'version': 'Versione dell\'applicazione', - 'precipitationProbability': 'Probabilità di precipitazione', - 'apparentTemperatureMin': 'Temperatura minima percepita', - 'apparentTemperatureMax': 'Temperatura massima percepita', - 'amoledTheme': 'AMOLED-tema', - 'appearance': 'Aspetto', - 'functions': 'Funzioni', - 'data': 'Dati', - 'language': 'Lingua', - 'timeRange': 'Frequenza (in ore)', - 'timeStart': 'Ora di inizio', - 'timeEnd': 'Ora di fine', - 'support': 'Supporto', - 'system': 'Sistema', - 'dark': 'Scuro', - 'light': 'Chiaro', - 'license': 'Licenze', - 'widget': 'Widget', - 'widgetBackground': 'Sfondo del widget', - 'widgetText': 'Testo del widget', - 'dewpoint': 'Punto di rugiada', - 'shortwaveRadiation': 'Radiazione a onde corte', - 'roundDegree': 'Arrotonda i gradi', - 'settings_full': 'Impostazioni', - 'cities': 'Città', - 'searchMethod': 'Utilizza la ricerca o la geolocalizzazione', - 'done': 'Fatto', - 'groups': 'I nostri gruppi', - 'openMeteo': 'Dati da Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Variabili meteorologiche orarie', - 'dailyVariables': 'Variabili meteorologiche giornaliere', - 'largeElement': 'Visualizzazione grande elemento meteo', - 'map': 'Mappa', - 'clearCacheStore': 'Cancella cache', - 'deletedCacheStore': 'Cancellazione della cache', - 'deletedCacheStoreQuery': 'Sei sicuro di voler cancellare la cache?', - 'addWidget': 'Aggiungi widget', - 'hideMap': 'Nascondi mappa', - }; + 'start': 'Clicca per iniziare', + 'description': + 'Applicazione meteo con una previsione aggiornata per ogni ora, giorno e settimana per qualsiasi luogo.', + 'name': 'Meteo', + 'name2': 'Design comodo', + 'name3': 'Contattaci', + 'description2': + 'Tutta la navigazione è progettata per interagire con l\'applicazione nel modo più comodo e veloce possibile.', + 'description3': + 'Se incontri problemi, contattaci via email o nelle recensioni dell\'applicazione.', + 'next': 'Avanti', + 'search': 'Cerca...', + 'loading': 'Caricamento...', + 'searchCity': 'Trova la tua città', + 'humidity': 'Umidità', + 'wind': 'Vento', + 'visibility': 'Visibilità', + 'feels': 'Percepiti', + 'evaporation': 'Evaporazione', + 'precipitation': 'Precipitazione', + 'direction': 'Direzione', + 'pressure': 'Pressione', + 'rain': 'Pioggia', + 'clear_sky': 'Sereno', + 'cloudy': 'Nuvoloso', + 'overcast': 'Coperto', + 'fog': 'Nebbia', + 'drizzle': 'Pioggerella', + 'drizzling_rain': 'Pioggerella Gelata', + 'freezing_rain': 'Pioggia Gelata', + 'heavy_rains': 'Acquazzone', + 'snow': 'Neve', + 'thunderstorm': 'Temporale', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Imposta.', + 'no_inter': 'Non c\'è connessione Internet', + 'on_inter': 'Attiva la connessione Internet per avere dati meteorologici.', + 'location': 'Posizione', + 'no_location': + 'Abilita il servizio di localizzazione per ottenere i dati meteo per la posizione corrente.', + 'theme': 'Tema', + 'low': 'Basso', + 'high': 'Alto', + 'normal': 'Normale', + 'lat': 'Latitudine', + 'lon': 'Longitudine', + 'create': 'Creare', + 'city': 'Città', + 'district': 'Regione', + 'noWeatherCard': 'Aggiungi una città', + 'deletedCardWeather': 'Rimozione della città', + 'deletedCardWeatherQuery': 'Sei sicuro di voler rimuovere questa città?', + 'delete': 'Elimina', + 'cancel': 'Annulla', + 'time': 'Orario locale', + 'validateName': 'Si prega di inserire il nome', + 'measurements': 'Sistema di misure', + 'degrees': 'Gradi', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperiale', + 'metric': 'Metrico', + 'validateValue': 'Si prega di inserire il valore', + 'validateNumber': 'Si prega di inserire il numero', + 'validate90': 'Il valore deve essere compreso tra -90 e 90', + 'validate180': 'Il valore deve essere compreso tra -180 e 180', + 'notifications': 'Notifiche', + 'sunrise': 'Alba', + 'sunset': 'Tramonto', + 'timeformat': 'Formato ora', + '12': '12 ore', + '24': '24 ore', + 'cloudcover': 'Copertura nuvolosa', + 'uvIndex': 'Indice UV', + 'materialColor': 'Colori Dinamici', + 'uvLow': 'Basso', + 'uvAverage': 'Moderato', + 'uvHigh': 'Alto', + 'uvVeryHigh': 'Molto alto', + 'uvExtreme': 'Estremo', + 'weatherMore': 'Previsioni del tempo per 12 giorni', + 'windgusts': 'Raffica', + 'north': 'Nord', + 'northeast': 'Nord-est', + 'east': 'Est', + 'southeast': 'Sud-est', + 'south': 'Sud', + 'southwest': 'Sud-ovest', + 'west': 'Ovest', + 'northwest': 'Nord-ovest', + 'project': 'Progetto su', + 'version': 'Versione dell\'applicazione', + 'precipitationProbability': 'Probabilità di precipitazione', + 'apparentTemperatureMin': 'Temperatura minima percepita', + 'apparentTemperatureMax': 'Temperatura massima percepita', + 'amoledTheme': 'AMOLED-tema', + 'appearance': 'Aspetto', + 'functions': 'Funzioni', + 'data': 'Dati', + 'language': 'Lingua', + 'timeRange': 'Frequenza (in ore)', + 'timeStart': 'Ora di inizio', + 'timeEnd': 'Ora di fine', + 'support': 'Supporto', + 'system': 'Sistema', + 'dark': 'Scuro', + 'light': 'Chiaro', + 'license': 'Licenze', + 'widget': 'Widget', + 'widgetBackground': 'Sfondo del widget', + 'widgetText': 'Testo del widget', + 'dewpoint': 'Punto di rugiada', + 'shortwaveRadiation': 'Radiazione a onde corte', + 'roundDegree': 'Arrotonda i gradi', + 'settings_full': 'Impostazioni', + 'cities': 'Città', + 'searchMethod': 'Utilizza la ricerca o la geolocalizzazione', + 'done': 'Fatto', + 'groups': 'I nostri gruppi', + 'openMeteo': 'Dati da Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Variabili meteorologiche orarie', + 'dailyVariables': 'Variabili meteorologiche giornaliere', + 'largeElement': 'Visualizzazione grande elemento meteo', + 'map': 'Mappa', + 'clearCacheStore': 'Cancella cache', + 'deletedCacheStore': 'Cancellazione della cache', + 'deletedCacheStoreQuery': 'Sei sicuro di voler cancellare la cache?', + 'addWidget': 'Aggiungi widget', + 'hideMap': 'Nascondi mappa', + }; } diff --git a/lib/translation/ka_ge.dart b/lib/translation/ka_ge.dart index f8c1bbc..ec1ad88 100644 --- a/lib/translation/ka_ge.dart +++ b/lib/translation/ka_ge.dart @@ -1,143 +1,141 @@ class KaGe { Map get messages => { - 'start': 'დაიწყე', - 'description': - 'აპლიკაცია ამჟამად პროგნოზით ყოველ საათზე, დღეზე და კვირაზე ნებისმიერ ადგილისთვის.', - 'name': 'ამინდი', - 'name2': 'მართვის კომფორტი', - 'name3': 'შეგვეხმიანე', - 'description2': - 'ყველა ნავიგაცია შექმნილია ისე, რომ შეგიძლიათ მაქსიმალურად კომფორტულად და სწრაფად იქონოთ აპლიკაციით.', - 'description3': - 'თუ გექნებათ ნებისმიერი პრობლემა, გთხოვთ, დაგვეკონტაქტოთ ელ-ფოსტით ან აპლიკაციის მიმოხილვის გვერდზე.', - 'next': 'შემდეგ', - 'search': 'ძიება...', - 'loading': 'დატვირთვა...', - 'searchCity': 'იპოვეთ თქვენი ქალაქი', - 'humidity': 'ტენიანობა', - 'wind': 'ქარი', - 'visibility': 'ხილვადობა', - 'feels': 'გრძნობს', - 'evaporation': 'აორთქლება', - 'precipitation': 'ნალექი', - 'direction': 'მიმართულება', - 'pressure': 'წნევა', - 'rain': 'წვიმა', - 'clear_sky': 'წმინდა ცა', - 'cloudy': 'მოღრუბლული', - 'overcast': 'მოსაწყენი', - 'fog': 'ნისლი', - 'drizzle': 'წვიმა', - 'drizzling_rain': 'დრიზლინგი წვიმა', - 'freezing_rain': 'გაყინვის წვიმა', - 'heavy_rains': 'ძლიერი წვიმები', - 'snow': 'თოვლი', - 'thunderstorm': 'ჭექა-ქუხილი', - 'kph': 'კმ/სთ', - 'mph': 'მილი/სთ', - 'm/s': 'მ/წმ', - 'mmHg': 'მმHg', - 'mi': 'მილი', - 'km': 'კმ', - 'inch': 'ინჩი', - 'mm': 'მმ', - 'hPa': 'ჰპა', - 'settings': 'პარამ.', - 'no_inter': 'ინტერნეტი არ არის', - 'on_inter': 'ჩართეთ ინტერნეტი მეტეოროლოგიური მონაცემების მისაღებად.', - 'location': 'ადგილმდებარეობა', - 'no_location': - 'ჩართეთ მდებარეობის სერვისი, რომ მიიღოთ ამინდის მონაცემები მიმდინარე ადგილმდებარეობისთვის.', - 'theme': 'თემა', - 'low': 'დაბალი', - 'high': 'მაღალი', - 'normal': 'ნორმალური', - 'lat': 'სიგანე', - 'lon': 'გრძედი', - 'create': 'შექმნა', - 'city': 'ქალაქი', - 'district': 'რაიონი', - 'noWeatherCard': 'დაამატეთ ქალაქი', - 'deletedCardWeather': 'ქალაქის წაშლა', - 'deletedCardWeatherQuery': - 'დარწმუნებული ხართ, რომ გსურთ ქალაქის წაშლა?', - 'delete': 'ამოღება', - 'cancel': 'გაუქმება', - 'time': 'დრო ქალაქში', - 'validateName': 'გთხოვთ შეიყვანოთ სახელი', - 'measurements': 'საზომი სისტემა', - 'degrees': 'გრადუსი', - 'celsius': 'ცელსიუსი', - 'fahrenheit': 'ფარენჰაიტი', - 'imperial': 'იმპერიული', - 'metric': 'მეტრული', - 'validateValue': 'გთხოვთ შეიყვანოთ მნიშვნელობა', - 'validateNumber': 'გთხოვთ შეიყვანოთ ნომერი', - 'validate90': 'მნიშვნელობა უნდა იყოს -90-დან 90-მდე', - 'validate180': 'მნიშვნელობა უნდა იყოს -180-დან 180-მდე', - 'notifications': 'შეტყობინებები', - 'sunrise': 'მზის ამოსვლა', - 'sunset': 'მზის ჩასვლა', - 'timeformat': 'დროის ფორმატი', - '12': '12-საათი', - '24': '24-საათი', - 'cloudcover': 'ღრუბლის საფარი', - 'uvIndex': 'UV-ინდექსი', - 'materialColor': 'დინამიური ფერები', - 'uvLow': 'დაბალი', - 'uvAverage': 'ზომიერი', - 'uvHigh': 'მაღალი', - 'uvVeryHigh': 'ძალიან მაღალი', - 'uvExtreme': 'ძლევა ზედა', - 'weatherMore': '12-დღიანი ამინდის პროგნოზი', - 'windgusts': 'ნაკადი', - 'north': 'ჩრდილოეთი', - 'northeast': 'ჩრდილო-აღმოსავლეთი', - 'east': 'აღმოსავლეთი', - 'southeast': 'სამხრეთ-აღმოსავლეთი', - 'south': 'სამხრეთი', - 'southwest': 'სამხრეთ-დასავლეთი', - 'west': 'დასავლეთი', - 'northwest': 'ჩრდილო-დასავლეთი', - 'project': 'პროექტი ჩართულია', - 'version': 'განაცხადის ვერსია', - 'precipitationProbability': 'ნალექების ალბათობა', - 'apparentTemperatureMin': 'მინიმალური აშკარა ტემპერატურა', - 'apparentTemperatureMax': 'მაქსიმალური აშკარა ტემპერატურა', - 'amoledTheme': 'AMOLED-თემა', - 'appearance': 'გარეგნობა', - 'functions': 'ფუნქციები', - 'data': 'მონაცემები', - 'language': 'ენა', - 'timeRange': 'სიხშირე (საათებში)', - 'timeStart': 'დაწყების დრო', - 'timeEnd': 'დასრულების დრო', - 'support': 'მხარდაჭერა', - 'system': 'სისტემა', - 'dark': 'ბნელი', - 'light': 'სინათლე', - 'license': 'ლიცენზიები', - 'widget': 'ვიჯეტი', - 'widgetBackground': 'ვიჯეტის ფონი', - 'widgetText': 'ვიჯეტის ტექსტი', - 'dewpoint': 'დევპოინტი', - 'shortwaveRadiation': 'მოკლე ტალღის გამოსხივება', - 'roundDegree': 'ხარისხი მიჯნურობა', - 'settings_full': 'პარამეტრები', - 'cities': 'ქალაქები', - 'searchMethod': 'გამოიყენეთ ძებნა ან გეოლოკაცია', - 'done': 'დასრულებულია', - 'groups': 'ჩვენი ჯგუფები', - 'openMeteo': 'მონაცემები Open-Meteo-დან (CC-BY 4.0)', - 'hourlyVariables': 'საათობრივი ამინდის ცვლადები', - 'dailyVariables': 'ყოველდღიური ამინდის ცვლადები', - 'largeElement': 'გადიდი ამინდის გამოჩენა', - 'map': 'რუკა', - 'clearCacheStore': 'ქეშის გასუფთავება', - 'deletedCacheStore': 'ქეშის გასუფთავება მიმდინარეობს', - 'deletedCacheStoreQuery': - 'დარწმუნებული ხართ, რომ გსურთ ქეშის გასუფთავება?', - 'addWidget': 'ვიდჯეტის დამატება', - 'hideMap': 'რუკის დამალვა', - }; + 'start': 'დაიწყე', + 'description': + 'აპლიკაცია ამჟამად პროგნოზით ყოველ საათზე, დღეზე და კვირაზე ნებისმიერ ადგილისთვის.', + 'name': 'ამინდი', + 'name2': 'მართვის კომფორტი', + 'name3': 'შეგვეხმიანე', + 'description2': + 'ყველა ნავიგაცია შექმნილია ისე, რომ შეგიძლიათ მაქსიმალურად კომფორტულად და სწრაფად იქონოთ აპლიკაციით.', + 'description3': + 'თუ გექნებათ ნებისმიერი პრობლემა, გთხოვთ, დაგვეკონტაქტოთ ელ-ფოსტით ან აპლიკაციის მიმოხილვის გვერდზე.', + 'next': 'შემდეგ', + 'search': 'ძიება...', + 'loading': 'დატვირთვა...', + 'searchCity': 'იპოვეთ თქვენი ქალაქი', + 'humidity': 'ტენიანობა', + 'wind': 'ქარი', + 'visibility': 'ხილვადობა', + 'feels': 'გრძნობს', + 'evaporation': 'აორთქლება', + 'precipitation': 'ნალექი', + 'direction': 'მიმართულება', + 'pressure': 'წნევა', + 'rain': 'წვიმა', + 'clear_sky': 'წმინდა ცა', + 'cloudy': 'მოღრუბლული', + 'overcast': 'მოსაწყენი', + 'fog': 'ნისლი', + 'drizzle': 'წვიმა', + 'drizzling_rain': 'დრიზლინგი წვიმა', + 'freezing_rain': 'გაყინვის წვიმა', + 'heavy_rains': 'ძლიერი წვიმები', + 'snow': 'თოვლი', + 'thunderstorm': 'ჭექა-ქუხილი', + 'kph': 'კმ/სთ', + 'mph': 'მილი/სთ', + 'm/s': 'მ/წმ', + 'mmHg': 'მმHg', + 'mi': 'მილი', + 'km': 'კმ', + 'inch': 'ინჩი', + 'mm': 'მმ', + 'hPa': 'ჰპა', + 'settings': 'პარამ.', + 'no_inter': 'ინტერნეტი არ არის', + 'on_inter': 'ჩართეთ ინტერნეტი მეტეოროლოგიური მონაცემების მისაღებად.', + 'location': 'ადგილმდებარეობა', + 'no_location': + 'ჩართეთ მდებარეობის სერვისი, რომ მიიღოთ ამინდის მონაცემები მიმდინარე ადგილმდებარეობისთვის.', + 'theme': 'თემა', + 'low': 'დაბალი', + 'high': 'მაღალი', + 'normal': 'ნორმალური', + 'lat': 'სიგანე', + 'lon': 'გრძედი', + 'create': 'შექმნა', + 'city': 'ქალაქი', + 'district': 'რაიონი', + 'noWeatherCard': 'დაამატეთ ქალაქი', + 'deletedCardWeather': 'ქალაქის წაშლა', + 'deletedCardWeatherQuery': 'დარწმუნებული ხართ, რომ გსურთ ქალაქის წაშლა?', + 'delete': 'ამოღება', + 'cancel': 'გაუქმება', + 'time': 'დრო ქალაქში', + 'validateName': 'გთხოვთ შეიყვანოთ სახელი', + 'measurements': 'საზომი სისტემა', + 'degrees': 'გრადუსი', + 'celsius': 'ცელსიუსი', + 'fahrenheit': 'ფარენჰაიტი', + 'imperial': 'იმპერიული', + 'metric': 'მეტრული', + 'validateValue': 'გთხოვთ შეიყვანოთ მნიშვნელობა', + 'validateNumber': 'გთხოვთ შეიყვანოთ ნომერი', + 'validate90': 'მნიშვნელობა უნდა იყოს -90-დან 90-მდე', + 'validate180': 'მნიშვნელობა უნდა იყოს -180-დან 180-მდე', + 'notifications': 'შეტყობინებები', + 'sunrise': 'მზის ამოსვლა', + 'sunset': 'მზის ჩასვლა', + 'timeformat': 'დროის ფორმატი', + '12': '12-საათი', + '24': '24-საათი', + 'cloudcover': 'ღრუბლის საფარი', + 'uvIndex': 'UV-ინდექსი', + 'materialColor': 'დინამიური ფერები', + 'uvLow': 'დაბალი', + 'uvAverage': 'ზომიერი', + 'uvHigh': 'მაღალი', + 'uvVeryHigh': 'ძალიან მაღალი', + 'uvExtreme': 'ძლევა ზედა', + 'weatherMore': '12-დღიანი ამინდის პროგნოზი', + 'windgusts': 'ნაკადი', + 'north': 'ჩრდილოეთი', + 'northeast': 'ჩრდილო-აღმოსავლეთი', + 'east': 'აღმოსავლეთი', + 'southeast': 'სამხრეთ-აღმოსავლეთი', + 'south': 'სამხრეთი', + 'southwest': 'სამხრეთ-დასავლეთი', + 'west': 'დასავლეთი', + 'northwest': 'ჩრდილო-დასავლეთი', + 'project': 'პროექტი ჩართულია', + 'version': 'განაცხადის ვერსია', + 'precipitationProbability': 'ნალექების ალბათობა', + 'apparentTemperatureMin': 'მინიმალური აშკარა ტემპერატურა', + 'apparentTemperatureMax': 'მაქსიმალური აშკარა ტემპერატურა', + 'amoledTheme': 'AMOLED-თემა', + 'appearance': 'გარეგნობა', + 'functions': 'ფუნქციები', + 'data': 'მონაცემები', + 'language': 'ენა', + 'timeRange': 'სიხშირე (საათებში)', + 'timeStart': 'დაწყების დრო', + 'timeEnd': 'დასრულების დრო', + 'support': 'მხარდაჭერა', + 'system': 'სისტემა', + 'dark': 'ბნელი', + 'light': 'სინათლე', + 'license': 'ლიცენზიები', + 'widget': 'ვიჯეტი', + 'widgetBackground': 'ვიჯეტის ფონი', + 'widgetText': 'ვიჯეტის ტექსტი', + 'dewpoint': 'დევპოინტი', + 'shortwaveRadiation': 'მოკლე ტალღის გამოსხივება', + 'roundDegree': 'ხარისხი მიჯნურობა', + 'settings_full': 'პარამეტრები', + 'cities': 'ქალაქები', + 'searchMethod': 'გამოიყენეთ ძებნა ან გეოლოკაცია', + 'done': 'დასრულებულია', + 'groups': 'ჩვენი ჯგუფები', + 'openMeteo': 'მონაცემები Open-Meteo-დან (CC-BY 4.0)', + 'hourlyVariables': 'საათობრივი ამინდის ცვლადები', + 'dailyVariables': 'ყოველდღიური ამინდის ცვლადები', + 'largeElement': 'გადიდი ამინდის გამოჩენა', + 'map': 'რუკა', + 'clearCacheStore': 'ქეშის გასუფთავება', + 'deletedCacheStore': 'ქეშის გასუფთავება მიმდინარეობს', + 'deletedCacheStoreQuery': 'დარწმუნებული ხართ, რომ გსურთ ქეშის გასუფთავება?', + 'addWidget': 'ვიდჯეტის დამატება', + 'hideMap': 'რუკის დამალვა', + }; } diff --git a/lib/translation/ko_kr.dart b/lib/translation/ko_kr.dart index 297ed63..a71c3bf 100644 --- a/lib/translation/ko_kr.dart +++ b/lib/translation/ko_kr.dart @@ -1,138 +1,138 @@ class KoKr { Map get messages => { - 'start': '시작하기', - 'description': '어떤 곳이든, 어느 순간이든, 날씨를 확인하세요.', - 'name': '날씨', - 'name2': '편리한 디자인', - 'name3': '문의하기', - 'description2': '모든 내비게이션은 가능한 한 편리하고 빠르게 애플리케이션과 상호 작용하도록 설계되었습니다.', - 'description3': '어떤 오류가 발생했다면, 이메일 또는 앱 리뷰로 문의해주세요.', - 'next': '다음', - 'search': '검색...', - 'loading': '로딩 중...', - 'searchCity': '도시를 찾아보세요', - 'humidity': '습도', - 'wind': '풍속', - 'visibility': '가시거리', - 'feels': '체감 온도', - 'evaporation': '증발량', - 'precipitation': '강수량', - 'direction': '풍향', - 'pressure': '기압', - 'rain': '비', - 'clear_sky': '맑음', - 'cloudy': '구름 조금', - 'overcast': '구름 많음', - 'fog': '안개', - 'drizzle': '이슬비', - 'drizzling_rain': '얼어붙은 이슬비', - 'freezing_rain': '얼어붙는 비', - 'heavy_rains': '폭우', - 'snow': '눈', - 'thunderstorm': '천둥번개', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': '미터/초', - 'mmHg': '밀리미터 수은주', - 'mi': 'mi', - 'km': 'km', - 'inch': '인치', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': '설정', - 'no_inter': '인터넷 없음', - 'on_inter': '현재 위치에 대한 정보를 얻기 위해서는 인터넷이 필요합니다.', - 'location': '위치', - 'no_location': '현재 위치에 대한 정보를 얻기 위해서는 위치 서비스를 활성화해야 합니다.', - 'theme': '테마', - 'low': '낮음', - 'high': '높음', - 'normal': '보통', - 'lat': '위도', - 'lon': '경도', - 'create': '만들기', - 'city': '도시', - 'district': '지역', - 'noWeatherCard': '도시를 추가하세요', - 'deletedCardWeather': '도시 삭제하기', - 'deletedCardWeatherQuery': '정말로 이 도시를 삭제하시겠나요?', - 'delete': '삭제', - 'cancel': '취소', - 'time': '도시 시간', - 'validateName': '이름을 입력해주세요', - 'measurements': '표시 방식', - 'degrees': '도', - 'celsius': '섭씨', - 'fahrenheit': '화씨', - 'imperial': '인치', - 'metric': '미터', - 'validateValue': '값을 입력해주세요', - 'validateNumber': '올바른 숫자를 입력해주세요', - 'validate90': '-90과 90 사이의 값만 가능합니다', - 'validate180': '-180과 180 사이의 값만 가능합니다', - 'notifications': '알림', - 'sunrise': '일출', - 'sunset': '일몰', - 'timeformat': '시간 형식', - '12': '12시간', - '24': '24시간', - 'cloudcover': '구름', - 'uvIndex': 'UV 정도', - 'materialColor': '동적 색상', - 'uvLow': '낮음', - 'uvAverage': '보통', - 'uvHigh': '높은', - 'uvVeryHigh': '매우 높음', - 'uvExtreme': '엄청남!', - 'weatherMore': '12일 일기 예보', - 'windgusts': '돌풍', - 'north': '북', - 'northeast': '북동', - 'east': '동', - 'southeast': '남동', - 'south': '남', - 'southwest': '남서', - 'west': '서', - 'northwest': '북서', - 'project': '프로젝트 위치:', - 'version': '버전', - 'precipitationProbability': '깅수 확률', - 'apparentTemperatureMin': '최저 기온', - 'apparentTemperatureMax': '최고 기온', - 'amoledTheme': 'AMOLED-테마', - 'appearance': '디자인', - 'functions': '기능', - 'data': '데이터', - 'language': '언어', - 'timeRange': '빈도 (시간 단위)', - 'timeStart': '시작 시간', - 'timeEnd': '종료 시간', - 'support': '후원하기', - 'system': '시스템', - 'dark': '어두운', - 'light': '밝은', - 'license': '라이선스', - 'widget': '위젯', - 'widgetBackground': '위젯 배경', - 'widgetText': '위젯 텍스트', - 'dewpoint': '이슬점', - 'shortwaveRadiation': '단파 복사', - 'W/m2': 'W/m2', - 'roundDegree': '온도 반올림', - 'settings_full': '설정', - 'cities': '도시', - 'searchMethod': '검색 또는 지리적 위치를 사용하세요', - 'done': '완료', - 'groups': '우리 그룹', - 'openMeteo': 'Open-Meteo의 데이터 (CC-BY 4.0)', - 'hourlyVariables': '시간별 날씨 변수', - 'dailyVariables': '일별 날씨 변수', - 'largeElement': '큰 날씨 표시', - 'map': '지도', - 'clearCacheStore': '캐시 지우기', - 'deletedCacheStore': '캐시 삭제 중', - 'deletedCacheStoreQuery': '캐시를 정말로 지우시겠습니까?', - 'addWidget': '위젯 추가', - 'hideMap': '지도를 숨기기', - }; + 'start': '시작하기', + 'description': '어떤 곳이든, 어느 순간이든, 날씨를 확인하세요.', + 'name': '날씨', + 'name2': '편리한 디자인', + 'name3': '문의하기', + 'description2': '모든 내비게이션은 가능한 한 편리하고 빠르게 애플리케이션과 상호 작용하도록 설계되었습니다.', + 'description3': '어떤 오류가 발생했다면, 이메일 또는 앱 리뷰로 문의해주세요.', + 'next': '다음', + 'search': '검색...', + 'loading': '로딩 중...', + 'searchCity': '도시를 찾아보세요', + 'humidity': '습도', + 'wind': '풍속', + 'visibility': '가시거리', + 'feels': '체감 온도', + 'evaporation': '증발량', + 'precipitation': '강수량', + 'direction': '풍향', + 'pressure': '기압', + 'rain': '비', + 'clear_sky': '맑음', + 'cloudy': '구름 조금', + 'overcast': '구름 많음', + 'fog': '안개', + 'drizzle': '이슬비', + 'drizzling_rain': '얼어붙은 이슬비', + 'freezing_rain': '얼어붙는 비', + 'heavy_rains': '폭우', + 'snow': '눈', + 'thunderstorm': '천둥번개', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': '미터/초', + 'mmHg': '밀리미터 수은주', + 'mi': 'mi', + 'km': 'km', + 'inch': '인치', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': '설정', + 'no_inter': '인터넷 없음', + 'on_inter': '현재 위치에 대한 정보를 얻기 위해서는 인터넷이 필요합니다.', + 'location': '위치', + 'no_location': '현재 위치에 대한 정보를 얻기 위해서는 위치 서비스를 활성화해야 합니다.', + 'theme': '테마', + 'low': '낮음', + 'high': '높음', + 'normal': '보통', + 'lat': '위도', + 'lon': '경도', + 'create': '만들기', + 'city': '도시', + 'district': '지역', + 'noWeatherCard': '도시를 추가하세요', + 'deletedCardWeather': '도시 삭제하기', + 'deletedCardWeatherQuery': '정말로 이 도시를 삭제하시겠나요?', + 'delete': '삭제', + 'cancel': '취소', + 'time': '도시 시간', + 'validateName': '이름을 입력해주세요', + 'measurements': '표시 방식', + 'degrees': '도', + 'celsius': '섭씨', + 'fahrenheit': '화씨', + 'imperial': '인치', + 'metric': '미터', + 'validateValue': '값을 입력해주세요', + 'validateNumber': '올바른 숫자를 입력해주세요', + 'validate90': '-90과 90 사이의 값만 가능합니다', + 'validate180': '-180과 180 사이의 값만 가능합니다', + 'notifications': '알림', + 'sunrise': '일출', + 'sunset': '일몰', + 'timeformat': '시간 형식', + '12': '12시간', + '24': '24시간', + 'cloudcover': '구름', + 'uvIndex': 'UV 정도', + 'materialColor': '동적 색상', + 'uvLow': '낮음', + 'uvAverage': '보통', + 'uvHigh': '높은', + 'uvVeryHigh': '매우 높음', + 'uvExtreme': '엄청남!', + 'weatherMore': '12일 일기 예보', + 'windgusts': '돌풍', + 'north': '북', + 'northeast': '북동', + 'east': '동', + 'southeast': '남동', + 'south': '남', + 'southwest': '남서', + 'west': '서', + 'northwest': '북서', + 'project': '프로젝트 위치:', + 'version': '버전', + 'precipitationProbability': '깅수 확률', + 'apparentTemperatureMin': '최저 기온', + 'apparentTemperatureMax': '최고 기온', + 'amoledTheme': 'AMOLED-테마', + 'appearance': '디자인', + 'functions': '기능', + 'data': '데이터', + 'language': '언어', + 'timeRange': '빈도 (시간 단위)', + 'timeStart': '시작 시간', + 'timeEnd': '종료 시간', + 'support': '후원하기', + 'system': '시스템', + 'dark': '어두운', + 'light': '밝은', + 'license': '라이선스', + 'widget': '위젯', + 'widgetBackground': '위젯 배경', + 'widgetText': '위젯 텍스트', + 'dewpoint': '이슬점', + 'shortwaveRadiation': '단파 복사', + 'W/m2': 'W/m2', + 'roundDegree': '온도 반올림', + 'settings_full': '설정', + 'cities': '도시', + 'searchMethod': '검색 또는 지리적 위치를 사용하세요', + 'done': '완료', + 'groups': '우리 그룹', + 'openMeteo': 'Open-Meteo의 데이터 (CC-BY 4.0)', + 'hourlyVariables': '시간별 날씨 변수', + 'dailyVariables': '일별 날씨 변수', + 'largeElement': '큰 날씨 표시', + 'map': '지도', + 'clearCacheStore': '캐시 지우기', + 'deletedCacheStore': '캐시 삭제 중', + 'deletedCacheStoreQuery': '캐시를 정말로 지우시겠습니까?', + 'addWidget': '위젯 추가', + 'hideMap': '지도를 숨기기', + }; } diff --git a/lib/translation/nl_nl.dart b/lib/translation/nl_nl.dart index f2fbaa9..c9bb065 100644 --- a/lib/translation/nl_nl.dart +++ b/lib/translation/nl_nl.dart @@ -1,143 +1,141 @@ class NlNl { Map get messages => { - 'start': 'Beginnen', - 'description': - 'Weer-applicatie met een actuele prognose voor elk uur, dag en week voor elke locatie.', - 'name': 'Weer', - 'name2': 'Handig Ontwerp', - 'name3': 'Neem contact met ons op', - 'description2': - 'Alle navigatie is ontworpen om zo gemakkelijk en snel mogelijk met de applicatie te kunnen communiceren.', - 'description3': - 'Als u problemen ondervindt, neem dan contact met ons op via e-mail of in de recensies van de applicatie.', - 'next': 'Volgende', - 'search': 'Zoeken...', - 'loading': 'Laden...', - 'searchCity': 'Vind jouw stad', - 'humidity': 'Luchtvochtigheid', - 'wind': 'Wind', - 'visibility': 'Zichtbaarheid', - 'feels': 'Voelt', - 'evaporation': 'Verdamping', - 'precipitation': 'Neerslag', - 'direction': 'Richting', - 'pressure': 'Druk', - 'rain': 'Regen', - 'clear_sky': 'Heldere lucht', - 'cloudy': 'Bewolkt', - 'overcast': 'Betrokken', - 'fog': 'Mist', - 'drizzle': 'Motregen', - 'drizzling_rain': 'Ijskoude motregen', - 'freezing_rain': 'Ijskoude regen', - 'heavy_rains': 'Regendouche', - 'snow': 'Sneeuw', - 'thunderstorm': 'Onweersbui', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Instellingen.', - 'no_inter': 'Geen Internet', - 'on_inter': - 'Schakel Internet in om meteorologische gegevens te ontvangen.', - 'location': 'Locatie', - 'no_location': - 'Schakel de locatiedienst in om weer gegevens voor de huidige locatie te ontvangen.', - 'theme': 'Thema', - 'low': 'Laag', - 'high': 'Hoog', - 'normal': 'Normaal', - 'lat': 'Breedtegraad', - 'lon': 'Lengtegraad', - 'create': 'Creëer', - 'city': 'Stad', - 'district': 'District', - 'noWeatherCard': 'Voeg een stad toe', - 'deletedCardWeather': 'Verwijder een city', - 'deletedCardWeatherQuery': - 'Weet je zeker dat je de stad wilt verwijderen?', - 'delete': 'Verwijder', - 'cancel': 'Annuleer', - 'time': 'Tijd in de stad', - 'validateName': 'Vul de naam in', - 'measurements': 'Meetsysteem', - 'degrees': 'Graden', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperiaal', - 'metric': 'Metrisch', - 'validateValue': 'Vul een waarde in', - 'validateNumber': 'Vul een geldig nummer in', - 'validate90': 'Waarde moet tussen -90 and 90 zijn', - 'validate180': 'Waarde moet tussen -180 and 180 zijn', - 'notifications': 'Notificaties', - 'sunrise': 'Zonsopkomst', - 'sunset': 'Zonsondergang', - 'timeformat': 'Tijdnotatie', - '12': '12-uur', - '24': '24-uur', - 'cloudcover': 'Bewolking', - 'uvIndex': 'UV-index', - 'materialColor': 'Dynamische Kleuren', - 'uvLow': 'Laag', - 'uvAverage': 'Matig', - 'uvHigh': 'Hoog', - 'uvVeryHigh': 'Erg hoog', - 'uvExtreme': 'Extreem', - 'weatherMore': '12-daagse weersverwachting', - 'windgusts': 'Windstoten', - 'north': 'Noord', - 'northeast': 'Noordoost', - 'east': 'Oost', - 'southeast': 'Zuidoost', - 'south': 'Zuid', - 'southwest': 'Zuidwest', - 'west': 'West', - 'northwest': 'Noordwest', - 'project': 'Project op', - 'version': 'Applicatieversie', - 'precipitationProbability': 'Kans op neerslag', - 'apparentTemperatureMin': 'Minimum schijnbare temperatuur', - 'apparentTemperatureMax': 'Maximale schijnbare temperatuur', - 'amoledTheme': 'AMOLED-thema', - 'appearance': 'Uiterlijk', - 'functions': 'Functies', - 'data': 'Gegevens', - 'language': 'Taal', - 'timeRange': 'Frequentie (in uren)', - 'timeStart': 'Begintijd', - 'timeEnd': 'Eindtijd', - 'support': 'Ondersteuning', - 'system': 'Systeem', - 'dark': 'Donker', - 'light': 'Licht', - 'license': 'Licenties', - 'widget': 'Widget', - 'widgetBackground': 'Widget-achtergrond', - 'widgetText': 'Tekst van widget', - 'dewpoint': 'Dauwpunt', - 'shortwaveRadiation': 'Korte golfstraling', - 'roundDegree': 'Rond graden af', - 'settings_full': 'Instellingen', - 'cities': 'Steden', - 'searchMethod': 'Gebruik zoeken of geolocatie', - 'done': 'Klaar', - 'groups': 'Onze groepen', - 'openMeteo': 'Gegevens van Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Uurlijkse weervariabelen', - 'dailyVariables': 'Dagelijkse weervariabelen', - 'largeElement': 'Groot weerbericht weergeven', - 'map': 'Kaart', - 'clearCacheStore': 'Cache wissen', - 'deletedCacheStore': 'Cache wissen', - 'deletedCacheStoreQuery': 'Weet je zeker dat je de cache wilt wissen?', - 'addWidget': 'Widget toevoegen', - 'hideMap': 'Kaart verbergen', - }; + 'start': 'Beginnen', + 'description': + 'Weer-applicatie met een actuele prognose voor elk uur, dag en week voor elke locatie.', + 'name': 'Weer', + 'name2': 'Handig Ontwerp', + 'name3': 'Neem contact met ons op', + 'description2': + 'Alle navigatie is ontworpen om zo gemakkelijk en snel mogelijk met de applicatie te kunnen communiceren.', + 'description3': + 'Als u problemen ondervindt, neem dan contact met ons op via e-mail of in de recensies van de applicatie.', + 'next': 'Volgende', + 'search': 'Zoeken...', + 'loading': 'Laden...', + 'searchCity': 'Vind jouw stad', + 'humidity': 'Luchtvochtigheid', + 'wind': 'Wind', + 'visibility': 'Zichtbaarheid', + 'feels': 'Voelt', + 'evaporation': 'Verdamping', + 'precipitation': 'Neerslag', + 'direction': 'Richting', + 'pressure': 'Druk', + 'rain': 'Regen', + 'clear_sky': 'Heldere lucht', + 'cloudy': 'Bewolkt', + 'overcast': 'Betrokken', + 'fog': 'Mist', + 'drizzle': 'Motregen', + 'drizzling_rain': 'Ijskoude motregen', + 'freezing_rain': 'Ijskoude regen', + 'heavy_rains': 'Regendouche', + 'snow': 'Sneeuw', + 'thunderstorm': 'Onweersbui', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Instellingen.', + 'no_inter': 'Geen Internet', + 'on_inter': 'Schakel Internet in om meteorologische gegevens te ontvangen.', + 'location': 'Locatie', + 'no_location': + 'Schakel de locatiedienst in om weer gegevens voor de huidige locatie te ontvangen.', + 'theme': 'Thema', + 'low': 'Laag', + 'high': 'Hoog', + 'normal': 'Normaal', + 'lat': 'Breedtegraad', + 'lon': 'Lengtegraad', + 'create': 'Creëer', + 'city': 'Stad', + 'district': 'District', + 'noWeatherCard': 'Voeg een stad toe', + 'deletedCardWeather': 'Verwijder een city', + 'deletedCardWeatherQuery': 'Weet je zeker dat je de stad wilt verwijderen?', + 'delete': 'Verwijder', + 'cancel': 'Annuleer', + 'time': 'Tijd in de stad', + 'validateName': 'Vul de naam in', + 'measurements': 'Meetsysteem', + 'degrees': 'Graden', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperiaal', + 'metric': 'Metrisch', + 'validateValue': 'Vul een waarde in', + 'validateNumber': 'Vul een geldig nummer in', + 'validate90': 'Waarde moet tussen -90 and 90 zijn', + 'validate180': 'Waarde moet tussen -180 and 180 zijn', + 'notifications': 'Notificaties', + 'sunrise': 'Zonsopkomst', + 'sunset': 'Zonsondergang', + 'timeformat': 'Tijdnotatie', + '12': '12-uur', + '24': '24-uur', + 'cloudcover': 'Bewolking', + 'uvIndex': 'UV-index', + 'materialColor': 'Dynamische Kleuren', + 'uvLow': 'Laag', + 'uvAverage': 'Matig', + 'uvHigh': 'Hoog', + 'uvVeryHigh': 'Erg hoog', + 'uvExtreme': 'Extreem', + 'weatherMore': '12-daagse weersverwachting', + 'windgusts': 'Windstoten', + 'north': 'Noord', + 'northeast': 'Noordoost', + 'east': 'Oost', + 'southeast': 'Zuidoost', + 'south': 'Zuid', + 'southwest': 'Zuidwest', + 'west': 'West', + 'northwest': 'Noordwest', + 'project': 'Project op', + 'version': 'Applicatieversie', + 'precipitationProbability': 'Kans op neerslag', + 'apparentTemperatureMin': 'Minimum schijnbare temperatuur', + 'apparentTemperatureMax': 'Maximale schijnbare temperatuur', + 'amoledTheme': 'AMOLED-thema', + 'appearance': 'Uiterlijk', + 'functions': 'Functies', + 'data': 'Gegevens', + 'language': 'Taal', + 'timeRange': 'Frequentie (in uren)', + 'timeStart': 'Begintijd', + 'timeEnd': 'Eindtijd', + 'support': 'Ondersteuning', + 'system': 'Systeem', + 'dark': 'Donker', + 'light': 'Licht', + 'license': 'Licenties', + 'widget': 'Widget', + 'widgetBackground': 'Widget-achtergrond', + 'widgetText': 'Tekst van widget', + 'dewpoint': 'Dauwpunt', + 'shortwaveRadiation': 'Korte golfstraling', + 'roundDegree': 'Rond graden af', + 'settings_full': 'Instellingen', + 'cities': 'Steden', + 'searchMethod': 'Gebruik zoeken of geolocatie', + 'done': 'Klaar', + 'groups': 'Onze groepen', + 'openMeteo': 'Gegevens van Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Uurlijkse weervariabelen', + 'dailyVariables': 'Dagelijkse weervariabelen', + 'largeElement': 'Groot weerbericht weergeven', + 'map': 'Kaart', + 'clearCacheStore': 'Cache wissen', + 'deletedCacheStore': 'Cache wissen', + 'deletedCacheStoreQuery': 'Weet je zeker dat je de cache wilt wissen?', + 'addWidget': 'Widget toevoegen', + 'hideMap': 'Kaart verbergen', + }; } diff --git a/lib/translation/pl_pl.dart b/lib/translation/pl_pl.dart index 8ec4506..9dcc337 100644 --- a/lib/translation/pl_pl.dart +++ b/lib/translation/pl_pl.dart @@ -1,142 +1,141 @@ class PlPl { Map get messages => { - 'start': 'Rozpocznij', - 'description': - 'Aplikacja pogodowa z aktualną prognozą na każdą godzinę, dzień i tydzień dla dowolnego miejsca.', - 'name': 'Pogoda', - 'name2': 'Wygodny design', - 'name3': 'Skontaktuj się z nami', - 'description2': - 'Cała nawigacja jest zaprojektowana tak, aby można było jak najwygodniej i najszybciej współdziałać z aplikacją.', - 'description3': - 'Jeśli napotkasz jakiekolwiek problemy, skontaktuj się z nami drogą e-mailową lub w recenzjach aplikacji.', - 'next': 'Dalej', - 'search': 'Szukaj...', - 'loading': 'Ładowanie...', - 'searchCity': 'Znajdź swoje miasto', - 'humidity': 'Wilgoć', - 'wind': 'Wiatr', - 'visibility': 'Widoczność', - 'feels': 'Odczuwalna', - 'evaporation': 'Parowanie', - 'precipitation': 'Opad atmosferyczny', - 'direction': 'Kierunek', - 'pressure': 'Ciśnienie', - 'rain': 'Deszcz', - 'clear_sky': 'Czyste niebo', - 'cloudy': 'Pochmurno', - 'overcast': 'Pochmurnie', - 'fog': 'Mgła', - 'drizzle': 'Mżawka', - 'drizzling_rain': 'Mroźna Mżawka', - 'freezing_rain': 'Mroźny deszcz', - 'heavy_rains': 'Przelotne opady deszczu', - 'snow': 'Śnieg', - 'thunderstorm': 'Burza z piorunami', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Ustaw.', - 'no_inter': 'Brak internetu', - 'on_inter': 'Włącz Internet, aby uzyskać dane meteorologiczne.', - 'location': 'Lokalizacja', - 'no_location': - 'Włącz usługę lokalizacyjną, aby uzyskać dane pogodowe dla bieżącej lokalizacji.', - 'theme': 'Motyw', - 'low': 'Niski', - 'high': 'Wysoki', - 'normal': 'Normalny', - 'lat': 'Latitude', - 'lon': 'Longitude', - 'create': 'Stwórz', - 'city': 'Miasto', - 'district': 'Dzielnica', - 'noWeatherCard': 'Dodaj miasto', - 'deletedCardWeather': 'Usuwanie miasta', - 'deletedCardWeatherQuery': 'Czy na pewno chcesz usunąć miasto?', - 'delete': 'Usuń', - 'cancel': 'Anuluj', - 'time': 'Czas w mieście', - 'validateName': 'Wprowadź nazwę', - 'measurements': 'System środków', - 'degrees': 'Stopni', - 'celsius': 'Celsjusz', - 'fahrenheit': 'Fahrenheita', - 'imperial': 'Imperial', - 'metric': 'Metric', - 'validateValue': 'Proszę wprowadzić wartość', - 'validateNumber': 'Proszę wprowadzić poprawny numer', - 'validate90': 'Wartość musi mieścić się w zakresie od -90 do 90', - 'validate180': 'Wartość musi mieścić się w przedziale od -180 do 180', - 'notifications': 'Powiadomienia', - 'sunrise': 'Wschód słońca', - 'sunset': 'Zachód słońca', - 'timeformat': 'Format czasu', - '12': '12-hour', - '24': '24-hour', - 'cloudcover': 'Zachmurzenie', - 'uvIndex': 'Indeks UV', - 'materialColor': 'Dynamiczne kolory', - 'uvLow': 'Niski', - 'uvAverage': 'Umiarkowany', - 'uvHigh': 'Wysoki', - 'uvVeryHigh': 'Bardzo wysoki', - 'uvExtreme': 'Extremalny', - 'weatherMore': 'Prognoza pogody na 12 dni', - 'windgusts': 'Porywy wiatru', - 'north': 'Północ', - 'northeast': 'Północny wschód', - 'east': 'Wschód', - 'southeast': 'południowy wschód', - 'south': 'Południe', - 'southwest': 'Południowy zachód', - 'west': 'Zachód', - 'northwest': 'Północny zachód', - 'project': 'Project on', - 'version': 'Wersja aplikacji', - 'precipitationProbability': 'Prawdopodobieństwo opadów', - 'apparentTemperatureMin': 'Minimalna temperatura pozorna', - 'apparentTemperatureMax': 'Maksymalna pozorna temperatura', - 'amoledTheme': 'AMOLED-theme', - 'appearance': 'Wygląd', - 'functions': 'Funkcje', - 'data': 'Data', - 'language': 'Język', - 'timeRange': 'Częstotliwość (w godzinach)', - 'timeStart': 'Czas rozpoczęcia', - 'timeEnd': 'Czas zakończenia', - 'support': 'Wsparcie', - 'system': 'System', - 'dark': 'Ciemny', - 'light': 'Jasny', - 'license': 'Licencje', - 'widget': 'Widget', - 'widgetBackground': 'Tło widżetu', - 'widgetText': 'Tekst widżetu', - 'dewpoint': 'Punkt rosy', - 'shortwaveRadiation': 'Promieniowanie krótkofalowe', - 'roundDegree': 'Zaokrąglaj stopnie', - 'settings_full': 'Ustawienia', - 'cities': 'Miasta', - 'searchMethod': 'Użyj wyszukiwania lub geolokalizacji', - 'done': 'Gotowe', - 'groups': 'Nasze grupy', - 'openMeteo': 'Dane z Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Godzinowe zmienne pogodowe', - 'dailyVariables': 'Dzienne zmienne pogodowe', - 'largeElement': 'Duże wyświetlanie pogody', - 'map': 'Mapa', - 'clearCacheStore': 'Wyczyść pamięć podręczną', - 'deletedCacheStore': 'Czyszczenie pamięci podręcznej', - 'deletedCacheStoreQuery': - 'Czy na pewno chcesz wyczyścić pamięć podręczną?', - 'addWidget': 'Dodaj widget', - 'hideMap': 'Ukryj mapę', - }; + 'start': 'Rozpocznij', + 'description': + 'Aplikacja pogodowa z aktualną prognozą na każdą godzinę, dzień i tydzień dla dowolnego miejsca.', + 'name': 'Pogoda', + 'name2': 'Wygodny design', + 'name3': 'Skontaktuj się z nami', + 'description2': + 'Cała nawigacja jest zaprojektowana tak, aby można było jak najwygodniej i najszybciej współdziałać z aplikacją.', + 'description3': + 'Jeśli napotkasz jakiekolwiek problemy, skontaktuj się z nami drogą e-mailową lub w recenzjach aplikacji.', + 'next': 'Dalej', + 'search': 'Szukaj...', + 'loading': 'Ładowanie...', + 'searchCity': 'Znajdź swoje miasto', + 'humidity': 'Wilgoć', + 'wind': 'Wiatr', + 'visibility': 'Widoczność', + 'feels': 'Odczuwalna', + 'evaporation': 'Parowanie', + 'precipitation': 'Opad atmosferyczny', + 'direction': 'Kierunek', + 'pressure': 'Ciśnienie', + 'rain': 'Deszcz', + 'clear_sky': 'Czyste niebo', + 'cloudy': 'Pochmurno', + 'overcast': 'Pochmurnie', + 'fog': 'Mgła', + 'drizzle': 'Mżawka', + 'drizzling_rain': 'Mroźna Mżawka', + 'freezing_rain': 'Mroźny deszcz', + 'heavy_rains': 'Przelotne opady deszczu', + 'snow': 'Śnieg', + 'thunderstorm': 'Burza z piorunami', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Ustaw.', + 'no_inter': 'Brak internetu', + 'on_inter': 'Włącz Internet, aby uzyskać dane meteorologiczne.', + 'location': 'Lokalizacja', + 'no_location': + 'Włącz usługę lokalizacyjną, aby uzyskać dane pogodowe dla bieżącej lokalizacji.', + 'theme': 'Motyw', + 'low': 'Niski', + 'high': 'Wysoki', + 'normal': 'Normalny', + 'lat': 'Latitude', + 'lon': 'Longitude', + 'create': 'Stwórz', + 'city': 'Miasto', + 'district': 'Dzielnica', + 'noWeatherCard': 'Dodaj miasto', + 'deletedCardWeather': 'Usuwanie miasta', + 'deletedCardWeatherQuery': 'Czy na pewno chcesz usunąć miasto?', + 'delete': 'Usuń', + 'cancel': 'Anuluj', + 'time': 'Czas w mieście', + 'validateName': 'Wprowadź nazwę', + 'measurements': 'System środków', + 'degrees': 'Stopni', + 'celsius': 'Celsjusz', + 'fahrenheit': 'Fahrenheita', + 'imperial': 'Imperial', + 'metric': 'Metric', + 'validateValue': 'Proszę wprowadzić wartość', + 'validateNumber': 'Proszę wprowadzić poprawny numer', + 'validate90': 'Wartość musi mieścić się w zakresie od -90 do 90', + 'validate180': 'Wartość musi mieścić się w przedziale od -180 do 180', + 'notifications': 'Powiadomienia', + 'sunrise': 'Wschód słońca', + 'sunset': 'Zachód słońca', + 'timeformat': 'Format czasu', + '12': '12-hour', + '24': '24-hour', + 'cloudcover': 'Zachmurzenie', + 'uvIndex': 'Indeks UV', + 'materialColor': 'Dynamiczne kolory', + 'uvLow': 'Niski', + 'uvAverage': 'Umiarkowany', + 'uvHigh': 'Wysoki', + 'uvVeryHigh': 'Bardzo wysoki', + 'uvExtreme': 'Extremalny', + 'weatherMore': 'Prognoza pogody na 12 dni', + 'windgusts': 'Porywy wiatru', + 'north': 'Północ', + 'northeast': 'Północny wschód', + 'east': 'Wschód', + 'southeast': 'południowy wschód', + 'south': 'Południe', + 'southwest': 'Południowy zachód', + 'west': 'Zachód', + 'northwest': 'Północny zachód', + 'project': 'Project on', + 'version': 'Wersja aplikacji', + 'precipitationProbability': 'Prawdopodobieństwo opadów', + 'apparentTemperatureMin': 'Minimalna temperatura pozorna', + 'apparentTemperatureMax': 'Maksymalna pozorna temperatura', + 'amoledTheme': 'AMOLED-theme', + 'appearance': 'Wygląd', + 'functions': 'Funkcje', + 'data': 'Data', + 'language': 'Język', + 'timeRange': 'Częstotliwość (w godzinach)', + 'timeStart': 'Czas rozpoczęcia', + 'timeEnd': 'Czas zakończenia', + 'support': 'Wsparcie', + 'system': 'System', + 'dark': 'Ciemny', + 'light': 'Jasny', + 'license': 'Licencje', + 'widget': 'Widget', + 'widgetBackground': 'Tło widżetu', + 'widgetText': 'Tekst widżetu', + 'dewpoint': 'Punkt rosy', + 'shortwaveRadiation': 'Promieniowanie krótkofalowe', + 'roundDegree': 'Zaokrąglaj stopnie', + 'settings_full': 'Ustawienia', + 'cities': 'Miasta', + 'searchMethod': 'Użyj wyszukiwania lub geolokalizacji', + 'done': 'Gotowe', + 'groups': 'Nasze grupy', + 'openMeteo': 'Dane z Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Godzinowe zmienne pogodowe', + 'dailyVariables': 'Dzienne zmienne pogodowe', + 'largeElement': 'Duże wyświetlanie pogody', + 'map': 'Mapa', + 'clearCacheStore': 'Wyczyść pamięć podręczną', + 'deletedCacheStore': 'Czyszczenie pamięci podręcznej', + 'deletedCacheStoreQuery': 'Czy na pewno chcesz wyczyścić pamięć podręczną?', + 'addWidget': 'Dodaj widget', + 'hideMap': 'Ukryj mapę', + }; } diff --git a/lib/translation/pt_br.dart b/lib/translation/pt_br.dart index 788a73f..23755bb 100644 --- a/lib/translation/pt_br.dart +++ b/lib/translation/pt_br.dart @@ -1,142 +1,142 @@ class PtBr { Map get messages => { - 'start': 'Iniciar', - 'description': - 'Aplicativo de previsão do tempo com previsão atualizada para cada hora, dia e semana para qualquer local.', - 'name': 'Clima', - 'name2': 'Design Conveniente', - 'name3': 'Entre em Contato Conosco', - 'description2': - 'Toda a navegação é projetada para interagir com o aplicativo da maneira mais conveniente e rápida possível.', - 'description3': - 'Se você encontrar algum problema, entre em contato conosco por e-mail ou nas avaliações do aplicativo.', - 'next': 'Próximo', - 'search': 'Pesquisar...', - 'loading': 'Carregando...', - 'searchCity': 'Procure sua cidade', - 'humidity': 'Umidade', - 'wind': 'Vento', - 'visibility': 'Visibilidade', - 'feels': 'Sensação', - 'evaporation': 'Evapotranspirações', - 'precipitation': 'Precipitação', - 'direction': 'Direção', - 'pressure': 'Pressão', - 'rain': 'Chuva', - 'clear_sky': 'Céu limpo', - 'cloudy': 'Nublado', - 'overcast': 'Encoberto', - 'fog': 'Névoa', - 'drizzle': 'Garoa', - 'drizzling_rain': 'Chuva fraca', - 'freezing_rain': 'Chuva congelante', - 'heavy_rains': 'Chuva pesada', - 'snow': 'Neve', - 'thunderstorm': 'Tempestade', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Configurações.', - 'no_inter': 'Sem conexão', - 'on_inter': 'Conecte-se a internet para atualizar os dados de clima.', - 'location': 'Localização', - 'no_location': - 'Habilite a localização para obter dados de clima do local atual.', - 'theme': 'Tema', - 'low': 'Baixo', - 'high': 'Alto', - 'normal': 'Normal', - 'lat': 'Latitude', - 'lon': 'Longitude', - 'create': 'Criar', - 'city': 'Cidade', - 'district': 'Distrito', - 'noWeatherCard': 'Adicione uma cidade', - 'deletedCardWeather': 'Deletando a cidade', - 'deletedCardWeatherQuery': - 'Você tem certeza que deseja remover esta cidade?', - 'delete': 'Deletar', - 'cancel': 'Cancelar', - 'time': 'Clima na cidade', - 'validateName': 'Por favor escreva um nome', - 'measurements': 'Sistema de medidas', - 'degrees': 'Graus', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperial', - 'metric': 'Métrico', - 'validateValue': 'Por favor escreva um valor', - 'validateNumber': 'Por favor escreva um número válido', - 'validate90': 'Valor deve estar entre -90 and 90', - 'validate180': 'Valor deve estar entre -180 and 180', - 'notifications': 'Notificações', - 'sunrise': 'Nascer do sol', - 'sunset': 'Pôr do sol', - 'timeformat': 'Formato de hora', - '12': '12 horas', - '24': '24 horas', - 'cloudcover': 'Сobertura de nuvens', - 'uvIndex': 'UV-índice', - 'materialColor': 'Cores Dinâmicas', - 'uvLow': 'Baixo', - 'uvAverage': 'Moderado', - 'uvHigh': 'Alto', - 'uvVeryHigh': 'Muito alto', - 'uvExtreme': 'Extremo', - 'weatherMore': 'Previsão do tempo para 12 dias', - 'windgusts': 'Rajadas', - 'north': 'Norte', - 'northeast': 'Nordeste', - 'east': 'Leste', - 'southeast': 'Sudeste', - 'south': 'Sul', - 'southwest': 'Sudoeste', - 'west': 'Oeste', - 'northwest': 'Noroeste', - 'project': 'Projeto em', - 'version': 'Versão do aplicativo', - 'precipitationProbability': 'Probabilidade de precipitação', - 'apparentTemperatureMin': 'Temperatura aparente mínima', - 'apparentTemperatureMax': 'Temperatura aparente máxima', - 'amoledTheme': 'AMOLED-tema', - 'appearance': 'Aparência', - 'functions': 'Funções', - 'data': 'Dados', - 'language': 'Idioma', - 'timeRange': 'Frequência (em horas)', - 'timeStart': 'Hora de início', - 'timeEnd': 'Hora de término', - 'support': 'Suporte', - 'system': 'Sistema', - 'dark': 'Escuro', - 'light': 'Claro', - 'license': 'Licenças', - 'widget': 'Widget', - 'widgetBackground': 'Fundo do widget', - 'widgetText': 'Texto do widget', - 'dewpoint': 'Ponto de orvalho', - 'shortwaveRadiation': 'Radiação de ondas curtas', - 'roundDegree': 'Arredondar graus', - 'settings_full': 'Configurações', - 'cities': 'Cidades', - 'searchMethod': 'Use a pesquisa ou a geolocalização', - 'done': 'Concluído', - 'groups': 'Nossos grupos', - 'openMeteo': 'Dados do Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Variáveis meteorológicas horárias', - 'dailyVariables': 'Variáveis meteorológicas diárias', - 'largeElement': 'Exibição grande do clima', - 'map': 'Mapa', - 'clearCacheStore': 'Limpar cache', - 'deletedCacheStore': 'Limpando cache', - 'deletedCacheStoreQuery': 'Tem certeza de que deseja limpar o cache?', - 'addWidget': 'Adicionar widget', - 'hideMap': 'Ocultar mapa', - }; + 'start': 'Iniciar', + 'description': + 'Aplicativo de previsão do tempo com previsão atualizada para cada hora, dia e semana para qualquer local.', + 'name': 'Clima', + 'name2': 'Design Conveniente', + 'name3': 'Entre em Contato Conosco', + 'description2': + 'Toda a navegação é projetada para interagir com o aplicativo da maneira mais conveniente e rápida possível.', + 'description3': + 'Se você encontrar algum problema, entre em contato conosco por e-mail ou nas avaliações do aplicativo.', + 'next': 'Próximo', + 'search': 'Pesquisar...', + 'loading': 'Carregando...', + 'searchCity': 'Procure sua cidade', + 'humidity': 'Umidade', + 'wind': 'Vento', + 'visibility': 'Visibilidade', + 'feels': 'Sensação', + 'evaporation': 'Evapotranspirações', + 'precipitation': 'Precipitação', + 'direction': 'Direção', + 'pressure': 'Pressão', + 'rain': 'Chuva', + 'clear_sky': 'Céu limpo', + 'cloudy': 'Nublado', + 'overcast': 'Encoberto', + 'fog': 'Névoa', + 'drizzle': 'Garoa', + 'drizzling_rain': 'Chuva fraca', + 'freezing_rain': 'Chuva congelante', + 'heavy_rains': 'Chuva pesada', + 'snow': 'Neve', + 'thunderstorm': 'Tempestade', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Configurações.', + 'no_inter': 'Sem conexão', + 'on_inter': 'Conecte-se a internet para atualizar os dados de clima.', + 'location': 'Localização', + 'no_location': + 'Habilite a localização para obter dados de clima do local atual.', + 'theme': 'Tema', + 'low': 'Baixo', + 'high': 'Alto', + 'normal': 'Normal', + 'lat': 'Latitude', + 'lon': 'Longitude', + 'create': 'Criar', + 'city': 'Cidade', + 'district': 'Distrito', + 'noWeatherCard': 'Adicione uma cidade', + 'deletedCardWeather': 'Deletando a cidade', + 'deletedCardWeatherQuery': + 'Você tem certeza que deseja remover esta cidade?', + 'delete': 'Deletar', + 'cancel': 'Cancelar', + 'time': 'Clima na cidade', + 'validateName': 'Por favor escreva um nome', + 'measurements': 'Sistema de medidas', + 'degrees': 'Graus', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperial', + 'metric': 'Métrico', + 'validateValue': 'Por favor escreva um valor', + 'validateNumber': 'Por favor escreva um número válido', + 'validate90': 'Valor deve estar entre -90 and 90', + 'validate180': 'Valor deve estar entre -180 and 180', + 'notifications': 'Notificações', + 'sunrise': 'Nascer do sol', + 'sunset': 'Pôr do sol', + 'timeformat': 'Formato de hora', + '12': '12 horas', + '24': '24 horas', + 'cloudcover': 'Сobertura de nuvens', + 'uvIndex': 'UV-índice', + 'materialColor': 'Cores Dinâmicas', + 'uvLow': 'Baixo', + 'uvAverage': 'Moderado', + 'uvHigh': 'Alto', + 'uvVeryHigh': 'Muito alto', + 'uvExtreme': 'Extremo', + 'weatherMore': 'Previsão do tempo para 12 dias', + 'windgusts': 'Rajadas', + 'north': 'Norte', + 'northeast': 'Nordeste', + 'east': 'Leste', + 'southeast': 'Sudeste', + 'south': 'Sul', + 'southwest': 'Sudoeste', + 'west': 'Oeste', + 'northwest': 'Noroeste', + 'project': 'Projeto em', + 'version': 'Versão do aplicativo', + 'precipitationProbability': 'Probabilidade de precipitação', + 'apparentTemperatureMin': 'Temperatura aparente mínima', + 'apparentTemperatureMax': 'Temperatura aparente máxima', + 'amoledTheme': 'AMOLED-tema', + 'appearance': 'Aparência', + 'functions': 'Funções', + 'data': 'Dados', + 'language': 'Idioma', + 'timeRange': 'Frequência (em horas)', + 'timeStart': 'Hora de início', + 'timeEnd': 'Hora de término', + 'support': 'Suporte', + 'system': 'Sistema', + 'dark': 'Escuro', + 'light': 'Claro', + 'license': 'Licenças', + 'widget': 'Widget', + 'widgetBackground': 'Fundo do widget', + 'widgetText': 'Texto do widget', + 'dewpoint': 'Ponto de orvalho', + 'shortwaveRadiation': 'Radiação de ondas curtas', + 'roundDegree': 'Arredondar graus', + 'settings_full': 'Configurações', + 'cities': 'Cidades', + 'searchMethod': 'Use a pesquisa ou a geolocalização', + 'done': 'Concluído', + 'groups': 'Nossos grupos', + 'openMeteo': 'Dados do Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Variáveis meteorológicas horárias', + 'dailyVariables': 'Variáveis meteorológicas diárias', + 'largeElement': 'Exibição grande do clima', + 'map': 'Mapa', + 'clearCacheStore': 'Limpar cache', + 'deletedCacheStore': 'Limpando cache', + 'deletedCacheStoreQuery': 'Tem certeza de que deseja limpar o cache?', + 'addWidget': 'Adicionar widget', + 'hideMap': 'Ocultar mapa', + }; } diff --git a/lib/translation/ro_ro.dart b/lib/translation/ro_ro.dart index ebedf86..0dc7af8 100644 --- a/lib/translation/ro_ro.dart +++ b/lib/translation/ro_ro.dart @@ -1,141 +1,141 @@ class RoRo { Map get messages => { - 'start': 'Începe', - 'description': - 'Aplicație meteo cu o prognoză actualizată pentru fiecare oră, zi și săptămână pentru orice loc.', - 'name': 'Vremea', - 'name2': 'Design Convenabil', - 'name3': 'Contactați-ne', - 'description2': - 'Toată navigarea este concepută pentru a interacționa cu aplicația în cel mai comod și rapid mod posibil.', - 'description3': - 'Dacă întâmpinați orice probleme, vă rugăm să ne contactați prin e-mail sau în recenziile aplicației.', - 'next': 'Următorul', - 'search': 'Caută...', - 'loading': 'Încărcare...', - 'searchCity': 'Caută oraș', - 'humidity': 'Umiditate', - 'wind': 'Vânt', - 'visibility': 'Vizibilitate', - 'feels': 'Se simt', - 'evaporation': 'Evapotranspirație', - 'precipitation': 'Precipitații', - 'direction': 'Direcție', - 'pressure': 'Presiune', - 'rain': 'Ploaie', - 'clear_sky': 'Senin', - 'cloudy': 'Înnorat', - 'overcast': 'Cer acoperit de nori', - 'fog': 'Ceață', - 'drizzle': 'Burniță', - 'drizzling_rain': 'Burniță înghețată', - 'freezing_rain': 'Ploaie înghețată', - 'heavy_rains': 'Ploaie torențială', - 'snow': 'Ninsoare', - 'thunderstorm': 'Furtună', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Set.', - 'no_inter': 'Fără Internet', - 'on_inter': 'Pornește Internetul pentru a obține date meteorologice.', - 'location': 'Locație', - 'no_location': - 'Activează serviciul de localizare pentru a obține date meteorologice pentru locația curentă.', - 'theme': 'Temă', - 'low': 'Scăzut', - 'high': 'Ridicat', - 'normal': 'Normal', - 'lat': 'Latitudine', - 'lon': 'Longitudine', - 'create': 'Crează', - 'city': 'Oraș', - 'district': 'District', - 'noWeatherCard': 'Adaugă un oraș', - 'deletedCardWeather': 'Ștergerea orașului', - 'deletedCardWeatherQuery': 'Ești sigur că vrei să ștergi orașul?', - 'delete': 'Șterge', - 'cancel': 'Anulează', - 'time': 'Ora în oraș', - 'validateName': 'Introdu numele', - 'measurements': 'Sistemul de măsuri', - 'degrees': 'Grade', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperial', - 'metric': 'Metric', - 'validateValue': 'Introdu o valoare', - 'validateNumber': 'Introdu un număr valid', - 'validate90': 'Valoarea trebuie să fie între -90 și 90', - 'validate180': 'Valoarea trebuie să fie între -180 și 180', - 'notifications': 'Notificări', - 'sunrise': 'Răsărit', - 'sunset': 'Apus', - 'timeformat': 'Format orar', - '12': '12 ore', - '24': '24 ore', - 'cloudcover': 'Acoperirea norilor', - 'uvIndex': 'Index UV', - 'materialColor': 'Culori dinamice (Android 12+)', - 'uvLow': 'Scăzut', - 'uvAverage': 'Moderat', - 'uvHigh': 'Ridicat', - 'uvVeryHigh': 'Foarte ridicat', - 'uvExtreme': 'Extrem', - 'weatherMore': 'Prognoza pe 12 zile', - 'windgusts': 'Rafale de vânt', - 'north': 'Nord', - 'northeast': 'Nord-est', - 'east': 'Est', - 'southeast': 'Sud-est', - 'south': 'Sud', - 'southwest': 'Sud-vest', - 'west': 'Vest', - 'northwest': 'Nord-vest', - 'project': 'Proiectul pe', - 'version': 'Versiunea aplicației', - 'precipitationProbability': 'Probabilitatea precipitațiilor', - 'apparentTemperatureMin': 'Temperatura minimă aparentă', - 'apparentTemperatureMax': 'Temperatura maximă aparentă', - 'amoledTheme': 'Temă AMOLED', - 'appearance': 'Aspect', - 'functions': 'Funcții', - 'data': 'Data', - 'language': 'Limba', - 'timeRange': 'Frecvența (în ore)', - 'timeStart': 'Ora de început', - 'timeEnd': 'Ora de sfârșit', - 'support': 'Suport', - 'system': 'Sistem', - 'dark': 'Întunecat', - 'light': 'Luminos', - 'license': 'Licențe', - 'widget': 'Widget', - 'widgetBackground': 'Fundal widget', - 'widgetText': 'Text widget', - 'dewpoint': 'Punct de rouă', - 'shortwaveRadiation': 'Radiație cu unde scurte', - 'roundDegree': 'Rotunjire grade', - 'settings_full': 'Setări', - 'cities': 'Orașe', - 'searchMethod': 'Folosiți căutarea sau geolocația', - 'done': 'Gata', - 'groups': 'Grupurile noastre', - 'openMeteo': 'Date de la Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Variabile meteorologice orare', - 'dailyVariables': 'Variabile meteorologice zilnice', - 'largeElement': 'Afișare mare a vremii', - 'map': 'Hartă', - 'clearCacheStore': 'Șterge cache-ul', - 'deletedCacheStore': 'Ștergerea cache-ului', - 'deletedCacheStoreQuery': 'Ești sigur că vrei să ștergi cache-ul?', - 'addWidget': 'Adaugă widget', - 'hideMap': 'Ascunde harta', - }; + 'start': 'Începe', + 'description': + 'Aplicație meteo cu o prognoză actualizată pentru fiecare oră, zi și săptămână pentru orice loc.', + 'name': 'Vremea', + 'name2': 'Design Convenabil', + 'name3': 'Contactați-ne', + 'description2': + 'Toată navigarea este concepută pentru a interacționa cu aplicația în cel mai comod și rapid mod posibil.', + 'description3': + 'Dacă întâmpinați orice probleme, vă rugăm să ne contactați prin e-mail sau în recenziile aplicației.', + 'next': 'Următorul', + 'search': 'Caută...', + 'loading': 'Încărcare...', + 'searchCity': 'Caută oraș', + 'humidity': 'Umiditate', + 'wind': 'Vânt', + 'visibility': 'Vizibilitate', + 'feels': 'Se simt', + 'evaporation': 'Evapotranspirație', + 'precipitation': 'Precipitații', + 'direction': 'Direcție', + 'pressure': 'Presiune', + 'rain': 'Ploaie', + 'clear_sky': 'Senin', + 'cloudy': 'Înnorat', + 'overcast': 'Cer acoperit de nori', + 'fog': 'Ceață', + 'drizzle': 'Burniță', + 'drizzling_rain': 'Burniță înghețată', + 'freezing_rain': 'Ploaie înghețată', + 'heavy_rains': 'Ploaie torențială', + 'snow': 'Ninsoare', + 'thunderstorm': 'Furtună', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Set.', + 'no_inter': 'Fără Internet', + 'on_inter': 'Pornește Internetul pentru a obține date meteorologice.', + 'location': 'Locație', + 'no_location': + 'Activează serviciul de localizare pentru a obține date meteorologice pentru locația curentă.', + 'theme': 'Temă', + 'low': 'Scăzut', + 'high': 'Ridicat', + 'normal': 'Normal', + 'lat': 'Latitudine', + 'lon': 'Longitudine', + 'create': 'Crează', + 'city': 'Oraș', + 'district': 'District', + 'noWeatherCard': 'Adaugă un oraș', + 'deletedCardWeather': 'Ștergerea orașului', + 'deletedCardWeatherQuery': 'Ești sigur că vrei să ștergi orașul?', + 'delete': 'Șterge', + 'cancel': 'Anulează', + 'time': 'Ora în oraș', + 'validateName': 'Introdu numele', + 'measurements': 'Sistemul de măsuri', + 'degrees': 'Grade', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperial', + 'metric': 'Metric', + 'validateValue': 'Introdu o valoare', + 'validateNumber': 'Introdu un număr valid', + 'validate90': 'Valoarea trebuie să fie între -90 și 90', + 'validate180': 'Valoarea trebuie să fie între -180 și 180', + 'notifications': 'Notificări', + 'sunrise': 'Răsărit', + 'sunset': 'Apus', + 'timeformat': 'Format orar', + '12': '12 ore', + '24': '24 ore', + 'cloudcover': 'Acoperirea norilor', + 'uvIndex': 'Index UV', + 'materialColor': 'Culori dinamice (Android 12+)', + 'uvLow': 'Scăzut', + 'uvAverage': 'Moderat', + 'uvHigh': 'Ridicat', + 'uvVeryHigh': 'Foarte ridicat', + 'uvExtreme': 'Extrem', + 'weatherMore': 'Prognoza pe 12 zile', + 'windgusts': 'Rafale de vânt', + 'north': 'Nord', + 'northeast': 'Nord-est', + 'east': 'Est', + 'southeast': 'Sud-est', + 'south': 'Sud', + 'southwest': 'Sud-vest', + 'west': 'Vest', + 'northwest': 'Nord-vest', + 'project': 'Proiectul pe', + 'version': 'Versiunea aplicației', + 'precipitationProbability': 'Probabilitatea precipitațiilor', + 'apparentTemperatureMin': 'Temperatura minimă aparentă', + 'apparentTemperatureMax': 'Temperatura maximă aparentă', + 'amoledTheme': 'Temă AMOLED', + 'appearance': 'Aspect', + 'functions': 'Funcții', + 'data': 'Data', + 'language': 'Limba', + 'timeRange': 'Frecvența (în ore)', + 'timeStart': 'Ora de început', + 'timeEnd': 'Ora de sfârșit', + 'support': 'Suport', + 'system': 'Sistem', + 'dark': 'Întunecat', + 'light': 'Luminos', + 'license': 'Licențe', + 'widget': 'Widget', + 'widgetBackground': 'Fundal widget', + 'widgetText': 'Text widget', + 'dewpoint': 'Punct de rouă', + 'shortwaveRadiation': 'Radiație cu unde scurte', + 'roundDegree': 'Rotunjire grade', + 'settings_full': 'Setări', + 'cities': 'Orașe', + 'searchMethod': 'Folosiți căutarea sau geolocația', + 'done': 'Gata', + 'groups': 'Grupurile noastre', + 'openMeteo': 'Date de la Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Variabile meteorologice orare', + 'dailyVariables': 'Variabile meteorologice zilnice', + 'largeElement': 'Afișare mare a vremii', + 'map': 'Hartă', + 'clearCacheStore': 'Șterge cache-ul', + 'deletedCacheStore': 'Ștergerea cache-ului', + 'deletedCacheStoreQuery': 'Ești sigur că vrei să ștergi cache-ul?', + 'addWidget': 'Adaugă widget', + 'hideMap': 'Ascunde harta', + }; } diff --git a/lib/translation/ru_ru.dart b/lib/translation/ru_ru.dart index eb18357..f041ab6 100644 --- a/lib/translation/ru_ru.dart +++ b/lib/translation/ru_ru.dart @@ -1,142 +1,142 @@ class RuRu { Map get messages => { - 'start': 'Начать', - 'description': - 'Приложение погоды с актуальным прогнозом на каждый час, день и неделю для любого места.', - 'name': 'Погода', - 'name2': 'Удобный дизайн', - 'name3': 'Связаться с нами', - 'description2': - 'Вся навигация сделана таким образом, чтобы можно было взаимодействовать с приложением максимально удобно и быстро.', - 'description3': - 'Если у вас возникнут какие-либо проблемы, пожалуйста, свяжитесь с нами по электронной почте или в отзывах приложения.', - 'next': 'Далее', - 'search': 'Поиск...', - 'loading': 'Загрузка...', - 'searchCity': 'Найдите свой город', - 'humidity': 'Влажность', - 'wind': 'Ветер', - 'visibility': 'Видимость', - 'feels': 'Ощущается', - 'evaporation': 'Испарения', - 'precipitation': 'Осадки', - 'direction': 'Направление', - 'pressure': 'Давление', - 'rain': 'Дождь', - 'clear_sky': 'Чистое небо', - 'cloudy': 'Облачно', - 'overcast': 'Пасмурно', - 'fog': 'Туман', - 'drizzle': 'Морось', - 'drizzling_rain': 'Моросящий дождь', - 'freezing_rain': 'Ледяной дождь', - 'heavy_rains': 'Ливневые дожди', - 'snow': 'Снег', - 'thunderstorm': 'Гроза', - 'kph': 'км/ч', - 'm/s': 'м/с', - 'mmHg': 'мм рт. ст.', - 'mph': 'миль/ч', - 'mi': 'миль', - 'km': 'км', - 'inch': 'дюйм', - 'mm': 'мм', - 'hPa': 'гПа', - 'settings': 'Настр.', - 'no_inter': 'Нет интернета', - 'on_inter': 'Включите интернет для получения метеорологических данных.', - 'location': 'Местоположение', - 'no_location': - 'Включите службу определения местоположения для получения метеорологических данных для текущего местоположения.', - 'theme': 'Тема', - 'low': 'Низкое', - 'high': 'Высокое', - 'normal': 'Нормальное', - 'lat': 'Широта', - 'lon': 'Долгота', - 'create': 'Создание', - 'city': 'Город', - 'district': 'Район', - 'noWeatherCard': 'Добавьте город', - 'deletedCardWeather': 'Удаление города', - 'deletedCardWeatherQuery': 'Вы уверены, что хотите удалить город?', - 'delete': 'Удалить', - 'cancel': 'Отмена', - 'time': 'Время в городе', - 'validateName': 'Пожалуйста, введите название', - 'measurements': 'Система мер', - 'degrees': 'Градусы', - 'celsius': 'Цельсия', - 'fahrenheit': 'Фаренгейта', - 'imperial': 'Имперская', - 'metric': 'Метрическая', - 'validateValue': 'Пожалуйста, введите значение', - 'validateNumber': 'Пожалуйста, введите число', - 'validate90': 'Значение должно быть в диапазоне от -90 до 90', - 'validate180': 'Значение должно быть в диапазоне от -180 до 180', - 'notifications': 'Уведомления', - 'sunrise': 'Рассвет', - 'sunset': 'Закат', - 'timeformat': 'Формат времени', - '12': '12-часовой', - '24': '24-часовой', - 'cloudcover': 'Облачный покров', - 'uvIndex': 'УФ-индекс', - 'materialColor': 'Динамические цвета', - 'uvLow': 'Низкий', - 'uvAverage': 'Умеренный', - 'uvHigh': 'Высокий', - 'uvVeryHigh': 'Очень высокий', - 'uvExtreme': 'Экстремальный', - 'weatherMore': 'Прогноз погоды на 12 дней', - 'windgusts': 'Шквал', - 'north': 'Север', - 'northeast': 'Северо-восток', - 'east': 'Восток', - 'southeast': 'Юго-восток', - 'south': 'Юг', - 'southwest': 'Юго-запад', - 'west': 'Запад', - 'northwest': 'Северо-запад', - 'project': 'Проект на', - 'version': 'Версия приложения', - 'precipitationProbability': 'Вероятность выпадения осадков', - 'apparentTemperatureMin': 'Минимальная ощущаемая температура', - 'apparentTemperatureMax': 'Максимальная ощущаемая температура', - 'amoledTheme': 'AMOLED-тема', - 'appearance': 'Внешний вид', - 'functions': 'Функции', - 'data': 'Данные', - 'language': 'Язык', - 'timeRange': 'Периодичность (в часах)', - 'timeStart': 'Время начала', - 'timeEnd': 'Время окончания', - 'support': 'Поддержка', - 'system': 'Системная', - 'dark': 'Тёмная', - 'light': 'Светлая', - 'license': 'Лицензии', - 'widget': 'Виджет', - 'widgetBackground': 'Фон виджета', - 'widgetText': 'Текст виджета', - 'dewpoint': 'Точка росы', - 'shortwaveRadiation': 'Коротковолновое излучение', - 'W/m2': 'Вт/м2', - 'roundDegree': 'Округлить градусы', - 'settings_full': 'Настройки', - 'cities': 'Города', - 'searchMethod': 'Воспользуйтесь поиском или геолокацией', - 'done': 'Готово', - 'groups': 'Наши группы', - 'openMeteo': 'Данные от Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Почасовые погодные условия', - 'dailyVariables': 'Ежедневные погодные условия', - 'largeElement': 'Отображение погоды большим элементом', - 'map': 'Карта', - 'clearCacheStore': 'Очистить кэш', - 'deletedCacheStore': 'Очистка кэша', - 'deletedCacheStoreQuery': 'Вы уверены, что хотите очистить кэш?', - 'addWidget': 'Добавить виджет', - 'hideMap': 'Скрыть карту', - }; + 'start': 'Начать', + 'description': + 'Приложение погоды с актуальным прогнозом на каждый час, день и неделю для любого места.', + 'name': 'Погода', + 'name2': 'Удобный дизайн', + 'name3': 'Связаться с нами', + 'description2': + 'Вся навигация сделана таким образом, чтобы можно было взаимодействовать с приложением максимально удобно и быстро.', + 'description3': + 'Если у вас возникнут какие-либо проблемы, пожалуйста, свяжитесь с нами по электронной почте или в отзывах приложения.', + 'next': 'Далее', + 'search': 'Поиск...', + 'loading': 'Загрузка...', + 'searchCity': 'Найдите свой город', + 'humidity': 'Влажность', + 'wind': 'Ветер', + 'visibility': 'Видимость', + 'feels': 'Ощущается', + 'evaporation': 'Испарения', + 'precipitation': 'Осадки', + 'direction': 'Направление', + 'pressure': 'Давление', + 'rain': 'Дождь', + 'clear_sky': 'Чистое небо', + 'cloudy': 'Облачно', + 'overcast': 'Пасмурно', + 'fog': 'Туман', + 'drizzle': 'Морось', + 'drizzling_rain': 'Моросящий дождь', + 'freezing_rain': 'Ледяной дождь', + 'heavy_rains': 'Ливневые дожди', + 'snow': 'Снег', + 'thunderstorm': 'Гроза', + 'kph': 'км/ч', + 'm/s': 'м/с', + 'mmHg': 'мм рт. ст.', + 'mph': 'миль/ч', + 'mi': 'миль', + 'km': 'км', + 'inch': 'дюйм', + 'mm': 'мм', + 'hPa': 'гПа', + 'settings': 'Настр.', + 'no_inter': 'Нет интернета', + 'on_inter': 'Включите интернет для получения метеорологических данных.', + 'location': 'Местоположение', + 'no_location': + 'Включите службу определения местоположения для получения метеорологических данных для текущего местоположения.', + 'theme': 'Тема', + 'low': 'Низкое', + 'high': 'Высокое', + 'normal': 'Нормальное', + 'lat': 'Широта', + 'lon': 'Долгота', + 'create': 'Создание', + 'city': 'Город', + 'district': 'Район', + 'noWeatherCard': 'Добавьте город', + 'deletedCardWeather': 'Удаление города', + 'deletedCardWeatherQuery': 'Вы уверены, что хотите удалить город?', + 'delete': 'Удалить', + 'cancel': 'Отмена', + 'time': 'Время в городе', + 'validateName': 'Пожалуйста, введите название', + 'measurements': 'Система мер', + 'degrees': 'Градусы', + 'celsius': 'Цельсия', + 'fahrenheit': 'Фаренгейта', + 'imperial': 'Имперская', + 'metric': 'Метрическая', + 'validateValue': 'Пожалуйста, введите значение', + 'validateNumber': 'Пожалуйста, введите число', + 'validate90': 'Значение должно быть в диапазоне от -90 до 90', + 'validate180': 'Значение должно быть в диапазоне от -180 до 180', + 'notifications': 'Уведомления', + 'sunrise': 'Рассвет', + 'sunset': 'Закат', + 'timeformat': 'Формат времени', + '12': '12-часовой', + '24': '24-часовой', + 'cloudcover': 'Облачный покров', + 'uvIndex': 'УФ-индекс', + 'materialColor': 'Динамические цвета', + 'uvLow': 'Низкий', + 'uvAverage': 'Умеренный', + 'uvHigh': 'Высокий', + 'uvVeryHigh': 'Очень высокий', + 'uvExtreme': 'Экстремальный', + 'weatherMore': 'Прогноз погоды на 12 дней', + 'windgusts': 'Шквал', + 'north': 'Север', + 'northeast': 'Северо-восток', + 'east': 'Восток', + 'southeast': 'Юго-восток', + 'south': 'Юг', + 'southwest': 'Юго-запад', + 'west': 'Запад', + 'northwest': 'Северо-запад', + 'project': 'Проект на', + 'version': 'Версия приложения', + 'precipitationProbability': 'Вероятность выпадения осадков', + 'apparentTemperatureMin': 'Минимальная ощущаемая температура', + 'apparentTemperatureMax': 'Максимальная ощущаемая температура', + 'amoledTheme': 'AMOLED-тема', + 'appearance': 'Внешний вид', + 'functions': 'Функции', + 'data': 'Данные', + 'language': 'Язык', + 'timeRange': 'Периодичность (в часах)', + 'timeStart': 'Время начала', + 'timeEnd': 'Время окончания', + 'support': 'Поддержка', + 'system': 'Системная', + 'dark': 'Тёмная', + 'light': 'Светлая', + 'license': 'Лицензии', + 'widget': 'Виджет', + 'widgetBackground': 'Фон виджета', + 'widgetText': 'Текст виджета', + 'dewpoint': 'Точка росы', + 'shortwaveRadiation': 'Коротковолновое излучение', + 'W/m2': 'Вт/м2', + 'roundDegree': 'Округлить градусы', + 'settings_full': 'Настройки', + 'cities': 'Города', + 'searchMethod': 'Воспользуйтесь поиском или геолокацией', + 'done': 'Готово', + 'groups': 'Наши группы', + 'openMeteo': 'Данные от Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Почасовые погодные условия', + 'dailyVariables': 'Ежедневные погодные условия', + 'largeElement': 'Отображение погоды большим элементом', + 'map': 'Карта', + 'clearCacheStore': 'Очистить кэш', + 'deletedCacheStore': 'Очистка кэша', + 'deletedCacheStoreQuery': 'Вы уверены, что хотите очистить кэш?', + 'addWidget': 'Добавить виджет', + 'hideMap': 'Скрыть карту', + }; } diff --git a/lib/translation/sk_sk.dart b/lib/translation/sk_sk.dart index cb9392f..a4cd7d9 100644 --- a/lib/translation/sk_sk.dart +++ b/lib/translation/sk_sk.dart @@ -1,142 +1,142 @@ class SkSk { Map get messages => { - 'start': 'Začať', - 'description': - 'Aplikácia počasia s aktuálnym predpoveďou pre každú hodinu, deň a týždeň pre akékoľvek miesto.', - 'name': 'Počasie', - 'name2': 'Pohodlný dizajn', - 'name3': 'Kontaktujte nás', - 'description2': - 'Celá navigácia je navrhnutá tak, aby sa s aplikáciou dalo interagovať čo najpohodlnejšie a najrýchlejšie.', - 'description3': - 'Ak sa vyskytnú nejaké problémy, kontaktujte nás prosím e-mailom alebo v recenziách aplikácie.', - 'next': 'Ďalej', - 'search': 'Hľadať...', - 'loading': 'Načítava sa...', - 'searchCity': 'Nájdite svoje miesto', - 'humidity': 'Vlhkosť', - 'wind': 'Vietor', - 'visibility': 'Viditeľnosť', - 'feels': 'Pocitová teplota', - 'evaporation': 'Evapotranspirácia', - 'precipitation': 'Zrážky', - 'direction': 'Smer', - 'pressure': 'Tlak', - 'rain': 'Dážď', - 'clear_sky': 'Jasno', - 'cloudy': 'Oblačno', - 'overcast': 'Zamračené', - 'fog': 'Hmla', - 'drizzle': 'Mrholenie', - 'drizzling_rain': 'Mrznúce mrholenie', - 'freezing_rain': 'Mrazivý dážď', - 'heavy_rains': 'Prehánky', - 'snow': 'Sneh', - 'thunderstorm': 'Búrka', - 'kph': 'km/h', - 'mph': 'mph', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mi', - 'km': 'km', - 'inch': 'inch', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Nast.', - 'no_inter': 'Žiadny internet', - 'on_inter': 'Pripojte sa na internet a získajte meteorologické údaje.', - 'location': 'Poloha', - 'no_location': - 'Ak chcete získať údaje o počasí pre aktuálnu polohu, povoľte službu určovania polohy.', - 'theme': 'Téma', - 'low': 'Nízky', - 'high': 'Vysoký', - 'normal': 'Normálny', - 'lat': 'Zemepisná šírka', - 'lon': 'Zemepisná dĺžka', - 'create': 'Vytvoriť', - 'city': 'Miesto', - 'district': 'Okres', - 'noWeatherCard': 'Pridať mesto', - 'deletedCardWeather': 'Vymazať mesto', - 'deletedCardWeatherQuery': 'Naozaj chcete odstrániť mesto?', - 'delete': 'Odstrániť', - 'cancel': 'Zrušiť', - 'time': 'Čas v meste', - 'validateName': 'Prosím zadajte názov', - 'measurements': 'Jednotky merania', - 'degrees': 'Stupňe', - 'celsius': 'Celzius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'Imperiálne', - 'metric': 'Metrické', - 'validateValue': 'Zadajte hodnotu', - 'validateNumber': 'Zadajte platné číslo', - 'validate90': 'Hodnota musí byť medzi -90 a 90', - 'validate180': 'Hodnota musí byť medzi -180 a 180', - 'notifications': 'Notifikácie', - 'sunrise': 'Východ slnka', - 'sunset': 'Západ slnka', - 'timeformat': 'Formát času', - '12': '12-hodinový', - '24': '24-hodinový', - 'cloudcover': 'Oblačnosť', - 'uvIndex': 'UV-index', - 'materialColor': 'Dynamické Farby', - 'uvLow': 'Nízky', - 'uvAverage': 'Mierny', - 'uvHigh': 'Vysoký', - 'uvVeryHigh': 'Veľmi vysoký', - 'uvExtreme': 'Extrémny', - 'weatherMore': 'Predpoveď počasia na 12 dní', - 'windgusts': 'Nárazy vetra', - 'north': 'Sever', - 'northeast': 'Severo-Východ', - 'east': 'Východ', - 'southeast': 'Juhovýchod', - 'south': 'Juž', - 'southwest': 'Juhozápad', - 'west': 'Západ', - 'northwest': 'Severo-Západ', - 'project': 'Projekt na', - 'version': 'Verzia aplikácie', - 'precipitationProbability': 'Pravdepodobnosť zrážok', - 'apparentTemperatureMin': 'Minimálna pocitová teplota', - 'apparentTemperatureMax': 'Maximálna pocitová teplota', - 'amoledTheme': 'AMOLED-téma', - 'appearance': 'Vzhľad', - 'functions': 'Funkcie', - 'data': 'Dáta', - 'language': 'Jazyk', - 'timeRange': 'Frekvencia (v hodinách)', - 'timeStart': 'Čas začiatku', - 'timeEnd': 'Čas ukončenia', - 'support': 'Podpora', - 'system': 'Systém', - 'dark': 'Tmavá', - 'light': 'Svetlá', - 'license': 'Licencie', - 'widget': 'Widget', - 'widgetBackground': 'Pozadie widgetu', - 'widgetText': 'Text widgetu', - 'dewpoint': 'Rosný bod', - 'shortwaveRadiation': 'Krátka vlnová radiácia', - 'roundDegree': 'Zaokrúhliť stupne', - 'settings_full': 'Nastavenia', - 'cities': 'Mestá', - 'searchMethod': 'Použite vyhľadávanie alebo geolokáciu', - 'done': 'Hotovo', - 'groups': 'Naše skupiny', - 'openMeteo': 'Údaje od Open-Meteo (CC-BY 4.0)', - 'hourlyVariables': 'Hodinové meteorologické premenné', - 'dailyVariables': 'Denné meteorologické premenné', - 'largeElement': 'Veľké zobrazenie počasia', - 'map': 'Mapa', - 'clearCacheStore': 'Vymazať vyrovnávaciu pamäť', - 'deletedCacheStore': 'Vymazávanie vyrovnávacej pamäte', - 'deletedCacheStoreQuery': - 'Ste si istí, že chcete vymazať vyrovnávaciu pamäť?', - 'addWidget': 'Pridať widget', - 'hideMap': 'Skryť mapu', - }; + 'start': 'Začať', + 'description': + 'Aplikácia počasia s aktuálnym predpoveďou pre každú hodinu, deň a týždeň pre akékoľvek miesto.', + 'name': 'Počasie', + 'name2': 'Pohodlný dizajn', + 'name3': 'Kontaktujte nás', + 'description2': + 'Celá navigácia je navrhnutá tak, aby sa s aplikáciou dalo interagovať čo najpohodlnejšie a najrýchlejšie.', + 'description3': + 'Ak sa vyskytnú nejaké problémy, kontaktujte nás prosím e-mailom alebo v recenziách aplikácie.', + 'next': 'Ďalej', + 'search': 'Hľadať...', + 'loading': 'Načítava sa...', + 'searchCity': 'Nájdite svoje miesto', + 'humidity': 'Vlhkosť', + 'wind': 'Vietor', + 'visibility': 'Viditeľnosť', + 'feels': 'Pocitová teplota', + 'evaporation': 'Evapotranspirácia', + 'precipitation': 'Zrážky', + 'direction': 'Smer', + 'pressure': 'Tlak', + 'rain': 'Dážď', + 'clear_sky': 'Jasno', + 'cloudy': 'Oblačno', + 'overcast': 'Zamračené', + 'fog': 'Hmla', + 'drizzle': 'Mrholenie', + 'drizzling_rain': 'Mrznúce mrholenie', + 'freezing_rain': 'Mrazivý dážď', + 'heavy_rains': 'Prehánky', + 'snow': 'Sneh', + 'thunderstorm': 'Búrka', + 'kph': 'km/h', + 'mph': 'mph', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mi', + 'km': 'km', + 'inch': 'inch', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Nast.', + 'no_inter': 'Žiadny internet', + 'on_inter': 'Pripojte sa na internet a získajte meteorologické údaje.', + 'location': 'Poloha', + 'no_location': + 'Ak chcete získať údaje o počasí pre aktuálnu polohu, povoľte službu určovania polohy.', + 'theme': 'Téma', + 'low': 'Nízky', + 'high': 'Vysoký', + 'normal': 'Normálny', + 'lat': 'Zemepisná šírka', + 'lon': 'Zemepisná dĺžka', + 'create': 'Vytvoriť', + 'city': 'Miesto', + 'district': 'Okres', + 'noWeatherCard': 'Pridať mesto', + 'deletedCardWeather': 'Vymazať mesto', + 'deletedCardWeatherQuery': 'Naozaj chcete odstrániť mesto?', + 'delete': 'Odstrániť', + 'cancel': 'Zrušiť', + 'time': 'Čas v meste', + 'validateName': 'Prosím zadajte názov', + 'measurements': 'Jednotky merania', + 'degrees': 'Stupňe', + 'celsius': 'Celzius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'Imperiálne', + 'metric': 'Metrické', + 'validateValue': 'Zadajte hodnotu', + 'validateNumber': 'Zadajte platné číslo', + 'validate90': 'Hodnota musí byť medzi -90 a 90', + 'validate180': 'Hodnota musí byť medzi -180 a 180', + 'notifications': 'Notifikácie', + 'sunrise': 'Východ slnka', + 'sunset': 'Západ slnka', + 'timeformat': 'Formát času', + '12': '12-hodinový', + '24': '24-hodinový', + 'cloudcover': 'Oblačnosť', + 'uvIndex': 'UV-index', + 'materialColor': 'Dynamické Farby', + 'uvLow': 'Nízky', + 'uvAverage': 'Mierny', + 'uvHigh': 'Vysoký', + 'uvVeryHigh': 'Veľmi vysoký', + 'uvExtreme': 'Extrémny', + 'weatherMore': 'Predpoveď počasia na 12 dní', + 'windgusts': 'Nárazy vetra', + 'north': 'Sever', + 'northeast': 'Severo-Východ', + 'east': 'Východ', + 'southeast': 'Juhovýchod', + 'south': 'Juž', + 'southwest': 'Juhozápad', + 'west': 'Západ', + 'northwest': 'Severo-Západ', + 'project': 'Projekt na', + 'version': 'Verzia aplikácie', + 'precipitationProbability': 'Pravdepodobnosť zrážok', + 'apparentTemperatureMin': 'Minimálna pocitová teplota', + 'apparentTemperatureMax': 'Maximálna pocitová teplota', + 'amoledTheme': 'AMOLED-téma', + 'appearance': 'Vzhľad', + 'functions': 'Funkcie', + 'data': 'Dáta', + 'language': 'Jazyk', + 'timeRange': 'Frekvencia (v hodinách)', + 'timeStart': 'Čas začiatku', + 'timeEnd': 'Čas ukončenia', + 'support': 'Podpora', + 'system': 'Systém', + 'dark': 'Tmavá', + 'light': 'Svetlá', + 'license': 'Licencie', + 'widget': 'Widget', + 'widgetBackground': 'Pozadie widgetu', + 'widgetText': 'Text widgetu', + 'dewpoint': 'Rosný bod', + 'shortwaveRadiation': 'Krátka vlnová radiácia', + 'roundDegree': 'Zaokrúhliť stupne', + 'settings_full': 'Nastavenia', + 'cities': 'Mestá', + 'searchMethod': 'Použite vyhľadávanie alebo geolokáciu', + 'done': 'Hotovo', + 'groups': 'Naše skupiny', + 'openMeteo': 'Údaje od Open-Meteo (CC-BY 4.0)', + 'hourlyVariables': 'Hodinové meteorologické premenné', + 'dailyVariables': 'Denné meteorologické premenné', + 'largeElement': 'Veľké zobrazenie počasia', + 'map': 'Mapa', + 'clearCacheStore': 'Vymazať vyrovnávaciu pamäť', + 'deletedCacheStore': 'Vymazávanie vyrovnávacej pamäte', + 'deletedCacheStoreQuery': + 'Ste si istí, že chcete vymazať vyrovnávaciu pamäť?', + 'addWidget': 'Pridať widget', + 'hideMap': 'Skryť mapu', + }; } diff --git a/lib/translation/tr_tr.dart b/lib/translation/tr_tr.dart index 03605bb..11628f6 100644 --- a/lib/translation/tr_tr.dart +++ b/lib/translation/tr_tr.dart @@ -1,142 +1,142 @@ class TrTr { Map get messages => { - 'start': 'Başlat', - 'description': - 'Herhangi bir yer için her saat, gün ve hafta için güncel hava durumu tahmini sunan hava durumu uygulaması.', - 'name': 'Hava Durumu', - 'name2': 'Pratik Tasarım', - 'name3': 'Bizimle İletişime Geçin', - 'description2': - 'Tüm gezinme, uygulama ile mümkün olduğunca rahat ve hızlı etkileşim kurmak için tasarlanmıştır.', - 'description3': - 'Herhangi bir sorunla karşılaşırsanız, lütfen bize e-posta veya uygulama yorumları aracılığıyla ulaşın.', - 'next': 'Devam', - 'search': 'Arayış...', - 'loading': 'Yükleniyor...', - 'searchCity': 'Şehrinizi bulun', - 'humidity': 'Nem', - 'wind': 'Rüzgar', - 'visibility': 'Görüş', - 'feels': 'Hissedilen', - 'evaporation': 'Buharlaşma', - 'precipitation': 'Yağış', - 'direction': 'Yön', - 'pressure': 'Basınç', - 'rain': 'Yağmur', - 'clear_sky': 'Açık gökyüzü', - 'cloudy': 'Bulutlu', - 'overcast': 'Kapalı', - 'fog': 'Sis', - 'drizzle': 'Çiseleme', - 'drizzling_rain': 'Çiseleyen Yağmur', - 'freezing_rain': 'Dondurucu Yağmur', - 'heavy_rains': 'Aşırı Yağmurlar', - 'snow': 'Kar', - 'thunderstorm': 'Gök Gürültülü Fırtına', - 'kph': 'km/sa', - 'mph': 'mil/sa', - 'm/s': 'm/s', - 'mmHg': 'mmHg', - 'mi': 'mil', - 'km': 'km', - 'inch': 'inç', - 'mm': 'mm', - 'hPa': 'hPa', - 'settings': 'Ayarlar', - 'no_inter': 'İnternet yok', - 'on_inter': 'Hava durumu verilerini almak için interneti açın.', - 'location': 'Konum', - 'no_location': - 'Mevcut konumun hava durumu verilerini almak için konum servisini açın.', - 'theme': 'Tema', - 'low': 'Düşük', - 'high': 'Yüksek', - 'normal': 'Normal', - 'lat': 'Enlem', - 'lon': 'Boylam', - 'create': 'Oluştur', - 'city': 'Şehir', - 'district': 'İlçe', - 'noWeatherCard': 'Şehri ekle', - 'deletedCardWeather': 'Şehir silme', - 'deletedCardWeatherQuery': 'Şehri silmek istediğinizden emin misiniz?', - 'delete': 'Sil', - 'cancel': 'İptal', - 'time': 'Şehirde Saat', - 'validateName': 'Lütfen bir isim girin', - 'measurements': 'Ölçüm sistemi', - 'degrees': 'Dereceler', - 'celsius': 'Celsius', - 'fahrenheit': 'Fahrenheit', - 'imperial': 'İmparatorluk', - 'metric': 'Metrik', - 'validateValue': 'Lütfen bir değer girin', - 'validateNumber': 'Lütfen bir sayı girin', - 'validate90': 'Değer -90 ile 90 arasında olmalıdır', - 'validate180': 'Değer -180 ile 180 arasında olmalıdır', - 'notifications': 'Bildirme', - 'sunrise': 'Güneş doğuşu', - 'sunset': 'Güneş batışı', - 'timeformat': 'Saat biçimi', - '12': '12 saat', - '24': '24 saat', - 'cloudcover': 'Bulut örtüsü', - 'uvIndex': 'UV-indeksi', - 'materialColor': 'Dinamik Renkler', - 'uvLow': 'Düşük', - 'uvAverage': 'Orta', - 'uvHigh': 'Yüksek', - 'uvVeryHigh': 'Çok yüksek', - 'uvExtreme': 'Aşırı', - 'weatherMore': '12 günlük hava tahmini', - 'windgusts': 'Bir telaş', - 'north': 'Kuzey', - 'northeast': 'Kuzeydoğu', - 'east': 'Doğu', - 'southeast': 'Güneydoğu', - 'south': 'Güney', - 'southwest': 'Güneybatı', - 'west': 'Batı', - 'northwest': 'Kuzeybatı', - 'project': 'Proje üzerinde', - 'version': 'Uygulama sürümü', - 'precipitationProbability': 'Yağış olasılığı', - 'apparentTemperatureMin': 'Minimum hissedilen sıcaklık', - 'apparentTemperatureMax': 'Maksimum hissedilen sıcaklık', - 'amoledTheme': 'AMOLED-teması', - 'appearance': 'Görünüm', - 'functions': 'Fonksiyonlar', - 'data': 'Veri', - 'language': 'Dil', - 'timeRange': 'Sıklık (saat cinsinden)', - 'timeStart': 'Başlangıç zamanı', - 'timeEnd': 'Bitiş zamanı', - 'support': 'Destek', - 'system': 'Sistem', - 'dark': 'Karanlık', - 'light': 'Aydınlık', - 'license': 'Lisanslar', - 'widget': 'Araç', - 'widgetBackground': 'Araç Arka Planı', - 'widgetText': 'Araç metni', - 'dewpoint': 'Çiğ noktası', - 'shortwaveRadiation': 'Kısa dalga radyasyonu', - 'roundDegree': 'Dereceleri yuvarla', - 'settings_full': 'Ayarlar', - 'cities': 'Şehirler', - 'searchMethod': 'Arama veya konum belirleme kullanın', - 'done': 'Tamam', - 'groups': 'Gruplarımız', - 'openMeteo': 'Open-Meteo\'dan veriler (CC-BY 4.0)', - 'hourlyVariables': 'Saatlik hava değişkenleri', - 'dailyVariables': 'Günlük hava değişkenleri', - 'largeElement': 'Büyük hava durumu gösterimi', - 'map': 'Harita', - 'clearCacheStore': 'Önbelleği temizle', - 'deletedCacheStore': 'Önbellek temizleniyor', - 'deletedCacheStoreQuery': - 'Önbelleği temizlemek istediğinizden emin misiniz?', - 'addWidget': 'Widget ekle', - 'hideMap': 'Haritayı gizle', - }; + 'start': 'Başlat', + 'description': + 'Herhangi bir yer için her saat, gün ve hafta için güncel hava durumu tahmini sunan hava durumu uygulaması.', + 'name': 'Hava Durumu', + 'name2': 'Pratik Tasarım', + 'name3': 'Bizimle İletişime Geçin', + 'description2': + 'Tüm gezinme, uygulama ile mümkün olduğunca rahat ve hızlı etkileşim kurmak için tasarlanmıştır.', + 'description3': + 'Herhangi bir sorunla karşılaşırsanız, lütfen bize e-posta veya uygulama yorumları aracılığıyla ulaşın.', + 'next': 'Devam', + 'search': 'Arayış...', + 'loading': 'Yükleniyor...', + 'searchCity': 'Şehrinizi bulun', + 'humidity': 'Nem', + 'wind': 'Rüzgar', + 'visibility': 'Görüş', + 'feels': 'Hissedilen', + 'evaporation': 'Buharlaşma', + 'precipitation': 'Yağış', + 'direction': 'Yön', + 'pressure': 'Basınç', + 'rain': 'Yağmur', + 'clear_sky': 'Açık gökyüzü', + 'cloudy': 'Bulutlu', + 'overcast': 'Kapalı', + 'fog': 'Sis', + 'drizzle': 'Çiseleme', + 'drizzling_rain': 'Çiseleyen Yağmur', + 'freezing_rain': 'Dondurucu Yağmur', + 'heavy_rains': 'Aşırı Yağmurlar', + 'snow': 'Kar', + 'thunderstorm': 'Gök Gürültülü Fırtına', + 'kph': 'km/sa', + 'mph': 'mil/sa', + 'm/s': 'm/s', + 'mmHg': 'mmHg', + 'mi': 'mil', + 'km': 'km', + 'inch': 'inç', + 'mm': 'mm', + 'hPa': 'hPa', + 'settings': 'Ayarlar', + 'no_inter': 'İnternet yok', + 'on_inter': 'Hava durumu verilerini almak için interneti açın.', + 'location': 'Konum', + 'no_location': + 'Mevcut konumun hava durumu verilerini almak için konum servisini açın.', + 'theme': 'Tema', + 'low': 'Düşük', + 'high': 'Yüksek', + 'normal': 'Normal', + 'lat': 'Enlem', + 'lon': 'Boylam', + 'create': 'Oluştur', + 'city': 'Şehir', + 'district': 'İlçe', + 'noWeatherCard': 'Şehri ekle', + 'deletedCardWeather': 'Şehir silme', + 'deletedCardWeatherQuery': 'Şehri silmek istediğinizden emin misiniz?', + 'delete': 'Sil', + 'cancel': 'İptal', + 'time': 'Şehirde Saat', + 'validateName': 'Lütfen bir isim girin', + 'measurements': 'Ölçüm sistemi', + 'degrees': 'Dereceler', + 'celsius': 'Celsius', + 'fahrenheit': 'Fahrenheit', + 'imperial': 'İmparatorluk', + 'metric': 'Metrik', + 'validateValue': 'Lütfen bir değer girin', + 'validateNumber': 'Lütfen bir sayı girin', + 'validate90': 'Değer -90 ile 90 arasında olmalıdır', + 'validate180': 'Değer -180 ile 180 arasında olmalıdır', + 'notifications': 'Bildirme', + 'sunrise': 'Güneş doğuşu', + 'sunset': 'Güneş batışı', + 'timeformat': 'Saat biçimi', + '12': '12 saat', + '24': '24 saat', + 'cloudcover': 'Bulut örtüsü', + 'uvIndex': 'UV-indeksi', + 'materialColor': 'Dinamik Renkler', + 'uvLow': 'Düşük', + 'uvAverage': 'Orta', + 'uvHigh': 'Yüksek', + 'uvVeryHigh': 'Çok yüksek', + 'uvExtreme': 'Aşırı', + 'weatherMore': '12 günlük hava tahmini', + 'windgusts': 'Bir telaş', + 'north': 'Kuzey', + 'northeast': 'Kuzeydoğu', + 'east': 'Doğu', + 'southeast': 'Güneydoğu', + 'south': 'Güney', + 'southwest': 'Güneybatı', + 'west': 'Batı', + 'northwest': 'Kuzeybatı', + 'project': 'Proje üzerinde', + 'version': 'Uygulama sürümü', + 'precipitationProbability': 'Yağış olasılığı', + 'apparentTemperatureMin': 'Minimum hissedilen sıcaklık', + 'apparentTemperatureMax': 'Maksimum hissedilen sıcaklık', + 'amoledTheme': 'AMOLED-teması', + 'appearance': 'Görünüm', + 'functions': 'Fonksiyonlar', + 'data': 'Veri', + 'language': 'Dil', + 'timeRange': 'Sıklık (saat cinsinden)', + 'timeStart': 'Başlangıç zamanı', + 'timeEnd': 'Bitiş zamanı', + 'support': 'Destek', + 'system': 'Sistem', + 'dark': 'Karanlık', + 'light': 'Aydınlık', + 'license': 'Lisanslar', + 'widget': 'Araç', + 'widgetBackground': 'Araç Arka Planı', + 'widgetText': 'Araç metni', + 'dewpoint': 'Çiğ noktası', + 'shortwaveRadiation': 'Kısa dalga radyasyonu', + 'roundDegree': 'Dereceleri yuvarla', + 'settings_full': 'Ayarlar', + 'cities': 'Şehirler', + 'searchMethod': 'Arama veya konum belirleme kullanın', + 'done': 'Tamam', + 'groups': 'Gruplarımız', + 'openMeteo': 'Open-Meteo\'dan veriler (CC-BY 4.0)', + 'hourlyVariables': 'Saatlik hava değişkenleri', + 'dailyVariables': 'Günlük hava değişkenleri', + 'largeElement': 'Büyük hava durumu gösterimi', + 'map': 'Harita', + 'clearCacheStore': 'Önbelleği temizle', + 'deletedCacheStore': 'Önbellek temizleniyor', + 'deletedCacheStoreQuery': + 'Önbelleği temizlemek istediğinizden emin misiniz?', + 'addWidget': 'Widget ekle', + 'hideMap': 'Haritayı gizle', + }; } diff --git a/lib/translation/translation.dart b/lib/translation/translation.dart index d0e8420..e7db376 100644 --- a/lib/translation/translation.dart +++ b/lib/translation/translation.dart @@ -27,29 +27,29 @@ import 'package:rain/translation/zh_tw.dart'; class Translation extends Translations { @override Map> get keys => { - 'ru_RU': RuRu().messages, - 'en_US': EnUs().messages, - 'fr_FR': FrFr().messages, - 'fa_IR': FaIr().messages, - 'it_IT': ItIt().messages, - 'de_DE': DeDe().messages, - 'tr_TR': TrTr().messages, - 'pt_BR': PtBr().messages, - 'es_ES': EsEs().messages, - 'sk_SK': SkSk().messages, - 'nl_NL': NlNl().messages, - 'hi_IN': HiIn().messages, - 'ro_RO': RoRo().messages, - 'zh_CN': ZhCh().messages, - 'zh_TW': ZhTw().messages, - 'pl_PL': PlPl().messages, - 'ur_PK': UrPk().messages, - 'cs_CZ': CsCz().messages, - 'ka_GE': KaGe().messages, - 'bn_IN': BnIn().messages, - 'ga_IE': GaIe().messages, - 'hu_HU': HuHu().messages, - 'da_DK': DaDk().messages, - 'ko_KR': KoKr().messages, - }; + 'ru_RU': RuRu().messages, + 'en_US': EnUs().messages, + 'fr_FR': FrFr().messages, + 'fa_IR': FaIr().messages, + 'it_IT': ItIt().messages, + 'de_DE': DeDe().messages, + 'tr_TR': TrTr().messages, + 'pt_BR': PtBr().messages, + 'es_ES': EsEs().messages, + 'sk_SK': SkSk().messages, + 'nl_NL': NlNl().messages, + 'hi_IN': HiIn().messages, + 'ro_RO': RoRo().messages, + 'zh_CN': ZhCh().messages, + 'zh_TW': ZhTw().messages, + 'pl_PL': PlPl().messages, + 'ur_PK': UrPk().messages, + 'cs_CZ': CsCz().messages, + 'ka_GE': KaGe().messages, + 'bn_IN': BnIn().messages, + 'ga_IE': GaIe().messages, + 'hu_HU': HuHu().messages, + 'da_DK': DaDk().messages, + 'ko_KR': KoKr().messages, + }; } diff --git a/lib/translation/ur_pk.dart b/lib/translation/ur_pk.dart index 56e22f4..5425898 100644 --- a/lib/translation/ur_pk.dart +++ b/lib/translation/ur_pk.dart @@ -1,142 +1,142 @@ class UrPk { Map get messages => { - 'start': 'شروع', - 'description': - 'ہر جگہ کے لیے ہر گھنٹے، ہر دن اور ہر ہفتے کے لیے مواقع پر تازہ پیشگوئیوں کے ساتھ موسم کا ایپلیکیشن۔', - 'name': 'موسم', - 'name2': 'آسان ڈیزائن', - 'name3': 'ہم سے رابطہ کریں', - 'description2': - 'تمام نیویگیشن کو ایسا ترتیب دیا گیا ہے کہ آپ ایپلیکیشن کے ساتھ سب سے زیادہ آسان اور تیزی سے تعامل کر سکیں۔', - 'description3': - 'اگر آپ کسی بھی مسائل کا سامنا کریں، براہ کرم ای میل یا ایپلیکیشن کے جوابات میں ہم سے رابطہ کریں۔', - 'next': 'اگلا', - 'search': 'تلاش کریں...', - 'loading': 'لوڈ ہو رہا ہے...', - 'searchCity': 'اپنا شہر تلاش کریں', - 'humidity': 'نمائش', - 'wind': 'باد', - 'visibility': 'دیکھنے کی صلاحیت', - 'feels': 'محسوس ہوتا ہے', - 'evaporation': 'بخاری', - 'precipitation': 'برسات', - 'direction': 'سمت', - 'pressure': 'دباؤ', - 'rain': 'بارش', - 'clear_sky': 'صاف آسمان', - 'cloudy': 'بادلوں سے بھرپور', - 'overcast': 'دھندلے', - 'fog': 'کھسک', - 'drizzle': 'بوند بوند بارش', - 'drizzling_rain': 'چھچھوندار بارش', - 'freezing_rain': 'ٹھنڈی بارش', - 'heavy_rains': 'زوردار بارشیں', - 'snow': 'برف', - 'thunderstorm': 'طوفانی بارش', - 'kph': 'کلومیٹر فی گھنٹہ', - 'mph': 'میل فی گھنٹہ', - 'm/s': 'میٹر/سیکنڈ', - 'mmHg': 'ملی میٹر مرکری', - 'mi': 'میل', - 'km': 'کلومیٹر', - 'inch': 'انچ', - 'mm': 'ملی میٹر', - 'hPa': 'ہیکٹو پاسکل', - 'settings': 'ترتیبات', - 'no_inter': 'انٹرنیٹ نہیں ہے', - 'on_inter': 'موسمی معلومات حاصل کرنے کے لئے انٹرنیٹ کو چالنے دیں۔', - 'location': 'مقام', - 'no_location': - 'موسمی معلومات حاصل کرنے کے لئے مقام کی تشخیص کی خدمات کو چالنے دیں۔', - 'theme': 'تھیم', - 'low': 'کم', - 'high': 'زیادہ', - 'normal': 'عام', - 'lat': 'عرض', - 'lon': 'طول', - 'create': 'تخلیق کریں', - 'city': 'شہر', - 'district': 'ضلع', - 'noWeatherCard': 'شہر شامل کریں', - 'deletedCardWeather': 'شہر کو حذف کر رہا ہے', - 'deletedCardWeatherQuery': 'کیا آپ واقعی شہر کو حذف کرنا چاہتے ہیں؟', - 'delete': 'حذف کریں', - 'cancel': 'منسوخ کریں', - 'time': 'شہر میں وقت', - 'validateName': 'براہ کرم نام درج کریں', - 'measurements': 'پیمائش کی نظام', - 'degrees': 'درجہ', - 'celsius': 'سینٹی گریڈ', - 'fahrenheit': 'فارن ہائٹ', - 'imperial': 'امپیریل', - 'metric': 'میٹرک', - 'validateValue': 'براہ کرم قدر درج کریں', - 'validateNumber': 'براہ کرم ایک عدد درج کریں', - 'validate90': 'قدر -90 سے 90 کے اندر ہونی چاہئے', - 'validate180': 'قدر -180 سے 180 کے اندر ہونی چاہئے', - 'notifications': 'خبریں', - 'sunrise': 'طلوع آفتاب', - 'sunset': 'غروب آفتاب', - 'timeformat': 'وقت کی شکل', - '12': '12-گھنٹے', - '24': '24-گھنٹے', - 'cloudcover': 'ابری پردہ', - 'uvIndex': 'یووی-انڈیکس', - 'materialColor': 'موادی رنگیں', - 'uvLow': 'کم', - 'uvAverage': 'معتدل', - 'uvHigh': 'زیادہ', - 'uvVeryHigh': 'بہت زیادہ', - 'uvExtreme': 'بہتی کٹھن', - 'weatherMore': '12 دنوں کی موسمی توقعات', - 'windgusts': 'گرج', - 'north': 'شمال', - 'northeast': 'شمال مشرق', - 'east': 'مشرق', - 'southeast': 'جنوب مشرق', - 'south': 'جنوب', - 'southwest': 'جنوب مغرب', - 'west': 'مغرب', - 'northwest': 'شمال مغرب', - 'project': 'پروجیکٹ', - 'version': 'ایپ کی ورژن', - 'precipitationProbability': 'برسات کی ممکنیت', - 'apparentTemperatureMin': 'کم درج حرارت محسوس', - 'apparentTemperatureMax': 'زیادہ درج حرارت محسوس', - 'amoledTheme': 'AMOLED تھیم', - 'appearance': 'ظاہریت', - 'functions': 'فنکشنز', - 'data': 'ڈیٹا', - 'language': 'زبان', - 'timeRange': 'وقت کی مدت (گھنٹوں میں)', - 'timeStart': 'شروع کا وقت', - 'timeEnd': 'مختتم کا وقت', - 'support': 'حمایت', - 'system': 'سسٹم', - 'dark': 'اندھیری', - 'light': 'روشن', - 'license': 'لائسنس', - 'widget': 'ویجٹ', - 'widgetBackground': 'ویجٹ کا پس منظر', - 'widgetText': 'ویجٹ کا مواد', - 'dewpoint': 'دھوا پوائنٹ', - 'shortwaveRadiation': 'چھوٹی موجی شعاع', - 'W/m2': 'واٹ/میٹر مربع', - 'roundDegree': 'ڈگری گھیریں', - 'settings_full': 'ترتیبات', - 'cities': 'شہر', - 'searchMethod': 'تلاش یا جغرافیائی مقام استعمال کریں', - 'done': 'ہوگیا', - 'groups': 'ہماری گروپس', - 'openMeteo': 'Open-Meteo سے ڈیٹا (CC-BY 4.0)', - 'hourlyVariables': 'ہر گھنٹے کے موسمی متغیرات', - 'dailyVariables': 'روزانہ کے موسمی متغیرات', - 'largeElement': 'بڑے موسم کا ڈسپلے', - 'map': 'نقشہ', - 'clearCacheStore': 'کیچ صاف کریں', - 'deletedCacheStore': 'کیچ صاف کی جارہی ہے', - 'deletedCacheStoreQuery': 'کیا آپ واقعی کیچ صاف کرنا چاہتے ہیں؟', - 'addWidget': 'ویجٹ شامل کریں', - 'hideMap': 'نقشہ چھپائیں', - }; + 'start': 'شروع', + 'description': + 'ہر جگہ کے لیے ہر گھنٹے، ہر دن اور ہر ہفتے کے لیے مواقع پر تازہ پیشگوئیوں کے ساتھ موسم کا ایپلیکیشن۔', + 'name': 'موسم', + 'name2': 'آسان ڈیزائن', + 'name3': 'ہم سے رابطہ کریں', + 'description2': + 'تمام نیویگیشن کو ایسا ترتیب دیا گیا ہے کہ آپ ایپلیکیشن کے ساتھ سب سے زیادہ آسان اور تیزی سے تعامل کر سکیں۔', + 'description3': + 'اگر آپ کسی بھی مسائل کا سامنا کریں، براہ کرم ای میل یا ایپلیکیشن کے جوابات میں ہم سے رابطہ کریں۔', + 'next': 'اگلا', + 'search': 'تلاش کریں...', + 'loading': 'لوڈ ہو رہا ہے...', + 'searchCity': 'اپنا شہر تلاش کریں', + 'humidity': 'نمائش', + 'wind': 'باد', + 'visibility': 'دیکھنے کی صلاحیت', + 'feels': 'محسوس ہوتا ہے', + 'evaporation': 'بخاری', + 'precipitation': 'برسات', + 'direction': 'سمت', + 'pressure': 'دباؤ', + 'rain': 'بارش', + 'clear_sky': 'صاف آسمان', + 'cloudy': 'بادلوں سے بھرپور', + 'overcast': 'دھندلے', + 'fog': 'کھسک', + 'drizzle': 'بوند بوند بارش', + 'drizzling_rain': 'چھچھوندار بارش', + 'freezing_rain': 'ٹھنڈی بارش', + 'heavy_rains': 'زوردار بارشیں', + 'snow': 'برف', + 'thunderstorm': 'طوفانی بارش', + 'kph': 'کلومیٹر فی گھنٹہ', + 'mph': 'میل فی گھنٹہ', + 'm/s': 'میٹر/سیکنڈ', + 'mmHg': 'ملی میٹر مرکری', + 'mi': 'میل', + 'km': 'کلومیٹر', + 'inch': 'انچ', + 'mm': 'ملی میٹر', + 'hPa': 'ہیکٹو پاسکل', + 'settings': 'ترتیبات', + 'no_inter': 'انٹرنیٹ نہیں ہے', + 'on_inter': 'موسمی معلومات حاصل کرنے کے لئے انٹرنیٹ کو چالنے دیں۔', + 'location': 'مقام', + 'no_location': + 'موسمی معلومات حاصل کرنے کے لئے مقام کی تشخیص کی خدمات کو چالنے دیں۔', + 'theme': 'تھیم', + 'low': 'کم', + 'high': 'زیادہ', + 'normal': 'عام', + 'lat': 'عرض', + 'lon': 'طول', + 'create': 'تخلیق کریں', + 'city': 'شہر', + 'district': 'ضلع', + 'noWeatherCard': 'شہر شامل کریں', + 'deletedCardWeather': 'شہر کو حذف کر رہا ہے', + 'deletedCardWeatherQuery': 'کیا آپ واقعی شہر کو حذف کرنا چاہتے ہیں؟', + 'delete': 'حذف کریں', + 'cancel': 'منسوخ کریں', + 'time': 'شہر میں وقت', + 'validateName': 'براہ کرم نام درج کریں', + 'measurements': 'پیمائش کی نظام', + 'degrees': 'درجہ', + 'celsius': 'سینٹی گریڈ', + 'fahrenheit': 'فارن ہائٹ', + 'imperial': 'امپیریل', + 'metric': 'میٹرک', + 'validateValue': 'براہ کرم قدر درج کریں', + 'validateNumber': 'براہ کرم ایک عدد درج کریں', + 'validate90': 'قدر -90 سے 90 کے اندر ہونی چاہئے', + 'validate180': 'قدر -180 سے 180 کے اندر ہونی چاہئے', + 'notifications': 'خبریں', + 'sunrise': 'طلوع آفتاب', + 'sunset': 'غروب آفتاب', + 'timeformat': 'وقت کی شکل', + '12': '12-گھنٹے', + '24': '24-گھنٹے', + 'cloudcover': 'ابری پردہ', + 'uvIndex': 'یووی-انڈیکس', + 'materialColor': 'موادی رنگیں', + 'uvLow': 'کم', + 'uvAverage': 'معتدل', + 'uvHigh': 'زیادہ', + 'uvVeryHigh': 'بہت زیادہ', + 'uvExtreme': 'بہتی کٹھن', + 'weatherMore': '12 دنوں کی موسمی توقعات', + 'windgusts': 'گرج', + 'north': 'شمال', + 'northeast': 'شمال مشرق', + 'east': 'مشرق', + 'southeast': 'جنوب مشرق', + 'south': 'جنوب', + 'southwest': 'جنوب مغرب', + 'west': 'مغرب', + 'northwest': 'شمال مغرب', + 'project': 'پروجیکٹ', + 'version': 'ایپ کی ورژن', + 'precipitationProbability': 'برسات کی ممکنیت', + 'apparentTemperatureMin': 'کم درج حرارت محسوس', + 'apparentTemperatureMax': 'زیادہ درج حرارت محسوس', + 'amoledTheme': 'AMOLED تھیم', + 'appearance': 'ظاہریت', + 'functions': 'فنکشنز', + 'data': 'ڈیٹا', + 'language': 'زبان', + 'timeRange': 'وقت کی مدت (گھنٹوں میں)', + 'timeStart': 'شروع کا وقت', + 'timeEnd': 'مختتم کا وقت', + 'support': 'حمایت', + 'system': 'سسٹم', + 'dark': 'اندھیری', + 'light': 'روشن', + 'license': 'لائسنس', + 'widget': 'ویجٹ', + 'widgetBackground': 'ویجٹ کا پس منظر', + 'widgetText': 'ویجٹ کا مواد', + 'dewpoint': 'دھوا پوائنٹ', + 'shortwaveRadiation': 'چھوٹی موجی شعاع', + 'W/m2': 'واٹ/میٹر مربع', + 'roundDegree': 'ڈگری گھیریں', + 'settings_full': 'ترتیبات', + 'cities': 'شہر', + 'searchMethod': 'تلاش یا جغرافیائی مقام استعمال کریں', + 'done': 'ہوگیا', + 'groups': 'ہماری گروپس', + 'openMeteo': 'Open-Meteo سے ڈیٹا (CC-BY 4.0)', + 'hourlyVariables': 'ہر گھنٹے کے موسمی متغیرات', + 'dailyVariables': 'روزانہ کے موسمی متغیرات', + 'largeElement': 'بڑے موسم کا ڈسپلے', + 'map': 'نقشہ', + 'clearCacheStore': 'کیچ صاف کریں', + 'deletedCacheStore': 'کیچ صاف کی جارہی ہے', + 'deletedCacheStoreQuery': 'کیا آپ واقعی کیچ صاف کرنا چاہتے ہیں؟', + 'addWidget': 'ویجٹ شامل کریں', + 'hideMap': 'نقشہ چھپائیں', + }; } diff --git a/lib/translation/zh_ch.dart b/lib/translation/zh_ch.dart index 07a2be7..cf67e67 100644 --- a/lib/translation/zh_ch.dart +++ b/lib/translation/zh_ch.dart @@ -1,137 +1,137 @@ class ZhCh { Map get messages => { - 'start': '开始', - 'description': '天气应用,提供每小时、每天和每周的实时预报,适用于任何地点。', - 'name': '天气', - 'name2': '方便的设计', - 'name3': '联系我们', - 'description2': '所有导航均设计成能够尽可能方便快捷地与应用程序交互。', - 'description3': '如果您遇到任何问题,请通过电子邮件或应用评论与我们联系。', - 'next': '下一步', - 'search': '搜索...', - 'loading': '加载中...', - 'searchCity': '查找城市', - 'humidity': '湿度', - 'wind': '风速', - 'visibility': '能见度', - 'feels': '体感温度', - 'evaporation': '蒸发量', - 'precipitation': '降水量', - 'direction': '风向', - 'pressure': '气压', - 'rain': '雨', - 'clear_sky': '晴朗', - 'cloudy': '多云', - 'overcast': '阴天', - 'fog': '雾', - 'drizzle': '毛毛雨', - 'drizzling_rain': '冻毛毛雨', - 'freezing_rain': '冻雨', - 'heavy_rains': '阵雨', - 'snow': '雪', - 'thunderstorm': '雷暴', - 'kph': '千米/小时', - 'mph': '英里/小时', - 'm/s': '米/秒', - 'mmHg': '毫米汞柱', - 'mi': '英里', - 'km': '千米', - 'inch': '英寸', - 'mm': '毫米', - 'hPa': '百帕', - 'settings': '设置', - 'no_inter': '无网络连接', - 'on_inter': '打开网络连接以获取气象数据。', - 'location': '位置', - 'no_location': '启用定位服务以获取当前位置的天气数据。', - 'theme': '主题', - 'low': '最低', - 'high': '最高', - 'normal': '正常', - 'lat': '纬度', - 'lon': '经度', - 'create': '创建', - 'city': '城市', - 'district': '区域', - 'noWeatherCard': '添加城市', - 'deletedCardWeather': '删除城市', - 'deletedCardWeatherQuery': '确定要删除该城市吗?', - 'delete': '删除', - 'cancel': '取消', - 'time': '城市时间', - 'validateName': '请输入名称', - 'measurements': '度量系统', - 'degrees': '度', - 'celsius': '摄氏度', - 'fahrenheit': '华氏度', - 'imperial': '英制', - 'metric': '公制', - 'validateValue': '请输入值', - 'validateNumber': '请输入有效数字', - 'validate90': '值必须介于-90和90之间', - 'validate180': '值必须介于-180和180之间', - 'notifications': '通知', - 'sunrise': '日出', - 'sunset': '日落', - 'timeformat': '时间格式', - '12': '12小时制', - '24': '24小时制', - 'cloudcover': '云量', - 'uvIndex': '紫外线指数', - 'materialColor': '动态颜色', - 'uvLow': '低', - 'uvAverage': '中等', - 'uvHigh': '高', - 'uvVeryHigh': '很高', - 'uvExtreme': '极高', - 'weatherMore': '12天天气预报', - 'windgusts': '阵风', - 'north': '北', - 'northeast': '东北', - 'east': '东', - 'southeast': '东南', - 'south': '南', - 'southwest': '西南', - 'west': '西', - 'northwest': '西北', - 'project': '项目使用', - 'version': '应用程序版本', - 'precipitationProbability': '降水概率', - 'apparentTemperatureMin': '最低体感温度', - 'apparentTemperatureMax': '最高体感温度', - 'amoledTheme': 'AMOLED主题', - 'appearance': '外观', - 'functions': '功能', - 'data': '数据', - 'language': '语言', - 'timeRange': '频率(小时)', - 'timeStart': '开始时间', - 'timeEnd': '结束时间', - 'support': '支持', - 'system': '系统', - 'dark': '暗', - 'light': '亮', - 'license': '许可证', - 'widget': '小部件', - 'widgetBackground': '小部件背景', - 'widgetText': '小部件文本', - 'dewpoint': '露点', - 'shortwaveRadiation': '短波辐射', - 'roundDegree': '四舍五入度数', - 'settings_full': '设置', - 'cities': '城市', - 'searchMethod': '使用搜索或地理定位', - 'done': '完成', - 'groups': '我们的组', - 'openMeteo': '来自Open-Meteo的数据 (CC-BY 4.0)', - 'hourlyVariables': '每小时天气变量', - 'dailyVariables': '每日天气变量', - 'largeElement': '大天气显示', - 'map': '地图', - 'clearCacheStore': '清除缓存', - 'deletedCacheStore': '正在清除缓存', - 'deletedCacheStoreQuery': '您确定要清除缓存吗?', - 'addWidget': '添加小部件', - 'hideMap': '隐藏地图', - }; + 'start': '开始', + 'description': '天气应用,提供每小时、每天和每周的实时预报,适用于任何地点。', + 'name': '天气', + 'name2': '方便的设计', + 'name3': '联系我们', + 'description2': '所有导航均设计成能够尽可能方便快捷地与应用程序交互。', + 'description3': '如果您遇到任何问题,请通过电子邮件或应用评论与我们联系。', + 'next': '下一步', + 'search': '搜索...', + 'loading': '加载中...', + 'searchCity': '查找城市', + 'humidity': '湿度', + 'wind': '风速', + 'visibility': '能见度', + 'feels': '体感温度', + 'evaporation': '蒸发量', + 'precipitation': '降水量', + 'direction': '风向', + 'pressure': '气压', + 'rain': '雨', + 'clear_sky': '晴朗', + 'cloudy': '多云', + 'overcast': '阴天', + 'fog': '雾', + 'drizzle': '毛毛雨', + 'drizzling_rain': '冻毛毛雨', + 'freezing_rain': '冻雨', + 'heavy_rains': '阵雨', + 'snow': '雪', + 'thunderstorm': '雷暴', + 'kph': '千米/小时', + 'mph': '英里/小时', + 'm/s': '米/秒', + 'mmHg': '毫米汞柱', + 'mi': '英里', + 'km': '千米', + 'inch': '英寸', + 'mm': '毫米', + 'hPa': '百帕', + 'settings': '设置', + 'no_inter': '无网络连接', + 'on_inter': '打开网络连接以获取气象数据。', + 'location': '位置', + 'no_location': '启用定位服务以获取当前位置的天气数据。', + 'theme': '主题', + 'low': '最低', + 'high': '最高', + 'normal': '正常', + 'lat': '纬度', + 'lon': '经度', + 'create': '创建', + 'city': '城市', + 'district': '区域', + 'noWeatherCard': '添加城市', + 'deletedCardWeather': '删除城市', + 'deletedCardWeatherQuery': '确定要删除该城市吗?', + 'delete': '删除', + 'cancel': '取消', + 'time': '城市时间', + 'validateName': '请输入名称', + 'measurements': '度量系统', + 'degrees': '度', + 'celsius': '摄氏度', + 'fahrenheit': '华氏度', + 'imperial': '英制', + 'metric': '公制', + 'validateValue': '请输入值', + 'validateNumber': '请输入有效数字', + 'validate90': '值必须介于-90和90之间', + 'validate180': '值必须介于-180和180之间', + 'notifications': '通知', + 'sunrise': '日出', + 'sunset': '日落', + 'timeformat': '时间格式', + '12': '12小时制', + '24': '24小时制', + 'cloudcover': '云量', + 'uvIndex': '紫外线指数', + 'materialColor': '动态颜色', + 'uvLow': '低', + 'uvAverage': '中等', + 'uvHigh': '高', + 'uvVeryHigh': '很高', + 'uvExtreme': '极高', + 'weatherMore': '12天天气预报', + 'windgusts': '阵风', + 'north': '北', + 'northeast': '东北', + 'east': '东', + 'southeast': '东南', + 'south': '南', + 'southwest': '西南', + 'west': '西', + 'northwest': '西北', + 'project': '项目使用', + 'version': '应用程序版本', + 'precipitationProbability': '降水概率', + 'apparentTemperatureMin': '最低体感温度', + 'apparentTemperatureMax': '最高体感温度', + 'amoledTheme': 'AMOLED主题', + 'appearance': '外观', + 'functions': '功能', + 'data': '数据', + 'language': '语言', + 'timeRange': '频率(小时)', + 'timeStart': '开始时间', + 'timeEnd': '结束时间', + 'support': '支持', + 'system': '系统', + 'dark': '暗', + 'light': '亮', + 'license': '许可证', + 'widget': '小部件', + 'widgetBackground': '小部件背景', + 'widgetText': '小部件文本', + 'dewpoint': '露点', + 'shortwaveRadiation': '短波辐射', + 'roundDegree': '四舍五入度数', + 'settings_full': '设置', + 'cities': '城市', + 'searchMethod': '使用搜索或地理定位', + 'done': '完成', + 'groups': '我们的组', + 'openMeteo': '来自Open-Meteo的数据 (CC-BY 4.0)', + 'hourlyVariables': '每小时天气变量', + 'dailyVariables': '每日天气变量', + 'largeElement': '大天气显示', + 'map': '地图', + 'clearCacheStore': '清除缓存', + 'deletedCacheStore': '正在清除缓存', + 'deletedCacheStoreQuery': '您确定要清除缓存吗?', + 'addWidget': '添加小部件', + 'hideMap': '隐藏地图', + }; } diff --git a/lib/translation/zh_tw.dart b/lib/translation/zh_tw.dart index 6dc12e0..4a5d4e3 100644 --- a/lib/translation/zh_tw.dart +++ b/lib/translation/zh_tw.dart @@ -1,138 +1,138 @@ class ZhTw { Map get messages => { - 'start': '開始使用', - 'description': '一個提供實時天氣資訊的天氣軟體。', - 'name': '天氣', - 'name2': '方便優雅的設計', - 'name3': '聯絡我們', - 'description2': '所有導覽均設計得盡可能方便交互', - 'description3': '如遇到問題請透過電郵或軟體評論與我們聯絡', - 'next': '下一步', - 'search': '搜尋……', - 'loading': '載入中……', - 'searchCity': '查找你的所在地', - 'humidity': '濕度', - 'wind': '風速', - 'visibility': '可見度', - 'feels': '體感', - 'evaporation': '蒸發量', - 'precipitation': '降水量', - 'direction': '風向', - 'pressure': '氣壓', - 'rain': '雨', - 'clear_sky': '晴朗', - 'cloudy': '多雲', - 'overcast': '陰天', - 'fog': '霧', - 'drizzle': '毛毛雨', - 'drizzling_rain': '冻雾雨', - 'freezing_rain': '凍雨', - 'heavy_rains': '大雨', - 'snow': '雪', - 'thunderstorm': '雷暴', - 'kph': '公里/時', - 'mph': '英里/時', - 'm/s': '米/秒', - 'mmHg': '毫米汞柱', - 'mi': '英里', - 'km': '公里', - 'inch': '英呎', - 'mm': '毫米', - 'hPa': '百帕', - 'settings': '設定', - 'no_inter': '沒有網路連線', - 'on_inter': '啟用網路以獲取氣象資料。', - 'location': '位置', - 'no_location': '啟用位置服務以獲取當前位置的天氣資訊。', - 'theme': '主題', - 'low': '低', - 'high': '高', - 'normal': '正常', - 'lat': '維度', - 'lon': '精度', - 'create': '建立', - 'city': '城市', - 'district': '區', - 'noWeatherCard': '新增城市', - 'deletedCardWeather': '刪除城市', - 'deletedCardWeatherQuery': '你確定要刪除這個城市嗎?', - 'delete': '刪除', - 'cancel': '取消', - 'time': '城市時間', - 'validateName': '請輸入名稱', - 'measurements': '度量單位', - 'degrees': '度', - 'celsius': '攝氏度', - 'fahrenheit': '華氏度', - 'imperial': '英制', - 'metric': '公制', - 'validateValue': '請輸入一個值', - 'validateNumber': '請輸入一個有效數字', - 'validate90': '數值必須在-90和90之間', - 'validate180': '數值必須在-180和180之間', - 'notifications': '通知', - 'sunrise': '日出', - 'sunset': '日落', - 'timeformat': '時間格式', - '12': '12小時', - '24': '24小時', - 'cloudcover': '雲量', - 'uvIndex': 'UV值', - 'materialColor': '動態取色', - 'uvLow': '低', - 'uvAverage': '中等', - 'uvHigh': '高', - 'uvVeryHigh': '很高', - 'uvExtreme': '超高', - 'weatherMore': '12天天氣預報', - 'windgusts': '陣風', - 'north': '北', - 'northeast': '東北', - 'east': '東', - 'southeast': '東南', - 'south': '南', - 'southwest': '西南', - 'west': '西', - 'northwest': '西北', - 'project': '造訪我們的', - 'version': '應用版本', - 'precipitationProbability': '降水概率', - 'apparentTemperatureMin': '最低體感溫度', - 'apparentTemperatureMax': '最高體感溫度', - 'amoledTheme': 'AMOLED主題', - 'appearance': '外觀', - 'functions': '功能', - 'data': '資料', - 'language': '語言', - 'timeRange': '頻率(小時)', - 'timeStart': '起始時間', - 'timeEnd': '終止時間', - 'support': '支援', - 'system': '系統', - 'dark': '黑暗', - 'light': '明亮', - 'license': '許可證', - 'widget': '小組件', - 'widgetBackground': '小組件背景', - 'widgetText': '小組件文字', - 'dewpoint': '露點', - 'shortwaveRadiation': '短波輻射', - 'W/m2': '瓦/平方米', - 'roundDegree': '四捨五入度數', - 'settings_full': '設定', - 'cities': '城市', - 'searchMethod': '使用搜尋或地理位置', - 'done': '完成', - 'groups': '我們的小組', - 'openMeteo': '來自Open-Meteo的數據 (CC-BY 4.0)', - 'hourlyVariables': '每小時天氣變量', - 'dailyVariables': '每日天氣變量', - 'largeElement': '大型天氣顯示', - 'map': '地圖', - 'clearCacheStore': '清除快取', - 'deletedCacheStore': '正在清除快取', - 'deletedCacheStoreQuery': '您確定要清除快取嗎?', - 'addWidget': '新增小工具', - 'hideMap': '隱藏地圖', - }; + 'start': '開始使用', + 'description': '一個提供實時天氣資訊的天氣軟體。', + 'name': '天氣', + 'name2': '方便優雅的設計', + 'name3': '聯絡我們', + 'description2': '所有導覽均設計得盡可能方便交互', + 'description3': '如遇到問題請透過電郵或軟體評論與我們聯絡', + 'next': '下一步', + 'search': '搜尋……', + 'loading': '載入中……', + 'searchCity': '查找你的所在地', + 'humidity': '濕度', + 'wind': '風速', + 'visibility': '可見度', + 'feels': '體感', + 'evaporation': '蒸發量', + 'precipitation': '降水量', + 'direction': '風向', + 'pressure': '氣壓', + 'rain': '雨', + 'clear_sky': '晴朗', + 'cloudy': '多雲', + 'overcast': '陰天', + 'fog': '霧', + 'drizzle': '毛毛雨', + 'drizzling_rain': '冻雾雨', + 'freezing_rain': '凍雨', + 'heavy_rains': '大雨', + 'snow': '雪', + 'thunderstorm': '雷暴', + 'kph': '公里/時', + 'mph': '英里/時', + 'm/s': '米/秒', + 'mmHg': '毫米汞柱', + 'mi': '英里', + 'km': '公里', + 'inch': '英呎', + 'mm': '毫米', + 'hPa': '百帕', + 'settings': '設定', + 'no_inter': '沒有網路連線', + 'on_inter': '啟用網路以獲取氣象資料。', + 'location': '位置', + 'no_location': '啟用位置服務以獲取當前位置的天氣資訊。', + 'theme': '主題', + 'low': '低', + 'high': '高', + 'normal': '正常', + 'lat': '維度', + 'lon': '精度', + 'create': '建立', + 'city': '城市', + 'district': '區', + 'noWeatherCard': '新增城市', + 'deletedCardWeather': '刪除城市', + 'deletedCardWeatherQuery': '你確定要刪除這個城市嗎?', + 'delete': '刪除', + 'cancel': '取消', + 'time': '城市時間', + 'validateName': '請輸入名稱', + 'measurements': '度量單位', + 'degrees': '度', + 'celsius': '攝氏度', + 'fahrenheit': '華氏度', + 'imperial': '英制', + 'metric': '公制', + 'validateValue': '請輸入一個值', + 'validateNumber': '請輸入一個有效數字', + 'validate90': '數值必須在-90和90之間', + 'validate180': '數值必須在-180和180之間', + 'notifications': '通知', + 'sunrise': '日出', + 'sunset': '日落', + 'timeformat': '時間格式', + '12': '12小時', + '24': '24小時', + 'cloudcover': '雲量', + 'uvIndex': 'UV值', + 'materialColor': '動態取色', + 'uvLow': '低', + 'uvAverage': '中等', + 'uvHigh': '高', + 'uvVeryHigh': '很高', + 'uvExtreme': '超高', + 'weatherMore': '12天天氣預報', + 'windgusts': '陣風', + 'north': '北', + 'northeast': '東北', + 'east': '東', + 'southeast': '東南', + 'south': '南', + 'southwest': '西南', + 'west': '西', + 'northwest': '西北', + 'project': '造訪我們的', + 'version': '應用版本', + 'precipitationProbability': '降水概率', + 'apparentTemperatureMin': '最低體感溫度', + 'apparentTemperatureMax': '最高體感溫度', + 'amoledTheme': 'AMOLED主題', + 'appearance': '外觀', + 'functions': '功能', + 'data': '資料', + 'language': '語言', + 'timeRange': '頻率(小時)', + 'timeStart': '起始時間', + 'timeEnd': '終止時間', + 'support': '支援', + 'system': '系統', + 'dark': '黑暗', + 'light': '明亮', + 'license': '許可證', + 'widget': '小組件', + 'widgetBackground': '小組件背景', + 'widgetText': '小組件文字', + 'dewpoint': '露點', + 'shortwaveRadiation': '短波輻射', + 'W/m2': '瓦/平方米', + 'roundDegree': '四捨五入度數', + 'settings_full': '設定', + 'cities': '城市', + 'searchMethod': '使用搜尋或地理位置', + 'done': '完成', + 'groups': '我們的小組', + 'openMeteo': '來自Open-Meteo的數據 (CC-BY 4.0)', + 'hourlyVariables': '每小時天氣變量', + 'dailyVariables': '每日天氣變量', + 'largeElement': '大型天氣顯示', + 'map': '地圖', + 'clearCacheStore': '清除快取', + 'deletedCacheStore': '正在清除快取', + 'deletedCacheStoreQuery': '您確定要清除快取嗎?', + 'addWidget': '新增小工具', + 'hideMap': '隱藏地圖', + }; } diff --git a/pubspec.lock b/pubspec.lock index bee1095..5bc8603 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1385,5 +1385,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0 <4.0.0" + dart: ">=3.7.2 <4.0.0" flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index f237d1c..c802d6d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: "none" version: 1.3.8+41 environment: - sdk: ">=3.7.0 <4.0.0" + sdk: ">=3.7.2 <4.0.0" dependencies: flutter: