diff --git a/i18n/en-US.json b/i18n/en-US.json index 6bfe065..fbd453f 100644 --- a/i18n/en-US.json +++ b/i18n/en-US.json @@ -1152,74 +1152,74 @@ "you_get": " you got rewards from others", "enter_num_qian": " number of exchanges (unit K) ", "enter_num_qian1": " number of withdrawals (unit K) ", - "daily_translate_voucher": "翻译券", - "msg_notice": "通知消息", - "select_notice_people": "选择提醒的人", - "search_phone": "查找手机号", - "not_have_user": "用户不存在", - "not_add_Myself": "你不能添加自己", - "you_are_blaklisted": "对方已拉黑了你", - "confrim_recovery": "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", - "send_to": "發送到", - "search_plach": "搜索位置", - "finding_place": "查找位置", - "real_time_helper": "实时帮", - "translation_butler": "翻译管家", - "travel_butler": "出行管家", - "translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", - "choose_language": "请选择要翻译的语言", - "translation_butler_rules": "呼叫管家需要预付H币,管家服务时长为5分钟", - "translation_butler_scenes": "您当所在场景", - "translation_butler_scenes_tips": "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!", - "translation_butler_call": "呼叫管家", - "travel_my_location": "我的位置", - "travel_go_where": "你要去哪儿", - "travel_tips": "当前定位非实时监测,每次需点击“距离查询”按钮查询", - "travel_check_distance": "距离查询", - "travel_check_distance_result": "根据定位查询,您的当前距离目标地点相距:", - "translation_butler_tips2": "当前排队人数过多,感谢您的耐心等待", - "translation_butler_tips3": "正在为您呼叫管家", - "translation_butler_wait_people": "等待人数", - "translation_butler_wait_people_unit": "位", - "translation_butler_wait_time": "预计还需等待", - "translation_butler_already_wait": "已等待", - "translation_butler_cancel": "取消呼叫", - "translation_butler_wait_service": "等待服务", - "translation_butler_dialog_title": "实时帮-翻译管家", - "translation_butler_dialog_order": "/s1通过系统下单", - "translation_butler_dialog_start_service": "开始服务", - "translation_butler_dialog_start_chat": "开始聊天", - "translation_butler_coin_time": "/s1H币//s2分钟", - "translation_butler_end_service": "结束服务", - "translation_butler_start_service": "服务开始", - "translation_butler_service_end": "服务结束", - "translation_butler_evaluation": "评价", - "translation_butler_start_tips": "翻译服务已开始,愿本次服务体验愉快", - "translation_butler_evaluation_tips": "翻译服务已结束,体验愉快就给个评价吧", - "translation_butler_dialog_tips": "你对本次服务满意吗?", - "translation_butler_dialog_yes": "满意", - "translation_butler_dialog_no": "不满意", - "translation_butler_dialog_submit": "提交评价", - "translation_pos_1": "服务耐心", - "translation_pos_2": "快速准时", - "translation_pos_3": "礼貌热情", - "translation_pos_4": "沟通顺畅", - "translation_pos_5": "大神翻译", - "translation_neg1": "骚扰威胁", - "translation_neg2": "沟通障碍", - "translation_neg3": "响应缓慢", - "translation_neg4": "态度不好", - "translation_neg5": "翻译不行", - "translation_scenes_1": "机场/车站", - "translation_scenes_2": "餐厅/酒店", - "translation_scenes_3": "KTV/酒吧", - "translation_scenes_4": "其他", - "file": "文件", - "max_file": "文件大于/s1M", - "translation_input_limit": "还可以输入/s1字", - "translation_more_desc": "更多描述", - "feedback_assistant": "反馈小助手", - "feedback_tips":"有什么问题都可以反馈给我哦", + "daily_translate_voucher": "Translation voucher", + "msg_notice": "Notice message", + "select_notice_people": "Select notice people", + "search_phone": "Search phone number", + "not_have_user": "User does not exist", + "not_add_Myself": "You can’t add yourself", + "you_are_blaklisted": "You are blacklisted", + "confrim_recovery": "Recover the destroyed photos?\n(Users who have been viewed can be viewed once again)", + "send_to": "Send to", + "search_plach": "Search location", + "finding_place": "Find location", + "real_time_helper": "Real-time helper", + "translation_butler": "Translation assistant", + "travel_butler": "Travel assistant", + "translation_butler_tips": "Your real-time personal translator, it can help you solve the language barrier anytime and anywhere", + "choose_language": "Please select the language to be translated", + "translation_butler_rules": "Before calling the translation assistant, you need to pay H coin, and the service time of it is 5 minutes", + "translation_butler_scenes": "Scene where you are located", + "translation_butler_scenes_tips": "According to the big data, users who select scenes and describe problems can get more effective help!", + "translation_butler_call": "Call the assistant", + "travel_my_location": "My location", + "travel_go_where": "Place you want to go", + "travel_tips": "The current location is not monitored in real time. You need to click the \"distance query\" button to query it each time", + "travel_check_distance": "Distance query", + "travel_check_distance_result": "According to the positioning, your current distance from the target location queried is:", + "translation_butler_tips2": "There are too many people in the queue, thank you for your patience", + "translation_butler_tips3": "Calling the assistant for you", + "translation_butler_wait_people": "Waiting number", + "translation_butler_wait_people_unit": "Person(s)", + "translation_butler_wait_time": "Time expected to wait", + "translation_butler_already_wait": "Waiting time already", + "translation_butler_cancel": "Cancel call ", + "translation_butler_wait_service": "Waiting for service", + "translation_butler_dialog_title": "Real time helper-translation assistant", + "translation_butler_dialog_order": "/s1 Place an order through the system", + "translation_butler_dialog_start_service": "Service begins", + "translation_butler_dialog_start_chat": "Chat begins", + "translation_butler_coin_time": "/s1H coin//s2 min", + "translation_butler_end_service": "Service ended", + "translation_butler_start_service": "Service begins", + "translation_butler_service_end": "Service ended", + "translation_butler_evaluation": "Evaluation", + "translation_butler_start_tips": "Translation service has begun,I hope you a pleasant experience of service", + "translation_butler_evaluation_tips": "Translation service is over, please give an evaluation after your pleasant experience", + "translation_butler_dialog_tips": "Are you satisfied with this service?", + "translation_butler_dialog_yes": "Satisfied", + "translation_butler_dialog_no": "Dissatisfied", + "translation_butler_dialog_submit": "Submit evaluation", + "translation_pos_1": "Patient services", + "translation_pos_2": "Fast and punctual", + "translation_pos_3": "Politeness and enthusiasm", + "translation_pos_4": "Smooth communication", + "translation_pos_5": "Brilliant translation", + "translation_neg1": "Harassment and threat", + "translation_neg2": "Communication barriers", + "translation_neg3": "Slow response", + "translation_neg4": "Bad attitude ", + "translation_neg5": "Poor translation", + "translation_scenes_1": "Airports / stations", + "translation_scenes_2": "Restaurants / hotels", + "translation_scenes_3": "KTV / bars", + "translation_scenes_4": "Others", + "file": "Files", + "max_file": "File larger than /s1M", + "translation_input_limit": "/s1 words can also be input", + "translation_more_desc": "More descriptions", + "feedback_assistant": "Feedback helper", + "feedback_tips":"You can give me feedback in case of any questions", "man_retranslate":"人工重译", "robot_retranslate":"机器重译", "see_original":"查看原文" diff --git a/i18n/ja-JP.json b/i18n/ja-JP.json index f5714b1..e75fc3f 100644 --- a/i18n/ja-JP.json +++ b/i18n/ja-JP.json @@ -1152,74 +1152,74 @@ "you_get": "相手からプレゼントを貰った", "enter_num_qian": "交換数量(单位K)", "enter_num_qian1": "引き出し数量(单位K)", - "daily_translate_voucher": "翻译券", - "msg_notice": "通知消息", - "select_notice_people": "选择提醒的人", - "search_phone": "查找手机号", - "not_have_user": "用户不存在", - "not_add_Myself": "你不能添加自己", - "you_are_blaklisted": "对方已拉黑了你", - "confrim_recovery": "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", - "send_to": "發送到", - "search_plach": "搜索位置", - "finding_place": "查找位置", - "real_time_helper": "实时帮", - "translation_butler": "翻译管家", - "travel_butler": "出行管家", - "translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", - "choose_language": "请选择要翻译的语言", - "translation_butler_rules": "呼叫管家需要预付H币,管家服务时长为5分钟", - "translation_butler_scenes": "您当所在场景", - "translation_butler_scenes_tips": "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!", - "translation_butler_call": "呼叫管家", - "travel_my_location": "我的位置", - "travel_go_where": "你要去哪儿", - "travel_tips": "当前定位非实时监测,每次需点击“距离查询”按钮查询", - "travel_check_distance": "距离查询", - "travel_check_distance_result": "根据定位查询,您的当前距离目标地点相距:", - "translation_butler_tips2": "当前排队人数过多,感谢您的耐心等待", - "translation_butler_tips3": "正在为您呼叫管家", - "translation_butler_wait_people": "等待人数", + "daily_translate_voucher": "翻訳券", + "msg_notice": "通知メッセージ", + "select_notice_people": "注意する人を選択", + "search_phone": "携帯番号を検索", + "not_have_user": "ユーザーは存在しない", + "not_add_Myself": "自分を追加することはできない", + "you_are_blaklisted": "相手は既にあなたをプロックしました", + "confrim_recovery": "焼却した写真を立直しますか?(すでに見たユーザーはもう一度見ることができます)", + "send_to": "発送", + "search_plach": "位置検索", + "finding_place": "位置を検索", + "real_time_helper": "リアルタイムヘルプ", + "translation_butler": "翻訳バトラー", + "travel_butler": "トラベルバトラー", + "translation_butler_tips": "あなたのリアルタイムの個人通訳は、いつでもどこでも言語の不通を解決してくれます", + "choose_language": "翻訳する言語を選んでください", + "translation_butler_rules": "バトラーを呼ぶにはH幤が必要です、バトラーサービスは5分かかります。", + "translation_butler_scenes": "あなたがいるシーン", + "translation_butler_scenes_tips": "ビッグデータによると、シーンを選択して問題を説明するユーザーはより効果的に助けられました!", + "translation_butler_call": "バトラーを呼びます", + "travel_my_location": "私の位置", + "travel_go_where": "どこへ行きますか", + "travel_tips": "現在の位置付けは非リアルタイム監視で、毎回「距離照会」ボタンをクリックして照会します", + "travel_check_distance": "距離の照会", + "travel_check_distance_result": "ポジショニングクエリによると、ターゲット位置からの現在の距離:", + "translation_butler_tips2": "今は並んでいる人が多すぎます。待ってくれてありがとうございます", + "translation_butler_tips3": "バトラーを呼びます", + "translation_butler_wait_people": "待ち人数", "translation_butler_wait_people_unit": "位", - "translation_butler_wait_time": "预计还需等待", - "translation_butler_already_wait": "已等待", - "translation_butler_cancel": "取消呼叫", - "translation_butler_wait_service": "等待服务", - "translation_butler_dialog_title": "实时帮-翻译管家", - "translation_butler_dialog_order": "/s1通过系统下单", - "translation_butler_dialog_start_service": "开始服务", - "translation_butler_dialog_start_chat": "开始聊天", - "translation_butler_coin_time": "/s1H币//s2分钟", - "translation_butler_end_service": "结束服务", - "translation_butler_start_service": "服务开始", - "translation_butler_service_end": "服务结束", - "translation_butler_evaluation": "评价", - "translation_butler_start_tips": "翻译服务已开始,愿本次服务体验愉快", - "translation_butler_evaluation_tips": "翻译服务已结束,体验愉快就给个评价吧", - "translation_butler_dialog_tips": "你对本次服务满意吗?", - "translation_butler_dialog_yes": "满意", - "translation_butler_dialog_no": "不满意", - "translation_butler_dialog_submit": "提交评价", - "translation_pos_1": "服务耐心", - "translation_pos_2": "快速准时", - "translation_pos_3": "礼貌热情", - "translation_pos_4": "沟通顺畅", - "translation_pos_5": "大神翻译", - "translation_neg1": "骚扰威胁", - "translation_neg2": "沟通障碍", - "translation_neg3": "响应缓慢", - "translation_neg4": "态度不好", - "translation_neg5": "翻译不行", - "translation_scenes_1": "机场/车站", - "translation_scenes_2": "餐厅/酒店", - "translation_scenes_3": "KTV/酒吧", - "translation_scenes_4": "其他", - "file": "文件", - "max_file": "文件大于/s1M", - "translation_input_limit": "还可以输入/s1字", - "translation_more_desc": "更多描述", - "feedback_assistant": "反馈小助手", - "feedback_tips":"有什么问题都可以反馈给我哦", + "translation_butler_wait_time": "待つ予定", + "translation_butler_already_wait": "待っています", + "translation_butler_cancel": "呼び出しをキャンセル", + "translation_butler_wait_service": "サービスを待つ", + "translation_butler_dialog_title": "リアルタイムヘルプ-翻訳バトラー", + "translation_butler_dialog_order": "/s1システムで注文する", + "translation_butler_dialog_start_service": "サービスを開始する", + "translation_butler_dialog_start_chat": "チャットを始める", + "translation_butler_coin_time": "/s1H幤//s2分", + "translation_butler_end_service": "サービスを終了する", + "translation_butler_start_service": "サービス開始", + "translation_butler_service_end": "サービス終了", + "translation_butler_evaluation": "評価", + "translation_butler_start_tips": "通訳サービスが始まりました。今回のサービス体験が楽しいように", + "translation_butler_evaluation_tips": "翻訳サービスは終了しました、評価してください", + "translation_butler_dialog_tips": "今回のサービスに満足していますか?", + "translation_butler_dialog_yes": "満足", + "translation_butler_dialog_no": "不満足", + "translation_butler_dialog_submit": "評価を出す", + "translation_pos_1": "辛抱強い", + "translation_pos_2": "クイックタイム", + "translation_pos_3": "礼儀正しくて親切である", + "translation_pos_4": "コミュニケーションが円滑である", + "translation_pos_5": "素晴らしい翻訳", + "translation_neg1": "嫌がらせ・脅かす", + "translation_neg2": "コミュニケーション障害", + "translation_neg3": "応答が遅い", + "translation_neg4": "態度が悪い", + "translation_neg5": "翻訳はだめです", + "translation_scenes_1": "空港/駅", + "translation_scenes_2": "レストラン/ホテル", + "translation_scenes_3": "KTV/バー", + "translation_scenes_4": "その他", + "file": "ファイル", + "max_file": "ファイル容量が/s1Mより大きい", + "translation_input_limit": " /s1と入力することができます", + "translation_more_desc": "詳細説明", + "feedback_assistant": "フィードバックアシスタント", + "feedback_tips":"どんな問題があってもフィードバックしてください", "man_retranslate":"人工重译", "robot_retranslate":"机器重译", "see_original":"查看原文" diff --git a/i18n/ko-KR.json b/i18n/ko-KR.json index 0f869a3..c35d634 100644 --- a/i18n/ko-KR.json +++ b/i18n/ko-KR.json @@ -1152,74 +1152,74 @@ "you_get": "상대방이 당신에게 상을 주었다.", "enter_num_qian": "환전 금액(단위 K)", "enter_num_qian1": "인출 금액(단위K)", - "daily_translate_voucher": "翻译券", - "msg_notice": "通知消息", - "select_notice_people": "选择提醒的人", - "search_phone": "查找手机号", - "not_have_user": "用户不存在", - "not_add_Myself": "你不能添加自己", - "you_are_blaklisted": "对方已拉黑了你", - "confrim_recovery": "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", - "send_to": "發送到", - "search_plach": "搜索位置", - "finding_place": "查找位置", - "real_time_helper": "实时帮", - "translation_butler": "翻译管家", - "travel_butler": "出行管家", - "translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", - "choose_language": "请选择要翻译的语言", - "translation_butler_rules": "呼叫管家需要预付H币,管家服务时长为5分钟", - "translation_butler_scenes": "您当所在场景", - "translation_butler_scenes_tips": "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!", - "translation_butler_call": "呼叫管家", - "travel_my_location": "我的位置", - "travel_go_where": "你要去哪儿", - "travel_tips": "当前定位非实时监测,每次需点击“距离查询”按钮查询", - "travel_check_distance": "距离查询", - "travel_check_distance_result": "根据定位查询,您的当前距离目标地点相距:", - "translation_butler_tips2": "当前排队人数过多,感谢您的耐心等待", - "translation_butler_tips3": "正在为您呼叫管家", - "translation_butler_wait_people": "等待人数", - "translation_butler_wait_people_unit": "位", - "translation_butler_wait_time": "预计还需等待", - "translation_butler_already_wait": "已等待", - "translation_butler_cancel": "取消呼叫", - "translation_butler_wait_service": "等待服务", - "translation_butler_dialog_title": "实时帮-翻译管家", - "translation_butler_dialog_order": "/s1通过系统下单", - "translation_butler_dialog_start_service": "开始服务", - "translation_butler_dialog_start_chat": "开始聊天", - "translation_butler_coin_time": "/s1H币//s2分钟", - "translation_butler_end_service": "结束服务", - "translation_butler_start_service": "服务开始", - "translation_butler_service_end": "服务结束", - "translation_butler_evaluation": "评价", - "translation_butler_start_tips": "翻译服务已开始,愿本次服务体验愉快", - "translation_butler_evaluation_tips": "翻译服务已结束,体验愉快就给个评价吧", - "translation_butler_dialog_tips": "你对本次服务满意吗?", - "translation_butler_dialog_yes": "满意", - "translation_butler_dialog_no": "不满意", - "translation_butler_dialog_submit": "提交评价", - "translation_pos_1": "服务耐心", - "translation_pos_2": "快速准时", - "translation_pos_3": "礼貌热情", - "translation_pos_4": "沟通顺畅", - "translation_pos_5": "大神翻译", - "translation_neg1": "骚扰威胁", - "translation_neg2": "沟通障碍", - "translation_neg3": "响应缓慢", - "translation_neg4": "态度不好", - "translation_neg5": "翻译不行", - "translation_scenes_1": "机场/车站", - "translation_scenes_2": "餐厅/酒店", - "translation_scenes_3": "KTV/酒吧", - "translation_scenes_4": "其他", - "file": "文件", - "max_file": "文件大于/s1M", - "translation_input_limit": "还可以输入/s1字", - "translation_more_desc": "更多描述", - "feedback_assistant": "反馈小助手", - "feedback_tips": "有什么问题都可以反馈给我哦", + "daily_translate_voucher": " 번역권", + "msg_notice": " 소식 알람 ", + "select_notice_people": "멘션 선택", + "search_phone": "휴대폰 번호 찾기", + "not_have_user": "사용자가 존재하지 않음", + "not_add_Myself": "당신은 자신을 추가할 수 없다", + "you_are_blaklisted": "상대가 널 블랙리스트에 추가했습니다.", + "confrim_recovery": "불에 탄 사진을 복구하시겠습니까?\n(이미 본 사용자는 다시 볼 수 있습니다)", + "send_to": "보내다", + "search_plach": "위치 검색", + "finding_place": "위치 찾기", + "real_time_helper": "실시 도움", + "translation_butler": "번역 집사", + "travel_butler": "출행 집사", + "translation_butler_tips": " 당신의 실시간 밀착 통역으로 언제 어디서나 말이 통하지 않는 것을 해결해 드립니다.", + "choose_language": "번역할 언어를 선택하세요.", + "translation_butler_rules": " 호출집사는 H화를 선불로 내야 하며, 집사 서비스는 5분으로 길다.", + "translation_butler_scenes": " 당신이 있는 곳의 정경 ", + "translation_butler_scenes_tips": " 빅 데이터에 따르면 장면을 선택하고 문제를 묘사한 사용자가 더욱 효과적으로 도움을 받고 있습니다!", + "translation_butler_call": "집사를 호출", + "travel_my_location": "내 위치", + "travel_go_where": "당신이 어디 가세요?", + "travel_tips": "현재 포지셔닝 비실시간 모니터링의 경우 매번 \"거리 조회\" 버튼을 클릭하여 조회해야 합니다.", + "travel_check_distance": "거리 조회", + "travel_check_distance_result": " 위치 조회에 따르면, 당신의 현재 거리가 목표 지점에서 서로 떨어져 있습니다:", + "translation_butler_tips2": "현재 줄 서는 사람이 너무 많으니, 기다려 주셔서 감사합니다.", + "translation_butler_tips3": "집사님을 호출하고 있습니다.", + "translation_butler_wait_people": "대기자 수", + "translation_butler_wait_people_unit": "분", + "translation_butler_wait_time": " 아직 기다려야 할 것으로 예상", + "translation_butler_already_wait": "이미 기다리다.", + "translation_butler_cancel": "호출 취소", + "translation_butler_wait_service": "대기 서비스", + "translation_butler_dialog_title": " 실시 도움-번역 집사 ", + "translation_butler_dialog_order": "/s1 시스템을 통한 주문했다.", + "translation_butler_dialog_start_service": "서비스 시작", + "translation_butler_dialog_start_chat": "채팅 시작", + "translation_butler_coin_time": "/s1H화폐//s2분", + "translation_butler_end_service": "서비스 끝", + "translation_butler_start_service": "서비스 시작", + "translation_butler_service_end": "서비스 끝", + "translation_butler_evaluation": "평가", + "translation_butler_start_tips": "번역 서비스가 이미 시작되었으니, 이번 서비스는 즐거운 체험이 되기를 바랍니다.", + "translation_butler_evaluation_tips": "통역 서비스가 끝났으니 즐거운 체험을 하시면 평가해 주십시오.", + "translation_butler_dialog_tips": "이번 서비스에 만족하십니까?", + "translation_butler_dialog_yes": "마음에 들다.", + "translation_butler_dialog_no": " 만족스럽지 못하다.", + "translation_butler_dialog_submit": "평가를 제출하다.", + "translation_pos_1": "친절하게 서비스했다.", + "translation_pos_2": " 신속하다.", + "translation_pos_3": " 예의와 열정하다.", + "translation_pos_4": "얘기 편하다.", + "translation_pos_5": "틀이 없이 번역하다.", + "translation_neg1": "스토킹 위협", + "translation_neg2": "얘기 장애", + "translation_neg3": "반응이 느리다.", + "translation_neg4": "태도 안 좋다.", + "translation_neg5": "번역 안되다.", + "translation_scenes_1": "공항/정류장", + "translation_scenes_2": "식당/호텔", + "translation_scenes_3": "KTV/술집", + "translation_scenes_4": "기타", + "file": "서류", + "max_file": "파일 크기 /s1M", + "translation_input_limit": "/s1자도 입력할 수 있다.", + "translation_more_desc": "더 많은 묘사", + "feedback_assistant": " 피드백 팁", + "feedback_tips":"어떤 문제라도 피드백해 주세요.", "man_retranslate":"人工重译", "robot_retranslate":"机器重译", "see_original":"查看原文" diff --git a/lib/chat/group_chat_item.dart b/lib/chat/group_chat_item.dart index 815f647..b4d5624 100644 --- a/lib/chat/group_chat_item.dart +++ b/lib/chat/group_chat_item.dart @@ -1305,7 +1305,7 @@ class _GroupChatPageItemState extends State AppNavigator.pushProfileInfoPage(context, memberModel.memberId, fromWhere: 2, addMode: - FriendListMgr().isMyFriend(memberModel.memberId) ? 1 : 0); + !FriendListMgr().isMyFriend(memberModel.memberId) ? 1 : 0); }, onLongPress: () { print('long press user'); diff --git a/lib/generated/i18n.dart b/lib/generated/i18n.dart index a903d75..fc4ef2b 100644 --- a/lib/generated/i18n.dart +++ b/lib/generated/i18n.dart @@ -2339,142 +2339,142 @@ class I18n implements WidgetsLocalizations { String get enter_num_qian => " number of exchanges (unit K) "; /// " number of withdrawals (unit K) " String get enter_num_qian1 => " number of withdrawals (unit K) "; - /// "翻译券" - String get daily_translate_voucher => "翻译券"; - /// "通知消息" - String get msg_notice => "通知消息"; - /// "选择提醒的人" - String get select_notice_people => "选择提醒的人"; - /// "查找手机号" - String get search_phone => "查找手机号"; - /// "用户不存在" - String get not_have_user => "用户不存在"; - /// "你不能添加自己" - String get not_add_Myself => "你不能添加自己"; - /// "对方已拉黑了你" - String get you_are_blaklisted => "对方已拉黑了你"; - /// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)" - String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"; - /// "發送到" - String get send_to => "發送到"; - /// "搜索位置" - String get search_plach => "搜索位置"; - /// "查找位置" - String get finding_place => "查找位置"; - /// "实时帮" - String get real_time_helper => "实时帮"; - /// "翻译管家" - String get translation_butler => "翻译管家"; - /// "出行管家" - String get travel_butler => "出行管家"; - /// "您的实时贴身翻译,随时随地帮您解决语言不通" - String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; - /// "请选择要翻译的语言" - String get choose_language => "请选择要翻译的语言"; - /// "呼叫管家需要预付H币,管家服务时长为5分钟" - String get translation_butler_rules => "呼叫管家需要预付H币,管家服务时长为5分钟"; - /// "您当所在场景" - String get translation_butler_scenes => "您当所在场景"; - /// "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!" - String get translation_butler_scenes_tips => "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!"; - /// "呼叫管家" - String get translation_butler_call => "呼叫管家"; - /// "我的位置" - String get travel_my_location => "我的位置"; - /// "你要去哪儿" - String get travel_go_where => "你要去哪儿"; - /// "当前定位非实时监测,每次需点击“距离查询”按钮查询" - String get travel_tips => "当前定位非实时监测,每次需点击“距离查询”按钮查询"; - /// "距离查询" - String get travel_check_distance => "距离查询"; - /// "根据定位查询,您的当前距离目标地点相距:" - String get travel_check_distance_result => "根据定位查询,您的当前距离目标地点相距:"; - /// "当前排队人数过多,感谢您的耐心等待" - String get translation_butler_tips2 => "当前排队人数过多,感谢您的耐心等待"; - /// "正在为您呼叫管家" - String get translation_butler_tips3 => "正在为您呼叫管家"; - /// "等待人数" - String get translation_butler_wait_people => "等待人数"; - /// "位" - String get translation_butler_wait_people_unit => "位"; - /// "预计还需等待" - String get translation_butler_wait_time => "预计还需等待"; - /// "已等待" - String get translation_butler_already_wait => "已等待"; - /// "取消呼叫" - String get translation_butler_cancel => "取消呼叫"; - /// "等待服务" - String get translation_butler_wait_service => "等待服务"; - /// "实时帮-翻译管家" - String get translation_butler_dialog_title => "实时帮-翻译管家"; - /// "/s1通过系统下单" - String get translation_butler_dialog_order => "/s1通过系统下单"; - /// "开始服务" - String get translation_butler_dialog_start_service => "开始服务"; - /// "开始聊天" - String get translation_butler_dialog_start_chat => "开始聊天"; - /// "/s1H币//s2分钟" - String get translation_butler_coin_time => "/s1H币//s2分钟"; - /// "结束服务" - String get translation_butler_end_service => "结束服务"; - /// "服务开始" - String get translation_butler_start_service => "服务开始"; - /// "服务结束" - String get translation_butler_service_end => "服务结束"; - /// "评价" - String get translation_butler_evaluation => "评价"; - /// "翻译服务已开始,愿本次服务体验愉快" - String get translation_butler_start_tips => "翻译服务已开始,愿本次服务体验愉快"; - /// "翻译服务已结束,体验愉快就给个评价吧" - String get translation_butler_evaluation_tips => "翻译服务已结束,体验愉快就给个评价吧"; - /// "你对本次服务满意吗?" - String get translation_butler_dialog_tips => "你对本次服务满意吗?"; - /// "满意" - String get translation_butler_dialog_yes => "满意"; - /// "不满意" - String get translation_butler_dialog_no => "不满意"; - /// "提交评价" - String get translation_butler_dialog_submit => "提交评价"; - /// "服务耐心" - String get translation_pos_1 => "服务耐心"; - /// "快速准时" - String get translation_pos_2 => "快速准时"; - /// "礼貌热情" - String get translation_pos_3 => "礼貌热情"; - /// "沟通顺畅" - String get translation_pos_4 => "沟通顺畅"; - /// "大神翻译" - String get translation_pos_5 => "大神翻译"; - /// "骚扰威胁" - String get translation_neg1 => "骚扰威胁"; - /// "沟通障碍" - String get translation_neg2 => "沟通障碍"; - /// "响应缓慢" - String get translation_neg3 => "响应缓慢"; - /// "态度不好" - String get translation_neg4 => "态度不好"; - /// "翻译不行" - String get translation_neg5 => "翻译不行"; - /// "机场/车站" - String get translation_scenes_1 => "机场/车站"; - /// "餐厅/酒店" - String get translation_scenes_2 => "餐厅/酒店"; - /// "KTV/酒吧" - String get translation_scenes_3 => "KTV/酒吧"; - /// "其他" - String get translation_scenes_4 => "其他"; - /// "文件" - String get file => "文件"; - /// "文件大于/s1M" - String get max_file => "文件大于/s1M"; - /// "还可以输入/s1字" - String get translation_input_limit => "还可以输入/s1字"; - /// "更多描述" - String get translation_more_desc => "更多描述"; - /// "反馈小助手" - String get feedback_assistant => "反馈小助手"; - /// "有什么问题都可以反馈给我哦" - String get feedback_tips => "有什么问题都可以反馈给我哦"; + /// "Translation voucher" + String get daily_translate_voucher => "Translation voucher"; + /// "Notice message" + String get msg_notice => "Notice message"; + /// "Select notice people" + String get select_notice_people => "Select notice people"; + /// "Search phone number" + String get search_phone => "Search phone number"; + /// "User does not exist" + String get not_have_user => "User does not exist"; + /// "You can’t add yourself" + String get not_add_Myself => "You can’t add yourself"; + /// "You are blacklisted" + String get you_are_blaklisted => "You are blacklisted"; + /// "Recover the destroyed photos?\n(Users who have been viewed can be viewed once again)" + String get confrim_recovery => "Recover the destroyed photos?\n(Users who have been viewed can be viewed once again)"; + /// "Send to" + String get send_to => "Send to"; + /// "Search location" + String get search_plach => "Search location"; + /// "Find location" + String get finding_place => "Find location"; + /// "Real-time helper" + String get real_time_helper => "Real-time helper"; + /// "Translation assistant" + String get translation_butler => "Translation assistant"; + /// "Travel assistant" + String get travel_butler => "Travel assistant"; + /// "Your real-time personal translator, it can help you solve the language barrier anytime and anywhere" + String get translation_butler_tips => "Your real-time personal translator, it can help you solve the language barrier anytime and anywhere"; + /// "Please select the language to be translated" + String get choose_language => "Please select the language to be translated"; + /// "Before calling the translation assistant, you need to pay H coin, and the service time of it is 5 minutes" + String get translation_butler_rules => "Before calling the translation assistant, you need to pay H coin, and the service time of it is 5 minutes"; + /// "Scene where you are located" + String get translation_butler_scenes => "Scene where you are located"; + /// "According to the big data, users who select scenes and describe problems can get more effective help!" + String get translation_butler_scenes_tips => "According to the big data, users who select scenes and describe problems can get more effective help!"; + /// "Call the assistant" + String get translation_butler_call => "Call the assistant"; + /// "My location" + String get travel_my_location => "My location"; + /// "Place you want to go" + String get travel_go_where => "Place you want to go"; + /// "The current location is not monitored in real time. You need to click the \"distance query\" button to query it each time" + String get travel_tips => "The current location is not monitored in real time. You need to click the \"distance query\" button to query it each time"; + /// "Distance query" + String get travel_check_distance => "Distance query"; + /// "According to the positioning, your current distance from the target location queried is:" + String get travel_check_distance_result => "According to the positioning, your current distance from the target location queried is:"; + /// "There are too many people in the queue, thank you for your patience" + String get translation_butler_tips2 => "There are too many people in the queue, thank you for your patience"; + /// "Calling the assistant for you" + String get translation_butler_tips3 => "Calling the assistant for you"; + /// "Waiting number" + String get translation_butler_wait_people => "Waiting number"; + /// "Person(s)" + String get translation_butler_wait_people_unit => "Person(s)"; + /// "Time expected to wait" + String get translation_butler_wait_time => "Time expected to wait"; + /// "Waiting time already" + String get translation_butler_already_wait => "Waiting time already"; + /// "Cancel call " + String get translation_butler_cancel => "Cancel call "; + /// "Waiting for service" + String get translation_butler_wait_service => "Waiting for service"; + /// "Real time helper-translation assistant" + String get translation_butler_dialog_title => "Real time helper-translation assistant"; + /// "/s1 Place an order through the system" + String get translation_butler_dialog_order => "/s1 Place an order through the system"; + /// "Service begins" + String get translation_butler_dialog_start_service => "Service begins"; + /// "Chat begins" + String get translation_butler_dialog_start_chat => "Chat begins"; + /// "/s1H coin//s2 min" + String get translation_butler_coin_time => "/s1H coin//s2 min"; + /// "Service ended" + String get translation_butler_end_service => "Service ended"; + /// "Service begins" + String get translation_butler_start_service => "Service begins"; + /// "Service ended" + String get translation_butler_service_end => "Service ended"; + /// "Evaluation" + String get translation_butler_evaluation => "Evaluation"; + /// "Translation service has begun,I hope you a pleasant experience of service" + String get translation_butler_start_tips => "Translation service has begun,I hope you a pleasant experience of service"; + /// "Translation service is over, please give an evaluation after your pleasant experience" + String get translation_butler_evaluation_tips => "Translation service is over, please give an evaluation after your pleasant experience"; + /// "Are you satisfied with this service?" + String get translation_butler_dialog_tips => "Are you satisfied with this service?"; + /// "Satisfied" + String get translation_butler_dialog_yes => "Satisfied"; + /// "Dissatisfied" + String get translation_butler_dialog_no => "Dissatisfied"; + /// "Submit evaluation" + String get translation_butler_dialog_submit => "Submit evaluation"; + /// "Patient services" + String get translation_pos_1 => "Patient services"; + /// "Fast and punctual" + String get translation_pos_2 => "Fast and punctual"; + /// "Politeness and enthusiasm" + String get translation_pos_3 => "Politeness and enthusiasm"; + /// "Smooth communication" + String get translation_pos_4 => "Smooth communication"; + /// "Brilliant translation" + String get translation_pos_5 => "Brilliant translation"; + /// "Harassment and threat" + String get translation_neg1 => "Harassment and threat"; + /// "Communication barriers" + String get translation_neg2 => "Communication barriers"; + /// "Slow response" + String get translation_neg3 => "Slow response"; + /// "Bad attitude " + String get translation_neg4 => "Bad attitude "; + /// "Poor translation" + String get translation_neg5 => "Poor translation"; + /// "Airports / stations" + String get translation_scenes_1 => "Airports / stations"; + /// "Restaurants / hotels" + String get translation_scenes_2 => "Restaurants / hotels"; + /// "KTV / bars" + String get translation_scenes_3 => "KTV / bars"; + /// "Others" + String get translation_scenes_4 => "Others"; + /// "Files" + String get file => "Files"; + /// "File larger than /s1M" + String get max_file => "File larger than /s1M"; + /// "/s1 words can also be input" + String get translation_input_limit => "/s1 words can also be input"; + /// "More descriptions" + String get translation_more_desc => "More descriptions"; + /// "Feedback helper" + String get feedback_assistant => "Feedback helper"; + /// "You can give me feedback in case of any questions" + String get feedback_tips => "You can give me feedback in case of any questions"; /// "人工重译" String get man_retranslate => "人工重译"; /// "机器重译" @@ -16992,210 +16992,210 @@ class _I18n_ko_KR extends I18n { /// "인출 금액(단위K)" @override String get enter_num_qian1 => "인출 금액(단위K)"; - /// "翻译券" + /// " 번역권" @override - String get daily_translate_voucher => "翻译券"; - /// "通知消息" + String get daily_translate_voucher => " 번역권"; + /// " 소식 알람 " @override - String get msg_notice => "通知消息"; - /// "选择提醒的人" + String get msg_notice => " 소식 알람 "; + /// "멘션 선택" @override - String get select_notice_people => "选择提醒的人"; - /// "查找手机号" + String get select_notice_people => "멘션 선택"; + /// "휴대폰 번호 찾기" @override - String get search_phone => "查找手机号"; - /// "用户不存在" + String get search_phone => "휴대폰 번호 찾기"; + /// "사용자가 존재하지 않음" @override - String get not_have_user => "用户不存在"; - /// "你不能添加自己" + String get not_have_user => "사용자가 존재하지 않음"; + /// "당신은 자신을 추가할 수 없다" @override - String get not_add_Myself => "你不能添加自己"; - /// "对方已拉黑了你" + String get not_add_Myself => "당신은 자신을 추가할 수 없다"; + /// "상대가 널 블랙리스트에 추가했습니다." @override - String get you_are_blaklisted => "对方已拉黑了你"; - /// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)" + String get you_are_blaklisted => "상대가 널 블랙리스트에 추가했습니다."; + /// "불에 탄 사진을 복구하시겠습니까?\n(이미 본 사용자는 다시 볼 수 있습니다)" @override - String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"; - /// "發送到" + String get confrim_recovery => "불에 탄 사진을 복구하시겠습니까?\n(이미 본 사용자는 다시 볼 수 있습니다)"; + /// "보내다" @override - String get send_to => "發送到"; - /// "搜索位置" + String get send_to => "보내다"; + /// "위치 검색" @override - String get search_plach => "搜索位置"; - /// "查找位置" + String get search_plach => "위치 검색"; + /// "위치 찾기" @override - String get finding_place => "查找位置"; - /// "实时帮" + String get finding_place => "위치 찾기"; + /// "실시 도움" @override - String get real_time_helper => "实时帮"; - /// "翻译管家" + String get real_time_helper => "실시 도움"; + /// "번역 집사" @override - String get translation_butler => "翻译管家"; - /// "出行管家" + String get translation_butler => "번역 집사"; + /// "출행 집사" @override - String get travel_butler => "出行管家"; - /// "您的实时贴身翻译,随时随地帮您解决语言不通" + String get travel_butler => "출행 집사"; + /// " 당신의 실시간 밀착 통역으로 언제 어디서나 말이 통하지 않는 것을 해결해 드립니다." @override - String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; - /// "请选择要翻译的语言" + String get translation_butler_tips => " 당신의 실시간 밀착 통역으로 언제 어디서나 말이 통하지 않는 것을 해결해 드립니다."; + /// "번역할 언어를 선택하세요." @override - String get choose_language => "请选择要翻译的语言"; - /// "呼叫管家需要预付H币,管家服务时长为5分钟" + String get choose_language => "번역할 언어를 선택하세요."; + /// " 호출집사는 H화를 선불로 내야 하며, 집사 서비스는 5분으로 길다." @override - String get translation_butler_rules => "呼叫管家需要预付H币,管家服务时长为5分钟"; - /// "您当所在场景" + String get translation_butler_rules => " 호출집사는 H화를 선불로 내야 하며, 집사 서비스는 5분으로 길다."; + /// " 당신이 있는 곳의 정경 " @override - String get translation_butler_scenes => "您当所在场景"; - /// "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!" + String get translation_butler_scenes => " 당신이 있는 곳의 정경 "; + /// " 빅 데이터에 따르면 장면을 선택하고 문제를 묘사한 사용자가 더욱 효과적으로 도움을 받고 있습니다!" @override - String get translation_butler_scenes_tips => "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!"; - /// "呼叫管家" + String get translation_butler_scenes_tips => " 빅 데이터에 따르면 장면을 선택하고 문제를 묘사한 사용자가 더욱 효과적으로 도움을 받고 있습니다!"; + /// "집사를 호출" @override - String get translation_butler_call => "呼叫管家"; - /// "我的位置" + String get translation_butler_call => "집사를 호출"; + /// "내 위치" @override - String get travel_my_location => "我的位置"; - /// "你要去哪儿" + String get travel_my_location => "내 위치"; + /// "당신이 어디 가세요?" @override - String get travel_go_where => "你要去哪儿"; - /// "当前定位非实时监测,每次需点击“距离查询”按钮查询" + String get travel_go_where => "당신이 어디 가세요?"; + /// "현재 포지셔닝 비실시간 모니터링의 경우 매번 \"거리 조회\" 버튼을 클릭하여 조회해야 합니다." @override - String get travel_tips => "当前定位非实时监测,每次需点击“距离查询”按钮查询"; - /// "距离查询" + String get travel_tips => "현재 포지셔닝 비실시간 모니터링의 경우 매번 \"거리 조회\" 버튼을 클릭하여 조회해야 합니다."; + /// "거리 조회" @override - String get travel_check_distance => "距离查询"; - /// "根据定位查询,您的当前距离目标地点相距:" + String get travel_check_distance => "거리 조회"; + /// " 위치 조회에 따르면, 당신의 현재 거리가 목표 지점에서 서로 떨어져 있습니다:" @override - String get travel_check_distance_result => "根据定位查询,您的当前距离目标地点相距:"; - /// "当前排队人数过多,感谢您的耐心等待" + String get travel_check_distance_result => " 위치 조회에 따르면, 당신의 현재 거리가 목표 지점에서 서로 떨어져 있습니다:"; + /// "현재 줄 서는 사람이 너무 많으니, 기다려 주셔서 감사합니다." @override - String get translation_butler_tips2 => "当前排队人数过多,感谢您的耐心等待"; - /// "正在为您呼叫管家" + String get translation_butler_tips2 => "현재 줄 서는 사람이 너무 많으니, 기다려 주셔서 감사합니다."; + /// "집사님을 호출하고 있습니다." @override - String get translation_butler_tips3 => "正在为您呼叫管家"; - /// "等待人数" + String get translation_butler_tips3 => "집사님을 호출하고 있습니다."; + /// "대기자 수" @override - String get translation_butler_wait_people => "等待人数"; - /// "位" + String get translation_butler_wait_people => "대기자 수"; + /// "분" @override - String get translation_butler_wait_people_unit => "位"; - /// "预计还需等待" + String get translation_butler_wait_people_unit => "분"; + /// " 아직 기다려야 할 것으로 예상" @override - String get translation_butler_wait_time => "预计还需等待"; - /// "已等待" + String get translation_butler_wait_time => " 아직 기다려야 할 것으로 예상"; + /// "이미 기다리다." @override - String get translation_butler_already_wait => "已等待"; - /// "取消呼叫" + String get translation_butler_already_wait => "이미 기다리다."; + /// "호출 취소" @override - String get translation_butler_cancel => "取消呼叫"; - /// "等待服务" + String get translation_butler_cancel => "호출 취소"; + /// "대기 서비스" @override - String get translation_butler_wait_service => "等待服务"; - /// "实时帮-翻译管家" + String get translation_butler_wait_service => "대기 서비스"; + /// " 실시 도움-번역 집사 " @override - String get translation_butler_dialog_title => "实时帮-翻译管家"; - /// "/s1通过系统下单" + String get translation_butler_dialog_title => " 실시 도움-번역 집사 "; + /// "/s1 시스템을 통한 주문했다." @override - String get translation_butler_dialog_order => "/s1通过系统下单"; - /// "开始服务" + String get translation_butler_dialog_order => "/s1 시스템을 통한 주문했다."; + /// "서비스 시작" @override - String get translation_butler_dialog_start_service => "开始服务"; - /// "开始聊天" + String get translation_butler_dialog_start_service => "서비스 시작"; + /// "채팅 시작" @override - String get translation_butler_dialog_start_chat => "开始聊天"; - /// "/s1H币//s2分钟" + String get translation_butler_dialog_start_chat => "채팅 시작"; + /// "/s1H화폐//s2분" @override - String get translation_butler_coin_time => "/s1H币//s2分钟"; - /// "结束服务" + String get translation_butler_coin_time => "/s1H화폐//s2분"; + /// "서비스 끝" @override - String get translation_butler_end_service => "结束服务"; - /// "服务开始" + String get translation_butler_end_service => "서비스 끝"; + /// "서비스 시작" @override - String get translation_butler_start_service => "服务开始"; - /// "服务结束" + String get translation_butler_start_service => "서비스 시작"; + /// "서비스 끝" @override - String get translation_butler_service_end => "服务结束"; - /// "评价" + String get translation_butler_service_end => "서비스 끝"; + /// "평가" @override - String get translation_butler_evaluation => "评价"; - /// "翻译服务已开始,愿本次服务体验愉快" + String get translation_butler_evaluation => "평가"; + /// "번역 서비스가 이미 시작되었으니, 이번 서비스는 즐거운 체험이 되기를 바랍니다." @override - String get translation_butler_start_tips => "翻译服务已开始,愿本次服务体验愉快"; - /// "翻译服务已结束,体验愉快就给个评价吧" + String get translation_butler_start_tips => "번역 서비스가 이미 시작되었으니, 이번 서비스는 즐거운 체험이 되기를 바랍니다."; + /// "통역 서비스가 끝났으니 즐거운 체험을 하시면 평가해 주십시오." @override - String get translation_butler_evaluation_tips => "翻译服务已结束,体验愉快就给个评价吧"; - /// "你对本次服务满意吗?" + String get translation_butler_evaluation_tips => "통역 서비스가 끝났으니 즐거운 체험을 하시면 평가해 주십시오."; + /// "이번 서비스에 만족하십니까?" @override - String get translation_butler_dialog_tips => "你对本次服务满意吗?"; - /// "满意" + String get translation_butler_dialog_tips => "이번 서비스에 만족하십니까?"; + /// "마음에 들다." @override - String get translation_butler_dialog_yes => "满意"; - /// "不满意" + String get translation_butler_dialog_yes => "마음에 들다."; + /// " 만족스럽지 못하다." @override - String get translation_butler_dialog_no => "不满意"; - /// "提交评价" + String get translation_butler_dialog_no => " 만족스럽지 못하다."; + /// "평가를 제출하다." @override - String get translation_butler_dialog_submit => "提交评价"; - /// "服务耐心" + String get translation_butler_dialog_submit => "평가를 제출하다."; + /// "친절하게 서비스했다." @override - String get translation_pos_1 => "服务耐心"; - /// "快速准时" + String get translation_pos_1 => "친절하게 서비스했다."; + /// " 신속하다." @override - String get translation_pos_2 => "快速准时"; - /// "礼貌热情" + String get translation_pos_2 => " 신속하다."; + /// " 예의와 열정하다." @override - String get translation_pos_3 => "礼貌热情"; - /// "沟通顺畅" + String get translation_pos_3 => " 예의와 열정하다."; + /// "얘기 편하다." @override - String get translation_pos_4 => "沟通顺畅"; - /// "大神翻译" + String get translation_pos_4 => "얘기 편하다."; + /// "틀이 없이 번역하다." @override - String get translation_pos_5 => "大神翻译"; - /// "骚扰威胁" + String get translation_pos_5 => "틀이 없이 번역하다."; + /// "스토킹 위협" @override - String get translation_neg1 => "骚扰威胁"; - /// "沟通障碍" + String get translation_neg1 => "스토킹 위협"; + /// "얘기 장애" @override - String get translation_neg2 => "沟通障碍"; - /// "响应缓慢" + String get translation_neg2 => "얘기 장애"; + /// "반응이 느리다." @override - String get translation_neg3 => "响应缓慢"; - /// "态度不好" + String get translation_neg3 => "반응이 느리다."; + /// "태도 안 좋다." @override - String get translation_neg4 => "态度不好"; - /// "翻译不行" + String get translation_neg4 => "태도 안 좋다."; + /// "번역 안되다." @override - String get translation_neg5 => "翻译不行"; - /// "机场/车站" + String get translation_neg5 => "번역 안되다."; + /// "공항/정류장" @override - String get translation_scenes_1 => "机场/车站"; - /// "餐厅/酒店" + String get translation_scenes_1 => "공항/정류장"; + /// "식당/호텔" @override - String get translation_scenes_2 => "餐厅/酒店"; - /// "KTV/酒吧" + String get translation_scenes_2 => "식당/호텔"; + /// "KTV/술집" @override - String get translation_scenes_3 => "KTV/酒吧"; - /// "其他" + String get translation_scenes_3 => "KTV/술집"; + /// "기타" @override - String get translation_scenes_4 => "其他"; - /// "文件" + String get translation_scenes_4 => "기타"; + /// "서류" @override - String get file => "文件"; - /// "文件大于/s1M" + String get file => "서류"; + /// "파일 크기 /s1M" @override - String get max_file => "文件大于/s1M"; - /// "还可以输入/s1字" + String get max_file => "파일 크기 /s1M"; + /// "/s1자도 입력할 수 있다." @override - String get translation_input_limit => "还可以输入/s1字"; - /// "更多描述" + String get translation_input_limit => "/s1자도 입력할 수 있다."; + /// "더 많은 묘사" @override - String get translation_more_desc => "更多描述"; - /// "反馈小助手" + String get translation_more_desc => "더 많은 묘사"; + /// " 피드백 팁" @override - String get feedback_assistant => "反馈小助手"; - /// "有什么问题都可以反馈给我哦" + String get feedback_assistant => " 피드백 팁"; + /// "어떤 문제라도 피드백해 주세요." @override - String get feedback_tips => "有什么问题都可以反馈给我哦"; + String get feedback_tips => "어떤 문제라도 피드백해 주세요."; /// "人工重译" @override String get man_retranslate => "人工重译"; @@ -20672,210 +20672,210 @@ class _I18n_ja_JP extends I18n { /// "引き出し数量(单位K)" @override String get enter_num_qian1 => "引き出し数量(单位K)"; - /// "翻译券" + /// "翻訳券" @override - String get daily_translate_voucher => "翻译券"; - /// "通知消息" + String get daily_translate_voucher => "翻訳券"; + /// "通知メッセージ" @override - String get msg_notice => "通知消息"; - /// "选择提醒的人" + String get msg_notice => "通知メッセージ"; + /// "注意する人を選択" @override - String get select_notice_people => "选择提醒的人"; - /// "查找手机号" + String get select_notice_people => "注意する人を選択"; + /// "携帯番号を検索" @override - String get search_phone => "查找手机号"; - /// "用户不存在" + String get search_phone => "携帯番号を検索"; + /// "ユーザーは存在しない" @override - String get not_have_user => "用户不存在"; - /// "你不能添加自己" + String get not_have_user => "ユーザーは存在しない"; + /// "自分を追加することはできない" @override - String get not_add_Myself => "你不能添加自己"; - /// "对方已拉黑了你" + String get not_add_Myself => "自分を追加することはできない"; + /// "相手は既にあなたをプロックしました" @override - String get you_are_blaklisted => "对方已拉黑了你"; - /// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)" + String get you_are_blaklisted => "相手は既にあなたをプロックしました"; + /// "焼却した写真を立直しますか?(すでに見たユーザーはもう一度見ることができます)" @override - String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"; - /// "發送到" + String get confrim_recovery => "焼却した写真を立直しますか?(すでに見たユーザーはもう一度見ることができます)"; + /// "発送" @override - String get send_to => "發送到"; - /// "搜索位置" + String get send_to => "発送"; + /// "位置検索" @override - String get search_plach => "搜索位置"; - /// "查找位置" + String get search_plach => "位置検索"; + /// "位置を検索" @override - String get finding_place => "查找位置"; - /// "实时帮" + String get finding_place => "位置を検索"; + /// "リアルタイムヘルプ" @override - String get real_time_helper => "实时帮"; - /// "翻译管家" + String get real_time_helper => "リアルタイムヘルプ"; + /// "翻訳バトラー" @override - String get translation_butler => "翻译管家"; - /// "出行管家" + String get translation_butler => "翻訳バトラー"; + /// "トラベルバトラー" @override - String get travel_butler => "出行管家"; - /// "您的实时贴身翻译,随时随地帮您解决语言不通" + String get travel_butler => "トラベルバトラー"; + /// "あなたのリアルタイムの個人通訳は、いつでもどこでも言語の不通を解決してくれます" @override - String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; - /// "请选择要翻译的语言" + String get translation_butler_tips => "あなたのリアルタイムの個人通訳は、いつでもどこでも言語の不通を解決してくれます"; + /// "翻訳する言語を選んでください" @override - String get choose_language => "请选择要翻译的语言"; - /// "呼叫管家需要预付H币,管家服务时长为5分钟" + String get choose_language => "翻訳する言語を選んでください"; + /// "バトラーを呼ぶにはH幤が必要です、バトラーサービスは5分かかります。" @override - String get translation_butler_rules => "呼叫管家需要预付H币,管家服务时长为5分钟"; - /// "您当所在场景" + String get translation_butler_rules => "バトラーを呼ぶにはH幤が必要です、バトラーサービスは5分かかります。"; + /// "あなたがいるシーン" @override - String get translation_butler_scenes => "您当所在场景"; - /// "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!" + String get translation_butler_scenes => "あなたがいるシーン"; + /// "ビッグデータによると、シーンを選択して問題を説明するユーザーはより効果的に助けられました!" @override - String get translation_butler_scenes_tips => "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!"; - /// "呼叫管家" + String get translation_butler_scenes_tips => "ビッグデータによると、シーンを選択して問題を説明するユーザーはより効果的に助けられました!"; + /// "バトラーを呼びます" @override - String get translation_butler_call => "呼叫管家"; - /// "我的位置" + String get translation_butler_call => "バトラーを呼びます"; + /// "私の位置" @override - String get travel_my_location => "我的位置"; - /// "你要去哪儿" + String get travel_my_location => "私の位置"; + /// "どこへ行きますか" @override - String get travel_go_where => "你要去哪儿"; - /// "当前定位非实时监测,每次需点击“距离查询”按钮查询" + String get travel_go_where => "どこへ行きますか"; + /// "現在の位置付けは非リアルタイム監視で、毎回「距離照会」ボタンをクリックして照会します" @override - String get travel_tips => "当前定位非实时监测,每次需点击“距离查询”按钮查询"; - /// "距离查询" + String get travel_tips => "現在の位置付けは非リアルタイム監視で、毎回「距離照会」ボタンをクリックして照会します"; + /// "距離の照会" @override - String get travel_check_distance => "距离查询"; - /// "根据定位查询,您的当前距离目标地点相距:" + String get travel_check_distance => "距離の照会"; + /// "ポジショニングクエリによると、ターゲット位置からの現在の距離:" @override - String get travel_check_distance_result => "根据定位查询,您的当前距离目标地点相距:"; - /// "当前排队人数过多,感谢您的耐心等待" + String get travel_check_distance_result => "ポジショニングクエリによると、ターゲット位置からの現在の距離:"; + /// "今は並んでいる人が多すぎます。待ってくれてありがとうございます" @override - String get translation_butler_tips2 => "当前排队人数过多,感谢您的耐心等待"; - /// "正在为您呼叫管家" + String get translation_butler_tips2 => "今は並んでいる人が多すぎます。待ってくれてありがとうございます"; + /// "バトラーを呼びます" @override - String get translation_butler_tips3 => "正在为您呼叫管家"; - /// "等待人数" + String get translation_butler_tips3 => "バトラーを呼びます"; + /// "待ち人数" @override - String get translation_butler_wait_people => "等待人数"; + String get translation_butler_wait_people => "待ち人数"; /// "位" @override String get translation_butler_wait_people_unit => "位"; - /// "预计还需等待" + /// "待つ予定" @override - String get translation_butler_wait_time => "预计还需等待"; - /// "已等待" + String get translation_butler_wait_time => "待つ予定"; + /// "待っています" @override - String get translation_butler_already_wait => "已等待"; - /// "取消呼叫" + String get translation_butler_already_wait => "待っています"; + /// "呼び出しをキャンセル" @override - String get translation_butler_cancel => "取消呼叫"; - /// "等待服务" + String get translation_butler_cancel => "呼び出しをキャンセル"; + /// "サービスを待つ" @override - String get translation_butler_wait_service => "等待服务"; - /// "实时帮-翻译管家" + String get translation_butler_wait_service => "サービスを待つ"; + /// "リアルタイムヘルプ-翻訳バトラー" @override - String get translation_butler_dialog_title => "实时帮-翻译管家"; - /// "/s1通过系统下单" + String get translation_butler_dialog_title => "リアルタイムヘルプ-翻訳バトラー"; + /// "/s1システムで注文する" @override - String get translation_butler_dialog_order => "/s1通过系统下单"; - /// "开始服务" + String get translation_butler_dialog_order => "/s1システムで注文する"; + /// "サービスを開始する" @override - String get translation_butler_dialog_start_service => "开始服务"; - /// "开始聊天" + String get translation_butler_dialog_start_service => "サービスを開始する"; + /// "チャットを始める" @override - String get translation_butler_dialog_start_chat => "开始聊天"; - /// "/s1H币//s2分钟" + String get translation_butler_dialog_start_chat => "チャットを始める"; + /// "/s1H幤//s2分" @override - String get translation_butler_coin_time => "/s1H币//s2分钟"; - /// "结束服务" + String get translation_butler_coin_time => "/s1H幤//s2分"; + /// "サービスを終了する" @override - String get translation_butler_end_service => "结束服务"; - /// "服务开始" + String get translation_butler_end_service => "サービスを終了する"; + /// "サービス開始" @override - String get translation_butler_start_service => "服务开始"; - /// "服务结束" + String get translation_butler_start_service => "サービス開始"; + /// "サービス終了" @override - String get translation_butler_service_end => "服务结束"; - /// "评价" + String get translation_butler_service_end => "サービス終了"; + /// "評価" @override - String get translation_butler_evaluation => "评价"; - /// "翻译服务已开始,愿本次服务体验愉快" + String get translation_butler_evaluation => "評価"; + /// "通訳サービスが始まりました。今回のサービス体験が楽しいように" @override - String get translation_butler_start_tips => "翻译服务已开始,愿本次服务体验愉快"; - /// "翻译服务已结束,体验愉快就给个评价吧" + String get translation_butler_start_tips => "通訳サービスが始まりました。今回のサービス体験が楽しいように"; + /// "翻訳サービスは終了しました、評価してください" @override - String get translation_butler_evaluation_tips => "翻译服务已结束,体验愉快就给个评价吧"; - /// "你对本次服务满意吗?" + String get translation_butler_evaluation_tips => "翻訳サービスは終了しました、評価してください"; + /// "今回のサービスに満足していますか?" @override - String get translation_butler_dialog_tips => "你对本次服务满意吗?"; - /// "满意" + String get translation_butler_dialog_tips => "今回のサービスに満足していますか?"; + /// "満足" @override - String get translation_butler_dialog_yes => "满意"; - /// "不满意" + String get translation_butler_dialog_yes => "満足"; + /// "不満足" @override - String get translation_butler_dialog_no => "不满意"; - /// "提交评价" + String get translation_butler_dialog_no => "不満足"; + /// "評価を出す" @override - String get translation_butler_dialog_submit => "提交评价"; - /// "服务耐心" + String get translation_butler_dialog_submit => "評価を出す"; + /// "辛抱強い" @override - String get translation_pos_1 => "服务耐心"; - /// "快速准时" + String get translation_pos_1 => "辛抱強い"; + /// "クイックタイム" @override - String get translation_pos_2 => "快速准时"; - /// "礼貌热情" + String get translation_pos_2 => "クイックタイム"; + /// "礼儀正しくて親切である" @override - String get translation_pos_3 => "礼貌热情"; - /// "沟通顺畅" + String get translation_pos_3 => "礼儀正しくて親切である"; + /// "コミュニケーションが円滑である" @override - String get translation_pos_4 => "沟通顺畅"; - /// "大神翻译" + String get translation_pos_4 => "コミュニケーションが円滑である"; + /// "素晴らしい翻訳" @override - String get translation_pos_5 => "大神翻译"; - /// "骚扰威胁" + String get translation_pos_5 => "素晴らしい翻訳"; + /// "嫌がらせ・脅かす" @override - String get translation_neg1 => "骚扰威胁"; - /// "沟通障碍" + String get translation_neg1 => "嫌がらせ・脅かす"; + /// "コミュニケーション障害" @override - String get translation_neg2 => "沟通障碍"; - /// "响应缓慢" + String get translation_neg2 => "コミュニケーション障害"; + /// "応答が遅い" @override - String get translation_neg3 => "响应缓慢"; - /// "态度不好" + String get translation_neg3 => "応答が遅い"; + /// "態度が悪い" @override - String get translation_neg4 => "态度不好"; - /// "翻译不行" + String get translation_neg4 => "態度が悪い"; + /// "翻訳はだめです" @override - String get translation_neg5 => "翻译不行"; - /// "机场/车站" + String get translation_neg5 => "翻訳はだめです"; + /// "空港/駅" @override - String get translation_scenes_1 => "机场/车站"; - /// "餐厅/酒店" + String get translation_scenes_1 => "空港/駅"; + /// "レストラン/ホテル" @override - String get translation_scenes_2 => "餐厅/酒店"; - /// "KTV/酒吧" + String get translation_scenes_2 => "レストラン/ホテル"; + /// "KTV/バー" @override - String get translation_scenes_3 => "KTV/酒吧"; - /// "其他" + String get translation_scenes_3 => "KTV/バー"; + /// "その他" @override - String get translation_scenes_4 => "其他"; - /// "文件" + String get translation_scenes_4 => "その他"; + /// "ファイル" @override - String get file => "文件"; - /// "文件大于/s1M" + String get file => "ファイル"; + /// "ファイル容量が/s1Mより大きい" @override - String get max_file => "文件大于/s1M"; - /// "还可以输入/s1字" + String get max_file => "ファイル容量が/s1Mより大きい"; + /// " /s1と入力することができます" @override - String get translation_input_limit => "还可以输入/s1字"; - /// "更多描述" + String get translation_input_limit => " /s1と入力することができます"; + /// "詳細説明" @override - String get translation_more_desc => "更多描述"; - /// "反馈小助手" + String get translation_more_desc => "詳細説明"; + /// "フィードバックアシスタント" @override - String get feedback_assistant => "反馈小助手"; - /// "有什么问题都可以反馈给我哦" + String get feedback_assistant => "フィードバックアシスタント"; + /// "どんな問題があってもフィードバックしてください" @override - String get feedback_tips => "有什么问题都可以反馈给我哦"; + String get feedback_tips => "どんな問題があってもフィードバックしてください"; /// "人工重译" @override String get man_retranslate => "人工重译"; diff --git a/lib/home/audio_chat_view.dart b/lib/home/audio_chat_view.dart index 651226e..6d2d20b 100644 --- a/lib/home/audio_chat_view.dart +++ b/lib/home/audio_chat_view.dart @@ -283,14 +283,15 @@ class _AudioChatPageState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ Container( - width: Screen.width - 50, + constraints: BoxConstraints(maxWidth: Screen.width - 50), child: Text( userName, style: TextStyle(fontSize: 20, color: Colors.white70), textScaleFactor: 1.0, + overflow: TextOverflow.ellipsis, textAlign: TextAlign.center, )), - fixedText('$age', fontSize: 20, color: Colors.white70) + fixedText(' $age', fontSize: 20, color: Colors.white70) ], ), SizedBox(height: 5), @@ -368,7 +369,7 @@ class _AudioChatPageState extends State { _bottomToolBar() { List showWidgets = [ Text(I18n.of(context).voicing, - textScaleFactor: 1.0, + textScaleFactor: 1.0, style: TextStyle(fontSize: 11, color: Colors.white24), textAlign: TextAlign.center), SizedBox(height: 10), @@ -530,7 +531,11 @@ class _AudioChatPageState extends State { color: Colors.white, ), child: giftList == null - ? Center(child: Text(I18n.of(context).no_gift, textScaleFactor: 1.0,)) + ? Center( + child: Text( + I18n.of(context).no_gift, + textScaleFactor: 1.0, + )) : Column( children: [ Container( diff --git a/lib/home/friend_page.dart b/lib/home/friend_page.dart index c37ea82..44ae8a1 100644 --- a/lib/home/friend_page.dart +++ b/lib/home/friend_page.dart @@ -290,6 +290,12 @@ class _FriendPageState extends State { const Color(0xFF088E76), ]), onPressed: () async { + CustomUI.buildContacts(context, I18n.of(context).privacyAgreement, + I18n.of(context).determine, () { + Navigator.of(context).pop(); + showPermission(); + }, title: I18n.of(context).tip); + return; final PermissionStatus addStatus = await PermissionHandler() .checkPermissionStatus(PermissionGroup.contacts); if ((addStatus == PermissionStatus.unknown || diff --git a/lib/home/global_search.dart b/lib/home/global_search.dart index 6ce6226..43b3331 100644 --- a/lib/home/global_search.dart +++ b/lib/home/global_search.dart @@ -240,7 +240,7 @@ class _GlobalSearchPageState extends State { ], decoration: InputDecoration( hintText: I18n.of(context).search, - hintStyle: TextStyle(fontSize: 14.5), + hintStyle: TextStyle(fontSize: 14.5, color: Colors.grey), contentPadding: EdgeInsets.only( left: 20, top: (UserData().language == LanguageType.English || diff --git a/lib/home/group_all_member.dart b/lib/home/group_all_member.dart index c681a30..11c9e28 100644 --- a/lib/home/group_all_member.dart +++ b/lib/home/group_all_member.dart @@ -14,6 +14,7 @@ import '../data/constants.dart'; import '../utils/CustomUI.dart'; import '../utils/app_navigator.dart'; import 'create_group_view.dart'; +import 'package:chat/utils/friend_list_mgr.dart'; class GroupAllMember extends StatefulWidget { final GroupInfoModel groupInfoModel; @@ -171,7 +172,8 @@ class GroupAllMemberState extends State { onTap: () { if (member.memberId != UserData().basicInfo.userId) { AppNavigator.pushProfileInfoPage(context, member.memberId, - fromWhere: 2, addMode: 1); + fromWhere: 2, + addMode: !FriendListMgr().isMyFriend(member.memberId) ? 1 : 0); } }, )); diff --git a/lib/home/group_setting.dart b/lib/home/group_setting.dart index c2d36ea..6185aa3 100644 --- a/lib/home/group_setting.dart +++ b/lib/home/group_setting.dart @@ -22,6 +22,7 @@ import '../utils/CustomUI.dart'; import '../utils/FullWithButton.dart'; import '../utils/app_navigator.dart'; import 'create_group_view.dart'; +import 'package:chat/utils/friend_list_mgr.dart'; class GroupSetting extends StatefulWidget { final GroupInfoModel groupInfoModel; @@ -581,7 +582,7 @@ class GroupSettingState extends State { onTap: () { if (members[index].memberId != UserData().basicInfo.userId) { AppNavigator.pushProfileInfoPage(context, members[index].memberId, - fromWhere: 2, addMode: 1); + fromWhere: 2, addMode: !FriendListMgr().isMyFriend(members[index].memberId) ? 1 : 0); } }, )); diff --git a/lib/home/homeMain.dart b/lib/home/homeMain.dart index 8957401..d4dcf26 100644 --- a/lib/home/homeMain.dart +++ b/lib/home/homeMain.dart @@ -406,7 +406,6 @@ class _HomeMainState extends State { fontFamily: 'iconfont', ), type: 4, - isShowdot: true, iconSize: 26.5), NavigationIconView( diff --git a/lib/utils/CustomUI.dart b/lib/utils/CustomUI.dart index 9d08836..9b46a74 100644 --- a/lib/utils/CustomUI.dart +++ b/lib/utils/CustomUI.dart @@ -253,7 +253,6 @@ class CustomUI { child: Text( tipTitle, textScaleFactor: 1.0, - style: TextStyle( fontSize: 14, color: Constants.BlackTextColor, height: 1.30), textAlign: TextAlign.center, @@ -309,6 +308,7 @@ class CustomUI { title, buildConfirmContent( Container( + alignment: Alignment.center, padding: EdgeInsets.only(top: 38.5, bottom: 31.5), child: Column( children: [ @@ -320,7 +320,7 @@ class CustomUI { fontSize: 14, color: Constants.BlackTextColor, height: 1.30), - //textAlign: TextAlign.center, + textAlign: TextAlign.center, ), SizedBox( height: 5, @@ -1154,7 +1154,8 @@ class CustomUI { ); } - static PreferredSizeWidget buildSearchButton(BuildContext context, callback,{double bottom=14}) { + static PreferredSizeWidget buildSearchButton(BuildContext context, callback, + {double bottom = 14}) { return PreferredSize( preferredSize: Size.fromHeight(49), child: InkWell( @@ -1170,7 +1171,7 @@ class CustomUI { crossAxisAlignment: CrossAxisAlignment.center, children: [ Container( - margin: EdgeInsets.only(left: 15, right: 15), + margin: EdgeInsets.only(left: 15, right: 15, bottom: 0), child: Icon( IconData( 0xe664, @@ -1180,8 +1181,11 @@ class CustomUI { size: 18, ), ), - Text(I18n.of(context).search, - style: TextStyle(fontSize: 14.5, color: Colors.grey)), + Container( + margin: EdgeInsets.only(bottom: 0), + child: Text(I18n.of(context).search, + style: + TextStyle(fontSize: 14.5, color: Colors.grey))), ], ))), ); @@ -1248,80 +1252,89 @@ class CustomUI { ); } - - static void buildTranslationHelperOrderDialog(BuildContext context) { - Navigator.of(context).push(TutorialOverlay( - child: - InkWell(onTap: (){Navigator.of(context).pop();},child: UnconstrainedBox(alignment: Alignment.topCenter,child: InkWell(onTap: (){},child: - Container( - alignment: Alignment.topCenter, + child: InkWell( + onTap: () { + Navigator.of(context).pop(); + }, + child: UnconstrainedBox( + alignment: Alignment.topCenter, + child: InkWell( + onTap: () {}, + child: Container( + alignment: Alignment.topCenter, // height: 180, - width: Screen.width-20, - margin: EdgeInsets.all(10), - child: Card( - elevation: 2, // 阴影 - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), + width: Screen.width - 20, + margin: EdgeInsets.all(10), + child: Card( + elevation: 2, // 阴影 + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), // side: BorderSide(color: Colors.green,width: 25), - ), - child: Container( + ), + child: Container( // color: Colors.yellow, - width: double.maxFinite, - padding: EdgeInsets.all(16), - child: Column( - - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: EdgeInsets.only(bottom: 15), - child: Text( - I18n.of(context).translation_butler_dialog_title, - textScaleFactor: 1.0, - textAlign: TextAlign.left, - style: TextStyle( - fontWeight: FontWeight.w500, - color: AppColors.NewAppbarTextColor, fontSize: 17), - ), - ), - Text( - I18n.of(context).translation_butler_dialog_order.replaceAll('s1', 'xxx'), - textScaleFactor: 1.0, - textAlign: TextAlign.left, - style: TextStyle( - color: AppColors.NewAppbarTextColor, fontSize: 14), - ), - SizedBox(height: 10,), - Text( - '时间:今天11:45 时长:10分钟', - textScaleFactor: 1.0, - textAlign: TextAlign.left, - style: TextStyle( - color: AppColors.NewAppbarTextColor, fontSize: 14), - ), - - Container(margin: EdgeInsets.only(left: 30, right: 30, top: 20,bottom: 10),child: CountDownButton( I18n.of(context).translation_butler_dialog_start_service,(){ - Navigator.of(context).pop(); - }) ,) - - - - ], - ), - ), - ), - ),),),),)); + width: double.maxFinite, + padding: EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.only(bottom: 15), + child: Text( + I18n.of(context).translation_butler_dialog_title, + textScaleFactor: 1.0, + textAlign: TextAlign.left, + style: TextStyle( + fontWeight: FontWeight.w500, + color: AppColors.NewAppbarTextColor, + fontSize: 17), + ), + ), + Text( + I18n.of(context) + .translation_butler_dialog_order + .replaceAll('s1', 'xxx'), + textScaleFactor: 1.0, + textAlign: TextAlign.left, + style: TextStyle( + color: AppColors.NewAppbarTextColor, fontSize: 14), + ), + SizedBox( + height: 10, + ), + Text( + '时间:今天11:45 时长:10分钟', + textScaleFactor: 1.0, + textAlign: TextAlign.left, + style: TextStyle( + color: AppColors.NewAppbarTextColor, fontSize: 14), + ), + Container( + margin: EdgeInsets.only( + left: 30, right: 30, top: 20, bottom: 10), + child: CountDownButton( + I18n.of(context) + .translation_butler_dialog_start_service, () { + Navigator.of(context).pop(); + }), + ) + ], + ), + ), + ), + ), + ), + ), + ), + )); } - static void buildTranslationEvaluationDialog(BuildContext context) { - - Navigator.of(context).push(TutorialOverlay( - child: - TravelEvaluationPage(),)); + child: TravelEvaluationPage(), + )); } - } diff --git a/lib/utils/HttpUtil.dart b/lib/utils/HttpUtil.dart index 2de8211..d742a5c 100644 --- a/lib/utils/HttpUtil.dart +++ b/lib/utils/HttpUtil.dart @@ -217,7 +217,7 @@ class HttpUtil { var fileBytes; if (contentType == 'image' && size > 10240) { - fileBytes = await WidgetUtil.getCompressImg(path); + fileBytes = await WidgetUtil.getCompressImg(path,quality: 80,percentage: 80); } else { fileBytes = imgfile.readAsBytesSync(); } diff --git a/lib/utils/image_util.dart b/lib/utils/image_util.dart index a448bfa..2f70fac 100644 --- a/lib/utils/image_util.dart +++ b/lib/utils/image_util.dart @@ -16,10 +16,8 @@ import '../r.dart'; import 'file_cache_mgr.dart'; import 'group_member_model.dart'; - const ImgSizeLimit = 60 * 1024; - /// Widget Util. class WidgetUtil { bool _hasMeasured = false; @@ -67,11 +65,11 @@ class WidgetUtil { : Rect.zero; } - static getCompressImg(String imgPath) async { - + static getCompressImg(String imgPath, + {int quality = 20, int percentage = 20}) async { File compressedFile = await FlutterNativeImage.compressImage(imgPath, - quality: 20, percentage: 25); - var k =compressedFile.readAsBytesSync().toList(); + quality: quality, percentage: percentage); + var k = compressedFile.readAsBytesSync().toList(); print('A图片压缩完毕 : ${k.length}'); // compressedFile. @@ -156,83 +154,72 @@ class WidgetUtil { return completer.future; } - - - - - - - - - static ImageProvider groupAvatar(String path ) { - + static ImageProvider groupAvatar(String path) { path = FileCacheMgr.replacePath(path); Uint8List fileData = File(path).readAsBytesSync(); // print('fileData ${fileData.length}'); return MemoryImage(fileData); - - } + static Widget getAvatarNew( + GroupInfoModel model, GlobalKey key, Function backPath) { + List members = []; - static Widget getAvatarNew(GroupInfoModel model,GlobalKey key,Function backPath) { - - List members =[]; - - for(int k=0;k< model.members.length;k++){ //只加入存在群的 + for (int k = 0; k < model.members.length; k++) { + //只加入存在群的 GroupMemberModel mo = model.members[k]; - if(mo.inGroup==1){ + if (mo.inGroup == 1) { members.add(mo); } } - - - - if(model.image!=null && model.image.length>2){ + if (model.image != null && model.image.length > 2) { print('${model.name} 群头像地址:${model.image}'); File file = new File(model.image); // int filelength = file.readAsBytesSync().length; // print('群头像地址file size : $filelength'); - if( file.existsSync()){ //防止头像文件被清除后 + if (file.existsSync()) { + //防止头像文件被清除后 - Uint8List pngBytes =file.readAsBytesSync(); + Uint8List pngBytes = file.readAsBytesSync(); print('pngBytes.lengthInBytes length;${pngBytes.lengthInBytes}'); - if(pngBytes.lengthInBytes>8000){ - return ClipRRect( borderRadius: BorderRadius.circular(5),child:Container(color: Color(0xffE9E9E9),width: 52,height: 52,child: - Image.file( - File(FileCacheMgr.replacePath(model.image)), - fit: BoxFit.contain, - width: 50, - height: 50, - ),) ,); + if (pngBytes.lengthInBytes > 8000) { + return ClipRRect( + borderRadius: BorderRadius.circular(5), + child: Container( + color: Color(0xffE9E9E9), + width: 52, + height: 52, + child: Image.file( + File(FileCacheMgr.replacePath(model.image)), + fit: BoxFit.contain, + width: 50, + height: 50, + ), + ), + ); } - - - }else{ + } else { backPath(''); } - - } - ///先让下面的图片显示,5秒后截图保存图片 - Future.delayed(Duration(seconds: 3),() async{ + Future.delayed(Duration(seconds: 3), () async { // print('没有群图片-开始生成保存到本地:${model.members.length}'); try { - - RenderRepaintBoundary boundary = - key.currentContext.findRenderObject(); - var image = await boundary.toImage(pixelRatio:2); + RenderRepaintBoundary boundary = key.currentContext.findRenderObject(); + var image = await boundary.toImage(pixelRatio: 2); ByteData byteData = await image.toByteData(format: ImageByteFormat.png); Uint8List pngBytes = byteData.buffer.asUint8List(); - File file =await FileCacheMgr().writeFile(model.sessionId.toString(),pngBytes); + File file = await FileCacheMgr() + .writeFile(model.sessionId.toString(), pngBytes); print('图片地址byteData${byteData.lengthInBytes}'); - if(byteData.lengthInBytes>8000 && members.length>1){ //图片保存成功 - GroupInfoMgr().updateAvatar(model.sessionId,file.path); + if (byteData.lengthInBytes > 8000 && members.length > 1) { + //图片保存成功 + GroupInfoMgr().updateAvatar(model.sessionId, file.path); backPath(file.path); } @@ -241,94 +228,151 @@ class WidgetUtil { } catch (e) { print(e); } - }); - if(members.length>9){ - members = members.sublist(0,9); + if (members.length > 9) { + members = members.sublist(0, 9); } - - - - if (members.length > 0) { double itemSize = 10; switch (members.length) { case 1: - - return RepaintBoundary(key: key,child: ClipRRect(borderRadius: BorderRadius.circular(3),child: Container(color: Color(0xffE9E9E9),width: 52,height: 52,child: Padding(padding: EdgeInsets.all(1),child: CachedNetworkImage( - imageUrl: members[0].avtar, - width: 45, - height: 45, - placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar,width: 45, - height: 45,) - ),),),),); - break; - case 2: - return RepaintBoundary(key: key,child: ClipRRect(borderRadius: BorderRadius.circular(3),child: Container(color: Color(0xffE9E9E9),width: 52,height: 52,child: Row(children: [ - Padding(padding: EdgeInsets.all(1),child: ClipRRect( + return RepaintBoundary( + key: key, + child: ClipRRect( borderRadius: BorderRadius.circular(3), - child: CachedNetworkImage( - imageUrl: members[0].avtar, - width: 23, - height: 23, - placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar, width: 23, - height: 23,) + child: Container( + color: Color(0xffE9E9E9), + width: 52, + height: 52, + child: Padding( + padding: EdgeInsets.all(1), + child: CachedNetworkImage( + imageUrl: members[0].avtar, + width: 45, + height: 45, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: 45, + height: 45, + )), + ), ), - ),), - Padding(padding: EdgeInsets.all(1),child: ClipRRect( + ), + ); + break; + case 2: + return RepaintBoundary( + key: key, + child: ClipRRect( borderRadius: BorderRadius.circular(3), - child: CachedNetworkImage( - imageUrl: members[1].avtar, - width: 23, - height: 23,placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar,width: 23, - height: 23,) + child: Container( + color: Color(0xffE9E9E9), + width: 52, + height: 52, + child: Row( + children: [ + Padding( + padding: EdgeInsets.all(1), + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: CachedNetworkImage( + imageUrl: members[0].avtar, + width: 23, + height: 23, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: 23, + height: 23, + )), + ), + ), + Padding( + padding: EdgeInsets.all(1), + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: CachedNetworkImage( + imageUrl: members[1].avtar, + width: 23, + height: 23, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: 23, + height: 23, + )), + ), + ) + ], + ), ), - ),) - ],),),),); + ), + ); case 3: - return RepaintBoundary(key: key,child: ClipRRect(borderRadius: BorderRadius.circular(3),child: Container(color: Color(0xffE9E9E9),width: 52,height: 52,child: Column(children: [ - - Padding(padding: EdgeInsets.all(1),child: ClipRRect( + return RepaintBoundary( + key: key, + child: ClipRRect( borderRadius: BorderRadius.circular(3), - child: CachedNetworkImage( - imageUrl: members[0].avtar, - width: 23, - height: 23,placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar,width: 23, - height: 23,) - ), - ),), - - - Row(children: [ - Padding(padding: EdgeInsets.all(1),child: ClipRRect( - borderRadius: BorderRadius.circular(3), - child: CachedNetworkImage( - imageUrl: members[1].avtar, - width: 23, - height: 23,placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar,width: 23, - height: 23,) - ), - ),), - Padding(padding: EdgeInsets.all(1),child: ClipRRect( - borderRadius: BorderRadius.circular(3), - child: CachedNetworkImage( - imageUrl: members[2].avtar, - width: 23, - height: 23,placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar,width: 23, - height: 23,) + child: Container( + color: Color(0xffE9E9E9), + width: 52, + height: 52, + child: Column( + children: [ + Padding( + padding: EdgeInsets.all(1), + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: CachedNetworkImage( + imageUrl: members[0].avtar, + width: 23, + height: 23, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: 23, + height: 23, + )), + ), + ), + Row( + children: [ + Padding( + padding: EdgeInsets.all(1), + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: CachedNetworkImage( + imageUrl: members[1].avtar, + width: 23, + height: 23, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: 23, + height: 23, + )), + ), + ), + Padding( + padding: EdgeInsets.all(1), + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: CachedNetworkImage( + imageUrl: members[2].avtar, + width: 23, + height: 23, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: 23, + height: 23, + )), + ), + ) + ], + ) + ], ), - ),) - ],) - - ],),),),); + ), + ), + ); } if (members.length == 4) { @@ -338,30 +382,46 @@ class WidgetUtil { } List widgetList = []; - for (int k = 0; k < members.length; k++) { - widgetList.add(Padding(padding: EdgeInsets.all(1),child: ClipRRect( - borderRadius: BorderRadius.circular(3), - child: CachedNetworkImage( - imageUrl: members[k].avtar, - width: itemSize, - height: itemSize,placeholder: (context, url) => - Image.asset(R.assetsImagesDefaultNorAvatar,width: itemSize, - height: itemSize,) + for (int k = 0; k < members.length; k++) { + widgetList.add(Padding( + padding: EdgeInsets.all(1), + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: CachedNetworkImage( + imageUrl: members[k].avtar, + width: itemSize, + height: itemSize, + placeholder: (context, url) => Image.asset( + R.assetsImagesDefaultNorAvatar, + width: itemSize, + height: itemSize, + )), ), - ),)); + )); } - return RepaintBoundary(key: key,child: ClipRRect(borderRadius: BorderRadius.circular(3),child: Container( - color: Color(0xffE9E9E9), - width: 52, - height: 52, - alignment: Alignment.center, - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.start, children: widgetList), - ),),); + return RepaintBoundary( + key: key, + child: ClipRRect( + borderRadius: BorderRadius.circular(3), + child: Container( + color: Color(0xffE9E9E9), + width: 52, + height: 52, + alignment: Alignment.center, + child: Wrap( + crossAxisAlignment: WrapCrossAlignment.start, + children: widgetList), + ), + ), + ); } else { - return ClipRRect(borderRadius: BorderRadius.circular(3),child: Container(color: Color(0xffE9E9E9),),); + return ClipRRect( + borderRadius: BorderRadius.circular(3), + child: Container( + color: Color(0xffE9E9E9), + ), + ); } } - } diff --git a/lib/utils/msgHandler.dart b/lib/utils/msgHandler.dart index c44724b..3a28d37 100644 --- a/lib/utils/msgHandler.dart +++ b/lib/utils/msgHandler.dart @@ -421,7 +421,7 @@ class MsgHandler { int sessionId = chat.targetId; msgModel = MsgModel(0, friendId, chat.cType.value, chat.contentBuff, chat.sendTime.toInt(), sessionId, - channelType: ChatChannelType.Group.value); + channelType: ChatChannelType.Session.value); //更新红包信息 ChatDataMgr()