mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			619 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			619 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {
 | |
|   createContext,
 | |
|   useContext,
 | |
| } from 'use-context-selector'
 | |
| import type { Locale } from '@/i18n'
 | |
| import { getLanguage } from '@/i18n/language'
 | |
| import { noop } from 'lodash-es'
 | |
| 
 | |
| type II18NContext = {
 | |
|   locale: Locale
 | |
|   i18n: Record<string, any>
 | |
|   setLocaleOnClient: (_lang: Locale, _reloadPage?: boolean) => void
 | |
| }
 | |
| 
 | |
| const I18NContext = createContext<II18NContext>({
 | |
|   locale: 'en-US',
 | |
|   i18n: {},
 | |
|   setLocaleOnClient: noop,
 | |
| })
 | |
| 
 | |
| export const useI18N = () => useContext(I18NContext)
 | |
| export const useGetLanguage = () => {
 | |
|   const { locale } = useI18N()
 | |
| 
 | |
|   return getLanguage(locale)
 | |
| }
 | |
| 
 | |
| export default I18NContext
 | 
