Language Selection
Built-in language picker keyboards with 65+ locale codes, flag emojis, and custom locale support.
Basic Usage
from pykeyboard import InlineKeyboard
kb = InlineKeyboard(row_width=2)
kb.languages(
locales=["en", "es", "fr", "de", "ja", "ko"],
callback_pattern="lang_{}", # {} β locale code
)
# Produces:
# [π¬π§ English] [πͺπΈ EspaΓ±ol]
# [π«π· FranΓ§ais] [π©πͺ Deutsch]
# [π―π΅ ζ₯ζ¬θͺ] [π°π· νκ΅μ΄]
await message.reply("Choose language:", reply_markup=kb)Custom Locales
Add languages not in the built-in list using custom_locales:
kb = InlineKeyboard(row_width=2)
kb.custom_locales = {
"pirate": "π΄ββ οΈ Pirate",
"klingon": "π Klingon",
}
kb.languages(
locales=["en", "pirate", "klingon"],
callback_pattern="lang_{}",
)Error Handling
A LocaleError is raised if you pass an unrecognized locale code that isn't in the built-in list or your custom_locales.