Home / User Guide / Layouts / Language Packs
Layouts P1

Language Packs

Download additional dictionaries


title: Language Packs

description: Add language support via file import

category: Layouts

difficulty: beginner

related_spec: ../specs/layouts/language-packs-spec.md


Language Packs

Add language dictionaries and layouts by importing language pack files.

Quick Summary

WhatDescription

PurposeAdd language support
AccessSettings > Activities > Backup & Restore > Import
ContentsDictionary, contractions, layouts

What's in a Language Pack

Each language pack includes:

ComponentDescription

DictionaryBinary word list for predictions
ContractionsLanguage-specific contractions (if available)
LayoutKeyboard layout with special keys

Bundled Languages

CleverKeys includes English by default. The following dictionaries are bundled in the app:

Importing Language Packs

Step 1: Obtain the Language Pack

Language packs are .zip files you can:

Step 2: Import via Backup & Restore

Step 3: Configure Language

After import:

Building Custom Language Packs

For languages not bundled, you can create your own using the provided Python scripts:

Requirements

Using Build Scripts

# Navigate to scripts directory

cd scripts/

Option 1: Generate from wordfreq (requires Python wordfreq package)

pip install wordfreq

python build_langpack.py --lang sv --output langpack-sv.zip

Option 2: Build from custom word list

Create a CSV file: word,frequency (one per line)

python build_dictionary.py --input my_words.csv --output custom.bin

Scripts Available

ScriptPurpose

build_langpack.pyCreate .zip language pack from wordfreq
build_dictionary.pyBuild binary dictionary from CSV
build_all_languages.pyBatch build all supported languages
get_wordlist.pyExtract top N words from wordfreq

Language Pack Structure

langpack-{lang}.zip

├── {lang}_enhanced.bin # Binary dictionary

├── {lang}_enhanced.json # Human-readable word list

├── contractions.json # Language contractions (optional)

└── manifest.json # Metadata

Languages Supported by wordfreq

Languages available through the wordfreq Python package:

Managing Language Packs

View Installed

Remove a Language Pack

Offline Operation

Once imported, all language features work offline:

FeatureWorks Offline

Typing
Predictions
Autocorrect
Contractions

Tips and Tricks

Common Questions

Q: How do I add a new language?

A: Build a language pack using the provided Python scripts, then import it via Settings > Activities > Backup & Restore.

Q: Can I use a language without importing a pack?

A: Basic typing works with any layout, but predictions and autocorrect require a dictionary.

Q: Why is my language not available?

A: Build it yourself using the build_langpack.py script with the wordfreq package.

Q: Do I need to download English?

A: No, English is included by default.

Related Features

Technical Details

See Language Packs Technical Specification.

Multi-Language Typing Custom Layouts