kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
				
				
				
			Fix #386: Autoselect best language based on browser configuration
							rodzic
							
								
									b58da3e944
								
							
						
					
					
						commit
						92fde6444b
					
				| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
Autoselect best language based on browser configuration (#386)
 | 
			
		||||
| 
						 | 
				
			
			@ -93,6 +93,8 @@ import axios from 'axios'
 | 
			
		|||
import _ from 'lodash'
 | 
			
		||||
import {mapState} from 'vuex'
 | 
			
		||||
 | 
			
		||||
import translations from '@/translations'
 | 
			
		||||
 | 
			
		||||
import Sidebar from '@/components/Sidebar'
 | 
			
		||||
import Raven from '@/components/Raven'
 | 
			
		||||
import ServiceMessages from '@/components/ServiceMessages'
 | 
			
		||||
| 
						 | 
				
			
			@ -115,6 +117,7 @@ export default {
 | 
			
		|||
  },
 | 
			
		||||
  created () {
 | 
			
		||||
    let self = this
 | 
			
		||||
    this.autodetectLanguage()
 | 
			
		||||
    setInterval(() => {
 | 
			
		||||
      // used to redraw ago dates every minute
 | 
			
		||||
      self.$store.commit('ui/computeLastDate')
 | 
			
		||||
| 
						 | 
				
			
			@ -138,6 +141,21 @@ export default {
 | 
			
		|||
      if (confirm) {
 | 
			
		||||
        this.$store.commit('instance/instanceUrl', null)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    autodetectLanguage () {
 | 
			
		||||
      let userLanguage = navigator.language || navigator.userLanguage
 | 
			
		||||
      let available = _.keys(translations)
 | 
			
		||||
      let matching = available.filter((a) => {
 | 
			
		||||
        return userLanguage.replace('-', '_') === a
 | 
			
		||||
      })
 | 
			
		||||
      let almostMatching = available.filter((a) => {
 | 
			
		||||
        return userLanguage.replace('-', '_').split('_')[0] === a.split('_')[0]
 | 
			
		||||
      })
 | 
			
		||||
      if (matching.length > 0) {
 | 
			
		||||
        this.$language.current = matching[0]
 | 
			
		||||
      } else if (almostMatching.length > 0) {
 | 
			
		||||
        this.$language.current = almostMatching[0]
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue