Commit 0ea3bf5e by ludi

完成翻译,完成单边圆角阴影的改动

parent 0ca90024
Showing with 714 additions and 76 deletions
......@@ -54,7 +54,7 @@
"结束直播" = "結束直播";
"复制ID成功" = "複製ID成功";
"复制ID成功" = "拷貝ID成功";
"访问相册" = "訪問相冊";
......@@ -422,7 +422,7 @@
"打开后,将在私信上进行个人曝光" = "打開后,將在私信上進行個人曝光";
"萤火提现" = "螢火提";
"萤火提现" = "螢火提";
"有效期至%@" = "有效期至%@";
......@@ -860,7 +860,7 @@
"对方%@小时未回复,将返还露水" = "對方%@小時未回復,將返還露水";
"复制" = "複製";
"复制" = "拷貝";
"拍摄" = "拍攝";
......@@ -1316,7 +1316,7 @@
"验证码" = "验证码";
"复制失败" = "複製失敗";
"复制失败" = "拷貝失敗";
"由于对方设置,无法发送私信" = "由於對方設置,無法發送私信";
......@@ -1356,7 +1356,7 @@
"切换后的直播时长不计入直播奖励活动" = "切換後的直播時長不計入直播獎勵活動";
"可提现" = "可提";
"可提现" = "可提";
"确认&更换" = "確認&更換";
......@@ -1700,7 +1700,7 @@
"从未升级VIP的玩家,入场消息将被折叠展现" = "從未升級VIP的玩家,入場消息將被折疊展現";
"复制成功" = "複製成功";
"复制成功" = "拷貝成功";
"暂无时长收益" = "暫無時長收益";
......@@ -2082,7 +2082,7 @@
"连接失败" = "连接失败";
"复制网址" = "複製鏈接";
"复制网址" = "拷貝鏈接";
"[口令红包]" = "[口令紅包]";
......@@ -2274,7 +2274,7 @@
"开启通知权限,主播开播时将主动通知您" = "開啟通知權限,主播開播時將主動通知您";
"复制链接" = "複製鏈接";
"复制链接" = "拷貝鏈接";
"好友" = "好友";
......@@ -3027,3 +3027,4 @@
"邀请有奖" = "邀請有獎";
"使者邀请" = "使者邀請";
......@@ -810,7 +810,7 @@
"赠送" = "Send";
"PK记录" = "PK Record";
"PK记录" = "pk record";
"连麦礼物分成" = "Mic Gift income share";
......@@ -2306,7 +2306,7 @@
"装配" = "Assembly";
"收益提现同意事项" = "Income withdrawal consent matters";
"收益提现同意事项" = "Matters regarding income withdrawal consent";
"《自由职业者服务协定》" = "Freelance Services Agreement";
......@@ -2812,6 +2812,8 @@
"请滑动拼图到正确位置" = "Slide picture to the right position.";
"无" = "None";
"预设档位" = "Preset";
"廋脸" = "Slim";
......@@ -2824,3 +2826,205 @@
"白牙" = "Teeth";
"我的使者码:" = "My Emissary code:";
"邀请码" = "Invite Code";
"请输入邀请码" = "Please enter invitation code";
"未开启麦克风权限,无法听到连麦用户的音频。开启麦克风权限可以体验完整连麦功能" = "The microphone permission is not enabled, so the audio of the connected user cannot be heard. Enable microphone permission to experience the full Guest-Mic function";
"填写使者码" = "Fill in the Emissary code";
"输入朋友的使者码" = "Enter your friend's Emissary code";
"输入使者码和好友联系更紧密" = "Enter the Emissary code to connect with friends more closely";
"输入使者码(选填)" = "Enter the Emissary code (optional)";
"玩法中心" = "Gameplay Center";
"房间玩法" = "Room Gameplay";
"房间工具" = "Room Tools";
"主播工具" = "Broadcaster Tools";
"主播玩法" = "Broadcaster Gameplay";
"直播功能" = "Live Streaming";
"申请重新认定" = "Apply for re-certification";
"申请重新认定成功" = "Application for re-certification was successful";
"你已加入对方的 _#{俱乐部}#_,解锁团员畅聊特权" = "You have joined the anchor's _#{Club}#_, unlocking the privilege of free chatting with other members";
"对方已加入你的 _#{俱乐部}#_" = "The opposite has joined your _#{Club}#_";
"邀请新玩家加入" = "Invite new players";
"使者获得" = "Emissary";
"族人获得" = "Clansman";
"邀请玩家下载" = "Invite players to download";
"选择适合您的邀请方式" = "Choose the invitation method that suits you";
"使者奖励" = "Emissary reward";
"使者任务" = "Emissary Task";
"社交媒体邀请" = "Social Media Invitations";
"网页链接邀请" = "Link invitation";
"QRCode邀请" = "QR Code Invitation";
"应用商店邀请" = "App Store Invitation";
"直接点击邀请按钮发送到您常用的社交媒体" = "Click the invite button to send to your favorite social media";
"以任何方式将下载网页链接传送给朋友" = "Send the download link to your friends";
"将带有下载二维码的QRCode图传送给朋友" = "Send the QRCode image with the download QR code to your friends";
"告诉朋友前往应用商店搜寻“Fusi Live”" = "Tell your friends to go to the app store and search for 「Fusi Live」.";
"我的使者码" = "My Emissary Code";
"部分地区新玩家注册的时候需要填写邀请码以完成注册流程" = "In some regions, new players need to fill in the invitation code to complete the registration process.";
"邀请码已拷贝至剪贴板" = "The invitation code has been copied to the clipboard";
"暂无奖励可领取" = "No rewards available yet";
"我的族人" = "My Clansman";
"最近登入" = "Recently login";
"拷贝网页链接" = "Copy link";
"拷贝商店链接" = "Copy Store Link";
"保存QRCode" = "Save QR Code";
"搜寻" = "search";
"商店地址" = "Store Address";
"iOS应用商店:AppStore" = "iOS App Store: AppStore";
"Android应用商店:Googleplay" = "Android store: Google Play";
"发送邀请" = "Send invitation";
"邀请链接" = "Invite Link";
"QRCode图片" = "QR Code Image";
"应用商店搜寻下载" = "Download in App Store";
"选择您要使用的社交媒体,发送社交媒体邀请给新玩家。" = "Select the social media you want to use to send social media invites to new players.";
"拷贝您的专属邀请链接,发送链接给新玩家,访问网页可下载。" = "Copy your unique invite link, send it to new players, and visit the web page to download it.";
"保存您的邀请QRCode图片,新玩家通过扫描QRCode可以下载" = "Save your invitation QRCode image. New players can download by scanning the QRCode.";
"告诉朋友前往自己手机熟悉的应用商店,并搜寻“Fusi Live” 关键词" = "Tell your friends to head to the app store your phone is familiar with and search for the keyword “Fusi Live”";
"部分地区新玩家注册的时候需要填写邀请码才可以完成注册流程" = "In some regions, new players need to fill in the invitation code to complete the registration process.";
"扫码绑定您为使者" = "Scan QRcode to bind you as Emissary";
"被邀请的好友在注册后,扫描您的使者码QRCode(或直接 输入使者码),即绑定成功!" = "After the invited friends register, they can scan your Emissary QRCode (or directly enter the messenger code) and the binding will be successful!";
"使者码" = "Emissary Code";
"等候族人完成绑定" = "Waiting for the clansman to complete the binding";
"活跃族人%@" = "Active clansmans%@";
"发送社交媒体邀请" = "Send social media invitations";
"发送网页链接邀请" = "Send link invitation";
"保存QRCode图片" = "Save QRCode Image";
"应用商店搜索下载" = "Search and download in the App Store";
"新玩家下载遇到问题?" = "New player having trouble downloading?";
"网页链接已拷贝至剪贴板" = "The web link has been copied to your clipboard";
"商店链接已拷贝至剪贴板" = "Store link copied to clipboard";
"图片保存失败" = "Failed to save image";
"使者邀请QRCode图片已保存至相册" = "The Emissary invitation QRCode image has been saved to the album";
"绑定您为使者" = "Bind you as a emissary";
"绑定您为使者遇到问题" = "There is a problem binding emissary";
"领取使者奖励" = "Receive Emissary Rewards";
"摄像头扫描使者码QRCode绑定" = "Scan the QR code with the camera to bind";
"使者身份存续条件%@" = "Emissary conditions %@";
"在APP—「我的」—「邀请有奖」—「右上角菜单」 -「绑定使者」扫描QRCode绑定您为使者" = "In the APP - 「My」 - 「Invite Rewards」 - 「Upper Right Menu」 - 「Bind Emissary」 scan the QR Code to bind you as a emissary";
"使者码QRCode保存失败" = "Failed to save the QRCode.";
"使者码QRCode保存成功" = "The Emissary QRCode was saved successfully";
"奖励" = "Reward";
"绑定使者" = "Binding Emissary";
"使者QRCode" = "Emissary QR Code";
"客服咨询" = "Customer Service";
"绑定使者码" = "Bind Emissary Code";
"手动输入使者码" = "Enter the messenger code";
"从相册选取" = "Select from album";
"扫描使者码QRCode图片完成绑定" = "Scan the Emissary QRCode image to complete the binding";
"请联系您的邀请人获取使者码" = "Please contact your inviter to obtain the emissary code";
"摄像头扫描" = "Camera Scan";
"内可绑定" = "bindable";
"未检测到二维码" = "QR code not detected";
"请输入使者码完成绑定" = "Please enter the Emissary Code to complete the binding";
"请输入使者码" = "Please enter the Emissary Code";
"绑定" = "Bind";
"使者码不能为空" = "The Emissary Code cannot be empty";
"绑定使者:" = "Bind Emissary:";
"获得族人奖励" = "Receive Clansman rewards";
"您所在的中国大陆地区无法使用Fusi" = "Fusi is not available in mainland China where you are located";
"超过%@天" = "More than %@ days";
"您已成功绑定使者" = "You had bound emissary successfully";
"暂无数据" = "Data empty";
"邀请有奖" = "Invitation Bonus";
"使者邀请" = "Emissary invitation";
......@@ -802,7 +802,7 @@
"赠送" = "贈る";
"PK记录" = "PK履歴";
"PK记录" = "PK記録";
"连麦礼物分成" = "連麦ギフトはに分かれています";
......@@ -2284,7 +2284,7 @@
"装配" = "組み立て";
"收益提现同意事项" = "収入引き出しの同意は重要です";
"收益提现同意事项" = "収入引出同意に関する事項";
"《自由职业者服务协定》" = "フリーランスサービス契約";
......@@ -2790,6 +2790,8 @@
"请滑动拼图到正确位置" = "画像を正しい位置にスライドさせてください。";
"无" = "なし";
"预设档位" = "プリセット";
"廋脸" = "薄い";
......@@ -2802,3 +2804,205 @@
"白牙" = "歯";
"我的使者码:" = "私の使者コード:";
"邀请码" = "招待コード";
"请输入邀请码" = "招待コードを入力してください";
"未开启麦克风权限,无法听到连麦用户的音频。开启麦克风权限可以体验完整连麦功能" = "マイクの権限が有効になっていないため、接続されたユーザーの音声を聞くことができません。ゲストマイクの機能をフルに活用するには、マイクの権限を有効にしてください";
"填写使者码" = "メッセンジャーコードを入力してください";
"输入朋友的使者码" = "友達のメッセンジャーコードを入力してください";
"输入使者码和好友联系更紧密" = "メッセンジャーコードを入力して友達ともっと親密につながりましょう";
"输入使者码(选填)" = "メッセンジャーコードを入力してください(オプション)";
"玩法中心" = "ゲームプレイセンター";
"房间玩法" = "ルームゲームプレイ";
"房间工具" = "ルームツール";
"主播工具" = "ブロードキャスターツール";
"主播玩法" = "ブロードキャスターゲームプレイ";
"直播功能" = "ライブストリーミング";
"申请重新认定" = "再認証申請";
"申请重新认定成功" = "再認証申請が成功しました";
"你已加入对方的 _#{俱乐部}#_,解锁团员畅聊特权" = "アンカーの_#{クラブ}#_に参加して、他の会員と無料でチャットできる権限を解除しました";
"对方已加入你的 _#{俱乐部}#_" = "反対者があなたの_#{クラブ}#_に参加しました";
"邀请新玩家加入" = "新しいプレイヤーを招待";
"使者获得" = "使者";
"族人获得" = "部族民は";
"邀请玩家下载" = "プレイヤーにダウンロードを招待";
"选择适合您的邀请方式" = "ご自分に合った招待方法を選択してください";
"使者奖励" = "使者報酬";
"使者任务" = "使者のタスク";
"社交媒体邀请" = "ソーシャルメディア招待";
"网页链接邀请" = "リンク招待";
"QRCode邀请" = "QR コード招待";
"应用商店邀请" = "App Store 招待を受け取ります";
"直接点击邀请按钮发送到您常用的社交媒体" = "招待ボタンをクリックして、お気に入りのソーシャル メディアに送信します";
"以任何方式将下载网页链接传送给朋友" = "ダウンロードリンクを友達に送信";
"将带有下载二维码的QRCode图传送给朋友" = "ダウンロード QR コードを含む QR コード画像を友達に送信します";
"告诉朋友前往应用商店搜寻“Fusi Live”" = "お友達に、アプリ ストアにアクセスして「Fusi Live」を検索するよう伝えてください。";
"我的使者码" = "私の使者コード";
"部分地区新玩家注册的时候需要填写邀请码以完成注册流程" = "一部の地域では、新しいプレイヤーは登録プロセスを完了するために招待コードを入力する必要があります。";
"邀请码已拷贝至剪贴板" = "招待コードがクリップボードにコピーされました";
"暂无奖励可领取" = "まだ報酬はありません";
"我的族人" = "My Clansman";
"最近登入" = "最近ログインしました";
"拷贝网页链接" = "リンクをコピー";
"拷贝商店链接" = "ストア リンクをコピー";
"保存QRCode" = "QR コードを保存";
"搜寻" = "検索";
"商店地址" = "ストア アドレス";
"iOS应用商店:AppStore" = "iOS App Store: AppStore";
"Android应用商店:Googleplay" = "Android ストア: Google Play";
"发送邀请" = "招待を送信";
"邀请链接" = "招待リンク";
"QRCode图片" = "QR コード画像";
"应用商店搜寻下载" = "App Storeでダウンロード";
"选择您要使用的社交媒体,发送社交媒体邀请给新玩家。" = "新しいプレイヤーにソーシャル メディア招待を送信するために使用するソーシャル メディアを選択します。";
"拷贝您的专属邀请链接,发送链接给新玩家,访问网页可下载。" = "独自の招待リンクをコピーして新しいプレイヤーに送信し、Web ページにアクセスしてダウンロードします。";
"保存您的邀请QRCode图片,新玩家通过扫描QRCode可以下载" = "招待 QR コード画像を保存します。新規プレイヤーは QR コードをスキャンしてダウンロードできます。";
"告诉朋友前往自己手机熟悉的应用商店,并搜寻“Fusi Live” 关键词" = "お友達に、お使いの携帯電話でよく使われているアプリ ストアにアクセスして、キーワード「Fusi Live」を検索するよう伝えてください";
"部分地区新玩家注册的时候需要填写邀请码才可以完成注册流程" = "一部の地域では、新規プレイヤーは登録プロセスを完了するために招待コードを入力する必要があります。";
"扫码绑定您为使者" = "QRコードをスキャンしてメッセンジャーとして登録しましょう";
"被邀请的好友在注册后,扫描您的使者码QRCode(或直接 输入使者码),即绑定成功!" = "招待された友人が登録した後、あなたの使者QRコードをスキャン(またはメッセンジャーコードを直接入力)すると、バインドが成功します!";
"使者码" = "エミッサリー コード";
"等候族人完成绑定" = "クランズマンのメンバーがバインディングを完了するのを待っています";
"活跃族人%@" = "アクティブなクランマン%@";
"发送社交媒体邀请" = "ソーシャルメディア招待を送信";
"发送网页链接邀请" = "リンク招待を送信";
"保存QRCode图片" = "QRコード画像を保存";
"应用商店搜索下载" = "App Store で検索してダウンロード";
"新玩家下载遇到问题?" = "ダウンロードに問題のある新規プレイヤーですか?クランマンは";
"网页链接已拷贝至剪贴板" = "Web リンクがクリップボードにコピーされました";
"商店链接已拷贝至剪贴板" = "ストアリンクがクリップボードにコピーされました";
"图片保存失败" = "画像の保存に失敗しました";
"使者邀请QRCode图片已保存至相册" = "使者の招待 QR コード画像がアルバムに保存されました";
"绑定您为使者" = "使者としてバインド";
"绑定您为使者遇到问题" = "使者のバインドに問題があります";
"领取使者奖励" = "使者報酬を受け取る";
"摄像头扫描使者码QRCode绑定" = "バインドするには、カメラで QR コードをスキャンしてください";
"使者身份存续条件%@" = "使者の条件 %@";
"在APP—「我的」—「邀请有奖」—「右上角菜单」 -「绑定使者」扫描QRCode绑定您为使者" = "アプリで - 「マイ」 - 「招待報酬」 - 「右上メニュー」 - 「使者をバインド」で QR コードをスキャンして、使者としてバインドします";
"使者码QRCode保存失败" = "QRコードの保存に失敗しました。";
"使者码QRCode保存成功" = "使者の QR コードが正常に保存されました";
"奖励" = "褒美";
"绑定使者" = "使者をバインド";
"使者QRCode" = "使者 QR コード";
"客服咨询" = "カスタマー サービス";
"绑定使者码" = "使者コードをバインド";
"手动输入使者码" = "メッセンジャーコードを入力";
"从相册选取" = "アルバムから選択";
"扫描使者码QRCode图片完成绑定" = "使者のQRコード画像をスキャンしてバインドを完了します";
"请联系您的邀请人获取使者码" = "使者コードを取得するには、招待者に連絡してください";
"摄像头扫描" = "カメラスキャン";
"内可绑定" = "バインド可能";
"未检测到二维码" = "QR コードが検出されません";
"请输入使者码完成绑定" = "バインドを完了するには、使者コードを入力してください";
"请输入使者码" = "使者コードを入力してください";
"绑定" = "バインド";
"使者码不能为空" = "使者コードは空欄にできません";
"绑定使者:" = "使者のバインド:";
"获得族人奖励" = "クランズマンの報酬を受け取る";
"您所在的中国大陆地区无法使用Fusi" = "Fusi は、お住まいの中国本土ではご利用いただけません";
"超过%@天" = "%@日以上";
"您已成功绑定使者" = "使者を拘束することに成功しました";
"暂无数据" = "データが空です";
"邀请有奖" = "招待ボーナス";
"使者邀请" = "使者招待";
......@@ -802,7 +802,7 @@
"赠送" = "Gửi";
"PK记录" = "Nhật ký PK";
"PK记录" = "hồ sơ pk";
"连麦礼物分成" = "Quà tặng Mic được chia thành";
......@@ -2284,7 +2284,7 @@
"装配" = "Cuộc họp";
"收益提现同意事项" = "Sự đồng ý rút tiền thu nhập là vấn đề";
"收益提现同意事项" = "Các vấn đề liên quan đến sự đồng ý rút tiền thu nhập";
"《自由职业者服务协定》" = "Thỏa thuận dịch vụ làm việc tự do";
......@@ -2790,6 +2790,8 @@
"请滑动拼图到正确位置" = "Trượt ảnh vào đúng vị trí.";
"无" = "không có";
"预设档位" = "cài sẵn";
"廋脸" = "Gầy";
......@@ -2802,3 +2804,205 @@
"白牙" = "Răng";
"我的使者码:" = "Mã sứ giả của tôi:";
"邀请码" = "Mã mời";
"请输入邀请码" = "Vui lòng nhập mã mời";
"未开启麦克风权限,无法听到连麦用户的音频。开启麦克风权限可以体验完整连麦功能" = "Quyền micrô không được bật, do đó không thể nghe thấy âm thanh của người dùng được kết nối. Bật quyền micrô để trải nghiệm đầy đủ chức năng Guest-Mic";
"填写使者码" = "Điền mã tin nhắn";
"输入朋友的使者码" = "Nhập mã tin nhắn của bạn bè";
"输入使者码和好友联系更紧密" = "Nhập mã messenger để kết nối với bạn bè gần gũi hơn";
"输入使者码(选填)" = "Nhập mã tin nhắn (tùy chọn)";
"玩法中心" = "Gameplay Center";
"房间玩法" = "Room Gameplay";
"房间工具" = "Room Tools";
"主播工具" = "Broadcaster Tools";
"主播玩法" = "Broadcaster Gameplay";
"直播功能" = "Live Streaming";
"申请重新认定" = "Đăng ký cấp lại chứng nhận";
"申请重新认定成功" = "Đăng ký cấp lại chứng nhận đã thành công";
"你已加入对方的 _#{俱乐部}#_,解锁团员畅聊特权" = "Bạn đã tham gia _#{Câu lạc bộ}#_ của người dẫn chương trình, mở khóa đặc quyền trò chuyện miễn phí với các thành viên khác";
"对方已加入你的 _#{俱乐部}#_" = "Người ngược lại đã tham gia _#{Câu lạc bộ}#_ của bạn";
"邀请新玩家加入" = "Mời người chơi mới";
"使者获得" = "Sứ giả";
"族人获得" = "Người trong tộc";
"邀请玩家下载" = "Mời người chơi tải xuống";
"选择适合您的邀请方式" = "Chọn phương thức mời phù hợp với bạn";
"使者奖励" = "Phần thưởng của sứ giả";
"使者任务" = "Nhiệm vụ Emissary";
"社交媒体邀请" = "Lời mời trên mạng xã hội";
"网页链接邀请" = "Liên kết mời";
"QRCode邀请" = "Lời mời bằng mã QR";
"应用商店邀请" = "Lời mời từ App Store";
"直接点击邀请按钮发送到您常用的社交媒体" = "Nhấp vào nút mời để gửi đến phương tiện truyền thông xã hội yêu thích của bạn";
"以任何方式将下载网页链接传送给朋友" = "Gửi liên kết tải xuống cho bạn bè";
"将带有下载二维码的QRCode图传送给朋友" = "Gửi hình ảnh Mã QR có mã QR đã tải xuống cho bạn bè của bạn";
"告诉朋友前往应用商店搜寻“Fusi Live”" = "Bảo bạn bè của bạn vào cửa hàng ứng dụng và tìm kiếm 「Fusi Live」.";
"我的使者码" = "Mã Emissary của tôi";
"部分地区新玩家注册的时候需要填写邀请码以完成注册流程" = "Ở một số khu vực, người chơi mới cần điền mã lời mời để hoàn tất quá trình đăng ký.";
"邀请码已拷贝至剪贴板" = "Mã lời mời đã được sao chép vào bảng tạm";
"暂无奖励可领取" = "Chưa có phần thưởng nào khả dụng";
"我的族人" = "My Clansman";
"最近登入" = "Đăng nhập gần đây";
"拷贝网页链接" = "Sao chép liên kết";
"拷贝商店链接" = "Sao chép Liên kết Cửa hàng";
"保存QRCode" = "Lưu Mã QR";
"搜寻" = "tìm kiếm";
"商店地址" = "Địa chỉ cửa hàng";
"iOS应用商店:AppStore" = "Cửa hàng ứng dụng iOS: AppStore";
"Android应用商店:Googleplay" = "Cửa hàng Android: Google Play";
"发送邀请" = "Gửi lời mời";
"邀请链接" = "Liên kết mời";
"QRCode图片" = "Hình ảnh Mã QR";
"应用商店搜寻下载" = "Tải xuống trong App Store";
"选择您要使用的社交媒体,发送社交媒体邀请给新玩家。" = "Chọn phương tiện truyền thông xã hội mà bạn muốn sử dụng để gửi lời mời truyền thông xã hội đến người chơi mới.";
"拷贝您的专属邀请链接,发送链接给新玩家,访问网页可下载。" = "Sao chép liên kết mời duy nhất của bạn, gửi cho người chơi mới và truy cập trang web để tải xuống.";
"保存您的邀请QRCode图片,新玩家通过扫描QRCode可以下载" = "Lưu hình ảnh QRCode mời của bạn. Người chơi mới có thể tải xuống bằng cách quét QRCode.";
"告诉朋友前往自己手机熟悉的应用商店,并搜寻“Fusi Live” 关键词" = "Bảo bạn bè của bạn vào cửa hàng ứng dụng mà điện thoại của bạn quen thuộc và tìm kiếm từ khóa 「Fusi Live」";
"部分地区新玩家注册的时候需要填写邀请码才可以完成注册流程" = "Ở một số khu vực, người chơi mới cần điền mã mời để hoàn tất quy trình đăng ký.";
"扫码绑定您为使者" = "Quét QRCode để ràng buộc bạn với tư cách là Sứ giả";
"被邀请的好友在注册后,扫描您的使者码QRCode(或直接 输入使者码),即绑定成功!" = "Sau khi những người bạn được mời đăng ký, họ có thể quét Mã QR Emissary của bạn (hoặc nhập trực tiếp mã messenger) và việc liên kết sẽ thành công!";
"使者码" = "Mã Emissary";
"等候族人完成绑定" = "Đang chờ các thành viên trong gia tộc hoàn tất việc ràng buộc";
"活跃族人%@" = "Thành viên bang hội đang hoạt động%@";
"发送社交媒体邀请" = "Gửi lời mời trên mạng xã hội";
"发送网页链接邀请" = "Gửi liên kết mời";
"保存QRCode图片" = "Lưu hình ảnh QRCode";
"应用商店搜索下载" = "Tìm kiếm và tải xuống trong App Store";
"新玩家下载遇到问题?" = "Người chơi mới gặp sự cố khi tải xuống?";
"网页链接已拷贝至剪贴板" = "Liên kết web đã được sao chép vào bảng tạm của bạn";
"商店链接已拷贝至剪贴板" = "Liên kết cửa hàng đã sao chép vào bảng tạm";
"图片保存失败" = "Không lưu được hình ảnh";
"使者邀请QRCode图片已保存至相册" = "Hình ảnh Mã QR lời mời Emissary đã được lưu vào album";
"绑定您为使者" = "Liên kết bạn với tư cách là sứ giả";
"绑定您为使者遇到问题" = "Có sự cố khi ràng buộc emissary";
"领取使者奖励" = "Nhận phần thưởng Emissary";
"摄像头扫描使者码QRCode绑定" = "Quét mã QR bằng camera để ràng buộc";
"使者身份存续条件%@" = "Kondisi utusan %@";
"在APP—「我的」—「邀请有奖」—「右上角菜单」 -「绑定使者」扫描QRCode绑定您为使者" = "Trong ỨNG DỤNG - 「Của tôi」 - 「Phần thưởng mời」 - 「Menu trên cùng bên phải」 - 「Liên kết Emissary」, hãy quét Mã QR để liên kết bạn với tư cách là Emissary";
"使者码QRCode保存失败" = "Không lưu được Mã QR.";
"使者码QRCode保存成功" = "Mã QR của Emissary đã được lưu thành công";
"奖励" = "Phần thưởng";
"绑定使者" = "Binding Emissary";
"使者QRCode" = "Mã QR Emissary";
"客服咨询" = "Dịch vụ khách hàng";
"绑定使者码" = "Liên kết Mã Emissary";
"手动输入使者码" = "Nhập mã tin nhắn";
"从相册选取" = "Chọn từ album";
"扫描使者码QRCode图片完成绑定" = "Quét hình ảnh QRCode của Emissary để hoàn tất việc ràng buộc";
"请联系您的邀请人获取使者码" = "Vui lòng liên hệ với người mời của bạn để lấy mã emissary";
"摄像头扫描" = "Quét camera";
"内可绑定" = "có thể liên kết";
"未检测到二维码" = "Mã QR không được phát hiện";
"请输入使者码完成绑定" = "Vui lòng nhập Mã Emissary để hoàn tất quá trình ràng buộc";
"请输入使者码" = "Vui lòng nhập Mã Emissary";
"绑定" = "Bind";
"使者码不能为空" = "Mã Emissary không được để trống";
"绑定使者:" = "Liên kết Emissary:";
"获得族人奖励" = "Nhận phần thưởng Clansman";
"您所在的中国大陆地区无法使用Fusi" = "Fusi không khả dụng ở Trung Quốc đại lục nơi bạn đang ở";
"超过%@天" = "Hơn %@ ngày";
"您已成功绑定使者" = "Bạn đã ràng buộc sứ giả thành công";
"暂无数据" = "Dữ liệu trống";
"邀请有奖" = "Thưởng Lời mời";
"使者邀请" = "Lời mời của sứ giả";
......@@ -13,12 +13,12 @@
extern NSString *const FUSI_LANGUAGE_SYSTEM;
typedef NS_ENUM(NSInteger, FUSLanguageType) {
FUSLanguageTypeChinese = 0,
FUSLanguageTypeEnglish = 1,
FUSLanguageTypeChineseTranditional = 2,
FUSLanguageTypeChinese = 3,
FUSLanguageTypeThai = 4,
FUSLanguageTypeJanpanese = 5,
FUSLanguageTypeIndonesian = 6,
FUSLanguageTypeThai = 3,
FUSLanguageTypeJanpanese = 4,
FUSLanguageTypeIndonesian = 5,
FUSLanguageTypeArbic = 7,
FUSLanguageTypeVietnamese = 8,
};
......
......@@ -236,8 +236,6 @@ static NSString *const FUSArbicLangArea = @"1001";
return FUSLanguageTypeChinese;
}else if ([languageKey isEqualToString:FUSI_LANGUAGE_CHINESE_TRAD]){
return FUSLanguageTypeChineseTranditional;
}else if ([languageKey isEqualToString:FUSI_LANGUAGE_CHINESE]){
return FUSLanguageTypeChinese;
}else if ([languageKey isEqualToString:FUSI_LANGUAGE_ENGLISH]){
return FUSLanguageTypeEnglish;
}else if ([languageKey isEqualToString:FUSI_LANGUAGE_THAI]){//泰国
......
......@@ -7,12 +7,12 @@
<key>FUSChatCenterBundle.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>76</integer>
<integer>72</integer>
</dict>
<key>FUSChatCenterModule.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>73</integer>
<integer>78</integer>
</dict>
</dict>
</dict>
......
......@@ -7,7 +7,7 @@
<key>FUSShowRoomBundle.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>77</integer>
<integer>74</integer>
</dict>
<key>FUSShowRoomModule.xcscheme_^#shared#^_</key>
<dict>
......
......@@ -7,12 +7,12 @@
<key>FUSUserCenterModule.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>72</integer>
<integer>76</integer>
</dict>
<key>FUSUserCenterModuleBundle.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>74</integer>
<integer>73</integer>
</dict>
</dict>
</dict>
......
......@@ -7,7 +7,7 @@
import UIKit
class FFInviteRewardInviteFunctionHeader: UITableViewHeaderFooterView {
class FFInviteRewardInviteFunctionHeader: FUSBaseView {
enum FFInviteRewardCommonSectionHeaderType {
/// 邀请方式
......@@ -18,31 +18,32 @@ class FFInviteRewardInviteFunctionHeader: UITableViewHeaderFooterView {
case emisaaryTask
}
static public let cellID: String = "FFInviteRewardInviteFunctionHeader"
// static public let cellID: String = "FFInviteRewardInviteFunctionHeader"
static public let cellHeight: CGFloat = 44
override init(reuseIdentifier: String?) {
super.init(reuseIdentifier: reuseIdentifier)
makeUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// override init(reuseIdentifier: String?) {
// super.init(reuseIdentifier: reuseIdentifier)
// makeUI()
// }
//
// required init?(coder: NSCoder) {
// fatalError("init(coder:) has not been implemented")
// }
let titleLabel = UILabel()
let descLabel = UILabel()
let emissaryLineImageView = UIImageView(image: FUSUserCenterBunble.imageNamed("InviteReward_common_section_header_line"))
private func makeUI() {
override func makeUI() {
super.makeUI()
self.backgroundColor = .fus_appBG()
self.contentView.backgroundColor = .fus_appBG()
self.backgroundColor = .clear
// self.contentView.backgroundColor = .clear
let dotView = UIView()
dotView.backgroundColor = .fus_diamondBlue()
dotView.layer.cornerRadius = 3
self.contentView.addSubview(dotView)
self.addSubview(dotView)
dotView.snp.makeConstraints { make in
make.left.equalTo(22)
make.centerY.equalToSuperview()
......@@ -52,7 +53,7 @@ class FFInviteRewardInviteFunctionHeader: UITableViewHeaderFooterView {
titleLabel.font = .fus_themeMediumFont(18)
titleLabel.textColor = .black
titleLabel.text = .fus_localString("邀请玩家下载")
self.contentView.addSubview(titleLabel)
self.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(dotView.snp.right).offset(8)
make.centerY.equalToSuperview()
......@@ -62,16 +63,16 @@ class FFInviteRewardInviteFunctionHeader: UITableViewHeaderFooterView {
descLabel.font = .fus_themeFont(13)
descLabel.textColor = .fus_textColorMedium()
descLabel.text = .fus_localString("选择适合您的邀请方式") + ":"
self.contentView.addSubview(descLabel)
self.addSubview(descLabel)
descLabel.snp.makeConstraints { make in
make.left.equalTo(titleLabel.snp.right).offset(6)
make.bottom.equalTo(titleLabel.snp.bottom)
make.bottom.equalTo(titleLabel.snp.bottom).offset(-1)
}
// MARK: 这个东西有关于layout的报错,其实是没问题的,报错的原因是因为本身FFInviteRewardInviteFunctionHeader一开始的width为0,然后这里又规范了其宽度,所以冲突了,但是显示的时候,给FFInviteRewardInviteFunctionHeader指定了对的宽度后,就没问题了
emissaryLineImageView.isHidden = true
emissaryLineImageView.contentMode = .scaleAspectFit
self.contentView.addSubview(emissaryLineImageView)
self.addSubview(emissaryLineImageView)
emissaryLineImageView.snp.makeConstraints { make in
make.left.equalTo(titleLabel.snp.right).offset(7)
make.centerY.equalToSuperview()
......
......@@ -168,8 +168,13 @@ class FFInviteRewardMyClansmanCell: UITableViewCell {
// 只有一个的时候,包裹下半部分,因为上半部分有header了
self.bgView.fus_addInviteCellShadow(currentRow: 3, maxRowCount: 4)
}else {
if currentRow == 0 {
// 有多个,但是第一个的时候,上面有header了,所以归类为中间的cell
self.bgView.fus_addInviteCellShadow(currentRow: 1, maxRowCount: 4)
}else {
self.bgView.fus_addInviteCellShadow(currentRow: currentRow, maxRowCount: maxRowCount)
}
}
if maxRowCount <= 1 || currentRow == maxRowCount - 1 {
self.lineView.isHidden = true
}
......@@ -182,7 +187,7 @@ extension FUSInviteDataMyselfDauGetListDataModel{
// 当前年月日
let component = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute], from: .init())
let currentYear = component.year ?? 0
// let currentYear = component.year ?? 0
//2025-02-17 12:36:40
// 目标年月日
......@@ -191,9 +196,9 @@ extension FUSInviteDataMyselfDauGetListDataModel{
let lastLoginDate = df.date(from: self.lastLogTimeStr)
guard let lastLoginDate = lastLoginDate else { return nil }
let msgComponent = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute], from: lastLoginDate)
let msgYear = msgComponent.year ?? 0
let msgMonth = msgComponent.month ?? 0
let msgDay = msgComponent.day ?? 0
// let msgYear = msgComponent.year ?? 0
// let msgMonth = msgComponent.month ?? 0
// let msgDay = msgComponent.day ?? 0
// 差值
let betweenTime = -lastLoginDate.timeIntervalSinceNow
......
......@@ -34,7 +34,7 @@ class FFInviteRewardMyHeaderCell: UITableViewCell {
var clickedHandler: ((_ type: FFInviteRewardMyHeaderCellClickedType) -> Void)?
static public let cellID: String = "FFInviteRewardMyHeaderCell"
static public let cellHeight: CGFloat = 236
static public let cellHeight: CGFloat = 236 + 6
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
......@@ -73,7 +73,8 @@ class FFInviteRewardMyHeaderCell: UITableViewCell {
self.contentView.addSubview(bgView)
bgView.snp.makeConstraints { make in
make.left.right.equalToSuperview().inset(18)
make.top.bottom.equalToSuperview()
make.top.equalToSuperview()
make.bottom.equalToSuperview().offset(-6)
}
bgView.addSubview(charBgBtn)
......
......@@ -216,53 +216,63 @@ extension UIView {
self.layer.shadowRadius = 6.5
}
/// 添加邀请卡片的圆角,注意,会去掉所有的 CAShapeLayer
func fus_addInviteCellShadow(currentRow: Int, maxRowCount: Int){
return
// 去掉原来的
layer.sublayers?.filter { $0 is CAShapeLayer && $0 != layer.mask }.forEach { $0.removeFromSuperlayer() }
// 圆角角度
let radius = 9
self.layer.removeAllSublayers()
let radius: CGFloat = 9
// 创建两个layer
let normalLayer = CAShapeLayer()
let selectLayer = CAShapeLayer()
let shadowlayer = CAShapeLayer()
let maskLayer = CAShapeLayer()
var bezierPath:UIBezierPath
var shadowBezierPath:UIBezierPath
var maskBezierPath:UIBezierPath
if maxRowCount <= 1 {
// 只有一个
bezierPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.topLeft,.topRight, .bottomLeft, .bottomRight], cornerRadii: CGSize(width: radius, height: radius))
shadowBezierPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.topLeft,.topRight, .bottomLeft, .bottomRight], cornerRadii: CGSize(width: radius, height: radius))
maskBezierPath = UIBezierPath(rect: CGRectMake(-radius, -radius, bounds.width + radius*2, bounds.height + radius*2))
}else {
if currentRow == 0 {
// 第一个
bezierPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: radius, height: radius))
shadowBezierPath = UIBezierPath(roundedRect: CGRectMake(0, 0, bounds.width, bounds.height + radius), byRoundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: radius, height: radius))
maskBezierPath = UIBezierPath(rect: CGRectMake(-radius, -radius, bounds.width + radius*2, bounds.height + radius))
}
else if currentRow == maxRowCount - 1 {
// 最后一个
bezierPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.bottomLeft, .bottomRight], cornerRadii: CGSize(width: radius, height: radius))
shadowBezierPath = UIBezierPath(roundedRect: CGRectMake(0, -radius, bounds.width, bounds.height + radius), byRoundingCorners: [.bottomLeft,.bottomRight], cornerRadii: CGSize(width: radius, height: radius))
maskBezierPath = UIBezierPath(rect: CGRectMake(-radius, 0, bounds.width + radius*2, bounds.height + radius))
}else {
// 都不是,则不设置圆角
bezierPath = UIBezierPath(rect: self.bounds)
shadowBezierPath = UIBezierPath(rect: CGRectMake(0, -radius, bounds.width, bounds.height + radius*2))
maskBezierPath = UIBezierPath(rect: CGRectMake(-radius, 0, bounds.width + radius*2, bounds.height))
}
}
// 阴影
normalLayer.shadowColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1).cgColor
normalLayer.shadowOpacity = 1
normalLayer.shadowOffset = CGSize(width: 0, height: 0)
normalLayer.path = bezierPath.cgPath
normalLayer.shadowPath = bezierPath.cgPath
shadowlayer.shadowColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1).cgColor
shadowlayer.shadowOpacity = 1
shadowlayer.shadowOffset = CGSize(width: 0, height: 0)
shadowlayer.path = shadowBezierPath.cgPath
shadowlayer.fillColor = UIColor.white.cgColor
// normalLayer.path = bezierPath.cgPath
// normalLayer.shadowPath = bezierPath.cgPath
// 把已经绘制好的贝塞尔曲线路径赋值给图层,然后图层根据path进行图像渲染render
normalLayer.path = bezierPath.cgPath
selectLayer.path = bezierPath.cgPath
maskLayer.path = maskBezierPath.cgPath
// 设置填充颜色
normalLayer.fillColor = UIColor.white.cgColor
// normalLayer.fillColor = UIColor.white.cgColor
// 添加图层到nomarBgView中
self.layer .insertSublayer(normalLayer, at: 0)
self.layer.insertSublayer(shadowlayer, at: 0)
self.layer.mask = maskLayer
}
......
......@@ -35,7 +35,7 @@ class FFInviteRewardInviteView: FFInviteRewardBaseView {
tableView.delegate = self
tableView.dataSource = self
tableView.register(FFInviteRewardInvitePlanCell.self, forCellReuseIdentifier: FFInviteRewardInvitePlanCell.cellID)
tableView.register(FFInviteRewardInviteFunctionHeader.self, forHeaderFooterViewReuseIdentifier: FFInviteRewardInviteFunctionHeader.cellID)
// tableView.register(FFInviteRewardInviteFunctionHeader.self, forHeaderFooterViewReuseIdentifier: FFInviteRewardInviteFunctionHeader.cellID)
tableView.register(FFInviteRewardInviteFunctionCell.self, forCellReuseIdentifier: FFInviteRewardInviteFunctionCell.cellID)
tableView.register(FFInviteRewardInviteCodeCell.self, forCellReuseIdentifier: FFInviteRewardInviteCodeCell.cellID)
self.addSubview(tableView)
......@@ -177,11 +177,14 @@ extension FFInviteRewardInviteView: UITableViewDelegate, UITableViewDataSource{
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if sectionTypesList[section] == .inviteFunction{
if let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: FFInviteRewardInviteFunctionHeader.cellID) as? FFInviteRewardInviteFunctionHeader {
// if let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: FFInviteRewardInviteFunctionHeader.cellID) as? FFInviteRewardInviteFunctionHeader {
// header.ff_setHeaderType(type: .inviteFunction)
// return header
// }
let header = FFInviteRewardInviteFunctionHeader(frame: CGRectMake(0, 0, UIView.fus_screenW(), FFInviteRewardInviteFunctionHeader.cellHeight))
header.ff_setHeaderType(type: .inviteFunction)
return header
}
}
return .init()
}
}
......@@ -45,7 +45,7 @@ class FFInviteRewardTaskView: FFInviteRewardBaseView {
tableView.showsHorizontalScrollIndicator = false
tableView.delegate = self
tableView.dataSource = self
tableView.register(FFInviteRewardInviteFunctionHeader.self, forHeaderFooterViewReuseIdentifier: FFInviteRewardInviteFunctionHeader.cellID)
// tableView.register(FFInviteRewardInviteFunctionHeader.self, forHeaderFooterViewReuseIdentifier: FFInviteRewardInviteFunctionHeader.cellID)
tableView.register(FFInviteRewardTaskCommonCell.self, forCellReuseIdentifier: FFInviteRewardTaskCommonCell.cellID)
self.addSubview(tableView)
tableView.snp.makeConstraints { make in
......@@ -183,7 +183,15 @@ extension FFInviteRewardTaskView: UITableViewDelegate, UITableViewDataSource{
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if section == 0{
if let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: FFInviteRewardInviteFunctionHeader.cellID) as? FFInviteRewardInviteFunctionHeader {
// if let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: FFInviteRewardInviteFunctionHeader.cellID) as? FFInviteRewardInviteFunctionHeader {
// if self.viewType == .reward{
// header.ff_setHeaderType(type: .emissaryReward)
// }else {
// header.ff_setHeaderType(type: .emisaaryTask)
// }
// return header
// }
let header = FFInviteRewardInviteFunctionHeader(frame: CGRectMake(0, 0, UIView.fus_screenW(), FFInviteRewardInviteFunctionHeader.cellHeight))
if self.viewType == .reward{
header.ff_setHeaderType(type: .emissaryReward)
}else {
......@@ -191,7 +199,6 @@ extension FFInviteRewardTaskView: UITableViewDelegate, UITableViewDataSource{
}
return header
}
}
return .init()
}
}
......@@ -399,7 +399,7 @@
<key>SSZipArchive.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>78</integer>
<integer>77</integer>
</dict>
<key>SnapKit-SnapKit_Privacy.xcscheme</key>
<dict>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment