Merge pull request #2299 from CKGrafico/better-links

Update i18n example with better links
This commit is contained in:
Sébastien Chopin 2017-12-01 16:35:07 +01:00 committed by GitHub
commit 32e67c7481
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 9 deletions

View File

@ -4,10 +4,10 @@
<div class="container"> <div class="container">
<h1 class="Header__Title">Nuxt i18n</h1> <h1 class="Header__Title">Nuxt i18n</h1>
<nav class="Header__Menu"> <nav class="Header__Menu">
<nuxt-link class="Header__Link" :to="path('/')" exact> <nuxt-link class="Header__Link" :to="$i18n.path('')" exact>
{{ $t('links.home') }} {{ $t('links.home') }}
</nuxt-link> </nuxt-link>
<nuxt-link class="Header__Link" :to="path('/about')" exact> <nuxt-link class="Header__Link" :to="$i18n.path('about')" exact>
{{ $t('links.about') }} {{ $t('links.about') }}
</nuxt-link> </nuxt-link>
<nuxt-link class="Header__Link" v-if="$i18n.locale === 'en'" :to="`/fr` + $route.fullPath" active-class="none" exact> <nuxt-link class="Header__Link" v-if="$i18n.locale === 'en'" :to="`/fr` + $route.fullPath" active-class="none" exact>
@ -24,13 +24,7 @@
</template> </template>
<script> <script>
export default { export default {}
methods: {
path(url) {
return (this.$i18n.locale === 'en' ? url : '/' + this.$i18n.locale + url)
}
}
}
</script> </script>
<style> <style>

View File

@ -14,4 +14,12 @@ export default ({ app, store }) => {
'fr': require('~/locales/fr.json') 'fr': require('~/locales/fr.json')
} }
}) })
app.i18n.path = (link) => {
if (app.i18n.locale === app.i18n.fallbackLocale) {
return `/${link}`
}
return `/${app.i18n.locale}/${link}`
}
} }