diff --git a/src/lib/langPack.ts b/src/lib/langPack.ts index f46cd680..1b4c6eff 100644 --- a/src/lib/langPack.ts +++ b/src/lib/langPack.ts @@ -1,3 +1,6 @@ +import { LangPackString } from "../layer"; +import apiManager from "./mtproto/mtprotoworker"; + export const langPack: {[actionType: string]: string} = { "messageActionChatCreate": "created the group", "messageActionChatEditTitle": "changed group name", @@ -26,4 +29,26 @@ export const langPack: {[actionType: string]: string} = { "messageActionPhoneCall.out_missed": "Cancelled Call", "messageActionBotAllowed": "You allowed this bot to message you when logged in {}" -}; \ No newline at end of file +}; + +export namespace Internationalization { + let strings: {[key: string]: LangPackString} = {}; + + export function getLangPack(langCode: string) { + return apiManager.invokeApi('langpack.getLangPack', { + lang_code: langCode, + lang_pack: 'macos' + }).then(langPack => { + strings = {}; + for(const string of langPack.strings) { + strings[string.key] = string; + } + }); + } + + export function _(key: keyof typeof strings, ...args: any[]) { + let str = strings[key]; + + return str; + } +}