added translation file for rfplus popup

This commit is contained in:
Kima 2024-04-07 19:53:44 +02:00
parent de6a3cca6d
commit d5fb55f48e
2 changed files with 162 additions and 64 deletions

View File

@ -2,6 +2,7 @@ import 'package:flutter_svg/svg.dart';
import 'package:refilc_mobile_ui/common/bottom_sheet_menu/rounded_bottom_sheet.dart'; import 'package:refilc_mobile_ui/common/bottom_sheet_menu/rounded_bottom_sheet.dart';
import 'package:refilc_mobile_ui/premium/plus_screen.dart'; import 'package:refilc_mobile_ui/premium/plus_screen.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'upsell.i18n.dart';
enum PremiumFeature { enum PremiumFeature {
// old things // old things
@ -61,34 +62,34 @@ const Map<PremiumFeature, PremiumFeatureLevel> _featureLevels = {
PremiumFeature.calendarSync: PremiumFeatureLevel.gold, PremiumFeature.calendarSync: PremiumFeatureLevel.gold,
}; };
const Map<PremiumFeature, String> _featureAssets = { // const Map<PremiumFeature, String> _featureAssets = {
// old // // old
PremiumFeature.gradestats: "assets/images/premium_stats_showcase.png", // PremiumFeature.gradestats: "assets/images/premium_stats_showcase.png",
PremiumFeature.customcolors: "assets/images/premium_theme_showcase.png", // PremiumFeature.customcolors: "assets/images/premium_theme_showcase.png",
PremiumFeature.profile: "assets/images/premium_nickname_showcase.png", // PremiumFeature.profile: "assets/images/premium_nickname_showcase.png",
PremiumFeature.weeklytimetable: // PremiumFeature.weeklytimetable:
"assets/images/premium_timetable_showcase.png", // "assets/images/premium_timetable_showcase.png",
// PremiumFeature.goalplanner: "assets/images/premium_goal_showcase.png", // // PremiumFeature.goalplanner: "assets/images/premium_goal_showcase.png",
PremiumFeature.widget: "assets/images/premium_widget_showcase.png", // PremiumFeature.widget: "assets/images/premium_widget_showcase.png",
// new // // new
PremiumFeature.moreAccounts: "assets/images/premium_banner/more_accounts.png", // PremiumFeature.moreAccounts: "assets/images/premium_banner/more_accounts.png",
PremiumFeature.betaReleases: "assets/images/premium_banner/beta_releases.png", // PremiumFeature.betaReleases: "assets/images/premium_banner/beta_releases.png",
PremiumFeature.welcomeMessage: // PremiumFeature.welcomeMessage:
"assets/images/premium_banner/welcome_message.png", // "assets/images/premium_banner/welcome_message.png",
PremiumFeature.selfNotes: "assets/images/premium_banner/self_notes.png", // PremiumFeature.selfNotes: "assets/images/premium_banner/self_notes.png",
PremiumFeature.gradeCalculation: // PremiumFeature.gradeCalculation:
"assets/images/premium_banner/grade_calc.png", // "assets/images/premium_banner/grade_calc.png",
PremiumFeature.liveActivity: "assets/images/premium_banner/live_activity.png", // PremiumFeature.liveActivity: "assets/images/premium_banner/live_activity.png",
PremiumFeature.timetableNotes: // PremiumFeature.timetableNotes:
"assets/images/premium_banner/timetable_notes.png", // "assets/images/premium_banner/timetable_notes.png",
PremiumFeature.iconChange: "assets/images/premium_banner/app_icon.png", // PremiumFeature.iconChange: "assets/images/premium_banner/app_icon.png",
PremiumFeature.fontChange: "assets/images/premium_banner/font.png", // PremiumFeature.fontChange: "assets/images/premium_banner/font.png",
PremiumFeature.goalPlanner: "assets/images/premium_banner/goal_planner.png", // PremiumFeature.goalPlanner: "assets/images/premium_banner/goal_planner.png",
PremiumFeature.gradeRarities: // PremiumFeature.gradeRarities:
"assets/images/premium_banner/grade_rarities.png", // "assets/images/premium_banner/grade_rarities.png",
PremiumFeature.calendarSync: "assets/images/premium_banner/calendar_sync.png", // PremiumFeature.calendarSync: "assets/images/premium_banner/calendar_sync.png",
}; // };
const Map<PremiumFeature, String> _featureTitles = { const Map<PremiumFeature, String> _featureTitles = {
// old shit // old shit
@ -102,19 +103,18 @@ const Map<PremiumFeature, String> _featureTitles = {
// PremiumFeature.goalplanner: "Kövesd a céljaidat, sok-sok statisztikával.", // PremiumFeature.goalplanner: "Kövesd a céljaidat, sok-sok statisztikával.",
PremiumFeature.widget: "Órák a kezdőképernyőd kényelméből.", PremiumFeature.widget: "Órák a kezdőképernyőd kényelméből.",
// new shit // new shit
PremiumFeature.moreAccounts: "Több fiókot használnál?", PremiumFeature.moreAccounts: "u_title_1",
PremiumFeature.betaReleases: "Előre kipróbálnád a frissítéseket?", PremiumFeature.betaReleases: "u_title_2",
PremiumFeature.welcomeMessage: "\"Szia cica, van gazdád?\"", PremiumFeature.welcomeMessage: "u_title_3",
PremiumFeature.selfNotes: "Felírnád a feladataid?", PremiumFeature.selfNotes: "u_title_4",
PremiumFeature.gradeCalculation: "Lusta vagy matekozni?", PremiumFeature.gradeCalculation: "u_title_5",
PremiumFeature.liveActivity: "Tudom, nem túl szép a sima szürke :P", PremiumFeature.liveActivity: "u_title_6",
PremiumFeature.timetableNotes: PremiumFeature.timetableNotes: "u_title_7",
"\"Mit is csináltunk órán? Volt angol házi??\"", PremiumFeature.iconChange: "u_title_8",
PremiumFeature.iconChange: "Ez aztán különleges!", PremiumFeature.fontChange: "u_title_9",
PremiumFeature.fontChange: "Woah! Micsoda gyönyörű betűk!", PremiumFeature.goalPlanner: "u_title_10",
PremiumFeature.goalPlanner: "Még több javaslat kell?", PremiumFeature.gradeRarities: "u_title_11",
PremiumFeature.gradeRarities: "Nem epikus, hanem ultraszuper?", PremiumFeature.calendarSync: "u_title_12",
PremiumFeature.calendarSync: "Még a naptáradba is kell?!",
}; };
const Map<PremiumFeature, String> _featureDescriptions = { const Map<PremiumFeature, String> _featureDescriptions = {
@ -135,28 +135,18 @@ const Map<PremiumFeature, String> _featureDescriptions = {
PremiumFeature.widget: PremiumFeature.widget:
"Támogass Tinta szinten, és helyezz egy widgetet a kezdőképernyődre.", "Támogass Tinta szinten, és helyezz egy widgetet a kezdőképernyődre.",
// new // new
PremiumFeature.moreAccounts: PremiumFeature.moreAccounts: "u_desc_1",
"Minden támogatási szinttel egyre magasabb a limit.", PremiumFeature.betaReleases: "u_desc_2",
PremiumFeature.betaReleases: PremiumFeature.welcomeMessage: "u_desc_3",
"Fizess elő reFilc+-ra, hogy előre megkapd a béta frissítéseket.", PremiumFeature.selfNotes: "u_desc_4",
PremiumFeature.welcomeMessage: PremiumFeature.gradeCalculation: "u_desc_5",
"Az egyedi üdvözléshez elég csupán a legalsó szint!", PremiumFeature.liveActivity: "u_desc_6",
PremiumFeature.selfNotes: PremiumFeature.timetableNotes: "u_desc_7",
"Támogass minket, és jegyezd fel minden fontos dolgod.", PremiumFeature.iconChange: "u_desc_8",
PremiumFeature.gradeCalculation: PremiumFeature.fontChange: "u_desc_9",
"reFilc+-al egyszerűbb kiszámolnod a tervezett átlagod.", PremiumFeature.goalPlanner: "u_desc_10",
PremiumFeature.liveActivity: PremiumFeature.gradeRarities: "u_desc_11",
"Gold szintű támogatással átszínezhetsz bármilyenre.", PremiumFeature.calendarSync: "u_desc_12",
PremiumFeature.timetableNotes:
"Nincs több ilyen kérdés, ha Gold szinten támogatsz.",
PremiumFeature.iconChange:
"Fizess elő Gold szintre az alkalmazás ikonjának megváltoztatásához.",
PremiumFeature.fontChange:
"Gold szintű támogatással megváltoztathatod a betűtípust is.",
PremiumFeature.goalPlanner:
"Támogass Gold szinten és használd ki a cél kitűzés minden funkcióját!",
PremiumFeature.gradeRarities: "A reFilc+ alap szintjével ez is elérhető!",
PremiumFeature.calendarSync: "Szinkronizáld az órarended reFilc+ Gold-al!",
}; };
// class PremiumLockedFeatureUpsell extends StatelessWidget { // class PremiumLockedFeatureUpsell extends StatelessWidget {
@ -306,8 +296,8 @@ class PlusLockedFeaturePopup extends StatelessWidget {
// ? const Color(0xff691A9B) // ? const Color(0xff691A9B)
// : const Color(0xffA66FC8); // : const Color(0xffA66FC8);
// String? _getAsset() => _featureAssets[feature]; // String? _getAsset() => _featureAssets[feature];
String _getTitle() => _featureTitles[feature]!; String _getTitle() => _featureTitles[feature]!.i18n;
String _getDescription() => _featureDescriptions[feature]!; String _getDescription() => _featureDescriptions[feature]!.i18n;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

View File

@ -0,0 +1,108 @@
import 'package:i18n_extension/i18n_extension.dart';
extension Localization on String {
static final _t = Translations.byLocale("hu_hu") +
{
"en_en": {
// upsell titles
"u_title_1": "Több fiókot használnál?",
"u_title_2": "Előre kipróbálnád a frissítéseket?",
"u_title_3": "\"Szia cica, van gazdád?\"",
"u_title_4": "Felírnád a feladataid?",
"u_title_5": "Lusta vagy matekozni?",
"u_title_6": "Tudom, nem túl szép a sima szürke :P",
"u_title_7": "\"Mit is csináltunk órán? Volt angol házi??\"",
"u_title_8": "Ez aztán különleges!",
"u_title_9": "Woah! Micsoda gyönyörű betűk!",
"u_title_10": "Még több javaslat kell?",
"u_title_11": "Nem epikus, hanem ultraszuper?",
"u_title_12": "Még a naptáradba is kell?!",
// upsell descriptions
"u_desc_1": "Minden támogatási szinttel egyre magasabb a limit.",
"u_desc_2":
"Fizess elő reFilc+-ra, hogy előre megkapd a béta frissítéseket.",
"u_desc_3": "Az egyedi üdvözléshez elég csupán a legalsó szint!",
"u_desc_4": "Támogass minket, és jegyezd fel minden fontos dolgod.",
"u_desc_5": "reFilc+-al egyszerűbb kiszámolnod a tervezett átlagod.",
"u_desc_6": "Gold szintű támogatással átszínezhetsz bármilyenre.",
"u_desc_7": "Nincs több ilyen kérdés, ha Gold szinten támogatsz.",
"u_desc_8":
"Fizess elő Gold szintre az alkalmazás ikonjának megváltoztatásához.",
"u_desc_9":
"Gold szintű támogatással megváltoztathatod a betűtípust is.",
"u_desc_10":
"Támogass Gold szinten és használd ki a cél kitűzés minden funkcióját!",
"u_desc_11": "A reFilc+ alap szintjével ez is elérhető!",
"u_desc_12": "Szinkronizáld az órarended reFilc+ Gold-al!",
},
"hu_hu": {
// upsell titles
"u_title_1": "Több fiókot használnál?",
"u_title_2": "Előre kipróbálnád a frissítéseket?",
"u_title_3": "\"Szia cica, van gazdád?\"",
"u_title_4": "Felírnád a feladataid?",
"u_title_5": "Lusta vagy matekozni?",
"u_title_6": "Tudom, nem túl szép a sima szürke :P",
"u_title_7": "\"Mit is csináltunk órán? Volt angol házi??\"",
"u_title_8": "Ez aztán különleges!",
"u_title_9": "Woah! Micsoda gyönyörű betűk!",
"u_title_10": "Még több javaslat kell?",
"u_title_11": "Nem epikus, hanem ultraszuper?",
"u_title_12": "Még a naptáradba is kell?!",
// upsell descriptions
"u_desc_1": "Minden támogatási szinttel egyre magasabb a limit.",
"u_desc_2":
"Fizess elő reFilc+-ra, hogy előre megkapd a béta frissítéseket.",
"u_desc_3": "Az egyedi üdvözléshez elég csupán a legalsó szint!",
"u_desc_4": "Támogass minket, és jegyezd fel minden fontos dolgod.",
"u_desc_5": "reFilc+-al egyszerűbb kiszámolnod a tervezett átlagod.",
"u_desc_6": "Gold szintű támogatással átszínezhetsz bármilyenre.",
"u_desc_7": "Nincs több ilyen kérdés, ha Gold szinten támogatsz.",
"u_desc_8":
"Fizess elő Gold szintre az alkalmazás ikonjának megváltoztatásához.",
"u_desc_9":
"Gold szintű támogatással megváltoztathatod a betűtípust is.",
"u_desc_10":
"Támogass Gold szinten és használd ki a cél kitűzés minden funkcióját!",
"u_desc_11": "A reFilc+ alap szintjével ez is elérhető!",
"u_desc_12": "Szinkronizáld az órarended reFilc+ Gold-al!",
},
"de_de": {
// upsell titles
"u_title_1": "Több fiókot használnál?",
"u_title_2": "Előre kipróbálnád a frissítéseket?",
"u_title_3": "\"Szia cica, van gazdád?\"",
"u_title_4": "Felírnád a feladataid?",
"u_title_5": "Lusta vagy matekozni?",
"u_title_6": "Tudom, nem túl szép a sima szürke :P",
"u_title_7": "\"Mit is csináltunk órán? Volt angol házi??\"",
"u_title_8": "Ez aztán különleges!",
"u_title_9": "Woah! Micsoda gyönyörű betűk!",
"u_title_10": "Még több javaslat kell?",
"u_title_11": "Nem epikus, hanem ultraszuper?",
"u_title_12": "Még a naptáradba is kell?!",
// upsell descriptions
"u_desc_1": "Minden támogatási szinttel egyre magasabb a limit.",
"u_desc_2":
"Fizess elő reFilc+-ra, hogy előre megkapd a béta frissítéseket.",
"u_desc_3": "Az egyedi üdvözléshez elég csupán a legalsó szint!",
"u_desc_4": "Támogass minket, és jegyezd fel minden fontos dolgod.",
"u_desc_5": "reFilc+-al egyszerűbb kiszámolnod a tervezett átlagod.",
"u_desc_6": "Gold szintű támogatással átszínezhetsz bármilyenre.",
"u_desc_7": "Nincs több ilyen kérdés, ha Gold szinten támogatsz.",
"u_desc_8":
"Fizess elő Gold szintre az alkalmazás ikonjának megváltoztatásához.",
"u_desc_9":
"Gold szintű támogatással megváltoztathatod a betűtípust is.",
"u_desc_10":
"Támogass Gold szinten és használd ki a cél kitűzés minden funkcióját!",
"u_desc_11": "A reFilc+ alap szintjével ez is elérhető!",
"u_desc_12": "Szinkronizáld az órarended reFilc+ Gold-al!",
},
};
String get i18n => localize(this, _t);
String fill(List<Object> params) => localizeFill(this, params);
String plural(int value) => localizePlural(value, this, _t);
String version(Object modifier) => localizeVersion(modifier, this, _t);
}