Reputation: 92
Normally, I can replace translated values in codes like this-
<p>{{ $t('greeting') }}</p>
but it's not working in vue2 inputs-
<dropdown
:items="filteredCityList"
ref="city"
itemText="persianName"
:placeholder="{{$t('SearchCityAndHotel')}}"
@onSelect="onSelectCity"
>
</dropdown>
Even I tried this-
<dropdown
:items="filteredCityList"
ref="city"
itemText="persianName"
:placeholder="$t('SearchCityAndHotel')"
@onSelect="onSelectCity"
>
</dropdown>
Upvotes: 1
Views: 2333
Reputation: 27212
Your second try should work fine, Here is the working demo. Please do have a look and try to find the root cause of the issue you are facing.
const messages = {
jp: {
SearchCityAndHotel: 'XXXXX XXXX XXX XXXXX'
},
en: {
SearchCityAndHotel: 'Search City And Hotel'
}
}
const i18n = new VueI18n({
locale: "en",
messages
});
new Vue({
el: '#app',
i18n
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://unpkg.com/[email protected]/dist/vue-i18n.min.js"></script>
<div id="app">
<input type="text" :placeholder="$t('SearchCityAndHotel')"/>
</div>
Upvotes: 3