chore(cp排行榜): 补充翻译

This commit is contained in:
hzj 2026-01-20 14:41:06 +08:00
parent 938e83d37f
commit a2cf5c07c7
6 changed files with 127 additions and 41 deletions

View File

@ -444,5 +444,24 @@
"exchange_failed_coins": "فشل التبادل لـ {amount} عملة، يرجى المحاولة لاحقاً.",
"barrage_won_prize": "فاز {nickname} بـ {prizeName}",
"barrage_won_the_prize": "فاز {nickname} بـ {prizeName}"
"barrage_won_the_prize": "فاز {nickname} بـ {prizeName}",
"sign_in_received": "تم الاستلام",
"sign_in_free": "مجاناً",
"sign_in_make_up": "تعويض",
"no_relationship": "أنت غير متزوج حاليًا.",
"go_add_cp": "اذهب وأضف شريك",
"my_couple": "زوجي/زوجتي",
"send_love_letter": "إرسال رسالة حب",
"no_couples": "لا يوجد أزواج حاليًا.",
"love_letter_placeholder": "الرجاء إدخال ما تريد كتابته...",
"publish_love_letter": "هل تريد نشر محتوى رسالتك الحميمة؟",
"love_letter_title": "رسالة الحب",
"spend_5000_coins_confess": "هل أنت متأكد أنك تريد إنفاق 5000 عملة للإعتراف بمشاعرك لها؟",
"insufficient_wallet_balance": "رصيد المحفظة غير كافٍ،",
"consecutive_check_in_reward": "مكافأة تسجيل الدخول المتتالية",
"check_in_successful": "تم تسجيل الدخول بنجاح.",
"you_get": "لقد حصلت على",
"not_enough_pieces": "ليس لديك قطع كافية"
}

View File

@ -444,5 +444,24 @@
"exchange_failed_coins": "Exchange failed for {amount} coins, please try again later.",
"barrage_won_prize": "{nickname} won {prizeName}",
"barrage_won_the_prize": "{nickname} won the {prizeName}"
"barrage_won_the_prize": "{nickname} won the {prizeName}",
"sign_in_received": "Received",
"sign_in_free": "Free",
"sign_in_make_up": "Make-up",
"no_relationship": "You are currently not in a relationship.",
"go_add_cp": "Go add CP",
"my_couple": "My Couple",
"send_love_letter": "Send a letter of love",
"no_couples": "There are currently no couples.",
"love_letter_placeholder": "Please enter what you want to write...",
"publish_love_letter": "Do you need to publish the contents of your love letter?",
"love_letter_title": "Love letter",
"spend_5000_coins_confess": "Are you sure you want to spend 5000 coins to confess your feelings to her?",
"insufficient_wallet_balance": "Insufficient wallet balance,",
"consecutive_check_in_reward": "Consecutive Check-in Reward",
"check_in_successful": "Check-in successful.",
"you_get": "You Get",
"not_enough_pieces": "You don't have enough pieces"
}

View File

@ -444,5 +444,24 @@
"exchange_failed_coins": "兑换 {amount} 金币失败,请稍后重试。",
"barrage_won_prize": "{nickname} 赢得了 {prizeName}",
"barrage_won_the_prize": "{nickname} 赢得了 {prizeName}"
"barrage_won_the_prize": "{nickname} 赢得了 {prizeName}",
"sign_in_received": "已领取",
"sign_in_free": "免费",
"sign_in_make_up": "补签",
"no_relationship": "您目前还没有情侣。",
"go_add_cp": "去添加CP",
"my_couple": "我的情侣",
"send_love_letter": "发送情书",
"no_couples": "目前还没有情侣。",
"love_letter_placeholder": "请输入您想写的内容...",
"publish_love_letter": "需要公开情书内容吗?",
"love_letter_title": "情书",
"spend_5000_coins_confess": "您确定要花费5000金币向她表白吗",
"insufficient_wallet_balance": "钱包余额不足,",
"consecutive_check_in_reward": "连续签到奖励",
"check_in_successful": "签到成功。",
"you_get": "您获得了",
"not_enough_pieces": "您没有足够的碎片"
}

View File

