diff --git a/CONTRIBUTORS.mkdn b/CONTRIBUTORS.mkdn
index d342d31..853e014 100644
--- a/CONTRIBUTORS.mkdn
+++ b/CONTRIBUTORS.mkdn
@@ -205,56 +205,38 @@
 * __UX Team:__ blunden, ciwrl, daneshm, DvTonder, jackmu95, maniac103, Kaik541
 * __Other:__ jruesga
 
-Translators:
-------------
-* __Afrikaans:__ David van Tonder (DvTonder), Corrie Meyer (isimobile)
-* __Arabic:__ Umar Omar (uomar8)
-* __Asturian:__ esbardu (esbardu), ivarela (malditoastur), Xandru Martino Ruz (Xandru), Xuacu Saturio (Xuacu)
-* __Catalan:__ Arnau (Arnau), Pau Galindo (Pau_Galindo)
-* __Chinese Simplified:__ Matthew Humphrey (775405984), Contactfront (Contactfront), Easeman Wang (easeman9), jiveking (jiveking), Yun Liu (liuyun97), Hexchain Tong (richard0053), Ryan Chan (smartryan), Thomas Wang (ts0516)
-* __Chinese Traditional:__ Hsiang Jung, CHENG (HJCHENG), Kelvin Cheong (kelvincheong), Bing-Hua Wang (louiswpf), npes87184 (npes87184), Ryan Chan (smartryan)
-* __Chinese Traditional, Hong Kong:__ Kelvin Cheong (kelvincheong), Ryan Chan (smartryan), Li Chi Tung (tonyli1357)
-* __Croatian:__ David Boca (davidboca), markan (markan), Robert Rozić (Rox), Josip Volf (Wuk)
-* __Czech:__ Radovan Kepák (bckp), Štěpán Dalecký (daleckystepan), engy (engy), Keltek (Keltek), ScArSVK (ScArSVK), Snoop05 (Snoop05)
-* __Danish:__ Morten Jørgensen (Fidoble), Jacob_DK (Jacob_DK), Ole Ingeman Christensen (OIChristensen)
-* __Dutch:__ Eddy Witkamp (eddywitkamp), Frank Baeten (frankbaeten), Tom Heisterkamp (HappyFlow), Martin Coulon (martinusbe), Timo Viveen (Nadermane), ray1618 (ray1618), Marco Brohet (therbom)
-* __Estonian:__ Rudolf Tammekivi (rtammekivi)
-* __Finnish:__ Eero Hyrsky (EnergySnail), Jani Kinnunen (jkinnunen), Niko Koivu (niko0o), Sasu Lehtonen (zazza)
-* __French:__ DelPETER (DelPETER), humpf (humpf), Julien Stephan (julienstephan29), laddass (laddass), .... (lemachinbidule), math Matmutant (matmutant), Micks29 (Micks29), opengillou (opengillou), Alexandre Bertrand (trandbert)
-* __Galician:__ Daniel (canu7), Isaac Álvarez Veiga (Erithrym)
-* __Georgian:__ Alexander (alexander_9)
-* __German:__ Sascha Schroeder (c1ph4), Kim Le (elektroschmock78), Jacob Müller (jackmu95), Kilian von Pflugk (kilianvonpflugk), Kilowatt.W (kilowatt), Benjamin Huschle (kolsms), Danny Baumann (maniac103), Mardon (markusmenzel), maxee (maxee), michelsberg (michelsberg), Roman Ettlinger (romanett98), Stefan O. (stefanao), Thomas Reinhardt (tarreas), unpublished (unpublished), Yannik (yanniks)
-* __Greek:__ Vasilis Akritas (billak75), Michael Bestas (mikeioannina)
-* __Hebrew:__ Arthur Zamarin (arthurzam), evyatark2 (evyatark2), Mr_Guy (Mr_Guy), Oren Cohen (orenc17), sagi232123 (sagi232123)
-* __Hindi:__ c0d3ripp3r (c0d3ripp3r), Solomon Sunder (solomonsunder)
-* __Hungarian:__ Bálint Czobor (balint), Buga Dániel (BugaDániel), fischerandris (fischerandris), lazajnd (lazajnd), Tamás Tóth (tothtamassyman)
-* __Indonesian:__ Vicky Sofyan (Arch9), famihyypia (famihyypia), Ilham Ibrahim (iiibrahim89), Ruswan Efendi (RuswanWu7), tohenk (tohenk)
-* __Italian:__ Alessandro Preti (alessandropreti), Francesco Foresta (francescoforesta), Joey Rizzoli (linuxx), Lorenzo Faccini (lo97), rheeze (rheeze), Valdevies (Valdevies)
-* __Japanese:__ Black Zigong (blackzigong), jiveking (jiveking), おたっく (otack), Sena Endo (senaforandroid), stmay30 (stmay30)
-* __Korean:__ 이승렬 (toy0605)
-* __Kurdish:__ falah (Dylan2785)
-* __Latvian:__ Māris Rēdmanis (maaris)
-* __Lithuanian:__ Liudas Ališauskas (liudas.alisauskas), Edmundas Plentauskas (plentauskas1992), HardLight (polizplz), Saulius Vyšniauskas (SauliusVy)
-* __Luxembourgish:__ Michel Weimerskirch (michel_weimerskirch), soued031 (soued031)
-* __Malay:__ tanakwagu (tanakwagu)
-* __Norwegian Bokmal:__ Vegard Fladby (Allram), Sten Eikrem (Storesteinen)
-* __Persian:__ Ali Niki (alinik), Mehdi HosseinZade (Arshen) (Arshen-2014), Yaser Rajabi (yrajabi)
-* __Polish:__ Dawid (dawidohs), Kamil Jarosław (devloz1996), Michał Gątkowski (IreuN), Andrzej Ressel (jereksel), Michał Kamień (kamykowsky), lozohcum M (lozohcum), Tomasz Popielarczyk (popielarczyktomasz), Michał Jakubowski (revanmj)
-* __Portuguese:__ João Pedro Luís (joaopluis), Sergio Borges (sergioborges99), André Pinela (sheffzor), Tercio Carvalho (tercioc)
-* __Portuguese, Brazilian:__ Carlos Henrique Brendler Cabral (carloshbcabral), Gafanhotz (Gafanhotz), Gustavo Rosa (gustavogyn), Tercio Carvalho (tercioc)
-* __Romanian:__ apolodor (apolodor), azzureux (azzureux), Marian-Mina Mihai (bboylalu), mihaitaus (mihaitaus)
-* __Russian:__ Vladislav Koldobskiy (NeverGone), Alexey Kuznetsov (eeepc1016p), Artem Leshchev (matshch), Maxim Perepelitsa (N0xFF), Yaroslav Yadrishnikov (MrYadro)
-* __Serbian (Cyrillic):__ Dragan Milenkovic (gagy187), Sava Mikalački (mikalackis), Драган (WD40)
-* __Sinhala:__ Rananga Suraweera (rananga)
-* __Slovak:__ Martin (mato), Bohuslav Oršula (orsulab), Peter Malík (PeterM), pyler (pyler), Snoop05 (Snoop05)
-* __Spanish:__ Isaac Álvarez Veiga (Erithrym), Jorge Ruesga (jruesga), Lorenzo M (Lorenzo_M), luchomacedo92 (LuchoMacedo), Pau Galindo (Pau_Galindo)
-* __Swedish:__ Simon Bäck (backsimon), elelinux (elelinux), Simon Danielsson (sad_88), Ted Lundwall (TedLundwall)
-* __Tamil:__ Kishore Sheik Ahamed (kishoreinme), Solomon Sunder (solomonsunder), Stars Soft (starssoft), அருண் குமார் - Arun Kumar (thangamani-arun)
-* __Thai:__ pureexe (pureexe)
-* __Turkish:__ Arif GÜLER (ArF), Mesut Öztürk (doktormesut), Murat KOŞAK (muratkosak), okirat (okirat), Şenol (senoleker)
-* __Ukrainian:__ Andriy Poznakhovskyy (Andrulko), Nazar Sokolovsky (nazar_sokolovsky), Maks (probil), xalich (xalich)
-* __Uyghur:__ jiveking (jiveking)
-* __Vietnamese:__ Bảo Quân (quan221295), Triet Bui Minh (x3cafe)
+Translations Managers:
+----------------------
+BadDaemon, ciwrl, mikeioannina, forkbomb, linuxx
+
+Translations Proofreaders:
+--------------------------
+* __Bulgarian:__ Hristo Dipchikov (hristodipchikov)
+* __Catalan:__ Arnau
+* __Chinese Simplified:__ YFdyh000, 陈少举 (chenshaoju), Yun Liu (liuyun97)
+* __Chinese Traditional:__ 阿捷 aJay (boxajay)
+* __Czech:__ Ondrej Zima (Keltek)
+* __Danish:__ Jacob_DK
+* __Dutch:__ Eddy Witkamp (eddywitkamp), Peter Buijsman (Dawnes)
+* __English, Australia:__ Simon Shields (forkbomb)
+* __Finnish:__ Niko Koivu (niko0o)
+* __French:__ Adrian DC (RadianDC)
+* __Galician:__ mandruis (manuiglesias96)
+* __German:__ Michael W (baddaemon87), Danny Baumann (maniac103), Kim Le (elektroschmock78)
+* __Greek:__ Michael Bestas (mikeioannina)
+* __Hebrew:__ Nir Bruderman (nbruderman)
+* __Hungarian:__ Tamás Tóth (tothtamassyman)
+* __Kashubian:__ Krzysztof Mesek (mesiu84)
+* __Italian:__ Joey Rizzoli (linuxx)
+* __Luxembourgish:__ Michel Weimerskirch (michel_weimerskirch), Edson Souza Morais (soued031)
+* __Norwegian Bokmal:__ Vegard Fladby (Allram), Syver Stensholt (sssandum)
+* __Pirate English:__ Paul Keith (javelinanddart)
+* __Polish:__ Mateusz (godlesplay)
+* __Portuguese:__ Sergio Borges (sergioborges99)
+* __Romanian:__ Pop Alexandru Radu (minealex2244)
+* __Serbian (Cyrillic):__ Драган (WD40)
+* __Slovak:__ Róbert Barát (rbarat)
+* __Ukrainian:__ Aleksander Belilovets (Aleksander_Belilovets)
 
 Graphics and Assets:
 --------------------
