From 7d4178f946416bb7edd412ca53f05d9ebc296704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9D=97=AA=F0=9D=97=9C=F0=9D=97=A1=F0=9D=97=AD?= =?UTF-8?q?=F0=9D=97=A2=F0=9D=97=A5=F0=9D=97=A7?= <75412448+mikropsoft@users.noreply.github.com> Date: Sat, 6 Jul 2024 10:48:29 +0300 Subject: [PATCH 01/13] Update intl_tr.arb --- lib/l10n/intl_tr.arb | 327 +++++++++++++++++++++++-------------------- 1 file changed, 175 insertions(+), 152 deletions(-) diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index 0f916af..317d545 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -1,50 +1,54 @@ { "appTitle": "OpenNutriTracker", "appVersionName": "Sürüm {versionNumber}", - "appDescription": "OpenNutriTracker, gizliliğinize saygı duyan ücretsiz ve açık kaynaklı bir kalori ve besin takip programıdır.", - "alphaVersionName": "[Alpha]", + "appDescription": "OpenNutriTracker, gizliliğinize saygı duyan ücretsiz ve açık kaynaklı bir kalori ve besin takipçisidir.", + "alphaVersionName": "[Alfa]", "betaVersionName": "[Beta]", + "addLabel": "Ekle", "createCustomDialogTitle": "Özel yemek öğesi oluşturulsun mu?", - "createCustomDialogContent": "Özel bir yemek öğesi oluşturmak ister misiniz?", + "createCustomDialogContent": "Özel bir yemek öğesi oluşturmak istiyor musunuz?", "settingsLabel": "Ayarlar", "homeLabel": "Ana Sayfa", "diaryLabel": "Günlük", "profileLabel": "Profil", "searchLabel": "Ara", "searchProductsPage": "Ürünler", - "searchFoodPage": "Gıda", + "searchFoodPage": "Yiyecek", "searchResultsLabel": "Arama sonuçları", - "searchDefaultLabel": "Lütfen bir arama sözcüğü girin", + "searchDefaultLabel": "Lütfen bir arama kelimesi girin", "allItemsLabel": "Tümü", - "recentlyAddedLabel": "Son zamanlarda", + "recentlyAddedLabel": "Son Eklenenler", "noMealsRecentlyAddedLabel": "Son zamanlarda eklenen yemek yok", - "noActivityRecentlyAddedLabel": "Son zamanlarda eklenen etkinlik yok", + "noActivityRecentlyAddedLabel": "Son zamanlarda eklenen aktivite yok", + "dialogOKLabel": "TAMAM", "dialogCancelLabel": "İPTAL", - "buttonStartLabel": "BAŞLAT", - "buttonNextLabel": "SONRAKİ", + "buttonStartLabel": "BAŞLA", + "buttonNextLabel": "İLERİ", "buttonSaveLabel": "Kaydet", "buttonYesLabel": "EVET", - "onboardingWelcomeLabel": "Hoş geldiniz", + + "onboardingWelcomeLabel": "Hoş Geldiniz", "onboardingOverviewLabel": "Genel Bakış", "onboardingYourGoalLabel": "Kalori hedefiniz:", - "onboardingYourMacrosGoalLabel": "Makro besin hedefleriniz:", - "onboardingKcalPerDayLabel": "günlük kcal", - "onboardingIntroDescription": "Başlamak için, uygulamanın günlük kalori hedefinizi hesaplamak için sizinle ilgili bazı bilgilere ihtiyacı vardır.\nSizinle ilgili tüm bilgiler cihazınızda güvenli bir şekilde saklanır.", + "onboardingYourMacrosGoalLabel": "Makrobesin hedefleriniz:", + "onboardingKcalPerDayLabel": "günlük kalori", + "onboardingIntroDescription": "Başlamak için, uygulamanın günlük kalori hedefinizi hesaplamak için hakkınızda bazı bilgilere ihtiyacı var.\nHakkınızdaki tüm bilgiler cihazınızda güvenli bir şekilde saklanır.", "onboardingGenderQuestionSubtitle": "Cinsiyetiniz nedir?", - "onboardingEnterBirthdayLabel": "Doğum günü", + "onboardingEnterBirthdayLabel": "Doğum Günü", "onboardingBirthdayHint": "Tarih Girin", - "onboardingBirthdayQuestionSubtitle": "Doğum günün ne zaman?", - "onboardingHeightQuestionSubtitle": "Şu anki boyunuz nedir?", - "onboardingWeightQuestionSubtitle": "Şu anki kilonuz nedir?", + "onboardingBirthdayQuestionSubtitle": "Doğum gününüz ne zaman?", + "onboardingHeightQuestionSubtitle": "Mevcut boyunuz nedir?", + "onboardingWeightQuestionSubtitle": "Mevcut kilonuz nedir?", "onboardingWrongHeightLabel": "Doğru boyu girin", - "onboardingWrongWeightLabel": "Doğru ağırlığı girin", + "onboardingWrongWeightLabel": "Doğru kiloyu girin", "onboardingWeightExampleHint": "örn. 60", "onboardingHeightExampleHint": "örn. 170", - "onboardingActivityQuestionSubtitle": "Ne kadar aktifsiniz? (egzersiz yapmadan)", - "onboardingGoalQuestionSubtitle": "Şu anki kilo hedefiniz nedir?", + "onboardingActivityQuestionSubtitle": "Ne kadar aktifsiniz? (antrenmanlar hariç)", + "onboardingGoalQuestionSubtitle": "Mevcut kilo hedefiniz nedir?", "onboardingSaveUserError": "Yanlış giriş, lütfen tekrar deneyin", + "settingsUnitsLabel": "Birimler", "settingsCalculationsLabel": "Hesaplamalar", "settingsThemeLabel": "Tema", @@ -56,39 +60,46 @@ "settingsReportErrorLabel": "Hata Bildir", "settingsPrivacySettings": "Gizlilik Ayarları", "settingsSourceCodeLabel": "Kaynak Kodu", - "settingFeedbackLabel": "Geri bildirim", + "settingFeedbackLabel": "Geri Bildirim", "settingAboutLabel": "Hakkında", "settingsMassLabel": "Kütle", "settingsDistanceLabel": "Mesafe", "settingsVolumeLabel": "Hacim", - "disclaimerText": "OpenNutriTracker tıbbi bir uygulama değildir. Sağlanan tüm veriler doğrulanmamıştır ve dikkatli kullanılmalıdır. Lütfen sağlıklı bir yaşam tarzı sürdürün ve herhangi bir sorun yaşarsanız bir uzmana danışın. Hastalık, hamilelik veya emzirme döneminde kullanılması önerilmez.\n\n\nUygulama halen geliştirilme aşamasındadır. Hatalar veya çökmeler meydana gelebilir.", + "disclaimerText": "OpenNutriTracker tıbbi bir uygulama değildir. Sağlanan tüm veriler doğrulanmamıştır ve dikkatle kullanılmalıdır. Lütfen sağlıklı bir yaşam tarzı sürdürün ve herhangi bir sorununuz varsa bir uzmana danışın. Hastalık, hamilelik veya emzirme döneminde kullanılması önerilmez.\n\n\nUygulama hala geliştirme aşamasındadır. Hatalar, buglar ve çökmeler meydana gelebilir.", "reportErrorDialogText": "Geliştiriciye bir hata bildirmek istiyor musunuz?", - "sendAnonymousUserData": "Anonim kullanım verileri gönder", + "sendAnonymousUserData": "Anonim kullanım verilerini gönder", "appLicenseLabel": "GPL-3.0 lisansı", "calculationsTDEELabel": "TDEE denklemi", - "calculationsTDEEIOM2006Label": "Tıp Enstitüsü Denklem", + "calculationsTDEEIOM2006Label": "Tıp Enstitüsü Denklemi", "calculationsRecommendedLabel": "(önerilen)", - "calculationsMacronutrientsDistributionLabel": "Makro dağılımı", - "calculationsMacrosDistribution": "% {pctCarbs} karbonhidrat, % {pctFats} yağ, % {pctProteins} protein", + "calculationsMacronutrientsDistributionLabel": "Makro besin dağılımı", + "calculationsMacrosDistribution": "%{pctCarbs} karbonhidrat, %{pctFats} yağ, %{pctProteins} protein", + "addItemLabel": "Yeni Öğe Ekle:", - "activityLabel": "Etkinlik", - "activityExample": "örn. koşu, bisiklete binme, yoga ...", + "activityLabel": "Aktivite", + "activityExample": "örn. koşu, bisiklet, yoga ...", "breakfastLabel": "Kahvaltı", - "breakfastExample": "örn. mısır gevreği, süt, kahve ...", - "lunchLabel": "Öğle yemeği", + "breakfastExample": "örn. tahıl, süt, kahve ...", + "lunchLabel": "Öğle Yemeği", "lunchExample": "örn. pizza, salata, pilav ...", "dinnerLabel": "Akşam Yemeği", "dinnerExample": "örn. çorba, tavuk, şarap ...", "snackLabel": "Atıştırmalık", "snackExample": "örn. elma, dondurma, çikolata ...", - "deleteTimeDialogTitle": "Öğe silinsin mi?", - "deleteTimeDialogContent": "Seçilen öğeyi silmek istiyor musunuz?", + + "editItemDialogTitle": "Öğeyi düzenle", + "itemUpdatedSnackbar": "Öğe güncellendi", + + "deleteTimeDialogTitle": "Öğe Silinsin mi?", + "deleteTimeDialogContent": "Seçili öğeyi silmek istiyor musunuz?", "itemDeletedSnackbar": "Öğe silindi", + "suppliedLabel": "alınan", "burnedLabel": "yakılan", - "kcalLeftLabel": "kalan kcal", - "nutritionInfoLabel": "Beslenme Bilgileri", - "kcalLabel": "kcal", + "kcalLeftLabel": "kalan kalori", + + "nutritionInfoLabel": "Besin Bilgisi", + "kcalLabel": "kalori", "carbsLabel": "karbonhidrat", "fatLabel": "yağ", "proteinLabel": "protein", @@ -98,105 +109,118 @@ "sugarLabel": "şeker", "fiberLabel": "lif", "per100gLabel": "100g başına", - "additionalInfoLabelOFF": "Daha fazla bilgi için:\nOpenFoodFacts", - "offDisclaimer": "Bu uygulama tarafından size sağlanan veriler Open Food Facts veritabanından alınır. Sağlanan bilgilerin doğruluğu, eksiksizliği veya güvenilirliği için hiçbir garanti verilemez. Veriler \"olduğu gibi\" sağlanır ve verilerin kaynak kaynağı (Open Food Facts), verilerin kullanımından kaynaklanan herhangi bir zarardan sorumlu değildir.", - "additionalInfoLabelFDC": "Daha fazla bilgi için:\nFoodData Central", + "additionalInfoLabelOFF": "OpenFoodFacts'te\nDaha Fazla Bilgi", + "offDisclaimer": "Bu uygulama tarafından size sağlanan veriler Open Food Facts veritabanından alınmıştır. Sağlanan bilgilerin doğruluğu, eksiksizliği veya güvenilirliği konusunda hiçbir garanti verilemez. Veriler \"olduğu gibi\" sağlanır ve verilerin kaynağı (Open Food Facts), verilerin kullanımından kaynaklanan herhangi bir zarardan sorumlu değildir.", + "additionalInfoLabelFDC": "FoodData Central'da\nDaha Fazla Bilgi", "additionalInfoLabelUnknown": "Bilinmeyen Yemek Öğesi", "additionalInfoLabelCustom": "Özel Yemek Öğesi", - "additionalInfoLabelCompendium2011": "Bilgiler\n'2011 Fiziksel Aktiviteler Özeti\n tarafından sağlanmıştır", - "quantityLabel": "Adet", + "additionalInfoLabelCompendium2011": "'2011 Fiziksel Aktiviteler Özeti'\ntarafından sağlanan bilgiler", + "quantityLabel": "Miktar", "unitLabel": "Birim", - "scanProductLabel": "Ürün Tarama", + "scanProductLabel": "Ürün Tara", "gramUnit": "g", "milliliterUnit": "ml", "gramMilliliterUnit": "g/ml", - "missingProductInfo": "Ürün gerekli kcal veya makro besin bilgileri eksik", + "missingProductInfo": "Üründe gerekli kalori veya makrobesin bilgisi eksik", + "infoAddedIntakeLabel": "Yeni alım eklendi", - "infoAddedActivityLabel": "Yeni etkinlik eklendi", - "editMealLabel": "Yemek siparişini düzenle", + "infoAddedActivityLabel": "Yeni aktivite eklendi", + + "editMealLabel": "Yemeği düzenle", "mealNameLabel": "Yemek adı", "mealBrandsLabel": "Markalar", "mealSizeLabel": "Yemek boyutu (g/ml)", - "servingSizeLabel": "Porsiyon büyüklüğü (g/ml)", + "servingSizeLabel": "Porsiyon boyutu (g/ml)", "mealUnitLabel": "Yemek birimi", - "mealKcalLabel": "100 g/ml başına kcal", + "mealKcalLabel": "100 g/ml başına kalori", "mealCarbsLabel": "100 g/ml başına karbonhidrat", "mealFatLabel": "100 g/ml başına yağ", "mealProteinLabel": "100 g/ml başına protein", - "errorMealSave": "Yemek kaydedilirken hata oluştu. Yemek bilgilerini doğru girdiniz mi?", + "errorMealSave": "Yemek kaydedilirken hata oluştu. Doğru yemek bilgilerini girdiniz mi?", + "bmiLabel": "VKİ", - "bmiInfo": "Vücut Kitle İndeksi (VKİ), yetişkinlerde aşırı kilo ve obeziteyi sınıflandırmak için kullanılan bir indekstir. Kilogram cinsinden ağırlık bölü boy uzunluğunun metre cinsinden karesi (kg/m²) olarak tanımlanır.\n\nVKİ yağ ve kas kütlesi arasında ayrım yapmaz ve bazı bireyler için yanıltıcı olabilir.", + "bmiInfo": "Vücut Kitle İndeksi (VKİ), yetişkinlerde aşırı kilolu ve obeziteyi sınıflandırmak için kullanılan bir indekstir. Kilogram cinsinden ağırlığın, metre cinsinden boyun karesine bölünmesiyle hesaplanır (kg/m²).\n\nVKİ, yağ ve kas kütlesi arasında ayrım yapmaz ve bazı bireyler için yanıltıcı olabilir.", "readLabel": "Gizlilik politikasını okudum ve kabul ediyorum.", "privacyPolicyLabel": "Gizlilik politikası", - "dataCollectionLabel": "Anonim kullanım verileri sağlayarak gelişimi desteklemek istiyorum", + "dataCollectionLabel": "Anonim kullanım verileri sağlayarak geliştirmeyi destekleyin", + "palSedentaryLabel": "Hareketsiz", - "palSedentaryDescriptionLabel": "örn. ofis işi ve çoğunlukla boş zaman aktiviteleri", + "palSedentaryDescriptionLabel": "örn. ofis işi ve çoğunlukla oturarak geçirilen boş zaman aktiviteleri", "palLowLActiveLabel": "Az Aktif", - "palLowActiveDescriptionLabel": "örn. işte oturmak veya ayakta durmak ve hafif boş zaman etkinlikleri", + "palLowActiveDescriptionLabel": "örn. işte oturmak veya ayakta durmak ve hafif boş zaman aktiviteleri", "palActiveLabel": "Aktif", - "palActiveDescriptionLabel": "Çoğunlukla ayakta durma veya işte yürüme ve aktif serbest zaman aktiviteleri", + "palActiveDescriptionLabel": "Çoğunlukla işte ayakta durmak veya yürümek ve aktif boş zaman aktiviteleri", "palVeryActiveLabel": "Çok Aktif", - "palVeryActiveDescriptionLabel": "İş ve aktif serbest zaman aktivitelerinde çoğunlukla yürüme, koşma veya ağırlık taşıma", - "selectPalCategoryLabel": "Etkinlik Seviyesi Seçin", - "chooseWeightGoalLabel": "Ağırlık Hedefini Seçin", - "goalLoseWeight": "Kilo Vermek", - "goalMaintainWeight": "Ağırlığı Korumak", - "goalGainWeight": "Kilo Almak", - "goalLabel": "Amaç", + "palVeryActiveDescriptionLabel": "Çoğunlukla işte yürümek, koşmak veya ağırlık taşımak ve aktif boş zaman aktiviteleri", + + "selectPalCategoryLabel": "Aktivite Seviyesi Seçin", + "chooseWeightGoalLabel": "Kilo Hedefi Seçin", + "goalLoseWeight": "Kilo Ver", + "goalMaintainWeight": "Kiloyu Koru", + "goalGainWeight": "Kilo Al", + "goalLabel": "Hedef", "selectHeightDialogLabel": "Boy Seçin", "heightLabel": "Boy", "cmLabel": "cm", - "selectWeightDialogLabel": "Ağırlık Seçin", - "weightLabel": "Ağırlık", + "selectWeightDialogLabel": "Kilo Seçin", + "weightLabel": "Kilo", "kgLabel": "kg", "ageLabel": "Yaş", - "yearsLabel": "{age} yıl", + "yearsLabel": "{age} yaş", "selectGenderDialogLabel": "Cinsiyet Seçin", "genderLabel": "Cinsiyet", "genderMaleLabel": "♂ erkek", "genderFemaleLabel": "♀ kadın", + "nothingAddedLabel": "Hiçbir şey eklenmedi", - "nutritionalStatusUnderweight": "Düşük kilolu", + + "nutritionalStatusUnderweight": "Düşük Kilolu", "nutritionalStatusNormalWeight": "Normal Kilolu", - "nutritionalStatusPreObesity": "Obezite öncesi", + "nutritionalStatusPreObesity": "Obezite Öncesi", "nutritionalStatusObeseClassI": "Obezite Sınıf I", "nutritionalStatusObeseClassII": "Obezite Sınıf II", "nutritionalStatusObeseClassIII": "Obezite Sınıf III", - "nutritionalStatusRiskLabel": "Eşlik eden hastalıkların riski: {riskValue}", - "nutritionalStatusRiskLow": "Düşük \n(ancak diğer klinik problemlerin \noluşma riski arttı)", + + "nutritionalStatusRiskLabel": "Eşlik eden hastalık riski: {riskValue}", + "nutritionalStatusRiskLow": "Düşük \n(ancak diğer klinik \nsorunların riski artmış)", "nutritionalStatusRiskAverage": "Ortalama", - "nutritionalStatusRiskIncreased": "Artan", + "nutritionalStatusRiskIncreased": "Artmış", "nutritionalStatusRiskModerate": "Orta", "nutritionalStatusRiskSevere": "Ciddi", - "nutritionalStatusRiskVerySevere": "Çok şiddetli", + "nutritionalStatusRiskVerySevere": "Çok Ciddi", + "errorOpeningEmail": "E-posta uygulaması açılırken hata oluştu", "errorOpeningBrowser": "Tarayıcı uygulaması açılırken hata oluştu", "errorFetchingProductData": "Ürün verileri alınırken hata oluştu", "errorProductNotFound": "Ürün bulunamadı", - "errorLoadingActivities": "Etkinlikler yüklenirken hata oluştu", + "errorLoadingActivities": "Aktiviteler yüklenirken hata oluştu", "noResultsFound": "Sonuç bulunamadı", "retryLabel": "Tekrar dene", + "@PHYSICAL_ACTIVITIES": {}, - "paHeadingBicycling": "bisiklete binme", + + "paHeadingBicycling": "bisiklet sürme", "paHeadingConditionalExercise": "kondisyon egzersizi", "paHeadingDancing": "dans", - "paHeadingRunning": "çalışıyor", - "paHeadingSports": "spor", - "paHeadingWalking": "yürüme", + "paHeadingRunning": "koşu", + "paHeadingSports": "sporlar", + "paHeadingWalking": "yürüyüş", "paHeadingWaterActivities": "su aktiviteleri", "paHeadingWinterActivities": "kış aktiviteleri", + "paGeneralDesc": "genel", - "paBicyclingGeneral": "bisiklete binme", + + "paBicyclingGeneral": "bisiklet sürme", "paBicyclingGeneralDesc": "genel", - "paBicyclingMountainGeneral": "bisiklet, dağ", + "paBicyclingMountainGeneral": "dağ bisikleti", "paBicyclingMountainGeneralDesc": "genel", "paUnicyclingGeneral": "tek tekerlekli bisiklet", "paUnicyclingGeneralDesc": "genel", - "paBicyclingStationaryGeneral": "bisiklet, sabit", + "paBicyclingStationaryGeneral": "sabit bisiklet", "paBicyclingStationaryGeneralDesc": "genel", - "paCalisthenicsGeneral": "calisthenics", - "paCalisthenicsGeneralDesc": "hafif veya orta derecede efor, genel (örn. sırt egzersizleri)", - "paResistanceTraining": "direnç eğitimi", + "paCalisthenicsGeneral": "jimnastik", + "paCalisthenicsGeneralDesc": "hafif veya orta efor, genel (örn. sırt egzersizleri)", + "paResistanceTraining": "direnç antrenmanı", "paResistanceTrainingDesc": "ağırlık kaldırma, serbest ağırlık, nautilus veya universal", "paRopeSkippingGeneral": "ip atlama", "paRopeSkippingGeneralDesc": "genel", @@ -205,20 +229,20 @@ "paDancingAerobicGeneral": "aerobik", "paDancingAerobicGeneralDesc": "genel", "paDancingGeneral": "genel dans", - "paDancingGeneralDesc": "örn. disko, halk, İrlanda step dansı, çizgi dansı, polka, kontra, ülke", - "paJoggingGeneral": "koşu", + "paDancingGeneralDesc": "örn. disko, halk dansı, İrlanda step dansı, sıra dansı, polka, contra, ülke dansları", + "paJoggingGeneral": "hafif koşu", "paJoggingGeneralDesc": "genel", - "paRunningGeneral": "çalışıyor", + "paRunningGeneral": "koşu", "paRunningGeneralDesc": "genel", "paArcheryGeneral": "okçuluk", - "paArcheryGeneralDesc": "avlanmama", + "paArcheryGeneralDesc": "av amaçlı olmayan", "paBadmintonGeneral": "badminton", - "paBadmintonGeneralDesc": "sosyal bekarlar ve çiftler, genel", + "paBadmintonGeneralDesc": "sosyal tekler ve çiftler, genel", "paBasketballGeneral": "basketbol", "paBasketballGeneralDesc": "genel", "paBilliardsGeneral": "bilardo", "paBilliardsGeneralDesc": "genel", - "paBowlingGeneral": "bovling", + "paBowlingGeneral": "bowling", "paBowlingGeneralDesc": "genel", "paBoxingBag": "boks", "paBoxingBagDesc": "kum torbası", @@ -227,25 +251,25 @@ "paBroomball": "broomball", "paBroomballDesc": "genel", "paChildrenGame": "çocuk oyunları", - "paChildrenGameDesc": "(örn. seksek, 4 kare, yakartop, oyun alanı aparatı, t-ball, tetherball, bilyeler, atari oyunları), orta düzeyde çaba", - "paCheerleading": "amigoluk", - "paCheerleadingDesc": "jimnastik hareketleri, rekabetçi", + "paChildrenGameDesc": "(örn. seksek, 4-kare, yakantop, oyun parkı aletleri, t-topu, direk topu, misket, arcade oyunları), orta efor", + "paCheerleading": "amigo", + "paCheerleadingDesc": "jimnastik hareketleri, yarışma", "paCricket": "kriket", - "paCricketDesc": "vuruş, bowling, saha koşusu", + "paCricketDesc": "vuruş, top atma, saha savunması", "paCroquet": "kroket", "paCroquetDesc": "genel", - "paCurling": "kıvırma", + "paCurling": "curling", "paCurlingDesc": "genel", "paDartsWall": "dart", "paDartsWallDesc": "duvar veya çim", - "paAutoRacing": "otomobil yarışı", + "paAutoRacing": "araba yarışı", "paAutoRacingDesc": "açık tekerlek", - "paFencing": "çit", + "paFencing": "eskrim", "paFencingDesc": "genel", - "paAmericanFootballGeneral": "futbol", - "paAmericanFootballGeneralDesc": "dokunma, bayrak, genel", + "paAmericanFootballGeneral": "Amerikan futbolu", + "paAmericanFootballGeneralDesc": "dokunmalı, bayrak, genel", "paCatch": "futbol veya beyzbol", - "paCatchDesc": "catch oynamak", + "paCatchDesc": "top yakalama", "paFrisbee": "frizbi oynama", "paFrisbeeDesc": "genel", "paGolfGeneral": "golf", @@ -256,9 +280,9 @@ "paHackySackDesc": "genel", "paHandballGeneral": "hentbol", "paHandballGeneralDesc": "genel", - "paHangGliding": "yelken kanat", + "paHangGliding": "yamaç paraşütü", "paHangGlidingDesc": "genel", - "paHockeyField": "hokey, saha", + "paHockeyField": "çim hokeyi", "paHockeyFieldDesc": "genel", "paIceHockeyGeneral": "buz hokeyi", "paIceHockeyGeneralDesc": "genel", @@ -267,103 +291,103 @@ "paJaiAlai": "jai alai", "paJaiAlaiDesc": "genel", "paMartialArtsSlower": "dövüş sanatları", - "paMartialArtsSlowerDesc": "farklı türler, daha yavaş tempo, acemi sanatçılar, alıştırma", + "paMartialArtsSlowerDesc": "farklı türler, yavaş tempo, acemi performansçılar, pratik", "paMartialArtsModerate": "dövüş sanatları", - "paMartialArtsModerateDesc": "farklı türler, orta tempo (örn. judo, jujitsu, karate, kick boks, tae kwan do, tai-bo, Muay Thai boks)", - "paJuggling": "hokkabazlık", + "paMartialArtsModerateDesc": "farklı türler, orta tempo (örn. judo, jujitsu, karate, kick boks, tekvando, tai-bo, Muay Thai boksu)", + "paJuggling": "jonglörlük", "paJugglingDesc": "genel", "paKickball": "kickball", "paKickballDesc": "genel", "paLacrosse": "lakros", "paLacrosseDesc": "genel", - "paLawnBowling": "çim bowlingi", - "paLawnBowlingDesc": "bocce topu, dış mekan", - "paMotoCross": "moto-cross", + "paLawnBowling": "çim bowling", + "paLawnBowlingDesc": "bocce topu, açık hava", + "paMotoCross": "motokros", "paMotoCrossDesc": "off-road motor sporları, arazi aracı, genel", "paOrienteering": "oryantiring", "paOrienteeringDesc": "genel", - "paPaddleball": "kürek topu", - "paPaddleballDesc": "gündelik, genel", + "paPaddleball": "paddle topu", + "paPaddleballDesc": "rahat, genel", "paPoloHorse": "polo", - "paPoloHorseDesc": "at sırtında", + "paPoloHorseDesc": "at üstünde", "paRacquetball": "raketbol", "paRacquetballDesc": "genel", "paMountainClimbing": "tırmanış", "paMountainClimbingDesc": "kaya veya dağ tırmanışı", "paRodeoSportGeneralModerate": "rodeo sporları", - "paRodeoSportGeneralModerateDesc": "genel, ılımlı çaba", + "paRodeoSportGeneralModerateDesc": "genel, orta efor", "paRopeJumpingGeneral": "ip atlama", - "paRopeJumpingGeneralDesc": "orta tempo, 100-120 atlama/dak, genel, 2 ayak atlama, düz sıçrama", + "paRopeJumpingGeneralDesc": "orta tempo, dakikada 100-120 atlama, genel, iki ayak atlama, düz zıplama", "paRugbyCompetitive": "ragbi", - "paRugbyCompetitiveDesc": "sendika, takım, rekabetçi", + "paRugbyCompetitiveDesc": "birlik, takım, yarışma", "paRugbyNonCompetitive": "ragbi", - "paRugbyNonCompetitiveDesc": "dokunma, rekabetçi olmayan", + "paRugbyNonCompetitiveDesc": "dokunmalı, yarışma dışı", "paShuffleboard": "shuffleboard", "paShuffleboardDesc": "genel", "paSkateboardingGeneral": "kaykay", - "paSkateboardingGeneralDesc": "genel, ılımlı çaba", - "paSkatingRoller": "patenle kayma", + "paSkateboardingGeneralDesc": "genel, orta efor", + "paSkatingRoller": "paten", "paSkatingRollerDesc": "genel", - "paRollerbladingLight": "paten kayma", - "paRollerbladingLightDesc": "sıralı paten", - "paSkydiving": "paraşütle atlama", - "paSkydivingDesc": "skydiving, base jumping, bungee jumping", + "paRollerbladingLight": "paten", + "paRollerbladingLightDesc": "inline paten", + "paSkydiving": "serbest paraşüt", + "paSkydivingDesc": "serbest paraşüt, base jumping, bungee jumping", "paSoccerGeneral": "futbol", - "paSoccerGeneralDesc": "gündelik, genel", - "paSoftballBaseballGeneral": "softbol / beyzbol", - "paSoftballBaseballGeneralDesc": "hızlı veya yavaş perde, genel", - "paSquashGeneral": "kabak", + "paSoccerGeneralDesc": "rahat, genel", + "paSoftballBaseballGeneral": "softball / beyzbol", + "paSoftballBaseballGeneralDesc": "hızlı veya yavaş atış, genel", + "paSquashGeneral": "squash", "paSquashGeneralDesc": "genel", "paTableTennisGeneral": "masa tenisi", - "paTableTennisGeneralDesc": "masa tenisi, pinpon", + "paTableTennisGeneralDesc": "masa tenisi, ping pong", "paTaiChiQiGongGeneral": "tai chi, qi gong", "paTaiChiQiGongGeneralDesc": "genel", "paTennisGeneral": "tenis", "paTennisGeneralDesc": "genel", - "paTrampolineLight": "trambolin", - "paTrampolineLightDesc": "rekreasyonel", + "paTrampolineLight": "trampolin", + "paTrampolineLightDesc": "eğlence amaçlı", "paVolleyballGeneral": "voleybol", - "paVolleyballGeneralDesc": "rekabetçi olmayan, 6-9 kişilik ekip, genel", + "paVolleyballGeneralDesc": "yarışma dışı, 6 - 9 kişilik takım, genel", "paWrestling": "güreş", "paWrestlingDesc": "genel", "paWallyball": "wallyball", "paWallyballDesc": "genel", "paTrackField": "atletizm", - "paTrackField1Desc": "(örn. atış, disk atma, çekiç atma)", - "paTrackField2Desc": "(örn. yüksek atlama, uzun atlama, üçlü atlama, cirit, sırıkla atlama)", - "paTrackField3Desc": "(örn. engelli koşusu, engelli koşusu)", - "paBackpackingGeneral": "sırt çantasıyla gezme", + "paTrackField1Desc": "(örn. gülle atma, disk atma, çekiç atma)", + "paTrackField2Desc": "(örn. yüksek atlama, uzun atlama, üç adım atlama, cirit atma, sırıkla atlama)", + "paTrackField3Desc": "(örn. su engelli koşu, engelli koşu)", + "paBackpackingGeneral": "sırt çantalı gezme", "paBackpackingGeneralDesc": "genel", - "paClimbingHillsNoLoadGeneral": "tırmanma tepeleri, yüksüz", + "paClimbingHillsNoLoadGeneral": "yüksüz tepe tırmanışı", "paClimbingHillsNoLoadGeneralDesc": "yüksüz", - "paHikingCrossCountry": "yürüyüş", - "paHikingCrossCountryDesc": "kros", - "paWalkingForPleasure": "yürüme", - "paWalkingForPleasureDesc": "zevk için", - "paWalkingTheDog": "köpeği gezdirmek", + "paHikingCrossCountry": "doğa yürüyüşü", + "paHikingCrossCountryDesc": "kırsal alanda", + "paWalkingForPleasure": "yürüyüş", + "paWalkingForPleasureDesc": "keyif için", + "paWalkingTheDog": "köpek gezdirme", "paWalkingTheDogDesc": "genel", - "paCanoeingGeneral": "kano sporu", - "paCanoeingGeneralDesc": "kürek, zevk için, genel", + "paCanoeingGeneral": "kano", + "paCanoeingGeneralDesc": "kürek çekme, keyif için, genel", "paDivingSpringboardPlatform": "dalış", - "paDivingSpringboardPlatformDesc": "sıçrama tahtası veya platform", - "paKayakingModerate": "kano sporu", - "paKayakingModerateDesc": "ılımlı çaba", - "paPaddleBoat": "kürek teknesi", + "paDivingSpringboardPlatformDesc": "tramplen veya platform", + "paKayakingModerate": "kano", + "paKayakingModerateDesc": "orta efor", + "paPaddleBoat": "pedallı tekne", "paPaddleBoatDesc": "genel", - "paSailingGeneral": "yelkencilik", - "paSailingGeneralDesc": "tekne ve board yelkenciliği, rüzgar sörfü, buz yelkenciliği, genel", + "paSailingGeneral": "yelken", + "paSailingGeneralDesc": "tekne ve tahta yelken, rüzgar sörfü, buz yelkeni, genel", "paSkiingWaterWakeboarding": "su kayağı", - "paSkiingWaterWakeboardingDesc": "su veya su kayağı", + "paSkiingWaterWakeboardingDesc": "su kayağı veya wakeboard", "paDivingGeneral": "dalış", - "paDivingGeneralDesc": "deri dalışı, tüplü dalış, genel", - "paSnorkeling": "şnorkelle dalış", + "paDivingGeneralDesc": "cilt dalışı, scuba dalışı, genel", + "paSnorkeling": "şnorkel", "paSnorkelingDesc": "genel", "paSurfing": "sörf", - "paSurfingDesc": "gövde veya tahta, genel", - "paPaddleBoarding": "kürek sörfü", - "paPaddleBoardingDesc": "ayakta durma", + "paSurfingDesc": "vücut veya tahta, genel", + "paPaddleBoarding": "paddle board", + "paPaddleBoardingDesc": "ayakta", "paSwimmingGeneral": "yüzme", - "paSwimmingGeneralDesc": "diş suyu, ılımlı efor, genel", + "paSwimmingGeneralDesc": "su üzerinde durma, orta efor, genel", "paWateraerobicsCalisthenics": "su aerobiği", "paWateraerobicsCalisthenicsDesc": "su aerobiği, su jimnastiği", "paWaterPolo": "su topu", @@ -372,9 +396,8 @@ "paWaterVolleyballDesc": "genel", "paIceSkatingGeneral": "buz pateni", "paIceSkatingGeneralDesc": "genel", - "paSkiingGeneral": "kayak yapma", + "paSkiingGeneral": "kayak", "paSkiingGeneralDesc": "genel", "paSnowShovingModerate": "kar küreme", - "paSnowShovingModerateDesc": "elle, ılımlı çaba", - + "paSnowShovingModerateDesc": "elle, orta efor" } From 842d97c3c9fd71d964b8edd9cb44a3e6ec976ef0 Mon Sep 17 00:00:00 2001 From: Fredrik Olsson <51903586+frdrkolsson@users.noreply.github.com> Date: Tue, 9 Jul 2024 13:36:19 +0200 Subject: [PATCH 02/13] Enable decimal keyboard for edit meal on ios --- .../edit_meal/presentation/edit_meal_screen.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/features/edit_meal/presentation/edit_meal_screen.dart b/lib/features/edit_meal/presentation/edit_meal_screen.dart index 9eb3d20..829f5a3 100644 --- a/lib/features/edit_meal/presentation/edit_meal_screen.dart +++ b/lib/features/edit_meal/presentation/edit_meal_screen.dart @@ -135,7 +135,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealSizeLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.number, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -144,7 +144,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).servingSizeLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.number, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), DropdownButtonFormField( @@ -164,7 +164,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealKcalLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.number, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -173,7 +173,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealCarbsLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.number, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -182,7 +182,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealFatLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.number, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -191,7 +191,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealProteinLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.number, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), ], ), From 8ad0252aef47b7ef9365e46fb1ca81c4ed6d775d Mon Sep 17 00:00:00 2001 From: Saskia Gennrich Date: Fri, 19 Jul 2024 14:53:45 +0200 Subject: [PATCH 03/13] fix sort order --- lib/core/data/data_source/intake_data_source.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/core/data/data_source/intake_data_source.dart b/lib/core/data/data_source/intake_data_source.dart index cfdff8e..6dff334 100644 --- a/lib/core/data/data_source/intake_data_source.dart +++ b/lib/core/data/data_source/intake_data_source.dart @@ -57,9 +57,9 @@ class IntakeDataSource { Future> getRecentlyAddedIntake({int number = 100}) async { final intakeList = _intakeBox.values.toList(); - // sort list by date and filter unique intake + // sort list by date (newest first) and filter unique intake intakeList - .sort((a, b) => a.dateTime.compareTo(b.dateTime)); + .sort((a, b) => (-1) * a.dateTime.compareTo(b.dateTime)); final filterCodes = {}; final uniqueIntake = intakeList From 4e998f01d7ed4c32b9e0df1746b469e7e424a862 Mon Sep 17 00:00:00 2001 From: Saskia Gennrich Date: Fri, 19 Jul 2024 16:06:08 +0200 Subject: [PATCH 04/13] write test --- test/fixture/meal_entity_fixtures.dart | 35 +++++++++++++ test/unit_test/intake_repository_test.dart | 60 ++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 test/fixture/meal_entity_fixtures.dart create mode 100644 test/unit_test/intake_repository_test.dart diff --git a/test/fixture/meal_entity_fixtures.dart b/test/fixture/meal_entity_fixtures.dart new file mode 100644 index 0000000..443569f --- /dev/null +++ b/test/fixture/meal_entity_fixtures.dart @@ -0,0 +1,35 @@ +import 'package:opennutritracker/features/add_meal/domain/entity/meal_entity.dart'; +import 'package:opennutritracker/features/add_meal/domain/entity/meal_nutriments_entity.dart'; + +class MealEntityFixtures { + static final meal_one = MealEntity( + code: "1", + name: null, + url: null, + mealQuantity: null, + mealUnit: 'g', + servingQuantity: null, + servingUnit: 'g', + nutriments: MealNutrimentsEntity.empty(), + source: MealSourceEntity.custom); + static final meal_two = MealEntity( + code: "2", + name: null, + url: null, + mealQuantity: null, + mealUnit: 'g', + servingQuantity: null, + servingUnit: 'g', + nutriments: MealNutrimentsEntity.empty(), + source: MealSourceEntity.custom); + static final meal_three = MealEntity( + code: "3", + name: null, + url: null, + mealQuantity: null, + mealUnit: 'g', + servingQuantity: null, + servingUnit: 'g', + nutriments: MealNutrimentsEntity.empty(), + source: MealSourceEntity.custom); +} \ No newline at end of file diff --git a/test/unit_test/intake_repository_test.dart b/test/unit_test/intake_repository_test.dart new file mode 100644 index 0000000..9733c85 --- /dev/null +++ b/test/unit_test/intake_repository_test.dart @@ -0,0 +1,60 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:hive/hive.dart'; +import 'package:opennutritracker/core/data/data_source/intake_data_source.dart'; +import 'package:opennutritracker/core/data/dbo/intake_dbo.dart'; +import 'package:opennutritracker/core/data/dbo/intake_type_dbo.dart'; +import 'package:opennutritracker/core/data/dbo/meal_dbo.dart'; +import 'package:opennutritracker/core/data/dbo/meal_nutriments_dbo.dart'; +import 'package:opennutritracker/core/data/repository/intake_repository.dart'; +import 'package:opennutritracker/core/domain/entity/intake_entity.dart'; +import 'package:opennutritracker/core/domain/entity/intake_type_entity.dart'; + +import '../fixture/meal_entity_fixtures.dart'; + +void main() { + + group('IntakeRepository test', () { + setUp(() { + TestWidgetsFlutterBinding.ensureInitialized(); + // final temp = await getTemporaryDirectory(); + Hive.init("."); + Hive.registerAdapter(IntakeDBOAdapter()); + Hive.registerAdapter(IntakeTypeDBOAdapter()); + Hive.registerAdapter(MealDBOAdapter()); + Hive.registerAdapter(MealSourceDBOAdapter()); + Hive.registerAdapter(MealNutrimentsDBOAdapter()); + }); + + test('returns last added first', () async { + final box = await Hive.openBox('intake_test'); + + final repo = IntakeRepository(IntakeDataSource(box)); + + + await repo.addIntake(IntakeEntity( + id: "1", + unit: "g", + amount: 1, + type: IntakeTypeEntity.breakfast, + meal: MealEntityFixtures.meal_one, + dateTime: DateTime.utc(2024, 1, 1, 0, 0, 0))); + await repo.addIntake(IntakeEntity( + id: "2", + unit: "g", + amount: 1, + type: IntakeTypeEntity.breakfast, + meal: MealEntityFixtures.meal_two, + dateTime: DateTime.utc(2024, 1, 2, 0, 0, 0))); + await repo.addIntake(IntakeEntity( + id: "3", + unit: "g", + amount: 1, + type: IntakeTypeEntity.breakfast, + meal: MealEntityFixtures.meal_three, + dateTime: DateTime.utc(2024, 1, 3, 0, 0, 0))); + + final recents = (await repo.getRecentIntake()).map((e) => e.id).toList(); + expect(recents, List.from(["3", "2", "1"])); + }); + }); +} From a3fecdbb82b794a75260cb9b15e9ae7d46e52392 Mon Sep 17 00:00:00 2001 From: Saskia Gennrich Date: Fri, 19 Jul 2024 16:09:58 +0200 Subject: [PATCH 05/13] delete test hive boxes --- test/unit_test/intake_repository_test.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/unit_test/intake_repository_test.dart b/test/unit_test/intake_repository_test.dart index 9733c85..4e0dab4 100644 --- a/test/unit_test/intake_repository_test.dart +++ b/test/unit_test/intake_repository_test.dart @@ -25,6 +25,10 @@ void main() { Hive.registerAdapter(MealNutrimentsDBOAdapter()); }); + tearDown(() { + Hive.deleteFromDisk(); + }); + test('returns last added first', () async { final box = await Hive.openBox('intake_test'); From 3f208be337313eb13e7816bed812d4946b81957a Mon Sep 17 00:00:00 2001 From: Saskia Gennrich Date: Fri, 19 Jul 2024 16:11:42 +0200 Subject: [PATCH 06/13] fix flutter analyze --- test/fixture/meal_entity_fixtures.dart | 6 +++--- test/unit_test/intake_repository_test.dart | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/fixture/meal_entity_fixtures.dart b/test/fixture/meal_entity_fixtures.dart index 443569f..8880d7c 100644 --- a/test/fixture/meal_entity_fixtures.dart +++ b/test/fixture/meal_entity_fixtures.dart @@ -2,7 +2,7 @@ import 'package:opennutritracker/features/add_meal/domain/entity/meal_entity.dar import 'package:opennutritracker/features/add_meal/domain/entity/meal_nutriments_entity.dart'; class MealEntityFixtures { - static final meal_one = MealEntity( + static final mealOne = MealEntity( code: "1", name: null, url: null, @@ -12,7 +12,7 @@ class MealEntityFixtures { servingUnit: 'g', nutriments: MealNutrimentsEntity.empty(), source: MealSourceEntity.custom); - static final meal_two = MealEntity( + static final mealTwo = MealEntity( code: "2", name: null, url: null, @@ -22,7 +22,7 @@ class MealEntityFixtures { servingUnit: 'g', nutriments: MealNutrimentsEntity.empty(), source: MealSourceEntity.custom); - static final meal_three = MealEntity( + static final mealThree = MealEntity( code: "3", name: null, url: null, diff --git a/test/unit_test/intake_repository_test.dart b/test/unit_test/intake_repository_test.dart index 4e0dab4..f3f0aab 100644 --- a/test/unit_test/intake_repository_test.dart +++ b/test/unit_test/intake_repository_test.dart @@ -40,21 +40,21 @@ void main() { unit: "g", amount: 1, type: IntakeTypeEntity.breakfast, - meal: MealEntityFixtures.meal_one, + meal: MealEntityFixtures.mealOne, dateTime: DateTime.utc(2024, 1, 1, 0, 0, 0))); await repo.addIntake(IntakeEntity( id: "2", unit: "g", amount: 1, type: IntakeTypeEntity.breakfast, - meal: MealEntityFixtures.meal_two, + meal: MealEntityFixtures.mealTwo, dateTime: DateTime.utc(2024, 1, 2, 0, 0, 0))); await repo.addIntake(IntakeEntity( id: "3", unit: "g", amount: 1, type: IntakeTypeEntity.breakfast, - meal: MealEntityFixtures.meal_three, + meal: MealEntityFixtures.mealThree, dateTime: DateTime.utc(2024, 1, 3, 0, 0, 0))); final recents = (await repo.getRecentIntake()).map((e) => e.id).toList(); From 382277482f6cb61f845154440a31aebedfb20d37 Mon Sep 17 00:00:00 2001 From: DavHau Date: Sat, 24 Aug 2024 02:20:43 +0200 Subject: [PATCH 07/13] add reproducible development environment via flake.nix --- .envrc | 1 + .gitignore | 4 ++++ flake.lock | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 47 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 .envrc create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index 2edbfb8..652faab 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,7 @@ app.*.map.json /android/app/debug /android/app/profile /android/app/release + +# nix related +result +.direnv/ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..ce4b2c2 --- /dev/null +++ b/flake.lock @@ -0,0 +1,57 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 0, + "narHash": "sha256-aoZsSK0Nu7SayhVb5GWIbEPiFQjLriIyywzJ4knGSiQ=", + "path": "/nix/store/ai3sqgzzs8lf4y08pdw4bwvb9ziqn7k4-source", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2c9891c --- /dev/null +++ b/flake.nix @@ -0,0 +1,47 @@ +{ + description = "Flutter 3.19.x"; + inputs = { + nixpkgs.url = "nixpkgs"; + flake-utils.url = "github:numtide/flake-utils"; + }; + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { + inherit system; + config = { + android_sdk.accept_license = true; + allowUnfree = true; + }; + }; + androidPkgs = (pkgs.androidenv.composeAndroidPackages { + platformVersions = [ "27" "29" "31" "33" "34" ]; + buildToolsVersions = [ "30.0.3" ]; + includeEmulator = true; + includeSystemImages = true; + }); + # TODO: graphics are a bit weird + emulator = pkgs.androidenv.emulateApp { + name = "flutter_emu"; + platformVersion = "27"; + abiVersion = "x86"; # armeabi-v7a, mips, x86_64 + systemImageType = "google_apis_playstore"; + deviceName = "pixel"; + }; + in + { + # run once: + # avdmanager create avd -n flutter_emulator -k 'system-images;android-27;google_apis_playstore;x86' -d pixel + # flutter emulators --launch flutter_emulator + # flutter pub run build_runner build --delete-conflicting-outputs + devShell = pkgs.mkShell { + ANDROID_SDK_ROOT = "${androidPkgs.androidsdk}/libexec/android-sdk"; + buildInputs = [ + pkgs.flutter319 + pkgs.jdk17 + androidPkgs.androidsdk + emulator # execute emulator with: run-test-emulator + ]; + }; + }); +} From 874ca2c6d7e4d995221a0822f7a3a17f76c6ae36 Mon Sep 17 00:00:00 2001 From: DavHau Date: Sat, 24 Aug 2024 12:53:08 +0200 Subject: [PATCH 08/13] flake.nix: devShell -> devShells.default --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 2c9891c..30ab5ff 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,7 @@ # avdmanager create avd -n flutter_emulator -k 'system-images;android-27;google_apis_playstore;x86' -d pixel # flutter emulators --launch flutter_emulator # flutter pub run build_runner build --delete-conflicting-outputs - devShell = pkgs.mkShell { + devShells.default = pkgs.mkShell { ANDROID_SDK_ROOT = "${androidPkgs.androidsdk}/libexec/android-sdk"; buildInputs = [ pkgs.flutter319 From a10c019aba9f02b9bbe220b58c9a6a75e4aaf238 Mon Sep 17 00:00:00 2001 From: shoutingcatana Date: Sat, 31 Aug 2024 19:17:53 +0200 Subject: [PATCH 09/13] update flake inputs --- flake.lock | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index ce4b2c2..2c1adeb 100644 --- a/flake.lock +++ b/flake.lock @@ -20,10 +20,12 @@ }, "nixpkgs": { "locked": { - "lastModified": 0, - "narHash": "sha256-aoZsSK0Nu7SayhVb5GWIbEPiFQjLriIyywzJ4knGSiQ=", - "path": "/nix/store/ai3sqgzzs8lf4y08pdw4bwvb9ziqn7k4-source", - "type": "path" + "lastModified": 1724395761, + "narHash": "sha256-zRkDV/nbrnp3Y8oCADf5ETl1sDrdmAW6/bBVJ8EbIdQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ae815cee91b417be55d43781eb4b73ae1ecc396c", + "type": "github" }, "original": { "id": "nixpkgs", From c6a1c0ed277d883b8549bd564ed7a78ee13b863e Mon Sep 17 00:00:00 2001 From: shoutingcatana Date: Sat, 31 Aug 2024 22:47:37 +0200 Subject: [PATCH 10/13] edit meals: make base quantity customizable In some countries, food items do not carry nuritional facts based off of 100g, but instead only contain values based on serving size. This change adds a base quantity field to the edit meal screen, so the user does not have to do calculations manually when entering new products --- .../presentation/bloc/edit_meal_bloc.dart | 24 ++++++++--- .../presentation/edit_meal_screen.dart | 43 ++++++++++++++----- lib/generated/l10n.dart | 26 +++++++---- 3 files changed, 67 insertions(+), 26 deletions(-) diff --git a/lib/features/edit_meal/presentation/bloc/edit_meal_bloc.dart b/lib/features/edit_meal/presentation/bloc/edit_meal_bloc.dart index 181a405..34bf89e 100644 --- a/lib/features/edit_meal/presentation/bloc/edit_meal_bloc.dart +++ b/lib/features/edit_meal/presentation/bloc/edit_meal_bloc.dart @@ -9,19 +9,29 @@ class EditMealBloc { String brandsText, String mealQuantityText, String servingQuantityText, + String baseQuantity, String? unitText, String kcalText, String carbsText, String fatText, String proteinText) { + + final baseQuantityDouble = double.tryParse(baseQuantity); + + final double factorTo100g = baseQuantityDouble != null ? (100/baseQuantityDouble): 1; + + double? multiplyIfNotNull(double? nutritmentValue) { + return nutritmentValue != null ? nutritmentValue * factorTo100g: null; + } + final newMealNutriments = MealNutrimentsEntity( - energyKcal100: kcalText.toDoubleOrNull(), - carbohydrates100: carbsText.toDoubleOrNull(), - fat100: fatText.toDoubleOrNull(), - proteins100: proteinText.toDoubleOrNull(), - sugars100: oldMealEntity.nutriments.sugars100, - saturatedFat100: oldMealEntity.nutriments.saturatedFat100, - fiber100: oldMealEntity.nutriments.fiber100); + energyKcal100: multiplyIfNotNull(kcalText.toDoubleOrNull()), + carbohydrates100: multiplyIfNotNull(carbsText.toDoubleOrNull()), + fat100: multiplyIfNotNull(fatText.toDoubleOrNull()), + proteins100: multiplyIfNotNull(proteinText.toDoubleOrNull()), + sugars100: multiplyIfNotNull(oldMealEntity.nutriments.sugars100), + saturatedFat100: multiplyIfNotNull(oldMealEntity.nutriments.saturatedFat100), + fiber100: multiplyIfNotNull(oldMealEntity.nutriments.fiber100)); return MealEntity( code: oldMealEntity.code, diff --git a/lib/features/edit_meal/presentation/edit_meal_screen.dart b/lib/features/edit_meal/presentation/edit_meal_screen.dart index 829f5a3..465e044 100644 --- a/lib/features/edit_meal/presentation/edit_meal_screen.dart +++ b/lib/features/edit_meal/presentation/edit_meal_screen.dart @@ -33,19 +33,30 @@ class _EditMealScreenState extends State { final _brandsTextController = TextEditingController(); final _mealQuantityTextController = TextEditingController(); final _servingQuantityTextController = TextEditingController(); + final _baseQuantityTextController = TextEditingController(); final _kcalTextController = TextEditingController(); final _carbsTextController = TextEditingController(); final _fatTextController = TextEditingController(); final _proteinTextController = TextEditingController(); - final _dropdownValues = ['g', 'ml', 'g/ml']; + final _units = ['g', 'ml', 'g/ml']; late String? _dropdownUnitValue; late List _mealUnitDropdownItems; + String baseQuantity = "100"; + String baseQuantityUnit = " g/ml"; + + @override void initState() { _editMealBloc = locator(); super.initState(); + + _baseQuantityTextController.addListener(() { + setState(() { + baseQuantity = _baseQuantityTextController.text; + }); + }); } @override @@ -72,11 +83,11 @@ class _EditMealScreenState extends State { _mealUnitDropdownItems = [ DropdownMenuItem( - value: _dropdownValues[0], child: Text(S.of(context).gramUnit)), + value: _units[0], child: Text(S.of(context).gramUnit)), DropdownMenuItem( - value: _dropdownValues[1], child: Text(S.of(context).milliliterUnit)), + value: _units[1], child: Text(S.of(context).milliliterUnit)), DropdownMenuItem( - value: _dropdownValues[2], + value: _units[2], child: Text(S.of(context).gramMilliliterUnit)), ]; @@ -148,7 +159,7 @@ class _EditMealScreenState extends State { ), const SizedBox(height: 16), DropdownButtonFormField( - value: _dropdownUnitValue ?? _dropdownValues.first, + value: _dropdownUnitValue ?? _units.first, items: _mealUnitDropdownItems, onChanged: (text) { _dropdownUnitValue = _switchDropdownUnit(text); @@ -158,11 +169,20 @@ class _EditMealScreenState extends State { border: const OutlineInputBorder()), ), const SizedBox(height: 48), + TextFormField( + controller: _baseQuantityTextController, + inputFormatters: CustomTextInputFormatter.doubleOnly(), + decoration: InputDecoration( + labelText: S.of(context).baseQuantityLabel, + border: const OutlineInputBorder()), + keyboardType: TextInputType.number, + ), + const SizedBox(height: 48), TextFormField( controller: _kcalTextController, inputFormatters: CustomTextInputFormatter.doubleOnly(), decoration: InputDecoration( - labelText: S.of(context).mealKcalLabel, + labelText: S.of(context).mealKcalLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), keyboardType: TextInputType.numberWithOptions(decimal: true), ), @@ -171,7 +191,7 @@ class _EditMealScreenState extends State { controller: _carbsTextController, inputFormatters: CustomTextInputFormatter.doubleOnly(), decoration: InputDecoration( - labelText: S.of(context).mealCarbsLabel, + labelText: S.of(context).mealCarbsLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), keyboardType: TextInputType.numberWithOptions(decimal: true), ), @@ -180,7 +200,7 @@ class _EditMealScreenState extends State { controller: _fatTextController, inputFormatters: CustomTextInputFormatter.doubleOnly(), decoration: InputDecoration( - labelText: S.of(context).mealFatLabel, + labelText: S.of(context).mealFatLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), keyboardType: TextInputType.numberWithOptions(decimal: true), ), @@ -189,7 +209,7 @@ class _EditMealScreenState extends State { controller: _proteinTextController, inputFormatters: CustomTextInputFormatter.doubleOnly(), decoration: InputDecoration( - labelText: S.of(context).mealProteinLabel, + labelText: S.of(context).mealProteinLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), keyboardType: TextInputType.numberWithOptions(decimal: true), ), @@ -206,6 +226,7 @@ class _EditMealScreenState extends State { _brandsTextController.text, _mealQuantityTextController.text, _servingQuantityTextController.text, + _baseQuantityTextController.text, _dropdownUnitValue, _kcalTextController.text, _carbsTextController.text, @@ -228,8 +249,8 @@ class _EditMealScreenState extends State { String? _switchDropdownUnit(String? unit) { String? dropdownValue; - if (!_dropdownValues.contains(unit)) { - dropdownValue = _dropdownValues.first; + if (!_units.contains(unit)) { + dropdownValue = _units.first; } else { dropdownValue = unit; } diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index c66a729..69f740d 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -1271,40 +1271,50 @@ class S { ); } - /// `kcal per 100 g/ml` + /// `Base quantity (g/ml)` + String get baseQuantityLabel { + return Intl.message( + 'Base quantity (g/ml)', + name: 'baseQuantityLabel', + desc: '', + args: [], + ); + } + + /// `kcal per` String get mealKcalLabel { return Intl.message( - 'kcal per 100 g/ml', + 'kcal per', name: 'mealKcalLabel', desc: '', args: [], ); } - /// `carbs per 100 g/ml` + /// `carbs per` String get mealCarbsLabel { return Intl.message( - 'carbs per 100 g/ml', + 'carbs per', name: 'mealCarbsLabel', desc: '', args: [], ); } - /// `fat per 100 g/ml` + /// `fat per` String get mealFatLabel { return Intl.message( - 'fat per 100 g/ml', + 'fat per', name: 'mealFatLabel', desc: '', args: [], ); } - /// `protein per 100 g/ml` + /// `protein per` String get mealProteinLabel { return Intl.message( - 'protein per 100 g/ml', + 'protein per', name: 'mealProteinLabel', desc: '', args: [], From 61a08c581f7ecc04873f460b2a3f583f0391ab79 Mon Sep 17 00:00:00 2001 From: Simon Oppowa <24407484+simonoppowa@users.noreply.github.com> Date: Fri, 27 Sep 2024 18:35:42 +0200 Subject: [PATCH 11/13] fix(translations): fix translations --- lib/generated/intl/messages_de.dart | 4 + lib/generated/intl/messages_en.dart | 15 +- lib/generated/intl/messages_tr.dart | 319 ++++++++++++++-------------- lib/generated/l10n.dart | 24 +-- lib/l10n/intl_de.arb | 2 +- lib/l10n/intl_en.arb | 9 +- lib/l10n/intl_tr.arb | 2 +- 7 files changed, 192 insertions(+), 183 deletions(-) diff --git a/lib/generated/intl/messages_de.dart b/lib/generated/intl/messages_de.dart index 4ef7b83..73f2111 100644 --- a/lib/generated/intl/messages_de.dart +++ b/lib/generated/intl/messages_de.dart @@ -102,6 +102,8 @@ class MessageLookup extends MessageLookupByLibrary { "dinnerLabel": MessageLookupByLibrary.simpleMessage("Abendessen"), "disclaimerText": MessageLookupByLibrary.simpleMessage( "OpenNutriTracker ist keine medizinische Anwendung. Alle bereitgestellten Daten sind nicht validiert und sollten mit Vorsicht verwendet werden. Bitte pflegen Sie einen gesunden Lebensstil und konsultieren Sie einen Fachmann, wenn Sie Probleme haben. Die Verwendung während einer Krankheit, Schwangerschaft oder Stillzeit wird nicht empfohlen.\n\n\nDie Anwendung befindet sich noch in der Entwicklung. Fehler, Bugs und Abstürze können auftreten."), + "editItemDialogTitle": + MessageLookupByLibrary.simpleMessage("Eintrag aktualisieren"), "editMealLabel": MessageLookupByLibrary.simpleMessage("Mahlzeit bearbeiten"), "energyLabel": MessageLookupByLibrary.simpleMessage("Energie"), @@ -139,6 +141,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Neue Aufnahme hinzugefügt"), "itemDeletedSnackbar": MessageLookupByLibrary.simpleMessage("Eintrag gelöscht"), + "itemUpdatedSnackbar": + MessageLookupByLibrary.simpleMessage("Eintrag aktualisiert"), "kcalLabel": MessageLookupByLibrary.simpleMessage("kcal"), "kcalLeftLabel": MessageLookupByLibrary.simpleMessage("kcal übrig"), "kgLabel": MessageLookupByLibrary.simpleMessage("kg"), diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index b28cc3a..6867887 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -55,6 +55,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("GPL-3.0 license"), "appTitle": MessageLookupByLibrary.simpleMessage("OpenNutriTracker"), "appVersionName": m0, + "baseQuantityLabel": + MessageLookupByLibrary.simpleMessage("Base quantity (g/ml)"), "betaVersionName": MessageLookupByLibrary.simpleMessage("[Beta]"), "bmiInfo": MessageLookupByLibrary.simpleMessage( "Body Mass Index (BMI) is a index to classify overweight and obesity in adults. It is defined as weight in kilograms divided by the square of height in meters (kg/m²).\n\nBMI does not differentiate between fat and muscle mass and can be misleading for some individuals."), @@ -100,6 +102,8 @@ class MessageLookup extends MessageLookupByLibrary { "dinnerLabel": MessageLookupByLibrary.simpleMessage("Dinner"), "disclaimerText": MessageLookupByLibrary.simpleMessage( "OpenNutriTracker is not a medical application. All data provided is not validated and should be used with caution. Please maintain a healthy lifestyle and consult a professional if you have any problems. Use during illness, pregnancy or lactation is not recommended.\n\n\nThe application is still under development. Errors, bugs and crashes may occur."), + "editItemDialogTitle": + MessageLookupByLibrary.simpleMessage("Edit item"), "editMealLabel": MessageLookupByLibrary.simpleMessage("Edit meal"), "energyLabel": MessageLookupByLibrary.simpleMessage("energy"), "errorFetchingProductData": MessageLookupByLibrary.simpleMessage( @@ -134,6 +138,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Added new intake"), "itemDeletedSnackbar": MessageLookupByLibrary.simpleMessage("Item deleted"), + "itemUpdatedSnackbar": + MessageLookupByLibrary.simpleMessage("Item updated"), "kcalLabel": MessageLookupByLibrary.simpleMessage("kcal"), "kcalLeftLabel": MessageLookupByLibrary.simpleMessage("kcal left"), "kgLabel": MessageLookupByLibrary.simpleMessage("kg"), @@ -141,12 +147,9 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("e.g. pizza, salad, rice ..."), "lunchLabel": MessageLookupByLibrary.simpleMessage("Lunch"), "mealBrandsLabel": MessageLookupByLibrary.simpleMessage("Brands"), - "mealCarbsLabel": - MessageLookupByLibrary.simpleMessage("carbs per 100 g/ml"), - "mealFatLabel": - MessageLookupByLibrary.simpleMessage("fat per 100 g/ml"), - "mealKcalLabel": - MessageLookupByLibrary.simpleMessage("kcal per 100 g/ml"), + "mealCarbsLabel": MessageLookupByLibrary.simpleMessage("carbs per"), + "mealFatLabel": MessageLookupByLibrary.simpleMessage("fat per"), + "mealKcalLabel": MessageLookupByLibrary.simpleMessage("kcal per"), "mealNameLabel": MessageLookupByLibrary.simpleMessage("Meal name"), "mealProteinLabel": MessageLookupByLibrary.simpleMessage("protein per 100 g/ml"), diff --git a/lib/generated/intl/messages_tr.dart b/lib/generated/intl/messages_tr.dart index 392b521..9d56d44 100644 --- a/lib/generated/intl/messages_tr.dart +++ b/lib/generated/intl/messages_tr.dart @@ -23,75 +23,75 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(versionNumber) => "Sürüm ${versionNumber}"; static String m1(pctCarbs, pctFats, pctProteins) => - "% ${pctCarbs} karbonhidrat, % ${pctFats} yağ, % ${pctProteins} protein"; + "%${pctCarbs} karbonhidrat, %${pctFats} yağ, %${pctProteins} protein"; - static String m2(riskValue) => "Eşlik eden hastalıkların riski: ${riskValue}"; + static String m2(riskValue) => "Eşlik eden hastalık riski: ${riskValue}"; - static String m3(age) => "${age} yıl"; + static String m3(age) => "${age} yaş"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { "activityExample": MessageLookupByLibrary.simpleMessage( - "örn. koşu, bisiklete binme, yoga ..."), - "activityLabel": MessageLookupByLibrary.simpleMessage("Etkinlik"), + "örn. koşu, bisiklet, yoga ..."), + "activityLabel": MessageLookupByLibrary.simpleMessage("Aktivite"), "addItemLabel": MessageLookupByLibrary.simpleMessage("Yeni Öğe Ekle:"), "addLabel": MessageLookupByLibrary.simpleMessage("Ekle"), "additionalInfoLabelCompendium2011": MessageLookupByLibrary.simpleMessage( - "Bilgiler\n\'2011 Fiziksel Aktiviteler Özeti\n tarafından sağlanmıştır"), + "\'2011 Fiziksel Aktiviteler Özeti\'\ntarafından sağlanan bilgiler"), "additionalInfoLabelCustom": MessageLookupByLibrary.simpleMessage("Özel Yemek Öğesi"), "additionalInfoLabelFDC": MessageLookupByLibrary.simpleMessage( - "Daha fazla bilgi için:\nFoodData Central"), + "FoodData Central\'da\nDaha Fazla Bilgi"), "additionalInfoLabelOFF": MessageLookupByLibrary.simpleMessage( - "Daha fazla bilgi için:\nOpenFoodFacts"), + "OpenFoodFacts\'te\nDaha Fazla Bilgi"), "additionalInfoLabelUnknown": MessageLookupByLibrary.simpleMessage("Bilinmeyen Yemek Öğesi"), "ageLabel": MessageLookupByLibrary.simpleMessage("Yaş"), "allItemsLabel": MessageLookupByLibrary.simpleMessage("Tümü"), - "alphaVersionName": MessageLookupByLibrary.simpleMessage("[Alpha]"), + "alphaVersionName": MessageLookupByLibrary.simpleMessage("[Alfa]"), "appDescription": MessageLookupByLibrary.simpleMessage( - "OpenNutriTracker, gizliliğinize saygı duyan ücretsiz ve açık kaynaklı bir kalori ve besin takip programıdır."), + "OpenNutriTracker, gizliliğinize saygı duyan ücretsiz ve açık kaynaklı bir kalori ve besin takipçisidir."), "appLicenseLabel": MessageLookupByLibrary.simpleMessage("GPL-3.0 lisansı"), "appTitle": MessageLookupByLibrary.simpleMessage("OpenNutriTracker"), "appVersionName": m0, "betaVersionName": MessageLookupByLibrary.simpleMessage("[Beta]"), "bmiInfo": MessageLookupByLibrary.simpleMessage( - "Vücut Kitle İndeksi (VKİ), yetişkinlerde aşırı kilo ve obeziteyi sınıflandırmak için kullanılan bir indekstir. Kilogram cinsinden ağırlık bölü boy uzunluğunun metre cinsinden karesi (kg/m²) olarak tanımlanır.\n\nVKİ yağ ve kas kütlesi arasında ayrım yapmaz ve bazı bireyler için yanıltıcı olabilir."), + "Vücut Kitle İndeksi (VKİ), yetişkinlerde aşırı kilolu ve obeziteyi sınıflandırmak için kullanılan bir indekstir. Kilogram cinsinden ağırlığın, metre cinsinden boyun karesine bölünmesiyle hesaplanır (kg/m²).\n\nVKİ, yağ ve kas kütlesi arasında ayrım yapmaz ve bazı bireyler için yanıltıcı olabilir."), "bmiLabel": MessageLookupByLibrary.simpleMessage("VKİ"), - "breakfastExample": MessageLookupByLibrary.simpleMessage( - "örn. mısır gevreği, süt, kahve ..."), + "breakfastExample": + MessageLookupByLibrary.simpleMessage("örn. tahıl, süt, kahve ..."), "breakfastLabel": MessageLookupByLibrary.simpleMessage("Kahvaltı"), "burnedLabel": MessageLookupByLibrary.simpleMessage("yakılan"), - "buttonNextLabel": MessageLookupByLibrary.simpleMessage("SONRAKİ"), + "buttonNextLabel": MessageLookupByLibrary.simpleMessage("İLERİ"), "buttonSaveLabel": MessageLookupByLibrary.simpleMessage("Kaydet"), - "buttonStartLabel": MessageLookupByLibrary.simpleMessage("BAŞLAT"), + "buttonStartLabel": MessageLookupByLibrary.simpleMessage("BAŞLA"), "buttonYesLabel": MessageLookupByLibrary.simpleMessage("EVET"), "calculationsMacronutrientsDistributionLabel": - MessageLookupByLibrary.simpleMessage("Makro dağılımı"), + MessageLookupByLibrary.simpleMessage("Makro besin dağılımı"), "calculationsMacrosDistribution": m1, "calculationsRecommendedLabel": MessageLookupByLibrary.simpleMessage("(önerilen)"), "calculationsTDEEIOM2006Label": - MessageLookupByLibrary.simpleMessage("Tıp Enstitüsü Denklem"), + MessageLookupByLibrary.simpleMessage("Tıp Enstitüsü Denklemi"), "calculationsTDEELabel": MessageLookupByLibrary.simpleMessage("TDEE denklemi"), "carbohydrateLabel": MessageLookupByLibrary.simpleMessage("karbonhidrat"), "carbsLabel": MessageLookupByLibrary.simpleMessage("karbonhidrat"), "chooseWeightGoalLabel": - MessageLookupByLibrary.simpleMessage("Ağırlık Hedefini Seçin"), + MessageLookupByLibrary.simpleMessage("Kilo Hedefi Seçin"), "cmLabel": MessageLookupByLibrary.simpleMessage("cm"), "createCustomDialogContent": MessageLookupByLibrary.simpleMessage( - "Özel bir yemek öğesi oluşturmak ister misiniz?"), + "Özel bir yemek öğesi oluşturmak istiyor musunuz?"), "createCustomDialogTitle": MessageLookupByLibrary.simpleMessage( "Özel yemek öğesi oluşturulsun mu?"), "dataCollectionLabel": MessageLookupByLibrary.simpleMessage( - "Anonim kullanım verileri sağlayarak gelişimi desteklemek istiyorum"), + "Anonim kullanım verileri sağlayarak geliştirmeyi destekleyin"), "deleteTimeDialogContent": MessageLookupByLibrary.simpleMessage( - "Seçilen öğeyi silmek istiyor musunuz?"), + "Seçili öğeyi silmek istiyor musunuz?"), "deleteTimeDialogTitle": - MessageLookupByLibrary.simpleMessage("Öğe silinsin mi?"), + MessageLookupByLibrary.simpleMessage("Öğe Silinsin mi?"), "dialogCancelLabel": MessageLookupByLibrary.simpleMessage("İPTAL"), "dialogOKLabel": MessageLookupByLibrary.simpleMessage("TAMAM"), "diaryLabel": MessageLookupByLibrary.simpleMessage("Günlük"), @@ -99,16 +99,17 @@ class MessageLookup extends MessageLookupByLibrary { "örn. çorba, tavuk, şarap ..."), "dinnerLabel": MessageLookupByLibrary.simpleMessage("Akşam Yemeği"), "disclaimerText": MessageLookupByLibrary.simpleMessage( - "OpenNutriTracker tıbbi bir uygulama değildir. Sağlanan tüm veriler doğrulanmamıştır ve dikkatli kullanılmalıdır. Lütfen sağlıklı bir yaşam tarzı sürdürün ve herhangi bir sorun yaşarsanız bir uzmana danışın. Hastalık, hamilelik veya emzirme döneminde kullanılması önerilmez.\n\n\nUygulama halen geliştirilme aşamasındadır. Hatalar veya çökmeler meydana gelebilir."), - "editMealLabel": - MessageLookupByLibrary.simpleMessage("Yemek siparişini düzenle"), + "OpenNutriTracker tıbbi bir uygulama değildir. Sağlanan tüm veriler doğrulanmamıştır ve dikkatle kullanılmalıdır. Lütfen sağlıklı bir yaşam tarzı sürdürün ve herhangi bir sorununuz varsa bir uzmana danışın. Hastalık, hamilelik veya emzirme döneminde kullanılması önerilmez.\n\n\nUygulama hala geliştirme aşamasındadır. Hatalar, buglar ve çökmeler meydana gelebilir."), + "editItemDialogTitle": + MessageLookupByLibrary.simpleMessage("Öğeyi düzenle"), + "editMealLabel": MessageLookupByLibrary.simpleMessage("Yemeği düzenle"), "energyLabel": MessageLookupByLibrary.simpleMessage("enerji"), "errorFetchingProductData": MessageLookupByLibrary.simpleMessage( "Ürün verileri alınırken hata oluştu"), "errorLoadingActivities": MessageLookupByLibrary.simpleMessage( - "Etkinlikler yüklenirken hata oluştu"), + "Aktiviteler yüklenirken hata oluştu"), "errorMealSave": MessageLookupByLibrary.simpleMessage( - "Yemek kaydedilirken hata oluştu. Yemek bilgilerini doğru girdiniz mi?"), + "Yemek kaydedilirken hata oluştu. Doğru yemek bilgilerini girdiniz mi?"), "errorOpeningBrowser": MessageLookupByLibrary.simpleMessage( "Tarayıcı uygulaması açılırken hata oluştu"), "errorOpeningEmail": MessageLookupByLibrary.simpleMessage( @@ -120,34 +121,36 @@ class MessageLookup extends MessageLookupByLibrary { "genderFemaleLabel": MessageLookupByLibrary.simpleMessage("♀ kadın"), "genderLabel": MessageLookupByLibrary.simpleMessage("Cinsiyet"), "genderMaleLabel": MessageLookupByLibrary.simpleMessage("♂ erkek"), - "goalGainWeight": MessageLookupByLibrary.simpleMessage("Kilo Almak"), - "goalLabel": MessageLookupByLibrary.simpleMessage("Amaç"), - "goalLoseWeight": MessageLookupByLibrary.simpleMessage("Kilo Vermek"), + "goalGainWeight": MessageLookupByLibrary.simpleMessage("Kilo Al"), + "goalLabel": MessageLookupByLibrary.simpleMessage("Hedef"), + "goalLoseWeight": MessageLookupByLibrary.simpleMessage("Kilo Ver"), "goalMaintainWeight": - MessageLookupByLibrary.simpleMessage("Ağırlığı Korumak"), + MessageLookupByLibrary.simpleMessage("Kiloyu Koru"), "gramMilliliterUnit": MessageLookupByLibrary.simpleMessage("g/ml"), "gramUnit": MessageLookupByLibrary.simpleMessage("g"), "heightLabel": MessageLookupByLibrary.simpleMessage("Boy"), "homeLabel": MessageLookupByLibrary.simpleMessage("Ana Sayfa"), "infoAddedActivityLabel": - MessageLookupByLibrary.simpleMessage("Yeni etkinlik eklendi"), + MessageLookupByLibrary.simpleMessage("Yeni aktivite eklendi"), "infoAddedIntakeLabel": MessageLookupByLibrary.simpleMessage("Yeni alım eklendi"), "itemDeletedSnackbar": MessageLookupByLibrary.simpleMessage("Öğe silindi"), - "kcalLabel": MessageLookupByLibrary.simpleMessage("kcal"), - "kcalLeftLabel": MessageLookupByLibrary.simpleMessage("kalan kcal"), + "itemUpdatedSnackbar": + MessageLookupByLibrary.simpleMessage("Öğe güncellendi"), + "kcalLabel": MessageLookupByLibrary.simpleMessage("kalori"), + "kcalLeftLabel": MessageLookupByLibrary.simpleMessage("kalan kalori"), "kgLabel": MessageLookupByLibrary.simpleMessage("kg"), "lunchExample": MessageLookupByLibrary.simpleMessage( "örn. pizza, salata, pilav ..."), - "lunchLabel": MessageLookupByLibrary.simpleMessage("Öğle yemeği"), + "lunchLabel": MessageLookupByLibrary.simpleMessage("Öğle Yemeği"), "mealBrandsLabel": MessageLookupByLibrary.simpleMessage("Markalar"), "mealCarbsLabel": MessageLookupByLibrary.simpleMessage( "100 g/ml başına karbonhidrat"), "mealFatLabel": MessageLookupByLibrary.simpleMessage("100 g/ml başına yağ"), "mealKcalLabel": - MessageLookupByLibrary.simpleMessage("100 g/ml başına kcal"), + MessageLookupByLibrary.simpleMessage("100 g/ml başına kalori"), "mealNameLabel": MessageLookupByLibrary.simpleMessage("Yemek adı"), "mealProteinLabel": MessageLookupByLibrary.simpleMessage("100 g/ml başına protein"), @@ -156,9 +159,9 @@ class MessageLookup extends MessageLookupByLibrary { "mealUnitLabel": MessageLookupByLibrary.simpleMessage("Yemek birimi"), "milliliterUnit": MessageLookupByLibrary.simpleMessage("ml"), "missingProductInfo": MessageLookupByLibrary.simpleMessage( - "Ürün gerekli kcal veya makro besin bilgileri eksik"), + "Üründe gerekli kalori veya makrobesin bilgisi eksik"), "noActivityRecentlyAddedLabel": MessageLookupByLibrary.simpleMessage( - "Son zamanlarda eklenen etkinlik yok"), + "Son zamanlarda eklenen aktivite yok"), "noMealsRecentlyAddedLabel": MessageLookupByLibrary.simpleMessage( "Son zamanlarda eklenen yemek yok"), "noResultsFound": @@ -166,7 +169,7 @@ class MessageLookup extends MessageLookupByLibrary { "nothingAddedLabel": MessageLookupByLibrary.simpleMessage("Hiçbir şey eklenmedi"), "nutritionInfoLabel": - MessageLookupByLibrary.simpleMessage("Beslenme Bilgileri"), + MessageLookupByLibrary.simpleMessage("Besin Bilgisi"), "nutritionalStatusNormalWeight": MessageLookupByLibrary.simpleMessage("Normal Kilolu"), "nutritionalStatusObeseClassI": @@ -176,45 +179,45 @@ class MessageLookup extends MessageLookupByLibrary { "nutritionalStatusObeseClassIII": MessageLookupByLibrary.simpleMessage("Obezite Sınıf III"), "nutritionalStatusPreObesity": - MessageLookupByLibrary.simpleMessage("Obezite öncesi"), + MessageLookupByLibrary.simpleMessage("Obezite Öncesi"), "nutritionalStatusRiskAverage": MessageLookupByLibrary.simpleMessage("Ortalama"), "nutritionalStatusRiskIncreased": - MessageLookupByLibrary.simpleMessage("Artan"), + MessageLookupByLibrary.simpleMessage("Artmış"), "nutritionalStatusRiskLabel": m2, "nutritionalStatusRiskLow": MessageLookupByLibrary.simpleMessage( - "Düşük \n(ancak diğer klinik problemlerin \noluşma riski arttı)"), + "Düşük \n(ancak diğer klinik \nsorunların riski artmış)"), "nutritionalStatusRiskModerate": MessageLookupByLibrary.simpleMessage("Orta"), "nutritionalStatusRiskSevere": MessageLookupByLibrary.simpleMessage("Ciddi"), "nutritionalStatusRiskVerySevere": - MessageLookupByLibrary.simpleMessage("Çok şiddetli"), + MessageLookupByLibrary.simpleMessage("Çok Ciddi"), "nutritionalStatusUnderweight": - MessageLookupByLibrary.simpleMessage("Düşük kilolu"), + MessageLookupByLibrary.simpleMessage("Düşük Kilolu"), "offDisclaimer": MessageLookupByLibrary.simpleMessage( - "Bu uygulama tarafından size sağlanan veriler Open Food Facts veritabanından alınır. Sağlanan bilgilerin doğruluğu, eksiksizliği veya güvenilirliği için hiçbir garanti verilemez. Veriler \"olduğu gibi\" sağlanır ve verilerin kaynak kaynağı (Open Food Facts), verilerin kullanımından kaynaklanan herhangi bir zarardan sorumlu değildir."), + "Bu uygulama tarafından size sağlanan veriler Open Food Facts veritabanından alınmıştır. Sağlanan bilgilerin doğruluğu, eksiksizliği veya güvenilirliği konusunda hiçbir garanti verilemez. Veriler \"olduğu gibi\" sağlanır ve verilerin kaynağı (Open Food Facts), verilerin kullanımından kaynaklanan herhangi bir zarardan sorumlu değildir."), "onboardingActivityQuestionSubtitle": MessageLookupByLibrary.simpleMessage( - "Ne kadar aktifsiniz? (egzersiz yapmadan)"), + "Ne kadar aktifsiniz? (antrenmanlar hariç)"), "onboardingBirthdayHint": MessageLookupByLibrary.simpleMessage("Tarih Girin"), "onboardingBirthdayQuestionSubtitle": - MessageLookupByLibrary.simpleMessage("Doğum günün ne zaman?"), + MessageLookupByLibrary.simpleMessage("Doğum gününüz ne zaman?"), "onboardingEnterBirthdayLabel": - MessageLookupByLibrary.simpleMessage("Doğum günü"), + MessageLookupByLibrary.simpleMessage("Doğum Günü"), "onboardingGenderQuestionSubtitle": MessageLookupByLibrary.simpleMessage("Cinsiyetiniz nedir?"), "onboardingGoalQuestionSubtitle": MessageLookupByLibrary.simpleMessage( - "Şu anki kilo hedefiniz nedir?"), + "Mevcut kilo hedefiniz nedir?"), "onboardingHeightExampleHint": MessageLookupByLibrary.simpleMessage("örn. 170"), "onboardingHeightQuestionSubtitle": - MessageLookupByLibrary.simpleMessage("Şu anki boyunuz nedir?"), + MessageLookupByLibrary.simpleMessage("Mevcut boyunuz nedir?"), "onboardingIntroDescription": MessageLookupByLibrary.simpleMessage( - "Başlamak için, uygulamanın günlük kalori hedefinizi hesaplamak için sizinle ilgili bazı bilgilere ihtiyacı vardır.\nSizinle ilgili tüm bilgiler cihazınızda güvenli bir şekilde saklanır."), + "Başlamak için, uygulamanın günlük kalori hedefinizi hesaplamak için hakkınızda bazı bilgilere ihtiyacı var.\nHakkınızdaki tüm bilgiler cihazınızda güvenli bir şekilde saklanır."), "onboardingKcalPerDayLabel": - MessageLookupByLibrary.simpleMessage("günlük kcal"), + MessageLookupByLibrary.simpleMessage("günlük kalori"), "onboardingOverviewLabel": MessageLookupByLibrary.simpleMessage("Genel Bakış"), "onboardingSaveUserError": MessageLookupByLibrary.simpleMessage( @@ -222,52 +225,52 @@ class MessageLookup extends MessageLookupByLibrary { "onboardingWeightExampleHint": MessageLookupByLibrary.simpleMessage("örn. 60"), "onboardingWeightQuestionSubtitle": - MessageLookupByLibrary.simpleMessage("Şu anki kilonuz nedir?"), + MessageLookupByLibrary.simpleMessage("Mevcut kilonuz nedir?"), "onboardingWelcomeLabel": - MessageLookupByLibrary.simpleMessage("Hoş geldiniz"), + MessageLookupByLibrary.simpleMessage("Hoş Geldiniz"), "onboardingWrongHeightLabel": MessageLookupByLibrary.simpleMessage("Doğru boyu girin"), "onboardingWrongWeightLabel": - MessageLookupByLibrary.simpleMessage("Doğru ağırlığı girin"), + MessageLookupByLibrary.simpleMessage("Doğru kiloyu girin"), "onboardingYourGoalLabel": MessageLookupByLibrary.simpleMessage("Kalori hedefiniz:"), "onboardingYourMacrosGoalLabel": - MessageLookupByLibrary.simpleMessage("Makro besin hedefleriniz:"), + MessageLookupByLibrary.simpleMessage("Makrobesin hedefleriniz:"), "paAmericanFootballGeneral": - MessageLookupByLibrary.simpleMessage("futbol"), + MessageLookupByLibrary.simpleMessage("Amerikan futbolu"), "paAmericanFootballGeneralDesc": - MessageLookupByLibrary.simpleMessage("dokunma, bayrak, genel"), + MessageLookupByLibrary.simpleMessage("dokunmalı, bayrak, genel"), "paArcheryGeneral": MessageLookupByLibrary.simpleMessage("okçuluk"), "paArcheryGeneralDesc": - MessageLookupByLibrary.simpleMessage("avlanmama"), - "paAutoRacing": MessageLookupByLibrary.simpleMessage("otomobil yarışı"), + MessageLookupByLibrary.simpleMessage("av amaçlı olmayan"), + "paAutoRacing": MessageLookupByLibrary.simpleMessage("araba yarışı"), "paAutoRacingDesc": MessageLookupByLibrary.simpleMessage("açık tekerlek"), "paBackpackingGeneral": - MessageLookupByLibrary.simpleMessage("sırt çantasıyla gezme"), + MessageLookupByLibrary.simpleMessage("sırt çantalı gezme"), "paBackpackingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paBadmintonGeneral": MessageLookupByLibrary.simpleMessage("badminton"), "paBadmintonGeneralDesc": MessageLookupByLibrary.simpleMessage( - "sosyal bekarlar ve çiftler, genel"), + "sosyal tekler ve çiftler, genel"), "paBasketballGeneral": MessageLookupByLibrary.simpleMessage("basketbol"), "paBasketballGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paBicyclingGeneral": - MessageLookupByLibrary.simpleMessage("bisiklete binme"), + MessageLookupByLibrary.simpleMessage("bisiklet sürme"), "paBicyclingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paBicyclingMountainGeneral": - MessageLookupByLibrary.simpleMessage("bisiklet, dağ"), + MessageLookupByLibrary.simpleMessage("dağ bisikleti"), "paBicyclingMountainGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paBicyclingStationaryGeneral": - MessageLookupByLibrary.simpleMessage("bisiklet, sabit"), + MessageLookupByLibrary.simpleMessage("sabit bisiklet"), "paBicyclingStationaryGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paBilliardsGeneral": MessageLookupByLibrary.simpleMessage("bilardo"), "paBilliardsGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paBowlingGeneral": MessageLookupByLibrary.simpleMessage("bovling"), + "paBowlingGeneral": MessageLookupByLibrary.simpleMessage("bowling"), "paBowlingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paBoxingBag": MessageLookupByLibrary.simpleMessage("boks"), "paBoxingBagDesc": MessageLookupByLibrary.simpleMessage("kum torbası"), @@ -277,31 +280,31 @@ class MessageLookup extends MessageLookupByLibrary { "paBroomball": MessageLookupByLibrary.simpleMessage("broomball"), "paBroomballDesc": MessageLookupByLibrary.simpleMessage("genel"), "paCalisthenicsGeneral": - MessageLookupByLibrary.simpleMessage("calisthenics"), + MessageLookupByLibrary.simpleMessage("jimnastik"), "paCalisthenicsGeneralDesc": MessageLookupByLibrary.simpleMessage( - "hafif veya orta derecede efor, genel (örn. sırt egzersizleri)"), - "paCanoeingGeneral": MessageLookupByLibrary.simpleMessage("kano sporu"), - "paCanoeingGeneralDesc": - MessageLookupByLibrary.simpleMessage("kürek, zevk için, genel"), + "hafif veya orta efor, genel (örn. sırt egzersizleri)"), + "paCanoeingGeneral": MessageLookupByLibrary.simpleMessage("kano"), + "paCanoeingGeneralDesc": MessageLookupByLibrary.simpleMessage( + "kürek çekme, keyif için, genel"), "paCatch": MessageLookupByLibrary.simpleMessage("futbol veya beyzbol"), - "paCatchDesc": MessageLookupByLibrary.simpleMessage("catch oynamak"), - "paCheerleading": MessageLookupByLibrary.simpleMessage("amigoluk"), + "paCatchDesc": MessageLookupByLibrary.simpleMessage("top yakalama"), + "paCheerleading": MessageLookupByLibrary.simpleMessage("amigo"), "paCheerleadingDesc": MessageLookupByLibrary.simpleMessage( - "jimnastik hareketleri, rekabetçi"), + "jimnastik hareketleri, yarışma"), "paChildrenGame": MessageLookupByLibrary.simpleMessage("çocuk oyunları"), "paChildrenGameDesc": MessageLookupByLibrary.simpleMessage( - "(örn. seksek, 4 kare, yakartop, oyun alanı aparatı, t-ball, tetherball, bilyeler, atari oyunları), orta düzeyde çaba"), + "(örn. seksek, 4-kare, yakantop, oyun parkı aletleri, t-topu, direk topu, misket, arcade oyunları), orta efor"), "paClimbingHillsNoLoadGeneral": - MessageLookupByLibrary.simpleMessage("tırmanma tepeleri, yüksüz"), + MessageLookupByLibrary.simpleMessage("yüksüz tepe tırmanışı"), "paClimbingHillsNoLoadGeneralDesc": MessageLookupByLibrary.simpleMessage("yüksüz"), "paCricket": MessageLookupByLibrary.simpleMessage("kriket"), - "paCricketDesc": - MessageLookupByLibrary.simpleMessage("vuruş, bowling, saha koşusu"), + "paCricketDesc": MessageLookupByLibrary.simpleMessage( + "vuruş, top atma, saha savunması"), "paCroquet": MessageLookupByLibrary.simpleMessage("kroket"), "paCroquetDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paCurling": MessageLookupByLibrary.simpleMessage("kıvırma"), + "paCurling": MessageLookupByLibrary.simpleMessage("curling"), "paCurlingDesc": MessageLookupByLibrary.simpleMessage("genel"), "paDancingAerobicGeneral": MessageLookupByLibrary.simpleMessage("aerobik"), @@ -309,18 +312,18 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("genel"), "paDancingGeneral": MessageLookupByLibrary.simpleMessage("genel dans"), "paDancingGeneralDesc": MessageLookupByLibrary.simpleMessage( - "örn. disko, halk, İrlanda step dansı, çizgi dansı, polka, kontra, ülke"), + "örn. disko, halk dansı, İrlanda step dansı, sıra dansı, polka, contra, ülke dansları"), "paDartsWall": MessageLookupByLibrary.simpleMessage("dart"), "paDartsWallDesc": MessageLookupByLibrary.simpleMessage("duvar veya çim"), "paDivingGeneral": MessageLookupByLibrary.simpleMessage("dalış"), "paDivingGeneralDesc": MessageLookupByLibrary.simpleMessage( - "deri dalışı, tüplü dalış, genel"), + "cilt dalışı, scuba dalışı, genel"), "paDivingSpringboardPlatform": MessageLookupByLibrary.simpleMessage("dalış"), - "paDivingSpringboardPlatformDesc": MessageLookupByLibrary.simpleMessage( - "sıçrama tahtası veya platform"), - "paFencing": MessageLookupByLibrary.simpleMessage("çit"), + "paDivingSpringboardPlatformDesc": + MessageLookupByLibrary.simpleMessage("tramplen veya platform"), + "paFencing": MessageLookupByLibrary.simpleMessage("eskrim"), "paFencingDesc": MessageLookupByLibrary.simpleMessage("genel"), "paFrisbee": MessageLookupByLibrary.simpleMessage("frizbi oynama"), "paFrisbeeDesc": MessageLookupByLibrary.simpleMessage("genel"), @@ -335,24 +338,25 @@ class MessageLookup extends MessageLookupByLibrary { "paHackySackDesc": MessageLookupByLibrary.simpleMessage("genel"), "paHandballGeneral": MessageLookupByLibrary.simpleMessage("hentbol"), "paHandballGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paHangGliding": MessageLookupByLibrary.simpleMessage("yelken kanat"), + "paHangGliding": MessageLookupByLibrary.simpleMessage("yamaç paraşütü"), "paHangGlidingDesc": MessageLookupByLibrary.simpleMessage("genel"), "paHeadingBicycling": - MessageLookupByLibrary.simpleMessage("bisiklete binme"), + MessageLookupByLibrary.simpleMessage("bisiklet sürme"), "paHeadingConditionalExercise": MessageLookupByLibrary.simpleMessage("kondisyon egzersizi"), "paHeadingDancing": MessageLookupByLibrary.simpleMessage("dans"), - "paHeadingRunning": MessageLookupByLibrary.simpleMessage("çalışıyor"), - "paHeadingSports": MessageLookupByLibrary.simpleMessage("spor"), - "paHeadingWalking": MessageLookupByLibrary.simpleMessage("yürüme"), + "paHeadingRunning": MessageLookupByLibrary.simpleMessage("koşu"), + "paHeadingSports": MessageLookupByLibrary.simpleMessage("sporlar"), + "paHeadingWalking": MessageLookupByLibrary.simpleMessage("yürüyüş"), "paHeadingWaterActivities": MessageLookupByLibrary.simpleMessage("su aktiviteleri"), "paHeadingWinterActivities": MessageLookupByLibrary.simpleMessage("kış aktiviteleri"), - "paHikingCrossCountry": MessageLookupByLibrary.simpleMessage("yürüyüş"), + "paHikingCrossCountry": + MessageLookupByLibrary.simpleMessage("doğa yürüyüşü"), "paHikingCrossCountryDesc": - MessageLookupByLibrary.simpleMessage("kros"), - "paHockeyField": MessageLookupByLibrary.simpleMessage("hokey, saha"), + MessageLookupByLibrary.simpleMessage("kırsal alanda"), + "paHockeyField": MessageLookupByLibrary.simpleMessage("çim hokeyi"), "paHockeyFieldDesc": MessageLookupByLibrary.simpleMessage("genel"), "paHorseRidingGeneral": MessageLookupByLibrary.simpleMessage("at binme"), @@ -367,30 +371,29 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("genel"), "paJaiAlai": MessageLookupByLibrary.simpleMessage("jai alai"), "paJaiAlaiDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paJoggingGeneral": MessageLookupByLibrary.simpleMessage("koşu"), + "paJoggingGeneral": MessageLookupByLibrary.simpleMessage("hafif koşu"), "paJoggingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paJuggling": MessageLookupByLibrary.simpleMessage("hokkabazlık"), + "paJuggling": MessageLookupByLibrary.simpleMessage("jonglörlük"), "paJugglingDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paKayakingModerate": - MessageLookupByLibrary.simpleMessage("kano sporu"), + "paKayakingModerate": MessageLookupByLibrary.simpleMessage("kano"), "paKayakingModerateDesc": - MessageLookupByLibrary.simpleMessage("ılımlı çaba"), + MessageLookupByLibrary.simpleMessage("orta efor"), "paKickball": MessageLookupByLibrary.simpleMessage("kickball"), "paKickballDesc": MessageLookupByLibrary.simpleMessage("genel"), "paLacrosse": MessageLookupByLibrary.simpleMessage("lakros"), "paLacrosseDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paLawnBowling": MessageLookupByLibrary.simpleMessage("çim bowlingi"), + "paLawnBowling": MessageLookupByLibrary.simpleMessage("çim bowling"), "paLawnBowlingDesc": - MessageLookupByLibrary.simpleMessage("bocce topu, dış mekan"), + MessageLookupByLibrary.simpleMessage("bocce topu, açık hava"), "paMartialArtsModerate": MessageLookupByLibrary.simpleMessage("dövüş sanatları"), "paMartialArtsModerateDesc": MessageLookupByLibrary.simpleMessage( - "farklı türler, orta tempo (örn. judo, jujitsu, karate, kick boks, tae kwan do, tai-bo, Muay Thai boks)"), + "farklı türler, orta tempo (örn. judo, jujitsu, karate, kick boks, tekvando, tai-bo, Muay Thai boksu)"), "paMartialArtsSlower": MessageLookupByLibrary.simpleMessage("dövüş sanatları"), "paMartialArtsSlowerDesc": MessageLookupByLibrary.simpleMessage( - "farklı türler, daha yavaş tempo, acemi sanatçılar, alıştırma"), - "paMotoCross": MessageLookupByLibrary.simpleMessage("moto-cross"), + "farklı türler, yavaş tempo, acemi performansçılar, pratik"), + "paMotoCross": MessageLookupByLibrary.simpleMessage("motokros"), "paMotoCrossDesc": MessageLookupByLibrary.simpleMessage( "off-road motor sporları, arazi aracı, genel"), "paMountainClimbing": MessageLookupByLibrary.simpleMessage("tırmanış"), @@ -398,68 +401,66 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("kaya veya dağ tırmanışı"), "paOrienteering": MessageLookupByLibrary.simpleMessage("oryantiring"), "paOrienteeringDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paPaddleBoarding": MessageLookupByLibrary.simpleMessage("kürek sörfü"), - "paPaddleBoardingDesc": - MessageLookupByLibrary.simpleMessage("ayakta durma"), - "paPaddleBoat": MessageLookupByLibrary.simpleMessage("kürek teknesi"), + "paPaddleBoarding": + MessageLookupByLibrary.simpleMessage("paddle board"), + "paPaddleBoardingDesc": MessageLookupByLibrary.simpleMessage("ayakta"), + "paPaddleBoat": MessageLookupByLibrary.simpleMessage("pedallı tekne"), "paPaddleBoatDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paPaddleball": MessageLookupByLibrary.simpleMessage("kürek topu"), + "paPaddleball": MessageLookupByLibrary.simpleMessage("paddle topu"), "paPaddleballDesc": - MessageLookupByLibrary.simpleMessage("gündelik, genel"), + MessageLookupByLibrary.simpleMessage("rahat, genel"), "paPoloHorse": MessageLookupByLibrary.simpleMessage("polo"), - "paPoloHorseDesc": MessageLookupByLibrary.simpleMessage("at sırtında"), + "paPoloHorseDesc": MessageLookupByLibrary.simpleMessage("at üstünde"), "paRacquetball": MessageLookupByLibrary.simpleMessage("raketbol"), "paRacquetballDesc": MessageLookupByLibrary.simpleMessage("genel"), "paResistanceTraining": - MessageLookupByLibrary.simpleMessage("direnç eğitimi"), + MessageLookupByLibrary.simpleMessage("direnç antrenmanı"), "paResistanceTrainingDesc": MessageLookupByLibrary.simpleMessage( "ağırlık kaldırma, serbest ağırlık, nautilus veya universal"), "paRodeoSportGeneralModerate": MessageLookupByLibrary.simpleMessage("rodeo sporları"), "paRodeoSportGeneralModerateDesc": - MessageLookupByLibrary.simpleMessage("genel, ılımlı çaba"), - "paRollerbladingLight": - MessageLookupByLibrary.simpleMessage("paten kayma"), + MessageLookupByLibrary.simpleMessage("genel, orta efor"), + "paRollerbladingLight": MessageLookupByLibrary.simpleMessage("paten"), "paRollerbladingLightDesc": - MessageLookupByLibrary.simpleMessage("sıralı paten"), + MessageLookupByLibrary.simpleMessage("inline paten"), "paRopeJumpingGeneral": MessageLookupByLibrary.simpleMessage("ip atlama"), "paRopeJumpingGeneralDesc": MessageLookupByLibrary.simpleMessage( - "orta tempo, 100-120 atlama/dak, genel, 2 ayak atlama, düz sıçrama"), + "orta tempo, dakikada 100-120 atlama, genel, iki ayak atlama, düz zıplama"), "paRopeSkippingGeneral": MessageLookupByLibrary.simpleMessage("ip atlama"), "paRopeSkippingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paRugbyCompetitive": MessageLookupByLibrary.simpleMessage("ragbi"), "paRugbyCompetitiveDesc": - MessageLookupByLibrary.simpleMessage("sendika, takım, rekabetçi"), + MessageLookupByLibrary.simpleMessage("birlik, takım, yarışma"), "paRugbyNonCompetitive": MessageLookupByLibrary.simpleMessage("ragbi"), "paRugbyNonCompetitiveDesc": - MessageLookupByLibrary.simpleMessage("dokunma, rekabetçi olmayan"), - "paRunningGeneral": MessageLookupByLibrary.simpleMessage("çalışıyor"), + MessageLookupByLibrary.simpleMessage("dokunmalı, yarışma dışı"), + "paRunningGeneral": MessageLookupByLibrary.simpleMessage("koşu"), "paRunningGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paSailingGeneral": MessageLookupByLibrary.simpleMessage("yelkencilik"), + "paSailingGeneral": MessageLookupByLibrary.simpleMessage("yelken"), "paSailingGeneralDesc": MessageLookupByLibrary.simpleMessage( - "tekne ve board yelkenciliği, rüzgar sörfü, buz yelkenciliği, genel"), + "tekne ve tahta yelken, rüzgar sörfü, buz yelkeni, genel"), "paShuffleboard": MessageLookupByLibrary.simpleMessage("shuffleboard"), "paShuffleboardDesc": MessageLookupByLibrary.simpleMessage("genel"), "paSkateboardingGeneral": MessageLookupByLibrary.simpleMessage("kaykay"), "paSkateboardingGeneralDesc": - MessageLookupByLibrary.simpleMessage("genel, ılımlı çaba"), - "paSkatingRoller": - MessageLookupByLibrary.simpleMessage("patenle kayma"), + MessageLookupByLibrary.simpleMessage("genel, orta efor"), + "paSkatingRoller": MessageLookupByLibrary.simpleMessage("paten"), "paSkatingRollerDesc": MessageLookupByLibrary.simpleMessage("genel"), - "paSkiingGeneral": MessageLookupByLibrary.simpleMessage("kayak yapma"), + "paSkiingGeneral": MessageLookupByLibrary.simpleMessage("kayak"), "paSkiingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paSkiingWaterWakeboarding": MessageLookupByLibrary.simpleMessage("su kayağı"), "paSkiingWaterWakeboardingDesc": - MessageLookupByLibrary.simpleMessage("su veya su kayağı"), - "paSkydiving": MessageLookupByLibrary.simpleMessage("paraşütle atlama"), + MessageLookupByLibrary.simpleMessage("su kayağı veya wakeboard"), + "paSkydiving": MessageLookupByLibrary.simpleMessage("serbest paraşüt"), "paSkydivingDesc": MessageLookupByLibrary.simpleMessage( - "skydiving, base jumping, bungee jumping"), - "paSnorkeling": MessageLookupByLibrary.simpleMessage("şnorkelle dalış"), + "serbest paraşüt, base jumping, bungee jumping"), + "paSnorkeling": MessageLookupByLibrary.simpleMessage("şnorkel"), "paSnorkelingDesc": MessageLookupByLibrary.simpleMessage("genel"), "paSnowShovingModerate": MessageLookupByLibrary.simpleMessage("kar küreme"), @@ -467,23 +468,23 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("elle, ılımlı çaba"), "paSoccerGeneral": MessageLookupByLibrary.simpleMessage("futbol"), "paSoccerGeneralDesc": - MessageLookupByLibrary.simpleMessage("gündelik, genel"), + MessageLookupByLibrary.simpleMessage("rahat, genel"), "paSoftballBaseballGeneral": - MessageLookupByLibrary.simpleMessage("softbol / beyzbol"), + MessageLookupByLibrary.simpleMessage("softball / beyzbol"), "paSoftballBaseballGeneralDesc": MessageLookupByLibrary.simpleMessage( - "hızlı veya yavaş perde, genel"), - "paSquashGeneral": MessageLookupByLibrary.simpleMessage("kabak"), + "hızlı veya yavaş atış, genel"), + "paSquashGeneral": MessageLookupByLibrary.simpleMessage("squash"), "paSquashGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paSurfing": MessageLookupByLibrary.simpleMessage("sörf"), "paSurfingDesc": - MessageLookupByLibrary.simpleMessage("gövde veya tahta, genel"), + MessageLookupByLibrary.simpleMessage("vücut veya tahta, genel"), "paSwimmingGeneral": MessageLookupByLibrary.simpleMessage("yüzme"), "paSwimmingGeneralDesc": MessageLookupByLibrary.simpleMessage( - "diş suyu, ılımlı efor, genel"), + "su üzerinde durma, orta efor, genel"), "paTableTennisGeneral": MessageLookupByLibrary.simpleMessage("masa tenisi"), "paTableTennisGeneralDesc": - MessageLookupByLibrary.simpleMessage("masa tenisi, pinpon"), + MessageLookupByLibrary.simpleMessage("masa tenisi, ping pong"), "paTaiChiQiGongGeneral": MessageLookupByLibrary.simpleMessage("tai chi, qi gong"), "paTaiChiQiGongGeneralDesc": @@ -492,26 +493,26 @@ class MessageLookup extends MessageLookupByLibrary { "paTennisGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paTrackField": MessageLookupByLibrary.simpleMessage("atletizm"), "paTrackField1Desc": MessageLookupByLibrary.simpleMessage( - "(örn. atış, disk atma, çekiç atma)"), + "(örn. gülle atma, disk atma, çekiç atma)"), "paTrackField2Desc": MessageLookupByLibrary.simpleMessage( - "(örn. yüksek atlama, uzun atlama, üçlü atlama, cirit, sırıkla atlama)"), + "(örn. yüksek atlama, uzun atlama, üç adım atlama, cirit atma, sırıkla atlama)"), "paTrackField3Desc": MessageLookupByLibrary.simpleMessage( - "(örn. engelli koşusu, engelli koşusu)"), - "paTrampolineLight": MessageLookupByLibrary.simpleMessage("trambolin"), + "(örn. su engelli koşu, engelli koşu)"), + "paTrampolineLight": MessageLookupByLibrary.simpleMessage("trampolin"), "paTrampolineLightDesc": - MessageLookupByLibrary.simpleMessage("rekreasyonel"), + MessageLookupByLibrary.simpleMessage("eğlence amaçlı"), "paUnicyclingGeneral": MessageLookupByLibrary.simpleMessage("tek tekerlekli bisiklet"), "paUnicyclingGeneralDesc": MessageLookupByLibrary.simpleMessage("genel"), "paVolleyballGeneral": MessageLookupByLibrary.simpleMessage("voleybol"), "paVolleyballGeneralDesc": MessageLookupByLibrary.simpleMessage( - "rekabetçi olmayan, 6-9 kişilik ekip, genel"), - "paWalkingForPleasure": MessageLookupByLibrary.simpleMessage("yürüme"), + "yarışma dışı, 6 - 9 kişilik takım, genel"), + "paWalkingForPleasure": MessageLookupByLibrary.simpleMessage("yürüyüş"), "paWalkingForPleasureDesc": - MessageLookupByLibrary.simpleMessage("zevk için"), + MessageLookupByLibrary.simpleMessage("keyif için"), "paWalkingTheDog": - MessageLookupByLibrary.simpleMessage("köpeği gezdirmek"), + MessageLookupByLibrary.simpleMessage("köpek gezdirme"), "paWalkingTheDogDesc": MessageLookupByLibrary.simpleMessage("genel"), "paWallyball": MessageLookupByLibrary.simpleMessage("wallyball"), "paWallyballDesc": MessageLookupByLibrary.simpleMessage("genel"), @@ -530,35 +531,35 @@ class MessageLookup extends MessageLookupByLibrary { "paWrestling": MessageLookupByLibrary.simpleMessage("güreş"), "paWrestlingDesc": MessageLookupByLibrary.simpleMessage("genel"), "palActiveDescriptionLabel": MessageLookupByLibrary.simpleMessage( - "Çoğunlukla ayakta durma veya işte yürüme ve aktif serbest zaman aktiviteleri"), + "Çoğunlukla işte ayakta durmak veya yürümek ve aktif boş zaman aktiviteleri"), "palActiveLabel": MessageLookupByLibrary.simpleMessage("Aktif"), "palLowActiveDescriptionLabel": MessageLookupByLibrary.simpleMessage( - "örn. işte oturmak veya ayakta durmak ve hafif boş zaman etkinlikleri"), + "örn. işte oturmak veya ayakta durmak ve hafif boş zaman aktiviteleri"), "palLowLActiveLabel": MessageLookupByLibrary.simpleMessage("Az Aktif"), "palSedentaryDescriptionLabel": MessageLookupByLibrary.simpleMessage( - "örn. ofis işi ve çoğunlukla boş zaman aktiviteleri"), + "örn. ofis işi ve çoğunlukla oturarak geçirilen boş zaman aktiviteleri"), "palSedentaryLabel": MessageLookupByLibrary.simpleMessage("Hareketsiz"), "palVeryActiveDescriptionLabel": MessageLookupByLibrary.simpleMessage( - "İş ve aktif serbest zaman aktivitelerinde çoğunlukla yürüme, koşma veya ağırlık taşıma"), + "Çoğunlukla işte yürümek, koşmak veya ağırlık taşımak ve aktif boş zaman aktiviteleri"), "palVeryActiveLabel": MessageLookupByLibrary.simpleMessage("Çok Aktif"), "per100gLabel": MessageLookupByLibrary.simpleMessage("100g başına"), "privacyPolicyLabel": MessageLookupByLibrary.simpleMessage("Gizlilik politikası"), "profileLabel": MessageLookupByLibrary.simpleMessage("Profil"), "proteinLabel": MessageLookupByLibrary.simpleMessage("protein"), - "quantityLabel": MessageLookupByLibrary.simpleMessage("Adet"), + "quantityLabel": MessageLookupByLibrary.simpleMessage("Miktar"), "readLabel": MessageLookupByLibrary.simpleMessage( "Gizlilik politikasını okudum ve kabul ediyorum."), "recentlyAddedLabel": - MessageLookupByLibrary.simpleMessage("Son zamanlarda"), + MessageLookupByLibrary.simpleMessage("Son Eklenenler"), "reportErrorDialogText": MessageLookupByLibrary.simpleMessage( "Geliştiriciye bir hata bildirmek istiyor musunuz?"), "retryLabel": MessageLookupByLibrary.simpleMessage("Tekrar dene"), "saturatedFatLabel": MessageLookupByLibrary.simpleMessage("doymuş yağ"), - "scanProductLabel": MessageLookupByLibrary.simpleMessage("Ürün Tarama"), + "scanProductLabel": MessageLookupByLibrary.simpleMessage("Ürün Tara"), "searchDefaultLabel": MessageLookupByLibrary.simpleMessage( - "Lütfen bir arama sözcüğü girin"), - "searchFoodPage": MessageLookupByLibrary.simpleMessage("Gıda"), + "Lütfen bir arama kelimesi girin"), + "searchFoodPage": MessageLookupByLibrary.simpleMessage("Yiyecek"), "searchLabel": MessageLookupByLibrary.simpleMessage("Ara"), "searchProductsPage": MessageLookupByLibrary.simpleMessage("Ürünler"), "searchResultsLabel": @@ -568,16 +569,16 @@ class MessageLookup extends MessageLookupByLibrary { "selectHeightDialogLabel": MessageLookupByLibrary.simpleMessage("Boy Seçin"), "selectPalCategoryLabel": - MessageLookupByLibrary.simpleMessage("Etkinlik Seviyesi Seçin"), + MessageLookupByLibrary.simpleMessage("Aktivite Seviyesi Seçin"), "selectWeightDialogLabel": - MessageLookupByLibrary.simpleMessage("Ağırlık Seçin"), + MessageLookupByLibrary.simpleMessage("Kilo Seçin"), "sendAnonymousUserData": MessageLookupByLibrary.simpleMessage( - "Anonim kullanım verileri gönder"), + "Anonim kullanım verilerini gönder"), "servingSizeLabel": - MessageLookupByLibrary.simpleMessage("Porsiyon büyüklüğü (g/ml)"), + MessageLookupByLibrary.simpleMessage("Porsiyon boyutu (g/ml)"), "settingAboutLabel": MessageLookupByLibrary.simpleMessage("Hakkında"), "settingFeedbackLabel": - MessageLookupByLibrary.simpleMessage("Geri bildirim"), + MessageLookupByLibrary.simpleMessage("Geri Bildirim"), "settingsCalculationsLabel": MessageLookupByLibrary.simpleMessage("Hesaplamalar"), "settingsDisclaimerLabel": @@ -606,7 +607,7 @@ class MessageLookup extends MessageLookupByLibrary { "sugarLabel": MessageLookupByLibrary.simpleMessage("şeker"), "suppliedLabel": MessageLookupByLibrary.simpleMessage("alınan"), "unitLabel": MessageLookupByLibrary.simpleMessage("Birim"), - "weightLabel": MessageLookupByLibrary.simpleMessage("Ağırlık"), + "weightLabel": MessageLookupByLibrary.simpleMessage("Kilo"), "yearsLabel": m3 }; } diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 69f740d..12a0372 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -1131,6 +1131,16 @@ class S { ); } + /// `Base quantity (g/ml)` + String get baseQuantityLabel { + return Intl.message( + 'Base quantity (g/ml)', + name: 'baseQuantityLabel', + desc: '', + args: [], + ); + } + /// `Unit` String get unitLabel { return Intl.message( @@ -1271,16 +1281,6 @@ class S { ); } - /// `Base quantity (g/ml)` - String get baseQuantityLabel { - return Intl.message( - 'Base quantity (g/ml)', - name: 'baseQuantityLabel', - desc: '', - args: [], - ); - } - /// `kcal per` String get mealKcalLabel { return Intl.message( @@ -1311,10 +1311,10 @@ class S { ); } - /// `protein per` + /// `protein per 100 g/ml` String get mealProteinLabel { return Intl.message( - 'protein per', + 'protein per 100 g/ml', name: 'mealProteinLabel', desc: '', args: [], diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index 025327e..ac1bb05 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -400,4 +400,4 @@ "paSnowShovingModerate": "Schnee schaufeln", "paSnowShovingModerateDesc": "manuell, mäßige Anstrengung" -} +} \ No newline at end of file diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 9782e2d..477e40d 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -116,6 +116,7 @@ "additionalInfoLabelCustom": "Custom Meal Item", "additionalInfoLabelCompendium2011": "Information provided\n by the \n'2011 Compendium\n of Physical Activities'", "quantityLabel": "Quantity", + "baseQuantityLabel": "Base quantity (g/ml)", "unitLabel": "Unit", "scanProductLabel": "Scan Product", "gramUnit": "g", @@ -132,9 +133,9 @@ "mealSizeLabel": "Meal size (g/ml)", "servingSizeLabel": "Serving size (g/ml)", "mealUnitLabel": "Meal unit", - "mealKcalLabel": "kcal per 100 g/ml", - "mealCarbsLabel": "carbs per 100 g/ml", - "mealFatLabel": "fat per 100 g/ml", + "mealKcalLabel": "kcal per", + "mealCarbsLabel": "carbs per", + "mealFatLabel": "fat per", "mealProteinLabel": "protein per 100 g/ml", "errorMealSave": "Error while saving meal. Did you input the correct meal information?", @@ -401,4 +402,4 @@ "paSnowShovingModerate": "snow shoveling", "paSnowShovingModerateDesc": "by hand, moderate effort" -} +} \ No newline at end of file diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index 317d545..b897435 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -399,5 +399,5 @@ "paSkiingGeneral": "kayak", "paSkiingGeneralDesc": "genel", "paSnowShovingModerate": "kar küreme", - "paSnowShovingModerateDesc": "elle, orta efor" + "paSnowShovingModerateDesc": "elle, ılımlı çaba" } From 0c70159fd5ef1633897ff9ef30badcbbb34c0a1d Mon Sep 17 00:00:00 2001 From: Simon Oppowa <24407484+simonoppowa@users.noreply.github.com> Date: Fri, 27 Sep 2024 18:55:13 +0200 Subject: [PATCH 12/13] fix: fix analyze issues --- .../edit_meal/presentation/edit_meal_screen.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/features/edit_meal/presentation/edit_meal_screen.dart b/lib/features/edit_meal/presentation/edit_meal_screen.dart index 465e044..ae851fa 100644 --- a/lib/features/edit_meal/presentation/edit_meal_screen.dart +++ b/lib/features/edit_meal/presentation/edit_meal_screen.dart @@ -146,7 +146,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealSizeLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.numberWithOptions(decimal: true), + keyboardType: const TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -155,7 +155,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).servingSizeLabel, border: const OutlineInputBorder()), - keyboardType: TextInputType.numberWithOptions(decimal: true), + keyboardType: const TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), DropdownButtonFormField( @@ -184,7 +184,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealKcalLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), - keyboardType: TextInputType.numberWithOptions(decimal: true), + keyboardType: const TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -193,7 +193,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealCarbsLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), - keyboardType: TextInputType.numberWithOptions(decimal: true), + keyboardType: const TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -202,7 +202,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealFatLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), - keyboardType: TextInputType.numberWithOptions(decimal: true), + keyboardType: const TextInputType.numberWithOptions(decimal: true), ), const SizedBox(height: 16), TextFormField( @@ -211,7 +211,7 @@ class _EditMealScreenState extends State { decoration: InputDecoration( labelText: S.of(context).mealProteinLabel+baseQuantity+baseQuantityUnit, border: const OutlineInputBorder()), - keyboardType: TextInputType.numberWithOptions(decimal: true), + keyboardType: const TextInputType.numberWithOptions(decimal: true), ), ], ), From 5b2942c666026e4788b8fd8afb7f0dc69a8428b6 Mon Sep 17 00:00:00 2001 From: Simon Oppowa <24407484+simonoppowa@users.noreply.github.com> Date: Fri, 27 Sep 2024 19:03:00 +0200 Subject: [PATCH 13/13] v0.6.16+23 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 40d3134..b639513 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.6.15+22 +version: 0.6.16+23 environment: sdk: '>=3.0.0 <3.4.0'