@ -24,7 +24,8 @@
/>
</div>
<div style="height: 17%; display: flex; justify-content: center; align-items: center">
<!-- 兑换条件 -->
<div class="conditions">
<div style="font-size: 0.8em; font-weight: 600; color: #fff" @click="exchangeGoods(item)">
*{{
formatRewardDisplay(
@ -177,4 +178,15 @@ onMounted(() => {
})
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
.conditions {
height: 17%;
display: flex;
justify-content: center;
align-items: center;
}
[dir='rtl'] .conditions {
flex-direction: row-reverse;
}
</style>

View File

@ -67,7 +67,7 @@
font-weight: 600;
"
>
Received
{{ t('sign_in_received') }}
</div>
<div
v-else
@ -87,7 +87,7 @@
style="width: 1.3em; min-width: 0; display: block; object-fit: cover"
/>
<div style="font-size: 0.8em; color: #ff79a1; font-weight: 600">
{{ rewards.isPaid ? rewards.paidCost : 'Free' }}
{{ rewards.isPaid ? rewards.paidCost : t('sign_in_free') }}
</div>
</div>
</div>
@ -110,7 +110,7 @@
:imgUrl="imageUrl('makeUpBtBg')"
:contentStyle="`inset: 0;flex-direction: column;`"
>
<div style="color: #ff79a1; font-weight: 600">Make-up</div>
<div style="color: #ff79a1; font-weight: 600">{{ t('sign_in_make_up') }}</div>
<div style="display: flex; justify-content: center; align-items: center">
<img
v-smart-img
@ -133,6 +133,7 @@ import { useLangStore } from '@/stores/lang'
import { useI18n } from 'vue-i18n'
import { getPngUrl } from '@/config/imagePaths.js'
import { useCoupleStore } from '@/stores/couple'
import { showError, showSuccess } from '@/utils/toast.js'
import { storeToRefs } from 'pinia'
import { formatRewardDisplay } from '@/utils/rewardFormatter.js'

View File

@ -297,7 +297,7 @@
"
>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">
You are currently not in a relationship.
{{ t('no_relationship') }}
</div>
<div
style="
@ -309,7 +309,7 @@
"
@click="viewUserInfo(getUserId())"
>
Go add CP
{{ t('go_add_cp') }}
</div>
</div>
</div>
@ -342,7 +342,7 @@
<div
style="margin: 0; font-size: 1.2em; font-weight: 600; color: #fff; margin-bottom: 4vw"
>
My Couple
{{ t('my_couple') }}
</div>
<!-- 有伴侣 -->
@ -419,7 +419,7 @@
:disabled="!selectedCouple.account"
@click="showPopup('writeLetter')"
>
Send a letter of love
{{ t('send_love_letter') }}
</button>
</div>
@ -435,7 +435,7 @@
style="width: 50%; display: block"
/>
<p style="color: rgba(0, 0, 0, 0.4); font-size: 1em; font-weight: 700">
There are currently no couples.
{{ t('no_couples') }}
</p>
</div>
</div>
@ -465,7 +465,7 @@
<textarea
v-model="writeLetterText"
@input="updateLetterText"
placeholder="Please enter what you want to write..."
:placeholder="t('love_letter_placeholder')"
maxlength="80"
style="
width: 100%;
@ -534,7 +534,7 @@
font-weight: 500;
"
>
Do you need to publish the contents of your love letter?
{{ t('publish_love_letter') }}
</div>
</div>
@ -596,11 +596,13 @@
@click.stop
>
<!-- 标题 -->
<h3 style="color: rgba(0, 0, 0, 0.8); font-size: 1.1em; font-weight: 700">Love letter</h3>
<h3 style="color: rgba(0, 0, 0, 0.8); font-size: 1.1em; font-weight: 700">
{{ t('love_letter_title') }}
</h3>
<!-- 内容 -->
<div style="color: rgba(0, 0, 0, 0.4); font-size: 0.8em; font-weight: 500">
Are you sure you want to spend 5000 coins to confess your feelings to her?
{{ t('spend_5000_coins_confess') }}
</div>
<!-- 按钮 -->
@ -665,7 +667,7 @@
"
>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">
Insufficient wallet balance,
{{ t('insufficient_wallet_balance') }}
</div>
<div
style="
@ -677,7 +679,7 @@
"
@click="gotoRecharge"
>
Recharge now
{{ t('recharge_now') }}
</div>
</div>
</div>
@ -703,7 +705,7 @@
"
>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">
Consecutive Check-in Reward
{{ t('consecutive_check_in_reward') }}
</div>
</div>
</div>
@ -728,7 +730,9 @@
backdrop-filter: blur(32px);
"
>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">Check-in successful.</div>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">
{{ t('check_in_successful') }}
</div>
</div>
</div>
@ -840,6 +844,7 @@
>
<img
v-smart-img
class="flipImg"
v-show="result.length > 1 && resultShowIndex > 0"
:src="imageUrl('resultBack')"
alt=""
@ -868,6 +873,7 @@
>
<img
v-smart-img
class="flipImg"
v-show="result.length > 1 && resultShowIndex + 1 < result.length"
:src="imageUrl('resultNext')"
alt=""
@ -890,24 +896,8 @@
color: #ff79a1;
"
>
You Get {{ result[resultShowIndex]?.prize?.prizeName }}
<div
v-if="result.length > 1"
style="
position: absolute;
z-index: 9999;
inset: 0;
padding-right: 8%;
display: flex;
justify-content: flex-end;
align-items: center;
font-size: 0.8em;
font-weight: 590;
color: #ff79a1;
"
>
{{ t('you_get') }} {{ result[resultShowIndex]?.prize?.prizeName }}
<div v-if="result.length > 1" class="resultNum">
{{ resultShowIndex + 1 }} / {{ result.length }}
</div>
</div>
@ -1095,7 +1085,9 @@
@click.stop
>
<!-- 标题 -->
<h3 style="color: rgba(0, 0, 0, 0.8); font-size: 1.1em; font-weight: 700">Love letter</h3>
<h3 style="color: rgba(0, 0, 0, 0.8); font-size: 1.1em; font-weight: 700">
{{ t('love_letter_title') }}
</h3>
<!-- 内容 -->
<div style="color: rgba(0, 0, 0, 0.4); font-size: 0.8em; font-weight: 500">
@ -1242,7 +1234,7 @@
"
>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">
You don't have enough pieces
{{ t('not_enough_pieces') }}
</div>
</div>
</div>
@ -1810,6 +1802,21 @@ textarea::placeholder {
display: none;
}
.resultNum {
position: absolute;
z-index: 9999;
inset: 0;
padding-right: 8%;
display: flex;
justify-content: flex-end;
align-items: center;
font-size: 0.8em;
font-weight: 590;
color: #ff79a1;
}
@media screen and (max-width: 360px) {
* {
font-size: 10px;
@ -1833,4 +1840,13 @@ textarea::placeholder {
font-size: 32px;
}
}
[dir='rtl'] .flipImg {
transform: scaleX(-1);
}
[dir='rtl'] .resultNum {
direction: ltr;
justify-content: flex-start;
}
</style>