Layout.vue 623 B

12345678910111213141516171819202122232425262728293031323334
  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. await router.go(language + '/' + route.path)
  19. }
  20. })
  21. </script>
  22. <template>
  23. <Layout/>
  24. </template>
  25. <style scoped lang="less">
  26. </style>