import { useI18n } from "vue-i18n";
const i18n = useI18n()
how I can use it in folder router in index.ts file to translate for example :pageTitle: "title",
breadcrumbs: ["bread"],
I have tried a lot but to no avail
Metronic demo 8 version 8.1.7
node v18.12.0
npm 9.1.2
Thanks
Experience Dubai’s rich heritage with our specialized cultural tours! Our tourism company offers immersive journeys through historic sites, vibrant souks, and iconic landmarks, showcasing the true essence of Dubai.
Experience the best in water purification with our water purification plant! Aquafiltrum delivers cutting-edge purification systems for both commercial and industrial purposes.
Looking to elevate your style with dress shirts for men.Made from premium fabrics. Cotton blend dress shirts in Pakistan are versatile and stylish. They combine the comfort of cotton with durability and wrinkle-resistance. The fabric is a blend of cotton and synthetic fibers like polyester or elastane. It has a classic design with a pointed collar, button-down front, and long sleeves. These shirts are available in various colors and patterns. They offer breathability, stretch, and easy care. They are machine washable and require minimal ironing. Available in different sizes, they have reinforced stitching and adjustable cuffs.
With our Botox migraine treatment, you can experience long-lasting relief from chronic headaches. Our approach focuses on personalized care to ensure the best outcomes for each individual.
Ensure your future prospects shine bright with our meticulous degree certificate attestation in UAE, guaranteeing credibility across borders.
const pageTitle = computed(() => {
return t(route.meta.pageTitle as string);
});
const breadcrumbs = computed(() => {
return t(route.meta.breadcrumbs as string);
});
iq test
Hi Hosam Nouri,
You can use here a different approach, instead of translating these properties inside index.ts you can set the keys and then inside PageTitle.vue you can display translation values.
Here is an example.
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const pageTitle = computed(() => {
return t(route.meta.pageTitle as string);
});
Sorry but not working
I will explain to you
In my route file i have like this : {
path: "/iphone",
name: "iphone",
component: () => import("@/views/device/iphones/iphone.vue"),
meta: {
pageTitle: "iphone",
breadcrumbs: ["samsung"],
},
},
What I want is a translation value of pageTitle Its value here is equal " iphone "
so how I can do this
Please explain to me
Hi Hosam Nouri,
You can translate this value using t function which you get form useI18n().
import { useI18n } from "vue-i18n";
const { t } = useI18n();
Yes I did ,
I added the key into i18n.ts , not working
I useed this way in my all components and its working very well ,
but the issue when i want use it in route.ts{
path: "/iphone",
name: "iphone",
component: () => import("@/views/device/iphones/iphone.vue"),
meta: {
pageTitle: "iphone",
breadcrumbs: ["samsung"],
},
},
What I want is a translation value of pageTitle Its value here is equal " iphone "
Hi Hosam Nouri,
If you want to translate these values inside index.ts you can refer to this comment.
https://github.com/intlify/vue-i18n-next/discussions/613#discussioncomment-2265983
I would suggest you instead of translating values inside the router file translate them inside components whenever you are using the page title.
Regards,
Lauris Stepanovs,
Keenthemes Support Team
How I can translate them inside components ,
How can I access the router file from the component ?
Hi Hosam Nouri,
You can use the code from my first comment.
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const pageTitle = computed(() => {
return t(route.meta.pageTitle as string);
});
<div ...>{t(pageTitle)}</div>
The thing I want is in the pageTitle.vueconst pageTitle = computed(() => {
return t(route.meta.pageTitle as string);
});
const breadcrumbs = computed(() => {
return t(route.meta.breadcrumbs as string);
});
Thanks ...
Hi Hosam Nouri,
Glad to hear that it worked for you. All the best with your project!
Regards,
Lauris Stepanovs,
Keenthemes Support Team