SetLanguage.vue 814 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <script setup lang="ts">
  2. import gettext from '@/gettext'
  3. import {ref, watch} from 'vue'
  4. import {useSettingsStore} from '@/pinia'
  5. import {useRoute} from 'vue-router'
  6. const settings = useSettingsStore()
  7. const route = useRoute()
  8. const current = ref(gettext.current)
  9. const languageAvailable = gettext.available
  10. watch(current, (v) => {
  11. settings.set_language(v)
  12. gettext.current = v
  13. // @ts-ignored
  14. document.title = route.name() + ' | Nginx UI'
  15. })
  16. </script>
  17. <template>
  18. <div>
  19. <a-select v-model:value="current" size="small" style="width: 60px">
  20. <a-select-option v-for="(language, key) in languageAvailable" :value="key" :key="key">
  21. {{ language }}
  22. </a-select-option>
  23. </a-select>
  24. </div>
  25. </template>
  26. <style lang="less" scoped>
  27. </style>