polyglot-lang.js 922 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. class Lang {
  2. constructor() {
  3. console.log("lang constructor");
  4. this.polyglot = Polyglot;
  5. if (localStorage.getItem('krestianstvo_locale')) {
  6. } else {
  7. localStorage.setItem('krestianstvo_locale', 'en');
  8. }
  9. this.locale = localStorage.getItem('krestianstvo_locale');
  10. }
  11. async getLang(langID) {
  12. let response = await fetch("/web/locale/" + langID + ".json");
  13. let data = await response.json();
  14. return data
  15. }
  16. setLanguage(langID) {
  17. var self = this;
  18. return this.getLang(langID).then(phrases => {
  19. this.language = new Polyglot({ phrases });
  20. });
  21. }
  22. setLocale(langID){
  23. localStorage.setItem('krestianstvo_locale', langID);
  24. this.locale = langID;
  25. }
  26. changeLanguageTo(langID){
  27. this.setLocale(langID);
  28. this.setLanguage(langID);
  29. }
  30. }
  31. export {Lang};