Multi-language POS — how Kaspa supports Sinhala, Tamil, English (and 20 more)
Most POS systems translate a few labels and call it 'multi-language'. Kaspa speaks Sinhala, Tamil, and 21 more languages conversationally — code-switching included.
“Multi-language support” is the most over-claimed feature in POS marketing. Every product page lists ten languages and a flag emoji parade. Then you open the actual product and find six menu labels translated and everything else — error messages, the help section, the AI assistant if there is one — in English.
Kaspa’s multi-language support is different in a way that matters at the counter. The UI translates. The AI assistant speaks conversationally in the same languages. Code-switching mid-sentence works. The receipt prints in the language the customer reads. And — this is the part most competitors miss — informal spoken phrasing works as well as the textbook version.
This post is the honest walkthrough: what is actually supported, what it looks like in practice, where the limits are.
The 23 languages
As of mid-2026, the Kaspa AI assistant is conversationally fluent in:
South Asia: Sinhala, Tamil, Hindi, Bengali, Urdu, Marathi, Telugu, Gujarati
SE Asia: Tagalog (Filipino), Bahasa Indonesia, Bahasa Malaysia, Thai, Vietnamese, Khmer, Burmese
Africa: Swahili, Hausa, Yoruba, Amharic
Latin America: Spanish, Portuguese (Brazilian)
Other: English, Arabic
“Conversationally fluent” means you can have a real working session — adding products, getting reports, configuring the shop, asking questions — entirely in that language. Not just “the buttons are translated”.
The UI (sell screen, product editor, receipt template) is translated in all of the above. New languages are added when shop owners ask — see the bottom of the post for how to request one.
What “conversational” actually looks like
The hardest part of multi-language POS is not translating the labels. It is dealing with how people actually talk.
A shop owner in Colombo does not say “Please add a new product to my inventory with the name ‘Coca Cola 500 ml’ and a unit price of LKR 200.” A shop owner says:
“mama coca cola 500 ml ekak add karanna one, 200ට”
That is Sinhala mixed with English mid-sentence, including a non-standard suffix “ට” doing the work of “for [price]”. Kaspa’s assistant handles it. Reads the intent. Asks “Add Coca Cola 500 ml at Rs. 200?” Confirms. Done.
Same thing in Tamil:
“Coca Cola 500 ml சேர்க்கணும், 200 ரூபா”
Or pure Sinhala:
“කොකා කෝලා 500 ml ක් එකතු කරන්න, මිල 200”
Or pure English:
“Add Coca Cola 500 ml for 200”
All four work identically. The assistant figures out the shape of the request, asks for confirmation in the same language you used, and updates the product list.
This is a real engineering investment, not a translation file. The assistant is trained to handle informal phrasing (“about 50”, “a couple dozen”, “two-three boxes”), local idiom (“kade ekata”, “kades”, “the shop down the road”), and the shorthand that real shop owners use.
Code-switching: the part most translations miss
In the WhatsApp groups where Sri Lankan shop owners chat, almost every message mixes languages. “Mama price eka update karanna one, ලොකු mistake එකක්”. This is normal. It is not “broken English”. It is how bilingual people actually communicate, especially in casual professional contexts like running a small business.
Most POS software treats language as a dropdown setting: pick Sinhala, get a Sinhala UI, switch to English to do anything advanced. Kaspa does not. The assistant detects the language(s) per message, mid-message if needed, and responds in whatever feels most natural — usually matching the language you used.
This means:
- A Sinhala-speaking owner can dictate product names in English (because the supplier’s invoice is in English) and ask for reports in Sinhala. Both work.
- A Tamil-speaking cashier can say “மற்ற cashier-க்கு open பண்ணுங்க” (open this for the other cashier) and the assistant handles it.
- A Sinhala / Tamil / English customer at the counter can be served in their language — the receipt template picks the language, the printout reads correctly.
What is translated, what is not
We will be specific.
Translated in 23 languages:
- Sell screen — all buttons, totals, item names where you have entered them in that language.
- Product editor — all field labels.
- Receipt template — header, item list, totals, tax line, payment line, thank-you line.
- AI assistant prompts, responses, and confirmations.
- Sign-in flow.
- Error messages.
- Help text.
Not translated (yet):
- Product names you have entered — these are whatever you typed. If you typed “Coca Cola 500 ml” in English, that is what prints. The assistant can translate them on request (“Translate all my product names to Sinhala” — and it does).
- Some advanced settings that the AI surfaces rarely. These default to English because they are usually edge cases that need precise wording.
- Technical PDF exports (rare).
For 99% of what a shop owner does in a day, the experience is fully in their language.
The receipt: what the customer sees
A small detail with outsized importance. The customer pays cash, you tap “Pay”, the receipt prints. What is on it?
In Kaspa, the receipt template is per-language. You can set it once for the whole shop, or you can let the AI assistant pick per-sale (for example, if a customer’s phone number is in your loyalty list with a language preference).
For a typical Sri Lankan shop in Borella, this might look like:
- Sinhala receipts for most customers.
- Tamil receipts when serving a Tamil-speaking customer (you tap “Tamil” once on the receipt screen).
- English receipts on request, especially for office workers needing an expense slip.
All three look correct, with the right Unicode rendering, the right number formatting (Rs. or රු. or ரூ.), and the right “thank you” line.
This is the part most “multi-language POS” systems get wrong. They will translate the in-app UI but the receipt prints in English. That looks worse to the customer than no translation at all.
Where the limits are
We are not going to pretend the support is perfect. The limits, honestly:
Highly specialised terminology. Pharmaceutical names, legal language, specific industry jargon — the assistant handles common cases but can be confidently wrong on the rare ones. If you run a pharmacy and the assistant misnames a Sinhala generic medicine, please correct it once and it learns.
Speech-to-text accuracy on noisy environments. The assistant takes voice input as well as text. In a quiet shop, voice works well. In a busy market with background noise, the recognition can mishear words — especially Tamil and Sinhala numerical phrases. Workaround: type instead of speak in noisy environments. We are working on improving noise handling.
Right-to-left layout for Arabic. The Arabic UI works but some edge cases (mixed-language receipts in particular) still have layout glitches. Active work.
Tonal languages. Thai and Vietnamese both work for typed input. Voice input is reliable but tonal accuracy on numbers is occasionally off. Type prices when in doubt.
Brand-specific words. “Coca Cola” is Coca Cola in every language. “Pepsi” is Pepsi. The assistant does not try to phonetically transliterate these into the script of the working language unless you ask. If you want a product list with brand names in Sinhala script (“කොකා කෝලා”), say so and the assistant will rename them.
We log every misunderstanding and use them to improve. If you see something wrong, tell us through the assistant — it is the fastest path to a fix.
How this compares to other POS systems
Quick honest read on the major competitors:
Square. UI translation in a small number of languages — mostly the supported-market locales (English, Spanish, French, Japanese, etc.). Sinhala / Tamil: not supported.
Loyverse. UI labels translated in many languages including Sinhala and Tamil. Conversational features: none — there is no AI assistant. So the translation depth stops at the labels.
Shopify POS. Translation tied to the Shopify store locale. Sinhala / Tamil: not first-class.
Zettle. National languages of supported countries. Sinhala / Tamil: not supported (and Zettle does not operate in Sri Lanka anyway).
Local Sri Lankan paid POS. Often have Sinhala UI translations of varying quality. Tamil less consistent. AI assistants generally absent.
The functional gap between “labels translated” and “full conversational” is large. A shop owner adding 60 SKUs through a Sinhala UI still has to navigate the dropdowns and fields one at a time. A shop owner doing the same in Kaspa just talks: “mama 60 ක් products add karanna, list eka methena: …” and pastes the list. Different experience.
A note on Sinhala script and fonts
Old POS systems sometimes render Sinhala or Tamil with broken combining characters — the conjuncts (“ක්ය”, “ක්රී”) look wrong, or numbers render as squares. Kaspa’s UI uses the system fonts on your device, which on any modern Android, iOS, or laptop will render Sinhala (Noto Sans Sinhala or similar) and Tamil (Noto Sans Tamil) correctly.
If you see broken rendering on your device, you are on an old phone with missing system fonts. Kaspa works fine — the issue is the device’s font cache. Most Android updates ship with Sinhala and Tamil; if yours does not, the manufacturer is the lever.
Why we built it this way
Most POS companies are based in countries where the local language and English are the only two that matter. Translation is a checkbox feature — add Spanish, add French, ship.
We are based in Sri Lanka. Sinhala, Tamil, and English are the working languages for the team. We use the assistant in our daily work. We test code-switching not because it is a marketing line but because it is how we talk to each other. The feature is honest because it has to be — we would notice if it were not.
The broader bet: a billion small shop owners worldwide cannot run their shop in English. If POS software does not work in their language, they will not adopt it. Translating is not a “nice to have” — it is the floor. We built the floor first.
How to request a new language
Open the assistant inside Kaspa. Say “I want to use Kaspa in [language].” We log the request. When we have a meaningful number of requests for a specific language, we add it.
Common languages we have heard requests for but have not shipped yet: Pashto, Nepali, Kazakh, Punjabi (Gurmukhi script). All are coming.
Try it tonight
If you have been holding off on a digital POS because the software did not speak your language, the answer is now different. Open pos.trykaspa.com on your phone. Sign in with your phone number. Open the assistant. Say what you sell — in Sinhala, Tamil, English, or any mix.
If the experience feels worse than what we just described, tell us. The feedback goes straight to the team.
The POS is free. See pricing for what is in the free tier. There is no upsell email coming.
That is the pitch.