123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535 |
- import 'package:flutter/material.dart';
- import 'package:flutter_habit/common/LocalData.dart';
- class I18N {
- static String _language;
- static void init() {
- _language = LocalData.getInstance().getString("language");
- if (_language ==null) {
- _language = "cn";
- LocalData.getInstance().setString("language", _language);
- }
- debugPrint("init I18N to $_language");
- }
- static String of(String key) {
- return wordMap[_language][key] ?? "${_language.toUpperCase()}_$key";
- // return key.toString();
- }
- static String getLanguage() {
- return _language;
- }
- static void setLanguage(String language) {
- _language = language;
- LocalData.getInstance().setString("language", _language);
- }
- }
- Map<String, Map<String, String>> wordMap = {
- "cn" : {
- "" : "",
- "7日运动次数" : "7日运动次数",
- "7日运动总消耗" : "7日运动总消耗",
- "BMI" : "BMI",
- "ID" : "ID",
- "MarkDown预览" : "MarkDown预览",
- "不能关注自己" : "不能关注自己",
- "裁剪图片" : "裁剪图片",
- "长按可删除食物" : "长按可删除食物",
- "长按可删除运动" : "长按可删除运动",
- "长度为2-10个不包括任何符号的字符" : "长度为2-10个不包括任何符号的字符",
- "吃饭时间" : "吃饭时间",
- "迟到次数" : "迟到次数",
- "从相册中选择" : "从相册中选择",
- "从云端下载数据" : "从云端下载数据",
- "打卡成功" : "打卡成功",
- "打卡时段" : "打卡时段",
- "打卡提醒" : "打卡提醒",
- "打卡完成度" : "打卡完成度",
- "待完成计划数" : "待完成计划数",
- "登出" : "登出",
- "登录" : "登录",
- "登录信息过期" : "登录信息过期",
- "登陆成功" : "登陆成功",
- "调整数据" : "调整数据",
- "非打卡时间打卡成功" : "非打卡时间打卡成功",
- "否" : "否",
- "该食物已存在" : "该食物已存在",
- "该邮箱未注册" : "该邮箱未注册",
- "该邮箱已存在" : "该邮箱已存在",
- "该运动已存在" : "该运动已存在",
- "概览" : "概览",
- "感谢您的支持,优惠口令已发送至您的邮箱" : "感谢您的支持,优惠口令已发送至您的邮箱",
- "关注" : "关注",
- "关注成功" : "关注成功",
- "官方合作" : "官方合作",
- "花费" : "花费",
- "花费记录" : "花费记录",
- "滑动来打卡" : "滑动来打卡",
- "滑动来覆盖今日数据" : "滑动来覆盖今日数据",
- "滑动来删除该条数据" : "滑动来删除该条数据",
- "滑动来完成计划" : "滑动来完成计划",
- "欢迎" : "欢迎",
- "获取验证码" : "获取验证码",
- "基本信息" : "基本信息",
- "基本信息记录" : "基本信息记录",
- "计划任务" : "计划任务",
- "计划运动时长" : "计划运动时长",
- "记录" : "记录",
- "记录成功" : "记录成功",
- "记录课程学习" : "记录课程学习",
- "继续该操作吗?":"继续该操作吗?",
- "简单" : "简单",
- "结束时间" : "结束时间",
- "金币" : "金币",
- "金币不足" : "金币不足",
- "今日" : "今日",
- "今日状态" : "今日状态",
- "进食量" : "进食量",
- "卡路里消耗" : "卡路里消耗",
- "课程难度" : "课程难度",
- "课程学习" : "课程学习",
- "课程学习详情" : "课程学习详情",
- "课程主题" : "课程主题",
- "课程主题不能为空" : "课程主题不能为空",
- "库存" : "库存",
- "库存不足" : "库存不足",
- "快速注册" : "快速注册",
- "困难" : "困难",
- "来到" : "来到",
- "立即获取优惠口令" : "立即获取优惠口令",
- "连接失败" : "连接失败",
- "两次输入不一致" : "两次输入不一致",
- "每日打卡完成度" : "每日打卡完成度",
- "每日课程数" : "每日课程数",
- "密码" : "密码",
- "密码不能为空" : "密码不能为空",
- "男" : "男",
- "您不能删除吃过的食物" : "您不能删除吃过的食物",
- "您不能删除记录过的运动" : "您不能删除记录过的运动",
- "您的账号由于存在恶意刷金币行为已被系统限制金币获取" : "您的账号由于存在恶意刷金币行为已被系统限制金币获取",
- "女" : "女",
- "拍照" : "拍照",
- "排名" : "排名",
- "排行榜" : "排行榜",
- "起床打卡" : "起床打卡",
- "起床打卡开始了" : "起床打卡开始了",
- "起床打卡时间" : "起床打卡时间",
- "起床时间" : "起床时间",
- "起始时间" : "起始时间",
- "请输入6位验证码" : "请输入6位验证码",
- "请输入花费" : "请输入花费",
- "请输入计划运动时长" : "请输入计划运动时长",
- "请输入进食量" : "请输入进食量",
- "请输入您的密码" : "请输入您的密码",
- "请输入您的新密码" : "请输入您的新密码",
- "请输入您的邮箱" : "请输入您的邮箱",
- "请输入您注册时的邮箱" : "请输入您注册时的邮箱",
- "请输入食物名称" : "请输入食物名称",
- "请输入食物热量" : "请输入食物热量",
- "请输入消耗热量" : "请输入消耗热量",
- "请输入新用户名" : "请输入新用户名",
- "请输入运动名称" : "请输入运动名称",
- "请输入运动时长" : "请输入运动时长",
- "请先登录" : "请先登录",
- "请重复输入您的密码" : "请重复输入您的密码",
- "请重复输入您的新密码" : "请重复输入您的新密码",
- "取消" : "取消",
- "取消关注" : "取消关注",
- "取消关注成功" : "取消关注成功",
- "缺席次数" : "缺席次数",
- "确定" : "确定",
- "日常生活" : "日常生活",
- "日常生活记录" : "日常生活记录",
- "三围信息" : "三围信息",
- "删除成功" : "删除成功",
- "商城" : "商城",
- "商品详情" : "商品详情",
- "上传同步成功" : "上传同步成功",
- "摄入卡路里" : "摄入卡路里",
- "摄入卡路里总量" : "摄入卡路里总量",
- "设置" : "设置",
- "身高" : "身高",
- "生日" : "生日",
- "食物名称" : "食物名称",
- "食物热量" : "食物热量",
- "食用次数" : "食用次数",
- "是" : "是",
- "是否迟到" : "是否迟到",
- "是否缺席" : "是否缺席",
- "输入用户名查询" : "输入用户名查询",
- "输入有误" : "输入有误",
- "数据管理" : "数据管理",
- "睡觉打卡开始了" : "睡觉打卡开始了",
- "睡觉时间" : "睡觉时间",
- "睡眠时长" : "睡眠时长",
- "睡眠时间" : "睡眠时间",
- "私信" : "私信",
- "松开以继续" : "松开以继续",
- "搜索" : "搜索",
- "搜索用户" : "搜索用户",
- "提交" : "提交",
- "体育锻炼" : "体育锻炼",
- "体育锻炼记录" : "体育锻炼记录",
- "体重" : "体重",
- "体重信息" : "体重信息",
- "添加计划任务" : "添加计划任务",
- "添加计划任务成功" : "添加计划任务成功",
- "添加食物" : "添加食物",
- "添加数据后会展示对应图表" : "添加数据后会展示对应图表",
- "添加运动" : "添加运动",
- "通知开关" : "通知开关",
- "同步数据到云端" : "同步数据到云端",
- "臀围" : "臀围",
- "完成" : "完成",
- "晚安打卡" : "晚安打卡",
- "晚饭打卡" : "晚饭打卡",
- "晚饭时间" : "晚饭时间",
- "忘记密码?" : "忘记密码?",
- "未登录" : "未登录",
- "未解决的问题数" : "未解决的问题数",
- "未入榜" : "未入榜",
- "未完成的作业" : "未完成的作业",
- "未完成的作业数" : "未完成的作业数",
- "我的关注" : "我的关注",
- "无数据" : "无数据",
- "午饭打卡" : "午饭打卡",
- "午饭打卡开始了" : "午饭打卡开始了",
- "午饭打卡时间" : "午饭打卡时间",
- "午饭时间" : "午饭时间",
- "午休打卡" : "午休打卡",
- "午休打卡开始了" : "午休打卡开始了",
- "午休打卡时间" : "午休打卡时间",
- "午休时间" : "午休时间",
- "下载同步成功" : "下载同步成功",
- "详情" : "详情",
- "向右滑动" : "向右滑动",
- "消费" : "消费",
- "消耗" : "消耗",
- "消耗热量" : "消耗热量",
- "新密码" : "新密码",
- "信息" : "信息",
- "性别" : "性别",
- "胸围" : "胸围",
- "修改成功" : "修改成功",
- "修改密码成功" : "修改密码成功",
- "修改生日" : "修改生日",
- "修改头像" : "修改头像",
- "修改性别" : "修改性别",
- "修改用户名" : "修改用户名",
- "选择食物" : "选择食物",
- "学习" : "学习",
- "验证码" : "验证码",
- "验证码错误或过期" : "验证码错误或过期",
- "验证码发送成功,5分钟内有效" : "验证码发送成功,5分钟内有效",
- "腰围" : "腰围",
- "一般" : "一般",
- "已解决" : "已解决",
- "用户" : "用户",
- "用户名" : "用户名",
- "用户设置" : "用户设置",
- "邮件发送失败" : "邮件发送失败",
- "邮箱" : "邮箱",
- "邮箱不能为空" : "邮箱不能为空",
- "邮箱格式有误" : "邮箱格式有误",
- "邮箱或密码错误" : "邮箱或密码错误",
- "有未解决的问题" : "有未解决的问题",
- "有未完成的作业" : "有未完成的作业",
- "语言" : "语言",
- "遇到的问题" : "遇到的问题",
- "预计消耗" : "预计消耗",
- "云端无数据" : "云端无数据",
- "运动次数" : "运动次数",
- "运动类型" : "运动类型",
- "运动名称" : "运动名称",
- "运动时长" : "运动时长",
- "早饭打卡" : "早饭打卡",
- "早饭打卡开始了" : "早饭打卡开始了",
- "早饭打卡时间" : "早饭打卡时间",
- "早饭时间" : "早饭时间",
- "支持MarkDown" : "支持MarkDown",
- "重复购买不会重复扣费" : "重复购买不会重复扣费",
- "重复密码" : "重复密码",
- "重设密码" : "重设密码",
- "重置密码" : "重置密码",
- "重置数据" : "重置数据",
- "主题" : "主题",
- "注册" : "注册",
- "注册成功" : "注册成功",
- "注意" : "注意",
- "字母开头,必须包含大小写字母,可以包含字母、数字、特殊符号\n长度为8~16位" : "字母开头,必须包含大小写字母,可以包含字母、数字、特殊符号\n长度为8~16位",
- "总结" : "总结",
- "最近" : "最近",
- "昨夜睡眠时长" : "昨夜睡眠时长",
- "作业是否完成" : "作业是否完成",
- },
- "en" : {
- "":"",
- "7日运动次数" : "7 days exercise times",
- "7日运动总消耗" : "7 days consumption",
- "BMI" : "BMI",
- "ID" : "ID",
- "MarkDown预览" : "MarkDown preview",
- "不能关注自己" : "You can't follow yourself",
- "裁剪图片" : "Crop Image",
- "长按可删除食物" : "Long press to remove food",
- "长按可删除运动" : "Long press to delete movement",
- "长度为2-10个不包括任何符号的字符" : "Length of 2-10 characters without any symbols",
- "吃饭时间" : "Mealtime",
- "迟到次数" : "Late times",
- "从相册中选择" : "Select from the album",
- "从云端下载数据" : "Download data from the cloud",
- "打卡成功" : "Clock in success",
- "打卡时段" : "Clock in time",
- "打卡提醒" : "Clock in reminded",
- "打卡完成度" : "Clock in progress",
- "待完成计划数" : "Schedule to be completed",
- "登出" : "Sign out",
- "登录" : "Sign in",
- "登录信息过期" : "token expired",
- "登陆成功" : "Sign in success",
- "调整数据" : "Adjust data",
- "非打卡时间打卡成功" : "Non-clocked time clocked in",
- "否" : "no",
- "该食物已存在" : "The food already exists",
- "该邮箱未注册" : "This email is not registered",
- "该邮箱已存在" : "The email already exists",
- "该运动已存在" : "The movement already exists",
- "概览" : "Overview",
- "感谢您的支持,优惠口令已发送至您的邮箱" : "Thank you for your support. The token has been sent to your email",
- "关注" : "follow",
- "关注成功" : "follow success",
- "官方合作" : "Authoritative",
- "花费" : "Spend",
- "花费记录" : "Spend record",
- "滑动来打卡" : "Slide to clock in",
- "滑动来覆盖今日数据" : "Slide to over today's data",
- "滑动来删除该条数据" : "Slide to delete the data",
- "滑动来完成计划" : "Slide to complete the schedule",
- "欢迎" : "Welcome",
- "获取验证码" : "Get AuthCode",
- "基本信息" : "Basic information",
- "基本信息记录" : "Basic information record",
- "计划任务" : "Scheduled tasks",
- "计划运动时长" : "Scheduled exercise time",
- "记录" : "Record",
- "记录成功" : "Record success",
- "记录课程学习" : "Record course learning",
- "继续该操作吗?":"Continue?",
- "简单" : "Simple",
- "结束时间" : "End time",
- "金币" : "Coins",
- "金币不足" : "Not enough Coins",
- "今日" : "Today",
- "今日状态" : "Today's state",
- "进食量" : "Food-intake",
- "卡路里消耗" : "Calorie consumption",
- "课程难度" : "Course difficulty",
- "课程学习" : "Course learning",
- "课程学习详情" : "Course details",
- "课程主题" : "Course topic",
- "课程主题不能为空" : "Course topic can not be empty",
- "库存" : "Stock",
- "库存不足" : "Understock",
- "快速注册" : "Fast sign up",
- "困难" : "difficulty",
- "来到" : "to",
- "立即获取优惠口令" : "Get the discount token now",
- "连接失败" : "Connection fail",
- "两次输入不一致" : "The two inputs are inconsistent",
- "每日打卡完成度" : "Daily clock in progress",
- "每日课程数" : "Daily course count",
- "密码" : "Password",
- "密码不能为空" : "Password cannot be empty",
- "男" : "Male",
- "您不能删除吃过的食物" : "You cannot delete recorded food",
- "您不能删除记录过的运动" : "You cannot delete recorded movements",
- "您的账号由于存在恶意刷金币行为已被系统限制金币获取" : "Your account has been ban due to there is a malicious behavior of gain COINS",
- "女" : "Female",
- "拍照" : "Take a picture",
- "排名" : "Ranking",
- "排行榜" : "Ranking list",
- "起床打卡" : "Wake-up clock in",
- "起床打卡开始了" : "It's Wake-up clock in time",
- "起床打卡时间" : "Wake-up clock in time",
- "起床时间" : "Wake-up time",
- "起始时间" : "Starting time",
- "请输入6位验证码" : "Please enter a six-bit verification code",
- "请输入花费" : "Please enter the cost",
- "请输入计划运动时长" : "Please enter the duration of planned exercise",
- "请输入进食量" : "Please enter food intake",
- "请输入您的密码" : "Enter your password",
- "请输入您的新密码" : "Enter your new password",
- "请输入您的邮箱" : "Enter your email",
- "请输入您注册时的邮箱" : "Enter your email that you sign up",
- "请输入食物名称" : "Enter the name of the food",
- "请输入食物热量" : "Enter the calorie of food",
- "请输入消耗热量" : "Enter calories consumed",
- "请输入新用户名" : "Please enter a new user name",
- "请输入运动名称" : "Please enter the name of the movement",
- "请输入运动时长" : "Please enter the duration of exercise",
- "请先登录" : "Please log in first",
- "请重复输入您的密码" : "Please repeat your password",
- "请重复输入您的新密码" : "Please repeat your new password",
- "取消" : "Cancel",
- "取消关注" : "Unfollow",
- "取消关注成功" : "Unfollow success",
- "缺席次数" : "Absent times",
- "确定" : "ok",
- "日常生活" : "Daily life",
- "日常生活记录" : "Daily life record",
- "三围信息" : "BWH information",
- "删除成功" : "deleted success",
- "商城" : "Shopping mall",
- "商品详情" : "Product details",
- "上传同步成功" : "Upload synchronization successful",
- "摄入卡路里" : "Calorie intake",
- "摄入卡路里总量" : "Total calories intake",
- "设置" : "Setting",
- "身高" : "Stature",
- "生日" : "Birthday",
- "食物名称" : "Food name",
- "食物热量" : "food energy",
- "食用次数" : "Eat times",
- "是" : "ok",
- "是否迟到" : "Is late",
- "是否缺席" : "Is absent",
- "输入用户名查询" : "Enter the username to query",
- "输入有误" : "Input error",
- "数据管理" : "Data management",
- "睡觉打卡开始了" : "It's sleep clock in time",
- "睡觉时间" : "Sleep time",
- "睡眠时长" : "Sleep duration",
- "睡眠时间" : "Sleep time",
- "私信" : "Private letter",
- "松开以继续" : "Release to continue",
- "搜索" : "Search",
- "搜索用户" : "Search User",
- "提交" : "Commit",
- "体育锻炼" : "Physical exercise",
- "体育锻炼记录" : "Physical exercise record",
- "体重" : "Weight",
- "体重信息" : "Weight information",
- "添加计划任务" : "Add scheduled tasks",
- "添加计划任务成功" : "Added scheduled task success",
- "添加食物" : "Add food",
- "添加数据后会展示对应图表" : "The corresponding chart will be displayed after the data is added",
- "添加运动" : "Add movement",
- "通知开关" : "Notification toggle",
- "同步数据到云端" : "Synchronize data to the cloud",
- "臀围" : "Hipline",
- "完成" : "Accomplish",
- "晚安打卡" : "Sleep clock in",
- "晚饭打卡" : "Dinner clock in",
- "晚饭时间" : "Dinner time",
- "忘记密码?" : "Forget the password?",
- "未登录" : "Not sign in",
- "未解决的问题数" : "Unsolved issues count",
- "未入榜" : "Not in listed",
- "未完成的作业" : "Unfinished homework",
- "未完成的作业数" : "Unfinished homework count",
- "我的关注" : "My follows",
- "无数据" : "Empty Data",
- "午饭打卡" : "Lunch clock in",
- "午饭打卡开始了" : "It's lunch clock in time",
- "午饭打卡时间" : "Lunch clock in time",
- "午饭时间" : "Lunch time",
- "午休打卡" : "Lunch break clock in",
- "午休打卡开始了" : "It's lunch break clock in time",
- "午休打卡时间" : "Lunch break clock in time",
- "午休时间" : "Lunch break time",
- "下载同步成功" : "Download synchronization successful",
- "详情" : "Details",
- "向右滑动" : "Slide right",
- "消费" : "Consumption",
- "消耗" : "Consume",
- "消耗热量" : "Calorie consumption",
- "新密码" : "New password",
- "信息" : "Information",
- "性别" : "Gender",
- "胸围" : "Chestline",
- "修改成功" : "Modify success",
- "修改密码成功" : "Password changed success",
- "修改生日" : "Modify birthday",
- "修改头像" : "Modify head picture",
- "修改性别" : "Modify gender",
- "修改用户名" : "Modify username",
- "选择食物" : "Choice food",
- "学习" : "Study",
- "验证码" : "Auth code",
- "验证码错误或过期" : "Auth code wrong or expired",
- "验证码发送成功,5分钟内有效" : "Auth code sent successfully, valid within 5 minutes",
- "腰围" : "Waistline",
- "一般" : "General",
- "已解决" : "solved",
- "用户" : "User",
- "用户名" : "User name",
- "用户设置" : "User settings",
- "邮件发送失败" : "Email sending failed",
- "邮箱" : "Email",
- "邮箱不能为空" : "Email cannot be empty",
- "邮箱格式有误" : "Incorrect email format",
- "邮箱或密码错误" : "Email or password wrong",
- "有未解决的问题" : "There are unfinished tasks",
- "有未完成的作业" : "There are unfinished homework",
- "语言" : "Language",
- "遇到的问题" : "Problems",
- "预计消耗" : "Expected consumption",
- "云端无数据" : "Empty cloud data",
- "运动次数" : "Movement times",
- "运动类型" : "Movement type",
- "运动名称" : "Movement name",
- "运动时长" : "Exercise duration",
- "早饭打卡" : "breakfast clock in",
- "早饭打卡开始了" : "It's breakfast clock in time",
- "早饭打卡时间" : "Breakfast clock in time",
- "早饭时间" : "Breakfast time",
- "支持MarkDown" : "Support MarkDown",
- "重复购买不会重复扣费" : "Repeat purchase will not be repeated deduction coins",
- "重复密码" : "Repeat password",
- "重设密码" : "Reset password",
- "重置密码" : "Reset password",
- "重置数据" : "Reset data",
- "主题" : "Theme",
- "注册" : "Sign up",
- "注册成功" : "Sign up success",
- "注意" : "Attention",
- "字母开头,必须包含大小写字母,可以包含字母、数字、特殊符号\n长度为8~16位" : "Letter beginning, must contain case letters, can contain letters, Numbers, special symbol \n length of 8 to 16 bits",
- "总结" : "Conclusion",
- "最近" : "Recently",
- "昨夜睡眠时长" : "Last night sleep time",
- "作业是否完成" : "Is homework completed",
- }
- };
- // A
- // B
- // C
- // D
- // E
- // F
- // G
- // H
- // I
- // J
- // K
- // L
- // M
- // N
- // O
- // P
- // Q
- // R
- // S
- // T
- // U
- // V
- // W
- // X
- // Y
- // Z
|