Files
vue-ts-example/src/pages/i18n.page.vue
严浩 1f2911c096
All checks were successful
/ depcheck (push) Successful in 2m38s
/ build-and-deploy-to-vercel (push) Successful in 2m21s
/ surge (push) Successful in 2m33s
/ playwright (push) Successful in 3m21s
feat: update ESLint configuration and package dependencies, add Ant Design Vue
2025-02-27 12:28:58 +08:00

55 lines
1.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- https://github.com/intlify/vue-i18n/blob/master/examples/type-safe/type-annotation/src/components/en-US.json -->
<i18n lang="json">
{
"en": {
"unplugin-hello": "Hello, unplugin-vue-i18n!"
},
"zh": {
"unplugin-hello": "你好unplugin-vue-i18n"
}
}
</i18n>
<script setup lang="ts">
const { t } = useI18n({
inheritLocale: true,
useScope: 'local',
});
</script>
<template>
<div class="i18nComp">
<div><span class="label">$i18n.availableLocales</span>: {{ $i18n.availableLocales }}</div>
<p><span class="label">$t('message.hello')</span>: {{ $t('message.hello') }}</p>
<p>
<span class="label">t('unplugin-hello')</span>: {{ t('unplugin-hello') }}
<b>这个定义在i18n lang="json"</b>
</p>
<p>
<span class="label">t('message.greeting')</span>: {{ t('message.greeting') }}
<b>这个在i18n lang="json"没有会fallback到全局的</b>
</p>
<form>
<label for="locale">Change locale:</label>
<select id="locale" v-model="$i18n.locale">
<option v-for="locale in $i18n.availableLocales" :key="locale" :value="locale">{{ locale }}</option>
</select>
<p>$i18n.locale: {{ $i18n.locale }}</p>
</form>
</div>
</template>
<style>
.i18nComp .label,
.i18nComp label {
color: #2c3e50;
font-weight: bold;
background-color: #f8f9fa;
padding: 2px 6px;
border-radius: 4px;
font-family: monospace;
}
</style>