卖家端多语言

This commit is contained in:
李志鹏
2026-05-04 11:18:56 +08:00
parent 596bc75b83
commit b3d9bce440
10 changed files with 262 additions and 93 deletions

View File

@@ -16,28 +16,28 @@
<div class="title">{{ data.title }}</div>
<div class="right flex">
<div v-if="coverOrigin.length > 1" class="origin-container flex align-center">
<span>Crop from: </span>
<span>{{ $t("Seller.cropFrom") }}</span>
<div class="origin-select flex align-center">
<div
class="origin-item sketch"
:class="{ selected: currentOrigin === 'sketch' }"
@click="handleChangeOrigin('sketch')"
>
Sketch
{{ $t("Seller.sketch") }}
</div>
<div
class="origin-item product"
:class="{ selected: currentOrigin === 'mainProducImage' }"
@click="handleChangeOrigin('mainProductImage')"
>
Main product image
{{ $t("Seller.mainProductImage") }}
</div>
</div>
</div>
<div class="submit" v-if="!data.isPreview" @click="onSubmit">
<svg-icon name="seller-dui" size="24" />
</div>
<button @click="onCancel">Cancel</button>
<button @click="onCancel">{{ $t("Seller.cancel") }}</button>
</div>
</div>
<div class="content" :class="{ 'is-product': data.isProduct }">
@@ -64,7 +64,7 @@
>
<div class="title">
<span class="icon"><svg-icon name="seller-preview" size="24" /></span>
<span class="label">Crop Preview</span>
<span class="label">{{ $t("Seller.cropPreview") }}</span>
</div>
<div class="preview-image">
<img :src="data.preview_url" />
@@ -81,6 +81,10 @@
<script setup>
import { ref, reactive, computed } from "vue"
import ImageClip from "./image-clip.vue"
import { useI18n } from "vue-i18n"
const { t } = useI18n()
const props = defineProps({
type: {
@@ -95,16 +99,16 @@ const props = defineProps({
const tips = computed(() => {
if (props.type === "cover") {
return "Align crown to top, mid-thigh to bottom for best results."
return t("Seller.imageClipCoverTip")
}
if (props.type === "mainProductImage") {
return "Align crown to top, foot base to bottom for best results."
return t("Seller.imageClipMainProductImageTip")
}
if (props.type === "sketch") {
return "Align crown to top, foot base to bottom for best results."
return t("Seller.imageClipSketchTip")
}
if (props.type === "apparel") {
return "Trim whitespace and center your apparel sketch."
return t("Seller.imageClipApparelTip")
}
})