Localized Languages (LoLa)
Made by LewdLeah ❤️
Overview
Localized Languages (LoLa) is a context overhaul script for playing AI Dungeon in your language of choice. LoLa also improves player inputs and supports (optional) Auto-Cards integration. It’s free and open-source for anyone to use however they see fit. Creators are welcome to use LoLa for multilingual accessibility in their published scenarios. Fully compliant with international standard ISO 639-1 and more~ ❤️
Supported Languages
Expand to view the full list of supported languages! 🌐
- English
- Abkhazian / аҧсуа / Apsua / აფსუა / Abkhaz
- Abkhazian (abc)
- Afar / Qafar Af
- Afrikaans
- Akan / ákán
- Akan (abc)
- Albanian / Shqip
- Amharic / አማርኛ / Amarəñña
- Amharic (abc)
- Arabic / اَلْعَرَبِيَّةُ / Al-ʿarabiyyah
- Arabic (abc)
- Aragonese / Aragonés
- Armenian / հայերեն / Hayeren
- Armenian (abc)
- Asmr / Whisper / Asmr Whisper Script
- Assamese / অসমীয়া / ôxômiya / Asamiya
- Assamese (abc)
- Avaric / авар мацӏ / اوار ماض / Avar Maz / Avar
- Avaric (abc)
- Avestan / Upastawakaēna
- Aymara / Aymaran
- Azerbaijani / Azərbaycan Dili / آذربایجان دیلی / азәрбајҹан дили / Azeri
- Azerbaijani (abc)
- Bambara / ߓߡߊߣߊ߲ߞߊ߲ / بَمَنَنكَن / Bamanankan / Bamana
- Bashkir / башҡорт теле / Başqort Tele / Bashkort
- Bashkir (abc)
- Basque / Euskara / Euskera
- Belarusian / беларуская мова / Biełaruskaja Mova
- Belarusian (abc)
- Bengali / বাংলা / Bāŋlā / Bangla
- Bengali (abc)
- Bislama
- Bosnian / босански / Bosanski / Bosniak
- Bosnian (abc)
- Brainrot
- Brazilian / Português Brasileiro / Brazilian Portuguese
- Breton / Brezhoneg
- Bulgarian / български / Bulgarski
- Bulgarian (abc)
- Burmese / မြန်မာစာ / Mrãmācā / Myanmar
- Burmese (abc)
- Catalan / Valencian / Català / Valencià
- Central Khmer / ខេមរភាសា / Khémôrôphéasa / Khmer / Cambodian
- Central Khmer (abc)
- Chamorro / Finu' Chamoru
- Chechen / нохчийн мотт / Noxçiyn Mott / Chechnyan / Chechnian
- Chechen (abc)
- Chichewa / Chewa / Nyanja / Chinyanja
- Chinese / Simplified Chinese / Mandarin / 简化字 / Jiǎnhuàzì / 简体字 / Jiǎntǐzì / Pinyin
- Chinese (abc)
- Church Slavic / Old Slavic / славе́нскїй ѧ҆зы́къ
- Church Slavic (abc)
- Chuvash / чӑвашла / çăvaşla
- Chuvash (abc)
- Cornish / Kernowek
- Corporate / Business Speak / Corporate Jargon
- Corsican / Corsu
- Cree / ᓀᐦᐃᔭᐁᐧᐃᐧᐣ / Nehiyawewin
- Cree (abc)
- Croatian / Hrvatski / Crovatian
- Czech / čeština / Czechian
- Danish / Dansk
- Divehi / Dhivehi / Maldivian / ދިވެހި
- Dutch / Flemish / Nederlands
- Dzongkha / རྫོང་ཁ་ / Bhutanese
- Dzongkha (abc)
- Esperanto
- Estonian / Eesti Keel
- Ewe / èʋegbe
- Faroese / Føroyskt / Faeroese
- Fijian / Na Vosa Vakaviti
- Finnish / Suomi
- French / Français
- Fulah / ࢻُلْࢻُلْدٜ / 𞤬𞤵𞤤𞤬𞤵𞤤𞤣𞤫 / Fulfulde / ݒُلَارْ / 𞤨𞤵𞤤𞤢𞥄𞤪 / Pulaar / Fula / Fulani
- Gaelic / Scottish Gaelic / Gàidhlig / Scots Gaelic
- Galician / Galego
- Ganda / Luganda
- Georgian / ქართული / Kharthuli
- Georgian (abc)
- German / Deutsch
- Greek / νέα ελληνικά / Néa Ellêniká
- Greek (abc)
- Guarani / Avañe'ẽ / Guaraní
- Gujarati / ગુજરાતી / Gujarātī
- Gujarati (abc)
- Haitian Creole / Haitian / Kreyòl Ayisyen
- Hausa / هَرْشٜن هَوْس / Halshen Hausa / Hausan
- Hebrew / עברית / Ivrit
- Hebrew (abc)
- Herero / Otjiherero
- Hindi / हिन्दी / Hindī
- Hindi (abc)
- Hiri Motu / Police Motu / Pidgin Motu
- Hungarian / Magyar Nyelv / Magyar
- Icelandic / íslenska
- Ido
- Igbo / ásụ̀sụ́ ìgbò
- Indonesian / Bahasa Indonesia
- Interlingua
- Interlingue / Occidental
- Inuktitut / ᐃᓄᒃᑎᑐᑦ
- Inupiaq / Iñupiaq / Inupiat / Inupiatun
- Irish / Gaeilge / Irish Gaelic
- Italian / Italiano
- Japanese / 日本語 / Nihongo
- Japanese (abc)
- Javanese / ꦧꦱꦗꦮ / Basa Jawa
- Kalaallisut / Greenlandic
- Kannada / ಕನ್ನಡ / Kannađa / Kannadan / Canarese
- Kannada (abc)
- Kanuri / كَنُرِيِه / Kànùrí
- Kashmiri / कॉशुर / كأشُر / Kosher / Koshur
- Kashmiri (abc)
- Kazakh / қазақша / Qazaqşa / قازاقشا / Qazaq
- Kazakh (abc)
- Kikuyu / Gikuyu / Gĩgĩkũyũ
- Kinyarwanda / Ikinyarwanda / Rwandan / Rwanda
- Klingon / Tlhingan
- Komi / коми кыв / Zyran / Zyrian / Komi-Zyryan
- Komi (abc)
- Kongo / Kikongo
- Korean / 한국어 / Hangugeo / 조선말 / Chosŏnmal
- Korean (abc)
- Kuanyama / Oshikwanyama / Cuanhama / Kwanyama
- Kurdish / کوردی / Kurdî
- Kurdish (abc)
- Kyrgyz / Kirghiz / кыргыз / قىرعىز
- Kyrgyz (abc)
- Lao / ພາສາລາວ / Phasa Lao / Laotian
- Lao (abc)
- Latin / Latinum
- Latvian / Latviski / Lettish
- Leetspeak / Eleet / Hacker Speak / L33t
- Legalese / Lawyer / Legal Language
- Limburgish / Limburgan / Limburger / Lèmburgs
- Lingala / Lingála / Ngala
- Lingua-Technis / Cant Mechanicus / Techna-Lingua / Binharic
- Lithuanian / Lietuvių
- Luba-Katanga / Kiluba / Luba-Shaba
- Luxembourgish / Letzeburgesch / Lëtzebuergesch / Luxembourgian
- Macedonian / македонски / Makedonski
- Macedonian (abc)
- Malagasy / مَلَغَسِ
- Malay / بهاس ملايو / Bahasa Melayu
- Malayalam / മലയാളം / Malayāļã
- Malayalam (abc)
- Maltese / Malti
- Manx / Gaelg / Gailck / Manx Gaelic
- Maori / Reo Māori
- Marathi / मराठी / Marāṭhī / Maharashtran
- Marathi (abc)
- Marshallese / Kajin M̧ajeļ / Ebon
- Mongolian / монгол хэл / Mongol Xel / Mongol
- Mongolian (abc)
- Nauru / Dorerin Naoe / Nauruan
- Navajo / Navaho / Diné Bizaad / Naabeehó Bizaad
- Navi / Lì'fya Lena'vi / Na'vi
- Ndonga / Oshindonga
- Nepali / नेपाली भाषा / Nepālī Bhāśā / Nepalese / Gorkhali
- Nepali (abc)
- North Ndebele / Sasenyakatho / Mthwakazi Ndebele
- Northern Sami / Davvisámegiella
- Norwegian / Norsk
- Norwegian Bokmal / Bokmål / Norsk Bokmål
- Norwegian Nynorsk / Nynorsk / Norsk Nynorsk
- Occitan / Provençal / Provential / Provencal
- Ojibwe / ᐊᓂᔑᓈᐯᒧᐎᓐ / Anishinaabemowin / Ojibway / Otchipwe / Ojibwemowin
- Old English / ænglisc / Shakespearean English / Anglo-Saxon
- Oriya / ଓଡ଼ିଆ / Odia / Odian / Odishan / Orissan
- Oriya (abc)
- Orkish / Mek Jargon
- Oromo / Afaan Oromoo / Oromoo
- Ossetian / Ossetic / ирон ӕвзаг / Iron ævzag / Ossete
- Ossetian (abc)
- Pali / Pāli / Pali-Magadhi
- Panjabi / Punjabi / ਪੰਜਾਬੀ / پنجابی / Pãjābī
- Panjabi (abc)
- Persian / فارسی / Fārsiy / Farsi
- Persian (abc)
- Pig Latin / Igpay Atinlay
- Pirate / Sea Shanty
- Polish / Polski / Język Polski / Polszczyzna
- Portuguese / Português / Português Europeu / European Portuguese
- Purple Prose / First Year English Major / Pretentious
- Pushto / Pashto / پښتو / Pax̌tow
- Pushto (abc)
- Quechua / Runa Simi / Kichwa Simi / Nuna Shimi / Quechuan
- Rhyme / Poem / Rhyme Scheme / Poetry
- Romanian / Moldavian / Română / ромынэ / Moldovan
- Romansh / Rumantsch / Rumàntsch / Romauntsch / Romontsch / Romansch
- Rundi / Ikirundi / Kirundi
- Russian / русский язык / Russkiĭ âzyk
- Russian (abc)
- Samoan / Gagana Sāmoa
- Sango / Yângâ Tî Sängö / Sangoic
- Sanskrit / संस्कृतम् / Saṃskṛtam
- Sanskrit (abc)
- Sardinian / Sardu / Sard
- Serbian / српски / Srpski
- Serbian (abc)
- Shona / Chishona
- Sichuan Yi / Nuosu / ꆈꌠꉙ / Nuosuhxop / Northern Yi / Liangshan Yi / Nosu
- Sichuan Yi (abc)
- Sindhi / سنڌي / सिन्धी / Sindhī
- Sindhi (abc)
- Sinhalese / Sinhala / සිංහල / Siṁhala
- Sinhalese (abc)
- Slovak / Slovenčina / Slovakian
- Slovenian / Slovenščina / Slovene
- Somali / Soomaali / 𐒈𐒝𐒑𐒛𐒐𐒘 / سٝومالِ / Somalian
- South Ndebele / Isindebele / Sakwandzundza
- Southern Sotho / Sesotho / Sotho
- Spanish / Castilian / Español / Castellano
- Sundanese / Basa Sunda / بَاسَا سُوْندَا
- Swahili / Kiswahili / كِسوَحِيلِ
- Swati / Siswati / Swazi
- Swedish / Svenska
- Tagalog / Wikang Tagalog
- Tahitian / Reo Tahiti
- Tajik / тоҷикӣ / Tojikī / Tajiki
- Tajik (abc)
- Tamil / தமிழ் / Tamiḻ / Thamizh
- Tamil (abc)
- Tatar / татар теле / Tatar Tele / تاتار تئلئ
- Tatar (abc)
- Telugu / తెలుగు
- Telugu (abc)
- Thai / ภาษาไทย / Phasa Thai / Siamese / Central Thai
- Thai (abc)
- Tibetan / བོད་སྐད་ / Bodskad / ལྷ་སའི་སྐད་ / Lhas'iskad / Standard Tibetan / Lhasa Tibetan
- Tibetan (abc)
- Tigrinya / ትግርኛ / Təgrəñña / Tigrigna
- Tigrinya (abc)
- Tonga / Lea Faka-Tonga / Tongan / Tonga Islands
- Traditional Chinese / 正體字 / 正体字 / Zhèngtǐzì / 繁體字 / Fántǐzì / 繁体字
- Traditional Chinese (abc)
- Tsonga / Xitsonga
- Tswana / Setswana / Sechuana
- Turkish / Türkçe / Türk Dili / Türkiye Türkçesi
- Turkmen / Türkmençe / түркменче / تۆرکمنچه
- Twi
- Uighur / ئۇيغۇر تىلى / Uyghur / уйғур тили / Uyƣur Tili
- Uighur (abc)
- Ukrainian / українська / Ukraїnska
- Ukrainian (abc)
- Urdu / اُردُو / Urduw
- Urdu (abc)
- Uzbek / ózbekça / ўзбекча / ئوزبېچه
- Valley Girl
- Venda / Tshivenḓa / Tshivenda
- Vietnamese / Tiếng Việt
- Volapuk / Volapük
- Walloon / Walon
- Welsh / Cymraeg
- Western Frisian / Frysk / Frisian / Fries
- Wolof / وࣷلࣷفْ
- Xhosa / Isixhosa / Xosa
- Yiddish / ייִדיש / Yidiš / Judeo-German
- Yiddish (abc)
- Yoruba / èdè Yorùbá
- Zhuang / Chuang / 話僮 / Vahcuengh
- Zulu / Isizulu
Gameplay Suggestions
- Dear Creators, please add
{Language: ${Select your (real) language or leave empty:}} to your scenario Opening!
- Adventure quality varies between different AI models, so try multiple
- Quality also varies between different languages, especially rare ones
- Use a response length of 200 tokens for the best results
- Romanized language variants "(abc)" are not necessarily more coherent
- Try to remain consistent by using only your selected language
- Writing a custom opening in your language is helpful, though optional
- The "Retry" button is your friend, especially near the beginning of new adventures
- Muse, Dynamic Small, and Wayfarer Small (in that order) may struggle with non-English
- Among the free models, Madness is (seemingly) the best for multilingual writing
Permission
LoLa is both free and open-source for anyone to use within their own scenarios or scripts, even including published works. You have my full permission to use, copy, or modify LoLa. Please enjoy! ❤️
Scenario Script Installation Guide
- Use the AI Dungeon website on PC (or view as desktop if mobile-only)
- Create a new scenario or edit one of your existing scenarios
- Open the
DETAILS tab at the top while editing your scenario
- Scroll down to
Scripting and toggle ON → Scripts Enabled
- Select
EDIT SCRIPTS
- Select the
Input tab on the left
- Delete all code within said tab
- Copy and paste the following code into your empty
Input tab:
// Your "Input" tab should look like this
const modifier = (text) => {
// Your other input modifier scripts go here (preferred)
text = AutoCards("input", text);
text = LocalizedLanguages("input", text);
// Your other input modifier scripts go here (alternative)
return { text };
};
modifier(text);
- Select the
Context tab on the left
- Delete all code within said tab
- Copy and paste the following code into your empty
Context tab:
// Your "Context" tab should look like this
const modifier = (text) => {
// Your other context modifier scripts go here (preferred)
[text, stop] = AutoCards("context", text, stop);
text = LocalizedLanguages("context", text);
// Your other context modifier scripts go here (risky)
return { text, stop };
};
modifier(text);
- Select the
Output tab on the left
- Delete all code within said tab
- Copy and paste the following code into your empty
Output tab:
// Your "Output" tab should look like this
const modifier = (text) => {
// Your other output modifier scripts go here (preferred)
text = AutoCards("output", text);
// Your other output modifier scripts go here (alternative)
return { text };
};
modifier(text);
- Select the
Library tab on the left
- Delete all code within said tab
- Open the Library code (hyperlink below) in a new browser tab
- Library code
- Copy the full code from the page above and paste into your empty
Library tab
- Click the big yellow
SAVE button in the top right corner
- For private/personal use, submit
{Language: ???} using Do/Say/Story (replace ??? with your language)
- When publishing scenarios, add
{Language: ${Select your (real) language or leave empty:}} to the Opening
- Step 21 is optional, but still VERY important! (defaults to English if blank) ❤️
Expand to learn why step 21 matters so much ℹ️
TL;DR - It's about effective communication, a seamless user experience, and good alignment between player expectations and actual scenario gameplay.
LoLa relies on step 21 (or step 20) in order to correctly identify the requested language. If your scenario lacks this placeholder, then the script simply defaults to English every time, because it can't read the player's mind. Think of the {Language: ...} thingy like a command; it's how the script detects which language to engage, behind the scenes. Therefore, I strongly recommend including {Language: ${Select your (real) language or leave empty:}} anywhere within your scenario's Opening plot component. At the top, bottom, or anywhere in-between. Your choice.
Players of published works aren't going to understand this on their own, so it's extremely helpful for Creators to follow this step. And, if there's one thing I've learned from AI Dungeon players, it's that virtually no one reads the description. And tha