Browse all guides
The app in 27 languages
A checklist somebody cannot read is a checklist that does not get followed. The cleaner half of CleanFlo is translated into 27 languages, and it picks the right one before anybody is asked to choose.
On this page
British cleaning is not done in English. Walk into any commercial contract of ten people and you will find Polish, Romanian, Portuguese, Bulgarian, Albanian and Punjabi in the same van. That is unremarkable, and it is also the reason so much of this trade still runs on a WhatsApp voice note: text instructions in English get skimmed, half understood, and quietly ignored.
So the cleaner app is translated in full, not partly. All 27 dictionaries are complete. Every button, every section head, every empty state, every error and every confirmation is written in the language the phone is set to, and the whole thing is decided before the cleaner has to find a settings screen.
The 27 languages
This is the list, in the order the picker shows it. It is not alphabetical: English comes first, then the languages a British cleaning team is most likely to need, which is why Polish and Romanian sit above Spanish and German.
| In the picker | In English | Code |
|---|---|---|
| 🇬🇧 English | English | en |
| 🇵🇱 Polski | Polish | pl |
| 🇷🇴 Română | Romanian | ro |
| 🇧🇷 Português | Portuguese | pt |
| 🇪🇸 Español | Spanish | es |
| 🇫🇷 Français | French | fr |
| 🇮🇹 Italiano | Italian | it |
| 🇩🇪 Deutsch | German | de |
| 🇳🇱 Nederlands | Dutch | nl |
| 🇷🇺 Русский | Russian | ru |
| 🇺🇦 Українська | Ukrainian | uk |
| 🇱🇹 Lietuvių | Lithuanian | lt |
| 🇧🇬 Български | Bulgarian | bg |
| 🇨🇿 Čeština | Czech | cs |
| 🇸🇰 Slovenčina | Slovak | sk |
| 🇭🇺 Magyar | Hungarian | hu |
| 🇦🇱 Shqip | Albanian | sq |
| 🇹🇷 Türkçe | Turkish | tr |
| 🇸🇦 العربية | Arabic | ar |
| 🇵🇰 اردو | Urdu | ur |
| 🇮🇳 ਪੰਜਾਬੀ | Punjabi | pa |
| 🇮🇳 हिन्दी | Hindi | hi |
| 🇧🇩 বাংলা | Bengali | bn |
| 🇳🇵 नेपाली | Nepali | ne |
| 🇸🇴 Soomaali | Somali | so |
| 🇵🇭 Filipino | Filipino | tl |
| 🇨🇳 中文 | Chinese | zh |
It picks the language itself
Nobody has to be told to change a setting. The first time a cleaner opens the app it reads the phone's own list of preferred languages, in the order the phone ranks them, and takes the first one CleanFlo has a dictionary for.
- The region is stripped, so a phone set to
pt-BRorpt-PTboth get Portuguese, andzh-Hans-CNgets Chinese. - If nothing on the phone matches, it falls back to English rather than guessing.
- The choice is then written to the phone's own storage, under
cleanflo_lang, and used from then on.
An explicit choice always wins and is never overridden afterwards. Somebody who picks English on a Polish phone meant it, and the app will not quietly switch them back next time. Detection only runs when no choice has ever been made.
Where the picker lives
Fifth tab, Me, then the sheet headed Preferences. It is the first line, led by a bare translate glyph in the margin and labelled Language. Under it sits Appearance, which is Light or Dark and has no "System" option.
Tapping that line opens the phone's own picker over the page. All 27 arrive as ruled lines in the picker's order, and the one in use carries a tick rather than a highlight, the way a book is indexed rather than coloured in.
What a translated job actually looks like
Everything the app writes is translated. Everything you write is not, which is the right way round: a job called "Weekly clean" stays "Weekly clean", the address stays the address, and a checklist item you typed as "Bins out to the store" reaches the cleaner in the words you chose.
Two things stay in English in every language, deliberately. Dates and clock times are always formatted British style: "Thursday 13 August 2026", "10:41", "2h 30m". A cleaner working in Britain reads British dates on the paperwork, on the door and in the diary, and translating only the app would make the app the odd one out. And property types are your own catalogue values rather than dictionary keys.
The parts of the app most worth translating are the ones nobody thinks about until they go wrong. The sync queue is one of them: somebody who has just done four hours in a basement should be able to read the sentence telling them the work is safe.
Pracuj dalej. Wszystko poniżej jest zapisane w telefonie i wyśle się samo, gdy będzie zasięg.
Arabic and Urdu read right to left
Two of the 27 are written right to left, and they are the two where getting it wrong is not a cosmetic problem. A left-to-right Arabic interface puts the back arrow, the chevrons and the progress fill on the wrong side of every screen, which makes the app read backwards rather than merely look untidy.
So choosing Arabic or Urdu mirrors the whole cleaner app: the layout, the icons that imply direction, and the edge swipe that pops a job screen, which flips to the other edge. Your web app is unaffected, because the direction is set on the cleaner app's own root rather than on the page: the two halves share a document and mirroring yours would help nobody.
Your side stays in English
The web app is not translated. Neither are the notifications and emails that come to you when a cleaner does something: "Shift confirmed", "On the way", "Late start", "Job completed", the availability changes and the time-off requests. That is a decision rather than an omission. The recipient of those messages is you, and the app has no way of knowing what language the owner of a business reads. Everything pointed at a cleaner is translated; everything pointed at the office is in English.
The practical effect is worth stating plainly, because it is the thing that sells this feature. You write a job once, in English, and it is legible to a Romanian cleaner, a Bulgarian cleaner and a Somali cleaner without you doing anything at all. No parallel rota, no translated instruction sheet pinned in the van, and no relying on whichever member of the team has the best English to relay it.
Common questions
What happens if a language is missing a phrase?
Can I set a cleaner's language for them from my side?
Are the translations machine generated?
Does the client portal have languages too?
Still stuck?
Open Support in the app and send us a ticket, or email the team. A real person reads every one.