feat:国际化多语言适配

This commit is contained in:
2025-10-29 15:48:40 +08:00
parent 985d739324
commit 3d67dc928d
41 changed files with 2636 additions and 2801 deletions
+20 -15
View File
@@ -14,23 +14,23 @@
@click="$emit('select', item)">
<view class="position-info">
<view class="position-name">{{ item.name }}</view>
<view class="tag-row">
<view class="status-tag rent" v-if="isRentable(item)"><text>可租借</text></view>
<view class="status-tag return" v-if="isReturnable(item)"><text>可归还</text></view>
</view>
<view class="position-time" v-if="item.workTime && item.workTime !== '0'"><text>营业时间{{ item.workTime }}</text>
</view>
</view>
<view class="position-actions">
<view class="distance-info" v-if="item.distance"><text>{{ item.distance }}</text></view>
<view class="nav-btn" @click.stop="$emit('navigate', item)"><text>导航</text></view>
<view class="tag-row">
<view class="status-tag rent" v-if="isRentable(item)"><text>{{ $t('location.rent') }}</text></view>
<view class="status-tag return" v-if="isReturnable(item)"><text>{{ $t('location.return') }}</text></view>
</view>
<view class="position-time" v-if="item.workTime && item.workTime !== '0'"><text>{{ $t('location.businessHours') }}{{ item.workTime }}</text>
</view>
</view>
<view class="position-actions">
<view class="distance-info" v-if="item.distance"><text>{{ item.distance }}</text></view>
<view class="nav-btn" @click.stop="$emit('navigate', item)"><text>{{ $t('location.navigate') }}</text></view>
</view>
</view>
<view class="empty-state" v-if="!isLoading && (!positions || positions.length === 0)">
<image class="empty-icon" src="/static/scan-icon.png" mode="aspectFit" />
<text class="empty-text">附近暂无设备</text>
</view>
<view class="empty-state" v-if="!isLoading && (!positions || positions.length === 0)">
<image class="empty-icon" src="/static/scan-icon.png" mode="aspectFit" />
<text class="empty-text">{{ $t('home.noNearbyDevice') }}</text>
</view>
</view>
</view>
</view>
@@ -39,12 +39,17 @@
<script setup>
import { computed } from 'vue'
import { getCurrentInstance } from 'vue'
const instance = getCurrentInstance()
const $t = instance?.proxy?.$t || ((key) => key)
const props = defineProps({
show: { type: Boolean, default: false },
expanded: { type: Boolean, default: false },
positions: { type: Array, default: () => [] },
isLoading: { type: Boolean, default: false },
title: { type: String, default: '附近设备场地' }
title: { type: String, default: '' }
})
const isRentable = (item) => {