diff --git a/ui/js/actions/app.js b/ui/js/actions/app.js index 07935754f..e70e9767f 100644 --- a/ui/js/actions/app.js +++ b/ui/js/actions/app.js @@ -346,12 +346,6 @@ export function doClearCache() { }; } -export function doChangeLanguage(newLanguage) { - return function(dispatch, getState) { - app.i18n.setLocale(newLanguage); - }; -} - export function doQuit() { return function(dispatch, getState) { remote.app.quit(); diff --git a/ui/js/actions/settings.js b/ui/js/actions/settings.js index c55c1eece..5c230498c 100644 --- a/ui/js/actions/settings.js +++ b/ui/js/actions/settings.js @@ -45,247 +45,56 @@ export function doSetClientSetting(key, value) { }; } -export function doResolveLanguage(locale) { - const langs = { - aa: ["Afar", "Afar"], - ab: ["Abkhazian", "Аҧсуа"], - af: ["Afrikaans", "Afrikaans"], - ak: ["Akan", "Akana"], - am: ["Amharic", "አማርኛ"], - an: ["Aragonese", "Aragonés"], - ar: ["Arabic", "العربية"], - as: ["Assamese", "অসমীয়া"], - av: ["Avar", "Авар"], - ay: ["Aymara", "Aymar"], - az: ["Azerbaijani", "Azərbaycanca / آذربايجان"], - ba: ["Bashkir", "Башҡорт"], - be: ["Belarusian", "Беларуская"], - bg: ["Bulgarian", "Български"], - bh: ["Bihari", "भोजपुरी"], - bi: ["Bislama", "Bislama"], - bm: ["Bambara", "Bamanankan"], - bn: ["Bengali", "বাংলা"], - bo: ["Tibetan", "བོད་ཡིག / Bod skad"], - br: ["Breton", "Brezhoneg"], - bs: ["Bosnian", "Bosanski"], - ca: ["Catalan", "Català"], - ce: ["Chechen", "Нохчийн"], - ch: ["Chamorro", "Chamoru"], - co: ["Corsican", "Corsu"], - cr: ["Cree", "Nehiyaw"], - cs: ["Czech", "Česky"], - cu: ["Old Church Slavonic / Old Bulgarian", "словѣньскъ / slověnĭskŭ"], - cv: ["Chuvash", "Чăваш"], - cy: ["Welsh", "Cymraeg"], - da: ["Danish", "Dansk"], - de: ["German", "Deutsch"], - dv: ["Divehi", "ދިވެހިބަސް"], - dz: ["Dzongkha", "ཇོང་ཁ"], - ee: ["Ewe", "Ɛʋɛ"], - el: ["Greek", "Ελληνικά"], - en: ["English", "English"], - eo: ["Esperanto", "Esperanto"], - es: ["Spanish", "Español"], - et: ["Estonian", "Eesti"], - eu: ["Basque", "Euskara"], - fa: ["Persian", "فارسی"], - ff: ["Peul", "Fulfulde"], - fi: ["Finnish", "Suomi"], - fj: ["Fijian", "Na Vosa Vakaviti"], - fo: ["Faroese", "Føroyskt"], - fr: ["French", "Français"], - fy: ["West Frisian", "Frysk"], - ga: ["Irish", "Gaeilge"], - gd: ["Scottish Gaelic", "Gàidhlig"], - gl: ["Galician", "Galego"], - gn: ["Guarani", "Avañe'ẽ"], - gu: ["Gujarati", "ગુજરાતી"], - gv: ["Manx", "Gaelg"], - ha: ["Hausa", "هَوُسَ"], - he: ["Hebrew", "עברית"], - hi: ["Hindi", "हिन्दी"], - ho: ["Hiri Motu", "Hiri Motu"], - hr: ["Croatian", "Hrvatski"], - ht: ["Haitian", "Krèyol ayisyen"], - hu: ["Hungarian", "Magyar"], - hy: ["Armenian", "Հայերեն"], - hz: ["Herero", "Otsiherero"], - ia: ["Interlingua", "Interlingua"], - id: ["Indonesian", "Bahasa Indonesia"], - ie: ["Interlingue", "Interlingue"], - ig: ["Igbo", "Igbo"], - ii: ["Sichuan Yi", "ꆇꉙ / 四川彝语"], - ik: ["Inupiak", "Iñupiak"], - io: ["Ido", "Ido"], - is: ["Icelandic", "Íslenska"], - it: ["Italian", "Italiano"], - iu: ["Inuktitut", "ᐃᓄᒃᑎᑐᑦ"], - ja: ["Japanese", "日本語"], - jv: ["Javanese", "Basa Jawa"], - ka: ["Georgian", "ქართული"], - kg: ["Kongo", "KiKongo"], - ki: ["Kikuyu", "Gĩkũyũ"], - kj: ["Kuanyama", "Kuanyama"], - kk: ["Kazakh", "Қазақша"], - kl: ["Greenlandic", "Kalaallisut"], - km: ["Cambodian", "ភាសាខ្មែរ"], - kn: ["Kannada", "ಕನ್ನಡ"], - ko: ["Korean", "한국어"], - kr: ["Kanuri", "Kanuri"], - ks: ["Kashmiri", "कश्मीरी / كشميري"], - ku: ["Kurdish", "Kurdî / كوردی"], - kv: ["Komi", "Коми"], - kw: ["Cornish", "Kernewek"], - ky: ["Kirghiz", "Kırgızca / Кыргызча"], - la: ["Latin", "Latina"], - lb: ["Luxembourgish", "Lëtzebuergesch"], - lg: ["Ganda", "Luganda"], - li: ["Limburgian", "Limburgs"], - ln: ["Lingala", "Lingála"], - lo: ["Laotian", "ລາວ / Pha xa lao"], - lt: ["Lithuanian", "Lietuvių"], - lv: ["Latvian", "Latviešu"], - mg: ["Malagasy", "Malagasy"], - mh: ["Marshallese", "Kajin Majel / Ebon"], - mi: ["Maori", "Māori"], - mk: ["Macedonian", "Македонски"], - ml: ["Malayalam", "മലയാളം"], - mn: ["Mongolian", "Монгол"], - mo: ["Moldovan", "Moldovenească"], - mr: ["Marathi", "मराठी"], - ms: ["Malay", "Bahasa Melayu"], - mt: ["Maltese", "bil-Malti"], - my: ["Burmese", "Myanmasa"], - na: ["Nauruan", "Dorerin Naoero"], - nd: ["North Ndebele", "Sindebele"], - ne: ["Nepali", "नेपाली"], - ng: ["Ndonga", "Oshiwambo"], - nl: ["Dutch", "Nederlands"], - nn: ["Norwegian Nynorsk", "Norsk (nynorsk)"], - no: ["Norwegian", "Norsk (bokmål / riksmål)"], - nr: ["South Ndebele", "isiNdebele"], - nv: ["Navajo", "Diné bizaad"], - ny: ["Chichewa", "Chi-Chewa"], - oc: ["Occitan", "Occitan"], - oj: ["Ojibwa", "ᐊᓂᔑᓈᐯᒧᐎᓐ / Anishinaabemowin"], - om: ["Oromo", "Oromoo"], - or: ["Oriya", "ଓଡ଼ିଆ"], - os: ["Ossetian / Ossetic", "Иронау"], - pa: ["Panjabi / Punjabi", "ਪੰਜਾਬੀ / पंजाबी / پنجابي"], - pi: ["Pali", "Pāli / पाऴि"], - pl: ["Polish", "Polski"], - ps: ["Pashto", "پښتو"], - pt: ["Portuguese", "Português"], - qu: ["Quechua", "Runa Simi"], - rm: ["Raeto Romance", "Rumantsch"], - rn: ["Kirundi", "Kirundi"], - ro: ["Romanian", "Română"], - ru: ["Russian", "Русский"], - rw: ["Rwandi", "Kinyarwandi"], - sa: ["Sanskrit", "संस्कृतम्"], - sc: ["Sardinian", "Sardu"], - sd: ["Sindhi", "सिनधि"], - se: ["Northern Sami", "Sámegiella"], - sg: ["Sango", "Sängö"], - sh: ["Serbo-Croatian", "Srpskohrvatski / Српскохрватски"], - si: ["Sinhalese", "සිංහල"], - sk: ["Slovak", "Slovenčina"], - sl: ["Slovenian", "Slovenščina"], - sm: ["Samoan", "Gagana Samoa"], - sn: ["Shona", "chiShona"], - so: ["Somalia", "Soomaaliga"], - sq: ["Albanian", "Shqip"], - sr: ["Serbian", "Српски"], - ss: ["Swati", "SiSwati"], - st: ["Southern Sotho", "Sesotho"], - su: ["Sundanese", "Basa Sunda"], - sv: ["Swedish", "Svenska"], - sw: ["Swahili", "Kiswahili"], - ta: ["Tamil", "தமிழ்"], - te: ["Telugu", "తెలుగు"], - tg: ["Tajik", "Тоҷикӣ"], - th: ["Thai", "ไทย / Phasa Thai"], - ti: ["Tigrinya", "ትግርኛ"], - tk: ["Turkmen", "Туркмен / تركمن"], - tl: ["Tagalog / Filipino", "Tagalog"], - tn: ["Tswana", "Setswana"], - to: ["Tonga", "Lea Faka-Tonga"], - tr: ["Turkish", "Türkçe"], - ts: ["Tsonga", "Xitsonga"], - tt: ["Tatar", "Tatarça"], - tw: ["Twi", "Twi"], - ty: ["Tahitian", "Reo Mā`ohi"], - ug: ["Uyghur", "Uyƣurqə / ئۇيغۇرچە"], - uk: ["Ukrainian", "Українська"], - ur: ["Urdu", "اردو"], - uz: ["Uzbek", "Ўзбек"], - ve: ["Venda", "Tshivenḓa"], - vi: ["Vietnamese", "Tiếng Việt"], - vo: ["Volapük", "Volapük"], - wa: ["Walloon", "Walon"], - wo: ["Wolof", "Wollof"], - xh: ["Xhosa", "isiXhosa"], - yi: ["Yiddish", "ייִדיש"], - yo: ["Yoruba", "Yorùbá"], - za: ["Zhuang", "Cuengh / Tôô / 壮语"], - zh: ["Chinese", "中文"], - zu: ["Zulu", "isiZulu"], - }; - - const lang = locale.substring(0, 2); - return { - type: types.LANGUAGE_RESOLVED, - data: { key: locale, value: `${langs[lang][0]} (${langs[lang][1]})` }, - }; -} - -export function doDownloadLanguage(lang, destinationPath) { +export function doDownloadLanguage(langFile) { return function(dispatch, getState) { - const plainLanguage = lang.replace(".json", ""); + const destinationPath = `app/locales/${langFile}`; + const language = langFile.replace(".json", ""); + const req = http.get( + { + headers: { + "Content-Type": "text/html", + }, + host: "i18n.lbry.io", + path: `/langs/${langFile}`, + }, + response => { + if (response.statusCode === 200) { + const file = fs.createWriteStream(destinationPath); - dispatch({ - type: types.DOWNLOAD_LANGUAGE_STARTED, - data: plainLanguage, - }); - - return new Promise((resolve, reject) => { - const file = fs.createWriteStream(destinationPath); - const req = http.request( - `http://i18n.lbry.io/langs/${lang}`, - response => { + file.on("error", errorHandler); file.on("finish", () => { file.close(); // push to our local list dispatch({ type: types.DOWNLOAD_LANGUAGE_SUCCEEDED, - data: plainLanguage, + data: { language: language }, }); - - resolve(); }); response.pipe(file); + } else { + errorHandler(new Error("Language request failed.")); } - ); + } + ); - const errorHandler = err => { - if (file) { - file.close(); - } + const errorHandler = err => { + fs.unlink(destinationPath, () => {}); // Delete the file async. (But we don't check the result) - fs.unlink(destinationPath); // Delete the file async. (But we don't check the result) - dispatch({ - type: types.DOWNLOAD_LANGUAGE_FAILED, - data: plainLanguage, - }); - reject(err); - }; - req.on("error", errorHandler); - file.on("error", errorHandler); + dispatch({ + type: types.DOWNLOAD_LANGUAGE_FAILED, + data: { language }, + }); + }; - req.end(); + req.setTimeout(30000, function() { + req.abort(); }); + + req.on("error", errorHandler); + + req.end(); }; } @@ -295,45 +104,34 @@ export function doDownloadLanguages() { fs.mkdirSync(app.i18n.directory); } - dispatch({ - type: types.DOWNLOAD_LANGUAGES_STARTED, - data: {}, - }); + const req = http.request({ host: "i18n.lbry.io", path: "/" }, response => { + let str = ""; - return new Promise((resolve, reject) => { - const req = http.request( - { host: "i18n.lbry.io", path: "/" }, - response => { - let str = ""; - - response.on("data", chunk => { - str += chunk; - }); - - response.on("end", () => { - const files = JSON.parse(str); - const actions = []; - files.forEach(file => { - actions.push(doDownloadLanguage(file, `app/locales/${file}`)); - }); - - dispatch(batchActions(...actions)); - - dispatch({ - type: types.DOWNLOAD_LANGUAGES_COMPLETED, - data: {}, - }); - - resolve(); - }); - } - ); - - req.on("error", err => { - reject(err); + response.on("data", chunk => { + str += chunk; }); - req.end(); + response.on("end", () => { + const files = JSON.parse(str); + const actions = []; + files.forEach(file => { + actions.push(doDownloadLanguage(file)); + }); + + dispatch(batchActions(...actions)); + }); }); + + req.on("error", err => { + throw err; //this ought to be cleanly handled + }); + + req.end(); + }; +} + +export function doChangeLanguage(language) { + return function(dispatch, getState) { + app.i18n.setLocale(language); }; } diff --git a/ui/js/constants/action_types.js b/ui/js/constants/action_types.js index 8dbb11f0f..7b2a7456d 100644 --- a/ui/js/constants/action_types.js +++ b/ui/js/constants/action_types.js @@ -115,9 +115,5 @@ export const CLAIM_REWARD_CLEAR_ERROR = "CLAIM_REWARD_CLEAR_ERROR"; export const FETCH_REWARD_CONTENT_COMPLETED = "FETCH_REWARD_CONTENT_COMPLETED"; //Language -export const LANGUAGE_RESOLVED = "LANGUAGE_RESOLVED"; -export const DOWNLOAD_LANGUAGE_STARTED = "DOWNLOAD_LANGUAGE_STARTED"; export const DOWNLOAD_LANGUAGE_SUCCEEDED = "DOWNLOAD_LANGUAGE_SUCCEEDED"; export const DOWNLOAD_LANGUAGE_FAILED = "DOWNLOAD_LANGUAGE_FAILED"; -export const DOWNLOAD_LANGUAGES_STARTED = "DOWNLOAD_LANGUAGES_STARTED"; -export const DOWNLOAD_LANGUAGES_COMPLETED = "DOWNLOAD_LANGUAGES_COMPLETED"; diff --git a/ui/js/constants/languages.js b/ui/js/constants/languages.js new file mode 100644 index 000000000..f1879e904 --- /dev/null +++ b/ui/js/constants/languages.js @@ -0,0 +1,187 @@ +const LANGUAGES = { + aa: ["Afar", "Afar"], + ab: ["Abkhazian", "Аҧсуа"], + af: ["Afrikaans", "Afrikaans"], + ak: ["Akan", "Akana"], + am: ["Amharic", "አማርኛ"], + an: ["Aragonese", "Aragonés"], + ar: ["Arabic", "العربية"], + as: ["Assamese", "অসমীয়া"], + av: ["Avar", "Авар"], + ay: ["Aymara", "Aymar"], + az: ["Azerbaijani", "Azərbaycanca / آذربايجان"], + ba: ["Bashkir", "Башҡорт"], + be: ["Belarusian", "Беларуская"], + bg: ["Bulgarian", "Български"], + bh: ["Bihari", "भोजपुरी"], + bi: ["Bislama", "Bislama"], + bm: ["Bambara", "Bamanankan"], + bn: ["Bengali", "বাংলা"], + bo: ["Tibetan", "བོད་ཡིག / Bod skad"], + br: ["Breton", "Brezhoneg"], + bs: ["Bosnian", "Bosanski"], + ca: ["Catalan", "Català"], + ce: ["Chechen", "Нохчийн"], + ch: ["Chamorro", "Chamoru"], + co: ["Corsican", "Corsu"], + cr: ["Cree", "Nehiyaw"], + cs: ["Czech", "Česky"], + cu: ["Old Church Slavonic / Old Bulgarian", "словѣньскъ / slověnĭskŭ"], + cv: ["Chuvash", "Чăваш"], + cy: ["Welsh", "Cymraeg"], + da: ["Danish", "Dansk"], + de: ["German", "Deutsch"], + dv: ["Divehi", "ދިވެހިބަސް"], + dz: ["Dzongkha", "ཇོང་ཁ"], + ee: ["Ewe", "Ɛʋɛ"], + el: ["Greek", "Ελληνικά"], + en: ["English", "English"], + eo: ["Esperanto", "Esperanto"], + es: ["Spanish", "Español"], + et: ["Estonian", "Eesti"], + eu: ["Basque", "Euskara"], + fa: ["Persian", "فارسی"], + ff: ["Peul", "Fulfulde"], + fi: ["Finnish", "Suomi"], + fj: ["Fijian", "Na Vosa Vakaviti"], + fo: ["Faroese", "Føroyskt"], + fr: ["French", "Français"], + fy: ["West Frisian", "Frysk"], + ga: ["Irish", "Gaeilge"], + gd: ["Scottish Gaelic", "Gàidhlig"], + gl: ["Galician", "Galego"], + gn: ["Guarani", "Avañe'ẽ"], + gu: ["Gujarati", "ગુજરાતી"], + gv: ["Manx", "Gaelg"], + ha: ["Hausa", "هَوُسَ"], + he: ["Hebrew", "עברית"], + hi: ["Hindi", "हिन्दी"], + ho: ["Hiri Motu", "Hiri Motu"], + hr: ["Croatian", "Hrvatski"], + ht: ["Haitian", "Krèyol ayisyen"], + hu: ["Hungarian", "Magyar"], + hy: ["Armenian", "Հայերեն"], + hz: ["Herero", "Otsiherero"], + ia: ["Interlingua", "Interlingua"], + id: ["Indonesian", "Bahasa Indonesia"], + ie: ["Interlingue", "Interlingue"], + ig: ["Igbo", "Igbo"], + ii: ["Sichuan Yi", "ꆇꉙ / 四川彝语"], + ik: ["Inupiak", "Iñupiak"], + io: ["Ido", "Ido"], + is: ["Icelandic", "Íslenska"], + it: ["Italian", "Italiano"], + iu: ["Inuktitut", "ᐃᓄᒃᑎᑐᑦ"], + ja: ["Japanese", "日本語"], + jv: ["Javanese", "Basa Jawa"], + ka: ["Georgian", "ქართული"], + kg: ["Kongo", "KiKongo"], + ki: ["Kikuyu", "Gĩkũyũ"], + kj: ["Kuanyama", "Kuanyama"], + kk: ["Kazakh", "Қазақша"], + kl: ["Greenlandic", "Kalaallisut"], + km: ["Cambodian", "ភាសាខ្មែរ"], + kn: ["Kannada", "ಕನ್ನಡ"], + ko: ["Korean", "한국어"], + kr: ["Kanuri", "Kanuri"], + ks: ["Kashmiri", "कश्मीरी / كشميري"], + ku: ["Kurdish", "Kurdî / كوردی"], + kv: ["Komi", "Коми"], + kw: ["Cornish", "Kernewek"], + ky: ["Kirghiz", "Kırgızca / Кыргызча"], + la: ["Latin", "Latina"], + lb: ["Luxembourgish", "Lëtzebuergesch"], + lg: ["Ganda", "Luganda"], + li: ["Limburgian", "Limburgs"], + ln: ["Lingala", "Lingála"], + lo: ["Laotian", "ລາວ / Pha xa lao"], + lt: ["Lithuanian", "Lietuvių"], + lv: ["Latvian", "Latviešu"], + mg: ["Malagasy", "Malagasy"], + mh: ["Marshallese", "Kajin Majel / Ebon"], + mi: ["Maori", "Māori"], + mk: ["Macedonian", "Македонски"], + ml: ["Malayalam", "മലയാളം"], + mn: ["Mongolian", "Монгол"], + mo: ["Moldovan", "Moldovenească"], + mr: ["Marathi", "मराठी"], + ms: ["Malay", "Bahasa Melayu"], + mt: ["Maltese", "bil-Malti"], + my: ["Burmese", "Myanmasa"], + na: ["Nauruan", "Dorerin Naoero"], + nd: ["North Ndebele", "Sindebele"], + ne: ["Nepali", "नेपाली"], + ng: ["Ndonga", "Oshiwambo"], + nl: ["Dutch", "Nederlands"], + nn: ["Norwegian Nynorsk", "Norsk (nynorsk)"], + no: ["Norwegian", "Norsk (bokmål / riksmål)"], + nr: ["South Ndebele", "isiNdebele"], + nv: ["Navajo", "Diné bizaad"], + ny: ["Chichewa", "Chi-Chewa"], + oc: ["Occitan", "Occitan"], + oj: ["Ojibwa", "ᐊᓂᔑᓈᐯᒧᐎᓐ / Anishinaabemowin"], + om: ["Oromo", "Oromoo"], + or: ["Oriya", "ଓଡ଼ିଆ"], + os: ["Ossetian / Ossetic", "Иронау"], + pa: ["Panjabi / Punjabi", "ਪੰਜਾਬੀ / पंजाबी / پنجابي"], + pi: ["Pali", "Pāli / पाऴि"], + pl: ["Polish", "Polski"], + ps: ["Pashto", "پښتو"], + pt: ["Portuguese", "Português"], + qu: ["Quechua", "Runa Simi"], + rm: ["Raeto Romance", "Rumantsch"], + rn: ["Kirundi", "Kirundi"], + ro: ["Romanian", "Română"], + ru: ["Russian", "Русский"], + rw: ["Rwandi", "Kinyarwandi"], + sa: ["Sanskrit", "संस्कृतम्"], + sc: ["Sardinian", "Sardu"], + sd: ["Sindhi", "सिनधि"], + se: ["Northern Sami", "Sámegiella"], + sg: ["Sango", "Sängö"], + sh: ["Serbo-Croatian", "Srpskohrvatski / Српскохрватски"], + si: ["Sinhalese", "සිංහල"], + sk: ["Slovak", "Slovenčina"], + sl: ["Slovenian", "Slovenščina"], + sm: ["Samoan", "Gagana Samoa"], + sn: ["Shona", "chiShona"], + so: ["Somalia", "Soomaaliga"], + sq: ["Albanian", "Shqip"], + sr: ["Serbian", "Српски"], + ss: ["Swati", "SiSwati"], + st: ["Southern Sotho", "Sesotho"], + su: ["Sundanese", "Basa Sunda"], + sv: ["Swedish", "Svenska"], + sw: ["Swahili", "Kiswahili"], + ta: ["Tamil", "தமிழ்"], + te: ["Telugu", "తెలుగు"], + tg: ["Tajik", "Тоҷикӣ"], + th: ["Thai", "ไทย / Phasa Thai"], + ti: ["Tigrinya", "ትግርኛ"], + tk: ["Turkmen", "Туркмен / تركمن"], + tl: ["Tagalog / Filipino", "Tagalog"], + tn: ["Tswana", "Setswana"], + to: ["Tonga", "Lea Faka-Tonga"], + tr: ["Turkish", "Türkçe"], + ts: ["Tsonga", "Xitsonga"], + tt: ["Tatar", "Tatarça"], + tw: ["Twi", "Twi"], + ty: ["Tahitian", "Reo Mā`ohi"], + ug: ["Uyghur", "Uyƣurqə / ئۇيغۇرچە"], + uk: ["Ukrainian", "Українська"], + ur: ["Urdu", "اردو"], + uz: ["Uzbek", "Ўзбек"], + ve: ["Venda", "Tshivenḓa"], + vi: ["Vietnamese", "Tiếng Việt"], + vo: ["Volapük", "Volapük"], + wa: ["Walloon", "Walon"], + wo: ["Wolof", "Wollof"], + xh: ["Xhosa", "isiXhosa"], + yi: ["Yiddish", "ייִדיש"], + yo: ["Yoruba", "Yorùbá"], + za: ["Zhuang", "Cuengh / Tôô / 壮语"], + zh: ["Chinese", "中文"], + zu: ["Zulu", "isiZulu"], +}; + +export default LANGUAGES; diff --git a/ui/js/main.js b/ui/js/main.js index 1b3709a25..42c40a3a2 100644 --- a/ui/js/main.js +++ b/ui/js/main.js @@ -10,8 +10,6 @@ import { doChangePath, doNavigate, doDaemonReady } from "actions/app"; import { doDownloadLanguages } from "actions/settings"; import { toQueryString } from "util/query_params"; import * as types from "constants/action_types"; -import fs from "fs"; -import http from "http"; const env = ENV; const { remote, ipcRenderer, shell } = require("electron"); diff --git a/ui/js/page/settings/index.js b/ui/js/page/settings/index.js index 27df5cb09..e97ae7e4e 100644 --- a/ui/js/page/settings/index.js +++ b/ui/js/page/settings/index.js @@ -1,16 +1,15 @@ import React from "react"; import { connect } from "react-redux"; -import { doClearCache, doChangeLanguage } from "actions/app"; +import { doClearCache } from "actions/app"; import { doSetDaemonSetting, doSetClientSetting, - doResolveLanguage, + doChangeLanguage, } from "actions/settings"; import { selectDaemonSettings, selectShowNsfw, - selectLocalLanguages, - selectResolvedLanguages, + selectLanguages, } from "selectors/settings"; import { selectCurrentLanguage } from "selectors/app"; import SettingsPage from "./view"; @@ -19,8 +18,7 @@ const select = state => ({ daemonSettings: selectDaemonSettings(state), showNsfw: selectShowNsfw(state), language: selectCurrentLanguage(state), - localLanguages: selectLocalLanguages(state), - resolvedLanguages: selectResolvedLanguages(state), + languages: selectLanguages(state), }); const perform = dispatch => ({ @@ -28,7 +26,6 @@ const perform = dispatch => ({ clearCache: () => dispatch(doClearCache()), setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)), changeLanguage: newLanguage => dispatch(doChangeLanguage(newLanguage)), - resolveLanguage: lang => dispatch(doResolveLanguage(lang)), }); export default connect(select, perform)(SettingsPage); diff --git a/ui/js/page/settings/view.jsx b/ui/js/page/settings/view.jsx index 41327e56c..2cc699cab 100644 --- a/ui/js/page/settings/view.jsx +++ b/ui/js/page/settings/view.jsx @@ -24,13 +24,6 @@ class SettingsPage extends React.PureComponent { }; } - componentWillMount() { - const { localLanguages, resolveLanguage } = this.props; - localLanguages.forEach(lang => { - resolveLanguage(lang); - }); - } - clearCache() { this.setState({ clearingCache: true, @@ -107,21 +100,10 @@ class SettingsPage extends React.PureComponent { this.props.changeLanguage(e.target.value); } - // onLanguageChange(language) { - // lbry.setClientSetting('language', language); - // i18n.setLocale(language); - // this.setState({language: language}) - // } - onShowUnavailableChange(event) {} render() { - const { - daemonSettings, - language, - localLanguages, - resolvedLanguages, - } = this.props; + const { daemonSettings, language, languages } = this.props; if (!daemonSettings || Object.keys(daemonSettings).length === 0) { return ( @@ -140,25 +122,22 @@ class SettingsPage extends React.PureComponent {