// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . gr az ie . remote Ċ Ċ import Ġcom . intellij . gr az ie . Gr az ie Config Ċ import Ġcom . intellij . gr az ie . Gr az ie Dynamic Ċ import Ġcom . intellij . gr az ie . Gr az ie Plugin Ċ import Ġcom . intellij . gr az ie . j language . Lang Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . util . io . exists Ċ Ċ object ĠGr az ie Remote Ġ{ ĊĠ Ġprivate Ġfun Ġis Lib Exists ( lib : ĠString ) Ġ= ĠGr az ie Dynamic . dynamic Folder . resolve ( lib ). exists () Ġ|| ĠGr az ie Plugin . lib Folder . resolve ( lib ). exists () ĊĊĠ Ġfun Ġis Available Loc ally ( lang : ĠLang ) Ġ= Ġlang . is English () Ġ|| Ġis Lib Exists ( lang . remote . fileName ) ĊĊĠ Ġfun Ġall Available Loc ally () Ġ= ĠLang . values (). filter Ġ{ Ġis Available Loc ally ( it ) Ġ} ĊĊĠ Ġ/** ĠDown loads Ġ[ lang ] Ġto Ġlocal Ġstorage Ġ*/ ĊĠ Ġfun Ġdownload ( lang : ĠLang , Ġproject : ĠProject ? Ġ= Ġnull ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( is Available Loc ally ( lang )) Ġreturn Ġtrue ĊĊĠĠĠ Ġreturn ĠLang Downloader . download ( lang , Ġproject ) ĊĠ Ġ} ĊĊĠ Ġ/** ĠDown loads Ġall Ġmissing Ġlanguages Ġto Ġlocal Ġstorage */ ĊĠ Ġfun Ġdownload Missing ( project : ĠProject ?) Ġ= ĠGr az ie Config . get (). missed Languages . forEach Ġ{ ĠLang Downloader . download ( it , Ġproject ) Ġ} Ċ } Ċ