27 lines
		
	
	
		
			601 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			601 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { ref, reactive } from "vue";
 | 
						|
import { deepAssign } from "../utils/deep-assign.mjs";
 | 
						|
import defaultMessages from "./lang/zh-CN.mjs";
 | 
						|
const lang = ref("zh-CN");
 | 
						|
const messages = reactive({
 | 
						|
  "zh-CN": defaultMessages
 | 
						|
});
 | 
						|
const Locale = {
 | 
						|
  messages() {
 | 
						|
    return messages[lang.value];
 | 
						|
  },
 | 
						|
  use(newLang, newMessages) {
 | 
						|
    lang.value = newLang;
 | 
						|
    this.add({ [newLang]: newMessages });
 | 
						|
  },
 | 
						|
  add(newMessages = {}) {
 | 
						|
    deepAssign(messages, newMessages);
 | 
						|
  }
 | 
						|
};
 | 
						|
const useCurrentLang = () => lang;
 | 
						|
var stdin_default = Locale;
 | 
						|
export {
 | 
						|
  Locale,
 | 
						|
  stdin_default as default,
 | 
						|
  useCurrentLang
 | 
						|
};
 |