diff --git a/gui/slick/images/flags/afr.png b/gui/slick/images/subtitles/flags/afr.png
similarity index 100%
rename from gui/slick/images/flags/afr.png
rename to gui/slick/images/subtitles/flags/afr.png
diff --git a/gui/slick/images/flags/amh.png b/gui/slick/images/subtitles/flags/amh.png
similarity index 100%
rename from gui/slick/images/flags/amh.png
rename to gui/slick/images/subtitles/flags/amh.png
diff --git a/gui/slick/images/flags/ara.png b/gui/slick/images/subtitles/flags/ara.png
similarity index 100%
rename from gui/slick/images/flags/ara.png
rename to gui/slick/images/subtitles/flags/ara.png
diff --git a/gui/slick/images/flags/arg.png b/gui/slick/images/subtitles/flags/arg.png
similarity index 100%
rename from gui/slick/images/flags/arg.png
rename to gui/slick/images/subtitles/flags/arg.png
diff --git a/gui/slick/images/flags/asm.png b/gui/slick/images/subtitles/flags/asm.png
similarity index 100%
rename from gui/slick/images/flags/asm.png
rename to gui/slick/images/subtitles/flags/asm.png
diff --git a/gui/slick/images/flags/ave.png b/gui/slick/images/subtitles/flags/ave.png
similarity index 100%
rename from gui/slick/images/flags/ave.png
rename to gui/slick/images/subtitles/flags/ave.png
diff --git a/gui/slick/images/flags/aym.png b/gui/slick/images/subtitles/flags/aym.png
similarity index 100%
rename from gui/slick/images/flags/aym.png
rename to gui/slick/images/subtitles/flags/aym.png
diff --git a/gui/slick/images/flags/aze.png b/gui/slick/images/subtitles/flags/aze.png
similarity index 100%
rename from gui/slick/images/flags/aze.png
rename to gui/slick/images/subtitles/flags/aze.png
diff --git a/gui/slick/images/flags/bak.png b/gui/slick/images/subtitles/flags/bak.png
similarity index 100%
rename from gui/slick/images/flags/bak.png
rename to gui/slick/images/subtitles/flags/bak.png
diff --git a/gui/slick/images/flags/bam.png b/gui/slick/images/subtitles/flags/bam.png
similarity index 100%
rename from gui/slick/images/flags/bam.png
rename to gui/slick/images/subtitles/flags/bam.png
diff --git a/gui/slick/images/flags/bel.png b/gui/slick/images/subtitles/flags/bel.png
similarity index 100%
rename from gui/slick/images/flags/bel.png
rename to gui/slick/images/subtitles/flags/bel.png
diff --git a/gui/slick/images/flags/ben.png b/gui/slick/images/subtitles/flags/ben.png
similarity index 100%
rename from gui/slick/images/flags/ben.png
rename to gui/slick/images/subtitles/flags/ben.png
diff --git a/gui/slick/images/flags/bis.png b/gui/slick/images/subtitles/flags/bis.png
similarity index 100%
rename from gui/slick/images/flags/bis.png
rename to gui/slick/images/subtitles/flags/bis.png
diff --git a/gui/slick/images/flags/bod.png b/gui/slick/images/subtitles/flags/bod.png
similarity index 100%
rename from gui/slick/images/flags/bod.png
rename to gui/slick/images/subtitles/flags/bod.png
diff --git a/gui/slick/images/flags/bos.png b/gui/slick/images/subtitles/flags/bos.png
similarity index 100%
rename from gui/slick/images/flags/bos.png
rename to gui/slick/images/subtitles/flags/bos.png
diff --git a/gui/slick/images/flags/bre.png b/gui/slick/images/subtitles/flags/bre.png
similarity index 100%
rename from gui/slick/images/flags/bre.png
rename to gui/slick/images/subtitles/flags/bre.png
diff --git a/gui/slick/images/flags/bul.png b/gui/slick/images/subtitles/flags/bul.png
similarity index 100%
rename from gui/slick/images/flags/bul.png
rename to gui/slick/images/subtitles/flags/bul.png
diff --git a/gui/slick/images/flags/cat.png b/gui/slick/images/subtitles/flags/cat.png
similarity index 100%
rename from gui/slick/images/flags/cat.png
rename to gui/slick/images/subtitles/flags/cat.png
diff --git a/gui/slick/images/flags/ces.png b/gui/slick/images/subtitles/flags/ces.png
similarity index 100%
rename from gui/slick/images/flags/ces.png
rename to gui/slick/images/subtitles/flags/ces.png
diff --git a/gui/slick/images/flags/cha.png b/gui/slick/images/subtitles/flags/cha.png
similarity index 100%
rename from gui/slick/images/flags/cha.png
rename to gui/slick/images/subtitles/flags/cha.png
diff --git a/gui/slick/images/flags/chu.png b/gui/slick/images/subtitles/flags/chu.png
similarity index 100%
rename from gui/slick/images/flags/chu.png
rename to gui/slick/images/subtitles/flags/chu.png
diff --git a/gui/slick/images/flags/chv.png b/gui/slick/images/subtitles/flags/chv.png
similarity index 100%
rename from gui/slick/images/flags/chv.png
rename to gui/slick/images/subtitles/flags/chv.png
diff --git a/gui/slick/images/flags/cor.png b/gui/slick/images/subtitles/flags/cor.png
similarity index 100%
rename from gui/slick/images/flags/cor.png
rename to gui/slick/images/subtitles/flags/cor.png
diff --git a/gui/slick/images/flags/cos.png b/gui/slick/images/subtitles/flags/cos.png
similarity index 100%
rename from gui/slick/images/flags/cos.png
rename to gui/slick/images/subtitles/flags/cos.png
diff --git a/gui/slick/images/flags/cre.png b/gui/slick/images/subtitles/flags/cre.png
similarity index 100%
rename from gui/slick/images/flags/cre.png
rename to gui/slick/images/subtitles/flags/cre.png
diff --git a/gui/slick/images/flags/cym.png b/gui/slick/images/subtitles/flags/cym.png
similarity index 100%
rename from gui/slick/images/flags/cym.png
rename to gui/slick/images/subtitles/flags/cym.png
diff --git a/gui/slick/images/flags/dan.png b/gui/slick/images/subtitles/flags/dan.png
similarity index 100%
rename from gui/slick/images/flags/dan.png
rename to gui/slick/images/subtitles/flags/dan.png
diff --git a/gui/slick/images/flags/deu.png b/gui/slick/images/subtitles/flags/deu.png
similarity index 100%
rename from gui/slick/images/flags/deu.png
rename to gui/slick/images/subtitles/flags/deu.png
diff --git a/gui/slick/images/flags/dzo.png b/gui/slick/images/subtitles/flags/dzo.png
similarity index 100%
rename from gui/slick/images/flags/dzo.png
rename to gui/slick/images/subtitles/flags/dzo.png
diff --git a/gui/slick/images/flags/ell.png b/gui/slick/images/subtitles/flags/ell.png
similarity index 100%
rename from gui/slick/images/flags/ell.png
rename to gui/slick/images/subtitles/flags/ell.png
diff --git a/gui/slick/images/flags/eng.png b/gui/slick/images/subtitles/flags/eng.png
similarity index 100%
rename from gui/slick/images/flags/eng.png
rename to gui/slick/images/subtitles/flags/eng.png
diff --git a/gui/slick/images/flags/epo.png b/gui/slick/images/subtitles/flags/epo.png
similarity index 100%
rename from gui/slick/images/flags/epo.png
rename to gui/slick/images/subtitles/flags/epo.png
diff --git a/gui/slick/images/flags/est.png b/gui/slick/images/subtitles/flags/est.png
similarity index 100%
rename from gui/slick/images/flags/est.png
rename to gui/slick/images/subtitles/flags/est.png
diff --git a/gui/slick/images/flags/ewe.png b/gui/slick/images/subtitles/flags/ewe.png
similarity index 100%
rename from gui/slick/images/flags/ewe.png
rename to gui/slick/images/subtitles/flags/ewe.png
diff --git a/gui/slick/images/flags/fam.png b/gui/slick/images/subtitles/flags/fam.png
similarity index 100%
rename from gui/slick/images/flags/fam.png
rename to gui/slick/images/subtitles/flags/fam.png
diff --git a/gui/slick/images/flags/fao.png b/gui/slick/images/subtitles/flags/fao.png
similarity index 100%
rename from gui/slick/images/flags/fao.png
rename to gui/slick/images/subtitles/flags/fao.png
diff --git a/gui/slick/images/flags/fas.png b/gui/slick/images/subtitles/flags/fas.png
similarity index 100%
rename from gui/slick/images/flags/fas.png
rename to gui/slick/images/subtitles/flags/fas.png
diff --git a/gui/slick/images/flags/fij.png b/gui/slick/images/subtitles/flags/fij.png
similarity index 100%
rename from gui/slick/images/flags/fij.png
rename to gui/slick/images/subtitles/flags/fij.png
diff --git a/gui/slick/images/flags/fin.png b/gui/slick/images/subtitles/flags/fin.png
similarity index 100%
rename from gui/slick/images/flags/fin.png
rename to gui/slick/images/subtitles/flags/fin.png
diff --git a/gui/slick/images/flags/fra.png b/gui/slick/images/subtitles/flags/fra.png
similarity index 100%
rename from gui/slick/images/flags/fra.png
rename to gui/slick/images/subtitles/flags/fra.png
diff --git a/gui/slick/images/flags/gla.png b/gui/slick/images/subtitles/flags/gla.png
similarity index 100%
rename from gui/slick/images/flags/gla.png
rename to gui/slick/images/subtitles/flags/gla.png
diff --git a/gui/slick/images/flags/gle.png b/gui/slick/images/subtitles/flags/gle.png
similarity index 100%
rename from gui/slick/images/flags/gle.png
rename to gui/slick/images/subtitles/flags/gle.png
diff --git a/gui/slick/images/flags/glg.png b/gui/slick/images/subtitles/flags/glg.png
similarity index 100%
rename from gui/slick/images/flags/glg.png
rename to gui/slick/images/subtitles/flags/glg.png
diff --git a/gui/slick/images/flags/grn.png b/gui/slick/images/subtitles/flags/grn.png
similarity index 100%
rename from gui/slick/images/flags/grn.png
rename to gui/slick/images/subtitles/flags/grn.png
diff --git a/gui/slick/images/flags/guj.png b/gui/slick/images/subtitles/flags/guj.png
similarity index 100%
rename from gui/slick/images/flags/guj.png
rename to gui/slick/images/subtitles/flags/guj.png
diff --git a/gui/slick/images/flags/hat.png b/gui/slick/images/subtitles/flags/hat.png
similarity index 100%
rename from gui/slick/images/flags/hat.png
rename to gui/slick/images/subtitles/flags/hat.png
diff --git a/gui/slick/images/flags/heb.png b/gui/slick/images/subtitles/flags/heb.png
similarity index 100%
rename from gui/slick/images/flags/heb.png
rename to gui/slick/images/subtitles/flags/heb.png
diff --git a/gui/slick/images/flags/hin.png b/gui/slick/images/subtitles/flags/hin.png
similarity index 100%
rename from gui/slick/images/flags/hin.png
rename to gui/slick/images/subtitles/flags/hin.png
diff --git a/gui/slick/images/flags/hrv.png b/gui/slick/images/subtitles/flags/hrv.png
similarity index 100%
rename from gui/slick/images/flags/hrv.png
rename to gui/slick/images/subtitles/flags/hrv.png
diff --git a/gui/slick/images/flags/hun.png b/gui/slick/images/subtitles/flags/hun.png
similarity index 100%
rename from gui/slick/images/flags/hun.png
rename to gui/slick/images/subtitles/flags/hun.png
diff --git a/gui/slick/images/flags/hye.png b/gui/slick/images/subtitles/flags/hye.png
similarity index 100%
rename from gui/slick/images/flags/hye.png
rename to gui/slick/images/subtitles/flags/hye.png
diff --git a/gui/slick/images/flags/ido.png b/gui/slick/images/subtitles/flags/ido.png
similarity index 100%
rename from gui/slick/images/flags/ido.png
rename to gui/slick/images/subtitles/flags/ido.png
diff --git a/gui/slick/images/flags/ile.png b/gui/slick/images/subtitles/flags/ile.png
similarity index 100%
rename from gui/slick/images/flags/ile.png
rename to gui/slick/images/subtitles/flags/ile.png
diff --git a/gui/slick/images/flags/ind.png b/gui/slick/images/subtitles/flags/ind.png
similarity index 100%
rename from gui/slick/images/flags/ind.png
rename to gui/slick/images/subtitles/flags/ind.png
diff --git a/gui/slick/images/flags/isl.png b/gui/slick/images/subtitles/flags/isl.png
similarity index 100%
rename from gui/slick/images/flags/isl.png
rename to gui/slick/images/subtitles/flags/isl.png
diff --git a/gui/slick/images/flags/ita.png b/gui/slick/images/subtitles/flags/ita.png
similarity index 100%
rename from gui/slick/images/flags/ita.png
rename to gui/slick/images/subtitles/flags/ita.png
diff --git a/gui/slick/images/flags/jpn.png b/gui/slick/images/subtitles/flags/jpn.png
similarity index 100%
rename from gui/slick/images/flags/jpn.png
rename to gui/slick/images/subtitles/flags/jpn.png
diff --git a/gui/slick/images/flags/kan.png b/gui/slick/images/subtitles/flags/kan.png
similarity index 100%
rename from gui/slick/images/flags/kan.png
rename to gui/slick/images/subtitles/flags/kan.png
diff --git a/gui/slick/images/flags/kat.png b/gui/slick/images/subtitles/flags/kat.png
similarity index 100%
rename from gui/slick/images/flags/kat.png
rename to gui/slick/images/subtitles/flags/kat.png
diff --git a/gui/slick/images/flags/kau.png b/gui/slick/images/subtitles/flags/kau.png
similarity index 100%
rename from gui/slick/images/flags/kau.png
rename to gui/slick/images/subtitles/flags/kau.png
diff --git a/gui/slick/images/flags/kaz.png b/gui/slick/images/subtitles/flags/kaz.png
similarity index 100%
rename from gui/slick/images/flags/kaz.png
rename to gui/slick/images/subtitles/flags/kaz.png
diff --git a/gui/slick/images/flags/khm.png b/gui/slick/images/subtitles/flags/khm.png
similarity index 100%
rename from gui/slick/images/flags/khm.png
rename to gui/slick/images/subtitles/flags/khm.png
diff --git a/gui/slick/images/flags/kik.png b/gui/slick/images/subtitles/flags/kik.png
similarity index 100%
rename from gui/slick/images/flags/kik.png
rename to gui/slick/images/subtitles/flags/kik.png
diff --git a/gui/slick/images/flags/kin.png b/gui/slick/images/subtitles/flags/kin.png
similarity index 100%
rename from gui/slick/images/flags/kin.png
rename to gui/slick/images/subtitles/flags/kin.png
diff --git a/gui/slick/images/flags/kir.png b/gui/slick/images/subtitles/flags/kir.png
similarity index 100%
rename from gui/slick/images/flags/kir.png
rename to gui/slick/images/subtitles/flags/kir.png
diff --git a/gui/slick/images/flags/kon.png b/gui/slick/images/subtitles/flags/kon.png
similarity index 100%
rename from gui/slick/images/flags/kon.png
rename to gui/slick/images/subtitles/flags/kon.png
diff --git a/gui/slick/images/flags/kor.png b/gui/slick/images/subtitles/flags/kor.png
similarity index 100%
rename from gui/slick/images/flags/kor.png
rename to gui/slick/images/subtitles/flags/kor.png
diff --git a/gui/slick/images/flags/lat.png b/gui/slick/images/subtitles/flags/lat.png
similarity index 100%
rename from gui/slick/images/flags/lat.png
rename to gui/slick/images/subtitles/flags/lat.png
diff --git a/gui/slick/images/flags/lav.png b/gui/slick/images/subtitles/flags/lav.png
similarity index 100%
rename from gui/slick/images/flags/lav.png
rename to gui/slick/images/subtitles/flags/lav.png
diff --git a/gui/slick/images/flags/lim.png b/gui/slick/images/subtitles/flags/lim.png
similarity index 100%
rename from gui/slick/images/flags/lim.png
rename to gui/slick/images/subtitles/flags/lim.png
diff --git a/gui/slick/images/flags/lit.png b/gui/slick/images/subtitles/flags/lit.png
similarity index 100%
rename from gui/slick/images/flags/lit.png
rename to gui/slick/images/subtitles/flags/lit.png
diff --git a/gui/slick/images/flags/ltz.png b/gui/slick/images/subtitles/flags/ltz.png
similarity index 100%
rename from gui/slick/images/flags/ltz.png
rename to gui/slick/images/subtitles/flags/ltz.png
diff --git a/gui/slick/images/flags/lub.png b/gui/slick/images/subtitles/flags/lub.png
similarity index 100%
rename from gui/slick/images/flags/lub.png
rename to gui/slick/images/subtitles/flags/lub.png
diff --git a/gui/slick/images/flags/mah.png b/gui/slick/images/subtitles/flags/mah.png
similarity index 100%
rename from gui/slick/images/flags/mah.png
rename to gui/slick/images/subtitles/flags/mah.png
diff --git a/gui/slick/images/flags/mal.png b/gui/slick/images/subtitles/flags/mal.png
similarity index 100%
rename from gui/slick/images/flags/mal.png
rename to gui/slick/images/subtitles/flags/mal.png
diff --git a/gui/slick/images/flags/mar.png b/gui/slick/images/subtitles/flags/mar.png
similarity index 100%
rename from gui/slick/images/flags/mar.png
rename to gui/slick/images/subtitles/flags/mar.png
diff --git a/gui/slick/images/flags/mkd.png b/gui/slick/images/subtitles/flags/mkd.png
similarity index 100%
rename from gui/slick/images/flags/mkd.png
rename to gui/slick/images/subtitles/flags/mkd.png
diff --git a/gui/slick/images/flags/mlg.png b/gui/slick/images/subtitles/flags/mlg.png
similarity index 100%
rename from gui/slick/images/flags/mlg.png
rename to gui/slick/images/subtitles/flags/mlg.png
diff --git a/gui/slick/images/flags/mlt.png b/gui/slick/images/subtitles/flags/mlt.png
similarity index 100%
rename from gui/slick/images/flags/mlt.png
rename to gui/slick/images/subtitles/flags/mlt.png
diff --git a/gui/slick/images/flags/mon.png b/gui/slick/images/subtitles/flags/mon.png
similarity index 100%
rename from gui/slick/images/flags/mon.png
rename to gui/slick/images/subtitles/flags/mon.png
diff --git a/gui/slick/images/flags/msa.png b/gui/slick/images/subtitles/flags/msa.png
similarity index 100%
rename from gui/slick/images/flags/msa.png
rename to gui/slick/images/subtitles/flags/msa.png
diff --git a/gui/slick/images/flags/mya.png b/gui/slick/images/subtitles/flags/mya.png
similarity index 100%
rename from gui/slick/images/flags/mya.png
rename to gui/slick/images/subtitles/flags/mya.png
diff --git a/gui/slick/images/flags/nau.png b/gui/slick/images/subtitles/flags/nau.png
similarity index 100%
rename from gui/slick/images/flags/nau.png
rename to gui/slick/images/subtitles/flags/nau.png
diff --git a/gui/slick/images/flags/nbl.png b/gui/slick/images/subtitles/flags/nbl.png
similarity index 100%
rename from gui/slick/images/flags/nbl.png
rename to gui/slick/images/subtitles/flags/nbl.png
diff --git a/gui/slick/images/flags/ndo.png b/gui/slick/images/subtitles/flags/ndo.png
similarity index 100%
rename from gui/slick/images/flags/ndo.png
rename to gui/slick/images/subtitles/flags/ndo.png
diff --git a/gui/slick/images/flags/nep.png b/gui/slick/images/subtitles/flags/nep.png
similarity index 100%
rename from gui/slick/images/flags/nep.png
rename to gui/slick/images/subtitles/flags/nep.png
diff --git a/gui/slick/images/flags/nld.png b/gui/slick/images/subtitles/flags/nld.png
similarity index 100%
rename from gui/slick/images/flags/nld.png
rename to gui/slick/images/subtitles/flags/nld.png
diff --git a/gui/slick/images/flags/nor.png b/gui/slick/images/subtitles/flags/nor.png
similarity index 100%
rename from gui/slick/images/flags/nor.png
rename to gui/slick/images/subtitles/flags/nor.png
diff --git a/gui/slick/images/flags/oci.png b/gui/slick/images/subtitles/flags/oci.png
similarity index 100%
rename from gui/slick/images/flags/oci.png
rename to gui/slick/images/subtitles/flags/oci.png
diff --git a/gui/slick/images/flags/orm.png b/gui/slick/images/subtitles/flags/orm.png
similarity index 100%
rename from gui/slick/images/flags/orm.png
rename to gui/slick/images/subtitles/flags/orm.png
diff --git a/gui/slick/images/flags/pan.png b/gui/slick/images/subtitles/flags/pan.png
similarity index 100%
rename from gui/slick/images/flags/pan.png
rename to gui/slick/images/subtitles/flags/pan.png
diff --git a/gui/slick/images/flags/pol.png b/gui/slick/images/subtitles/flags/pol.png
similarity index 100%
rename from gui/slick/images/flags/pol.png
rename to gui/slick/images/subtitles/flags/pol.png
diff --git a/gui/slick/images/flags/por.png b/gui/slick/images/subtitles/flags/por.png
similarity index 100%
rename from gui/slick/images/flags/por.png
rename to gui/slick/images/subtitles/flags/por.png
diff --git a/gui/slick/images/flags/pus.png b/gui/slick/images/subtitles/flags/pus.png
similarity index 100%
rename from gui/slick/images/flags/pus.png
rename to gui/slick/images/subtitles/flags/pus.png
diff --git a/gui/slick/images/flags/ron.png b/gui/slick/images/subtitles/flags/ron.png
similarity index 100%
rename from gui/slick/images/flags/ron.png
rename to gui/slick/images/subtitles/flags/ron.png
diff --git a/gui/slick/images/flags/rus.png b/gui/slick/images/subtitles/flags/rus.png
similarity index 100%
rename from gui/slick/images/flags/rus.png
rename to gui/slick/images/subtitles/flags/rus.png
diff --git a/gui/slick/images/flags/sag.png b/gui/slick/images/subtitles/flags/sag.png
similarity index 100%
rename from gui/slick/images/flags/sag.png
rename to gui/slick/images/subtitles/flags/sag.png
diff --git a/gui/slick/images/flags/san.png b/gui/slick/images/subtitles/flags/san.png
similarity index 100%
rename from gui/slick/images/flags/san.png
rename to gui/slick/images/subtitles/flags/san.png
diff --git a/gui/slick/images/flags/sin.png b/gui/slick/images/subtitles/flags/sin.png
similarity index 100%
rename from gui/slick/images/flags/sin.png
rename to gui/slick/images/subtitles/flags/sin.png
diff --git a/gui/slick/images/flags/slk.png b/gui/slick/images/subtitles/flags/slk.png
similarity index 100%
rename from gui/slick/images/flags/slk.png
rename to gui/slick/images/subtitles/flags/slk.png
diff --git a/gui/slick/images/flags/slv.png b/gui/slick/images/subtitles/flags/slv.png
similarity index 100%
rename from gui/slick/images/flags/slv.png
rename to gui/slick/images/subtitles/flags/slv.png
diff --git a/gui/slick/images/flags/sme.png b/gui/slick/images/subtitles/flags/sme.png
similarity index 100%
rename from gui/slick/images/flags/sme.png
rename to gui/slick/images/subtitles/flags/sme.png
diff --git a/gui/slick/images/flags/smo.png b/gui/slick/images/subtitles/flags/smo.png
similarity index 100%
rename from gui/slick/images/flags/smo.png
rename to gui/slick/images/subtitles/flags/smo.png
diff --git a/gui/slick/images/flags/sna.png b/gui/slick/images/subtitles/flags/sna.png
similarity index 100%
rename from gui/slick/images/flags/sna.png
rename to gui/slick/images/subtitles/flags/sna.png
diff --git a/gui/slick/images/flags/snd.png b/gui/slick/images/subtitles/flags/snd.png
similarity index 100%
rename from gui/slick/images/flags/snd.png
rename to gui/slick/images/subtitles/flags/snd.png
diff --git a/gui/slick/images/flags/som.png b/gui/slick/images/subtitles/flags/som.png
similarity index 100%
rename from gui/slick/images/flags/som.png
rename to gui/slick/images/subtitles/flags/som.png
diff --git a/gui/slick/images/flags/sot.png b/gui/slick/images/subtitles/flags/sot.png
similarity index 100%
rename from gui/slick/images/flags/sot.png
rename to gui/slick/images/subtitles/flags/sot.png
diff --git a/gui/slick/images/flags/spa.png b/gui/slick/images/subtitles/flags/spa.png
similarity index 100%
rename from gui/slick/images/flags/spa.png
rename to gui/slick/images/subtitles/flags/spa.png
diff --git a/gui/slick/images/flags/sqi.png b/gui/slick/images/subtitles/flags/sqi.png
similarity index 100%
rename from gui/slick/images/flags/sqi.png
rename to gui/slick/images/subtitles/flags/sqi.png
diff --git a/gui/slick/images/flags/srd.png b/gui/slick/images/subtitles/flags/srd.png
similarity index 100%
rename from gui/slick/images/flags/srd.png
rename to gui/slick/images/subtitles/flags/srd.png
diff --git a/gui/slick/images/flags/srp.png b/gui/slick/images/subtitles/flags/srp.png
similarity index 100%
rename from gui/slick/images/flags/srp.png
rename to gui/slick/images/subtitles/flags/srp.png
diff --git a/gui/slick/images/flags/swe.png b/gui/slick/images/subtitles/flags/swe.png
similarity index 100%
rename from gui/slick/images/flags/swe.png
rename to gui/slick/images/subtitles/flags/swe.png
diff --git a/gui/slick/images/flags/tat.png b/gui/slick/images/subtitles/flags/tat.png
similarity index 100%
rename from gui/slick/images/flags/tat.png
rename to gui/slick/images/subtitles/flags/tat.png
diff --git a/gui/slick/images/flags/tgk.png b/gui/slick/images/subtitles/flags/tgk.png
similarity index 100%
rename from gui/slick/images/flags/tgk.png
rename to gui/slick/images/subtitles/flags/tgk.png
diff --git a/gui/slick/images/flags/tgl.png b/gui/slick/images/subtitles/flags/tgl.png
similarity index 100%
rename from gui/slick/images/flags/tgl.png
rename to gui/slick/images/subtitles/flags/tgl.png
diff --git a/gui/slick/images/flags/tha.png b/gui/slick/images/subtitles/flags/tha.png
similarity index 100%
rename from gui/slick/images/flags/tha.png
rename to gui/slick/images/subtitles/flags/tha.png
diff --git a/gui/slick/images/flags/ton.png b/gui/slick/images/subtitles/flags/ton.png
similarity index 100%
rename from gui/slick/images/flags/ton.png
rename to gui/slick/images/subtitles/flags/ton.png
diff --git a/gui/slick/images/flags/tsn.png b/gui/slick/images/subtitles/flags/tsn.png
similarity index 100%
rename from gui/slick/images/flags/tsn.png
rename to gui/slick/images/subtitles/flags/tsn.png
diff --git a/gui/slick/images/flags/tuk.png b/gui/slick/images/subtitles/flags/tuk.png
similarity index 100%
rename from gui/slick/images/flags/tuk.png
rename to gui/slick/images/subtitles/flags/tuk.png
diff --git a/gui/slick/images/flags/tur.png b/gui/slick/images/subtitles/flags/tur.png
similarity index 100%
rename from gui/slick/images/flags/tur.png
rename to gui/slick/images/subtitles/flags/tur.png
diff --git a/gui/slick/images/flags/twi.png b/gui/slick/images/subtitles/flags/twi.png
similarity index 100%
rename from gui/slick/images/flags/twi.png
rename to gui/slick/images/subtitles/flags/twi.png
diff --git a/gui/slick/images/flags/uig.png b/gui/slick/images/subtitles/flags/uig.png
similarity index 100%
rename from gui/slick/images/flags/uig.png
rename to gui/slick/images/subtitles/flags/uig.png
diff --git a/gui/slick/images/flags/ukr.png b/gui/slick/images/subtitles/flags/ukr.png
similarity index 100%
rename from gui/slick/images/flags/ukr.png
rename to gui/slick/images/subtitles/flags/ukr.png
diff --git a/gui/slick/images/flags/und.png b/gui/slick/images/subtitles/flags/und.png
similarity index 100%
rename from gui/slick/images/flags/und.png
rename to gui/slick/images/subtitles/flags/und.png
diff --git a/gui/slick/images/subtitles/flags/unknown.png b/gui/slick/images/subtitles/flags/unknown.png
new file mode 100644
index 0000000000000000000000000000000000000000..af9249bc317b724a8923e1447c60977dc9a91827
Binary files /dev/null and b/gui/slick/images/subtitles/flags/unknown.png differ
diff --git a/gui/slick/images/flags/uzb.png b/gui/slick/images/subtitles/flags/uzb.png
similarity index 100%
rename from gui/slick/images/flags/uzb.png
rename to gui/slick/images/subtitles/flags/uzb.png
diff --git a/gui/slick/images/flags/ven.png b/gui/slick/images/subtitles/flags/ven.png
similarity index 100%
rename from gui/slick/images/flags/ven.png
rename to gui/slick/images/subtitles/flags/ven.png
diff --git a/gui/slick/images/flags/vie.png b/gui/slick/images/subtitles/flags/vie.png
similarity index 100%
rename from gui/slick/images/flags/vie.png
rename to gui/slick/images/subtitles/flags/vie.png
diff --git a/gui/slick/images/flags/zha.png b/gui/slick/images/subtitles/flags/zha.png
similarity index 100%
rename from gui/slick/images/flags/zha.png
rename to gui/slick/images/subtitles/flags/zha.png
diff --git a/gui/slick/images/flags/zho.png b/gui/slick/images/subtitles/flags/zho.png
similarity index 100%
rename from gui/slick/images/flags/zho.png
rename to gui/slick/images/subtitles/flags/zho.png
diff --git a/gui/slick/interfaces/default/config_subtitles.tmpl b/gui/slick/interfaces/default/config_subtitles.tmpl
index 145c847c2f837c177e0d5806d9c6162c609ca84e..75e4434aeedb6fb6faa813af3b5e3ceab0be80d1 100644
--- a/gui/slick/interfaces/default/config_subtitles.tmpl
+++ b/gui/slick/interfaces/default/config_subtitles.tmpl
@@ -18,7 +18,7 @@
   	\$(document).ready(function() {
 		\$("#subtitles_languages").tokenInput(
 				[
-	                <%=",\r\n".join("{id: \"" + lang.alpha3 + "\", name: \"" + lang.name + "\"}" for lang in subtitles.subtitleLanguageFilter())%>
+	                <%=",\r\n".join("{id: \"" + lang.opensubtitles + "\", name: \"" + lang.name + "\"}" for lang in subtitles.subtitleLanguageFilter())%>
 	            ],
 	            {
 					method: "POST",
@@ -28,7 +28,7 @@
 	            		
 		            		[
 		            			<%=
-		            					",\r\n".join("{id: \"" + subtitles.fromietf(lang).alpha3 + "\", name: \"" + subtitles.fromietf(lang).name + "\"}" for lang in subtitles.wantedLanguages()) if subtitles.wantedLanguages() else ''
+		            					",\r\n".join("{id: \"" + subtitles.fromietf(lang).opensubtitles + "\", name: \"" + subtitles.fromietf(lang).name + "\"}" for lang in subtitles.wantedLanguages()) if subtitles.wantedLanguages() else ''
 		            			%>
 		            		]
 	            }
diff --git a/gui/slick/interfaces/default/displayShow.tmpl b/gui/slick/interfaces/default/displayShow.tmpl
index 3af81d411d1235f39e7f5744eae236b2cc549c77..27ae2c46ba94897b80771e4a040a3405af23a46c 100644
--- a/gui/slick/interfaces/default/displayShow.tmpl
+++ b/gui/slick/interfaces/default/displayShow.tmpl
@@ -284,7 +284,7 @@
                 </table>
             
                 <table style="width:180px; float: right; vertical-align: middle; height: 100%;">
-                    #set $info_flag = $subtitles.fromietf($show.lang).alpha3 if $subtitles.isValidLanguage($show.lang) else 'unknown'
+                    #set $info_flag = $subtitles.fromietf($show.lang).alpha3
                     <tr><td class="showLegend">Info Language:</td><td><img src="$sbRoot/images/flags/${info_flag}.png" width="16" height="11" alt="$show.lang" title="$show.lang" onError="this.onerror=null;this.src='$sbRoot/images/flags/unknown.png';"/></td></tr>
                     #if $sickbeard.USE_SUBTITLES
                     <tr><td class="showLegend">Subtitles: </td><td><img src="$sbRoot/images/#if $show.subtitles then "yes16.png\" alt=\"Y" else "no16.png\" alt=\"N"#" width="16" height="16" /></td></tr>
@@ -579,8 +579,8 @@
             </td>
             <td class="col-subtitles" align="center">
             #for $sub_lang in [$subtitles.fromietf(x) for x in $epResult["subtitles"].split(',') if $epResult["subtitles"]]:
-                #set $flag = $sub_lang.alpha3 if $hasattr($sub_lang, 'alpha3') and $sub_lang.alpha3 else $sub_lang.alpha2 if $hasattr($sub_lang, 'alpha2') and $sub_lang.alpha2 else 'unknown'
-                <img src="$sbRoot/images/flags/${flag}.png" width="16" height="11" alt="${sub_lang.name}" onError="this.onerror=null;this.src='$sbRoot/images/flags/unknown.png';" />
+                #set $flag = $sub_lang.opensubtitles
+                <img src="$sbRoot/images/subtitles/flags/${flag}.png" width="16" height="11" alt="${sub_lang.name}" onError="this.onerror=null;this.src='$sbRoot/images/flags/unknown.png';" />
             #end for
             </td>
             #set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($epResult["status"]))
diff --git a/gui/slick/interfaces/default/manage_subtitleMissed.tmpl b/gui/slick/interfaces/default/manage_subtitleMissed.tmpl
index 38d061d6096697317125a4e6c39218d86e8d21a4..f5962e1db98d2a576aaa77fa37cc6eba1707eb09 100644
--- a/gui/slick/interfaces/default/manage_subtitleMissed.tmpl
+++ b/gui/slick/interfaces/default/manage_subtitleMissed.tmpl
@@ -30,7 +30,7 @@
 Manage episodes without <select name="whichSubs" class="form-control form-control-inline input-sm">
 <option value="all">All</option>
 #for $sub_lang in [$subtitles.fromietf(x) for x in $subtitles.wantedLanguages]:
-<option value="$sub_lang.alpha3">$sub_lang.name</option>
+<option value="$sub_lang.opensubtitles">$sub_lang.name</option>
 #end for
 </select>
 subtitles
diff --git a/gui/slick/js/ajaxEpSubtitles.js b/gui/slick/js/ajaxEpSubtitles.js
index c9e769b86564e574263aa8e60d139edcc68cd7a4..3514e7af2ca95bca629012dd5166a93be07e2594 100644
--- a/gui/slick/js/ajaxEpSubtitles.js
+++ b/gui/slick/js/ajaxEpSubtitles.js
@@ -14,9 +14,9 @@
 				$.each(subtitles,function(index, language){
 					if (language != "" && language != "und") {
 						if (index != subtitles.length - 1) {
-							subtitles_td.append($("<img/>").attr({"src": sbRoot+"/images/flags/"+language+".png", "alt": language, "width": 16, "height": 11}));
+							subtitles_td.append($("<img/>").attr({"src": sbRoot+"/images/subtitles/flags/"+language+".png", "alt": language, "width": 16, "height": 11}));
 					  	} else {
-					  		subtitles_td.append($("<img/>").attr({"src": sbRoot+"/images/flags/"+language+".png", "alt": language, "width": 16, "height": 11}));
+					  		subtitles_td.append($("<img/>").attr({"src": sbRoot+"/images/subtitles/flags/"+language+".png", "alt": language, "width": 16, "height": 11}));
 					  	}
 					}
 				});			
diff --git a/gui/slick/js/lib/jquery.tokeninput.js b/gui/slick/js/lib/jquery.tokeninput.js
index 2afcc0f2c4ad5ded5747b8e86353e47904b456d0..bf309d79fd17d3638703f596c3cdcceb25189213 100644
--- a/gui/slick/js/lib/jquery.tokeninput.js
+++ b/gui/slick/js/lib/jquery.tokeninput.js
@@ -43,8 +43,8 @@ var DEFAULT_SETTINGS = {
     idPrefix: "token-input-",
 
 	// Formatters
-    resultsFormatter: function(item){ return "<li><img src='"+sbRoot+"/images/flags/"+item["id"]+".png' /> " + item[this.propertyToSearch]+ "</li>" },
-    tokenFormatter: function(item) { return "<li><img src='"+sbRoot+"/images/flags/"+item["id"]+".png' /> <p>" + item[this.propertyToSearch] + "</p></li>" },
+    resultsFormatter: function(item){ return "<li><img src='"+sbRoot+"/images/subtitles/flags/"+item["id"]+".png' /> " + item[this.propertyToSearch]+ "</li>" },
+    tokenFormatter: function(item) { return "<li><img src='"+sbRoot+"/images/subtitles/flags/"+item["id"]+".png' /> <p>" + item[this.propertyToSearch] + "</p></li>" },
     flag: "flag",
 
 	// Callbacks
diff --git a/gui/slick/js/manageSubtitleMissed.js b/gui/slick/js/manageSubtitleMissed.js
index 18d0844824c3cc8417d6f12b9f2897ac8e6f6c10..262ecbb282e38fbba962c0813ac97ca310d6ae03 100644
--- a/gui/slick/js/manageSubtitleMissed.js
+++ b/gui/slick/js/manageSubtitleMissed.js
@@ -15,7 +15,7 @@ $(document).ready(function() {
         	subtitles = subtitles.split(',')
         	for (i in subtitles)
         	{
-        		row += '   <img src="/images/flags/'+subtitles[i]+'.png" width="16" height="11" alt="'+subtitles[i]+'" />&nbsp;';
+        		row += '   <img src="/images/subtitles/flags/'+subtitles[i]+'.png" width="16" height="11" alt="'+subtitles[i]+'" />&nbsp;';
         	}
         row += '  </td>';
         row += ' </tr>'
@@ -69,4 +69,4 @@ $(document).ready(function() {
         });
     });
 
-});
\ No newline at end of file
+});
diff --git a/lib/guessit/test/__main__.py b/lib/guessit/test/__main__.py
new file mode 100644
index 0000000000000000000000000000000000000000..32b8dd1001bbbf692d94434545b1fe6825e4a549
--- /dev/null
+++ b/lib/guessit/test/__main__.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# GuessIt - A library for guessing information from filenames
+# Copyright (c) 2013 Nicolas Wack <wackou@gmail.com>
+#
+# GuessIt is free software; you can redistribute it and/or modify it under
+# the terms of the Lesser GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# GuessIt is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# Lesser GNU General Public License for more details.
+#
+# You should have received a copy of the Lesser GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+from __future__ import absolute_import, division, print_function, unicode_literals
+from guessit.test import (test_api, test_autodetect, test_autodetect_all, test_doctests,
+                          test_episode, test_hashes, test_language, test_main,
+                          test_matchtree, test_movie, test_quality, test_utils)
+from unittest import TextTestRunner
+
+
+import logging
+
+def main():
+    for suite in [test_api.suite, test_autodetect.suite,
+                  test_autodetect_all.suite, test_doctests.suite,
+                  test_episode.suite, test_hashes.suite, test_language.suite,
+                  test_main.suite, test_matchtree.suite, test_movie.suite,
+                  test_quality.suite, test_utils.suite]:
+        TextTestRunner(verbosity=2).run(suite)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/lib/guessit/test/test_doctests.py b/lib/guessit/test/test_doctests.py
new file mode 100644
index 0000000000000000000000000000000000000000..9fedeb0f3f9809cfbfe4eb2eb610c11639e87c3d
--- /dev/null
+++ b/lib/guessit/test/test_doctests.py
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# GuessIt - A library for guessing information from filenames
+# Copyright (c) 2014 Nicolas Wack <wackou@gmail.com>
+#
+# GuessIt is free software; you can redistribute it and/or modify it under
+# the terms of the Lesser GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# GuessIt is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# Lesser GNU General Public License for more details.
+#
+# You should have received a copy of the Lesser GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+from __future__ import absolute_import, division, print_function, unicode_literals
+
+from guessit.test.guessittest import *
+import guessit
+import guessit.hash_ed2k
+import unittest
+import doctest
+
+
+def load_tests(loader, tests, ignore):
+    tests.addTests(doctest.DocTestSuite(guessit))
+    tests.addTests(doctest.DocTestSuite(guessit.date))
+    tests.addTests(doctest.DocTestSuite(guessit.fileutils))
+    tests.addTests(doctest.DocTestSuite(guessit.guess))
+    tests.addTests(doctest.DocTestSuite(guessit.hash_ed2k))
+    tests.addTests(doctest.DocTestSuite(guessit.language))
+    tests.addTests(doctest.DocTestSuite(guessit.matchtree))
+    tests.addTests(doctest.DocTestSuite(guessit.textutils))
+    return tests
+
+suite = unittest.TestSuite()
+load_tests(None, suite, None)
+
+if __name__ == '__main__':
+    TextTestRunner(verbosity=2).run(suite)
diff --git a/sickbeard/history.py b/sickbeard/history.py
index 3f4f042cbbdbb88dd477ac57eefeec10444eb47d..1889af2fdcbf16e2d242440a986ecd6af7c03d07 100644
--- a/sickbeard/history.py
+++ b/sickbeard/history.py
@@ -77,7 +77,7 @@ def logDownload(episode, filename, new_ep_quality, release_group=None, version=-
 
 
 def logSubtitle(showid, season, episode, status, subtitleResult):
-    resource = subtitleResult.language.alpha3
+    resource = subtitleResult.language.opensubtitles
     provider = subtitleResult.provider_name
 
     status, quality = Quality.splitCompositeStatus(status)
diff --git a/sickbeard/subtitles.py b/sickbeard/subtitles.py
index 183af22ca50cb6082ea60514a4b295f8762d50f5..8532b57b967adae3c7dbdeb7ad34806f17d5cc5c 100644
--- a/sickbeard/subtitles.py
+++ b/sickbeard/subtitles.py
@@ -67,7 +67,7 @@ def getEnabledServiceList():
 
 #Hack around this for now.
 def fromietf(language):
-    return babelfish.Language.fromietf(language if language not in 'pb' else 'pt-BR')
+    return babelfish.Language.fromopensubtitles(language)
 
 def isValidLanguage(language):
     try:
@@ -81,7 +81,7 @@ def getLanguageName(language):
 
 # TODO: Filter here for non-languages in sickbeard.SUBTITLES_LANGUAGES
 def wantedLanguages(sqlLike = False):
-    wantedLanguages = sorted(sickbeard.SUBTITLES_LANGUAGES)
+    wantedLanguages = [x for x in sorted(sickbeard.SUBTITLES_LANGUAGES) if x in babelfish.language_converters['opensubtitles'].codes]
     if sqlLike:
         return '%' + ','.join(wantedLanguages) + '%'
     return wantedLanguages
@@ -92,8 +92,10 @@ def subtitlesLanguages(video_path):
     languages = subliminal.video.scan_subtitle_languages(video_path)
 
     for language in languages:
-        if hasattr(language, 'alpha3') and language.alpha3:
-                resultList.append(language.alpha3)
+        if hasattr(language, 'opensubtitles') and language.opensubtitles:
+            resultList.append(language.opensubtitles)
+        elif hasattr(language, 'alpha3') and language.alpha3:
+            resultList.append(language.alpha3)
         elif hasattr(language, 'alpha2') and language.alpha2:
             resultList.append(language.alpha2)
 
@@ -101,11 +103,14 @@ def subtitlesLanguages(video_path):
     if len(resultList) is 1 and len(defaultLang) is 1:
         return defaultLang
 
+    if ('pob' in defaultLang or 'pb' in defaultLang) and ('pt' not in defaultLang and 'por' not in defaultLang):
+            resultList = [x if not x in ['por', 'pt'] else u'pob' for x in resultList]
+
     return sorted(resultList)
 
 # TODO: Return only languages our providers allow
 def subtitleLanguageFilter():
-    return [language for language in babelfish.LANGUAGE_MATRIX if hasattr(language, 'alpha2') and language.alpha2]
+    return [babelfish.Language.fromopensubtitles(language) for language in babelfish.language_converters['opensubtitles'].codes if len(language) == 3]
 
 class SubtitlesFinder():
     """
diff --git a/sickbeard/tv.py b/sickbeard/tv.py
index b2d33fb3a8586360a985402bf3ded8ec6d5f4181..a5230ca80e6e53b7417a69b4aa3a05ba597026b7 100644
--- a/sickbeard/tv.py
+++ b/sickbeard/tv.py
@@ -1517,7 +1517,7 @@ class TVEpisode(object):
         if sickbeard.SUBTITLES_HISTORY:
             for video, subs in foundSubs.iteritems():
                 for sub in subs:
-                    logger.log(u'history.logSubtitle %s, %s' % (sub.provider_name, sub.language.alpha3), logger.DEBUG)
+                    logger.log(u'history.logSubtitle %s, %s' % (sub.provider_name, sub.language.opensubtitles), logger.DEBUG)
                     history.logSubtitle(self.show.indexerid, self.season, self.episode, self.status, sub)
 
         return self.subtitles