1
0

Layout.vue 701 B

1234567891011121314151617181920212223242526272829303132333435
  1. <script setup>
  2. import DefaultTheme from 'vitepress/theme'
  3. import {useData, useRoute, useRouter} from 'vitepress'
  4. import {onMounted} from 'vue'
  5. import locales from '../config/locales'
  6. const {Layout} = DefaultTheme
  7. const {lang} = useData()
  8. const route = useRoute()
  9. const router = useRouter()
  10. onMounted(async () => {
  11. const language = (
  12. navigator.language
  13. ).replaceAll('-', '_')
  14. if (lang.value === 'en'
  15. && locales[language]
  16. && !route.path.includes(language)
  17. ) {
  18. const endWith = import.meta.env.DEV ? '/' : ''
  19. await router.go(language + (route.path !== '/' ? route.path : endWith))
  20. }
  21. })
  22. </script>
  23. <template>
  24. <Layout/>
  25. </template>
  26. <style scoped lang="less">
  27. </style>