diff --git a/fanficfare/story.py b/fanficfare/story.py index a034ec6a..45796e60 100644 --- a/fanficfare/story.py +++ b/fanficfare/story.py @@ -229,104 +229,174 @@ except: # logger.debug("fake sanitize called...") return t -# The list comes from ffnet, the only multi-language site we support -# at the time of writing. Values are taken largely from pycountry, -# but with some corrections and guesses. +# The list comes from ffnet and ao3, the most popular multi-language +# sites we support. https://archiveofourown.org/languages langs = { - "English":"en", - "Spanish":"es", - "French":"fr", - "German":"de", - "Chinese":"zh", - "Japanese":"ja", - "Dutch":"nl", - "Portuguese":"pt", - "Russian":"ru", - "Italian":"it", - "Bulgarian":"bg", - "Polish":"pl", - "Hungarian":"hu", - "Hebrew":"he", - "Arabic":"ar", - "Swedish":"sv", - "Norwegian":"no", - "Danish":"da", - "Finnish":"fi", - "Filipino":"fil", - "Esperanto":"eo", - "Hindi":"hi", - "Punjabi":"pa", - "Farsi":"fa", - "Greek":"el", - "Romanian":"ro", - "Albanian":"sq", - "Serbian":"sr", - "Turkish":"tr", - "Czech":"cs", - "Indonesian":"id", - "Croatian":"hr", - "Catalan":"ca", - "Latin":"la", - "Korean":"ko", - "Vietnamese":"vi", - "Thai":"th", - "Devanagari":"hi", - - ## These are from/for AO3: - - u'العربية':'ar', - u'беларуская':'be', - u'Български език':'bg', - u'Català':'ca', - u'Čeština':'cs', - u'Cymraeg':'cy', - u'Dansk':'da', - u'Deutsch':'de', - u'Ελληνικά':'el', - u'English':'en', - u'Esperanto':'eo', - u'Español':'es', - u'eesti keel':'et', - u'فارسی':'fa', - u'Suomi':'fi', - u'Wikang Filipino':'fil', - u'Français':'fr', - u'Gaeilge':'ga', - u'Gàidhlig':'gd', - u'עִבְרִית':'he', - u'हिन्दी':'hi', - u'Hrvatski':'hr', - u'Magyar':'hu', - u'Bahasa Indonesia':'id', - u'Íslenska':'is', - u'Italiano':'it', - u'日本語':'ja', - u'한국말':'ko', - u'Lingua latina':'la', - u'Lietuvių':'lt', - u'Latviešu valoda':'lv', - u'मराठी':'mr', - u'بهاس ملايو ':'ms', - u'Nederlands':'nl', - u'Norsk':'no', - u'ਪੰਜਾਬੀ':'pa', - u'Polski':'pl', - u'Português':'pt', - u'Quenya':'qya', - u'Română':'ro', - u'Русский':'ru', - u'Slovenčina':'sk', - u'Shqip':'sq', - u'српски':'sr', - u'Svenska':'sv', - u'ไทย':'th', - u'tlhIngan-Hol':'tlh', # Klingon. Has a real ISO 639-2 code. - #'Thermian':'', # Alien language from Galaxy Quest. - u'Türkçe':'fr', - u'українська':'uk', - u'Tiếng Việt':'vi', - u'中文':'zh', - u'Bahasa Malaysia':'zsm', + u'Afrikaans': 'afr', + u'Albanian': 'sq', + u'Arabic': 'ar', + u'Bahasa Indonesia': 'id', + u'Bahasa Malaysia': 'zsm', + u'Basa Jawa': 'jav', + u'Bosanski': 'bos', + u'Brezhoneg': 'bre', + u'Bulgarian': 'bg', + u'Catalan': 'ca', + u'Català': 'ca', + u'Cebuano': 'ceb', + u'Chinese': 'zh', + u'Chinuk Wawa': 'chn', + u'Croatian': 'hr', + u'Cymraeg': 'cy', + u'Czech': 'cs', + u'Danish': 'da', + u'Dansk': 'da', + u'Deutsch': 'de', + u'Devanagari': 'hi', + u'Dutch': 'nl', + u'Eald Englisċ': 'ang', + u'English': 'en', + u'Español': 'es', + u'Esperanto': 'eo', + u'Euskara': 'eu', + u'Farsi': 'fa', + u'Filipino': 'fil', + u'Finnish': 'fi', + u'Français': 'fr', + u'French': 'fr', + u'Furlan': 'fur', + u'Gaeilge': 'ga', + u'Galego': 'gl', + u'German': 'de', + u'Greek': 'el', + u'Gàidhlig': 'gd', + u'Hausa | هَرْشَن هَوْسَ': 'ha', + u'Hebrew': 'he', + u'Hindi': 'hi', + u'Hrvatski': 'hr', + u'Hungarian': 'hu', + u'Indonesian': 'id', + u'Interlingua': 'ia', + u'Italian': 'it', + u'Italiano': 'it', + u'Japanese': 'ja', + u'Khuzdul': 'mis', # fictional - Tolkien Dwarves + u'Kiswahili': 'sw', + u'Korean': 'ko', + u'Kurdî | کوردی': 'ckb', + u'Langue des signes québécoise': 'fcs', + u'Latin': 'la', + u'Latviešu valoda': 'lv', + u'Lietuvių': 'lt', + u'Lietuvių kalba': 'lt', + u'Lingua latina': 'la', + u'Lëtzebuergesch': 'lb', + u'Magyar': 'hu', + u'Malti': 'mt', + u'Mikisúkî': 'mik', + u'Nederlands': 'nl', + u'Norsk': 'no', + u'Norwegian': 'no', + u'Nāhuatl': 'nah', + u'Plattdüütsch': 'nds', + u'Polish': 'pl', + u'Polski': 'pl', + u'Portuguese': 'pt', + u'Português': 'pt', + u'Português brasileiro': 'pt-BR', + u'Português europeu': 'pt-PT', + u'Punjabi': 'pa', + u'Quenya': 'qya', + u'Romanian': 'ro', + u'Română': 'ro', + u'Russian': 'ru', + u'Scots': 'sco', + u'Serbian': 'sr', + u'Shqip': 'sq', + u'Sindarin': 'sjn', # fictional - Tolkien Elves + u'Slovenčina': 'sk', + u'Slovenščina': 'sl', + u'Spanish': 'es', + # u'Sprēkō Þiudiskō': '', # ??? Can't find + u'Suomi': 'fi', + u'Svenska': 'sv', + u'Swedish': 'sv', + u'Thai': 'th', + # u'Thermian': '', # fictional - Galaxy Quest + u'Tiếng Việt': 'vi', + u'Turkish': 'tr', + u'Türkçe': 'fr', + u'Vietnamese': 'vi', + u'Volapük': 'vo', + u'Wikang Filipino': 'fil', + u'af Soomaali': 'som', + u'asturianu': 'ast', + u'eesti keel': 'et', + u'isiZulu': 'zu', + u'kreyòl ayisyen': 'ht', + u'maayaʼ tʼàan': 'yua', + u'qazaqşa | қазақша': 'kk', + u'tlhIngan-Hol': 'tlh', # fictional - Star Trek Klingons + u'toki pona': 'tok', + u'Íslenska': 'is', + u'Čeština': 'cs', + u'ʻŌlelo Hawaiʻi': 'haw', + u'Ελληνικά': 'el', + u'τσακώνικα': 'tsd', + u'ϯⲙⲉⲧⲣⲉⲙⲛ̀ⲭⲏⲙⲓ': 'cop', + u'Азәрбајҹан дили | آذربایجان دیلی': 'aze', + u'Башҡорт теле': 'ba', + u'Български': 'bg', + u'Български език': 'bg', + u'Кыргызча': 'ky', + u'Нохчийн мотт': 'ce', + u'Русский': 'ru', + u'Српски': 'sr', + u'Українська': 'uk', + u'беларуская': 'be', + u'македонски': 'mk', + u'српски': 'sr', + u'українська': 'uk', + u'հայերեն': 'hy', + u'יידיש': 'yi', + u'עִבְרִית': 'he', + u'עברית': 'he', + u'ئۇيغۇر تىلى': 'ug', + u'العربية': 'ar', + u'اُردُو': 'ur', + u'بهاس ملايو ': 'ms', + u'فارسی': 'fa', + u'لسان عثمانى': 'ota', + u'پښتو': 'ps', + u'ܐܪܡܝܐ | ארמיא': 'arc', + u'मराठी': 'mr', + u'हिन्दी': 'hi', + u'বাংলা': 'bn', + u'ਪੰਜਾਬੀ': 'pa', + u'தமிழ்': 'ta', + u'తెలుగు': 'te', + u'ಕನ್ನಡ': 'kn', + u'മലയാളം': 'ml', + u'සිංහල': 'si', + u'ไทย': 'th', + u'བོད་སྐད་': 'bod', + u'မြန်မာဘာသာ': 'mya', + u'ქართული': 'ka', + u'ភាសាខ្មែរ': 'km', + u'ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ': 'mnc', + u'ᠮᠣᠩᠭᠣᠯ ᠪᠢᠴᠢᠭ᠌ | Монгол Кирилл үсэг': 'mon', + u'中文': 'zh', + u'中文-吴语': 'wuu', + u'中文-客家话': 'hak', + u'中文-广东话 粵語': 'yue', + u'中文-普通话 國語': 'zh', + u'中文-闽南话 臺語': 'nan', + u'日本語': 'ja', + u'한국말': 'ko', + u'한국어': 'ko', + u'𐌲𐌿𐍄𐌹𐍃𐌺𐌰': 'got', + u'𒅴𒂠': 'sux', + u'𓂋𓏺𓈖 𓆎𓅓𓏏𓊖': 'egy' } class InExMatch: