mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-30 21:14:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			758 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			758 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * Languages Loader
 | |
|  */
 | |
| 
 | |
| import * as fs from 'fs';
 | |
| import * as yaml from 'js-yaml';
 | |
| 
 | |
| export type LangKey = 'de' | 'en' | 'fr' | 'ja' | 'pl';
 | |
| export type LocaleObject = { [key: string]: any };
 | |
| 
 | |
| const loadLang = (lang: LangKey) => yaml.safeLoad(
 | |
| 	fs.readFileSync(`./locales/${lang}.yml`, 'utf-8')) as LocaleObject;
 | |
| 
 | |
| const native = loadLang('ja');
 | |
| 
 | |
| const langs: { [key: string]: LocaleObject } = {
 | |
| 	'de': loadLang('de'),
 | |
| 	'en': loadLang('en'),
 | |
| 	'fr': loadLang('fr'),
 | |
| 	'ja': native,
 | |
| 	'pl': loadLang('pl')
 | |
| };
 | |
| 
 | |
| Object.entries(langs).map(([, locale]) => {
 | |
| 	// Extend native language (Japanese)
 | |
| 	locale = Object.assign({}, native, locale);
 | |
| });
 | |
| 
 | |
| export function isAvailableLanguage(lang: string): lang is LangKey {
 | |
| 	return lang in langs;
 | |
| }
 | |
| 
 | |
| export default langs;
 |