Start your free 14-day trial
Product Job Scheduling & RotasInvoicing & BACSHealth & SafetyStaff Mobile AppAnalytics & Reporting
Solutions Commercial CleaningDomestic CleaningEnd of TenancyFacilities ManagementWindow Cleaning
Free tools Cleaning Quote CalculatorPrice Per m² CalculatorUK VAT CalculatorProfit Margin CalculatorTrue Cost of a CleanerHoliday Entitlement CalculatorContract Tender CalculatorClient Lifetime Value All 14 free tools →
Learn How to start a cleaning businessHow to price cleaning jobsHow to win cleaning contractsHealth & safety for cleaners CleanFlo vs JobberCleanFlo vs ZenMaid
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.

In the app: Cleaner app Open CleanFlo
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 pickerIn EnglishCode
🇬🇧 EnglishEnglishen
🇵🇱 PolskiPolishpl
🇷🇴 RomânăRomanianro
🇧🇷 PortuguêsPortuguesept
🇪🇸 EspañolSpanishes
🇫🇷 FrançaisFrenchfr
🇮🇹 ItalianoItalianit
🇩🇪 DeutschGermande
🇳🇱 NederlandsDutchnl
🇷🇺 РусскийRussianru
🇺🇦 УкраїнськаUkrainianuk
🇱🇹 LietuviųLithuanianlt
🇧🇬 БългарскиBulgarianbg
🇨🇿 ČeštinaCzechcs
🇸🇰 SlovenčinaSlovaksk
🇭🇺 MagyarHungarianhu
🇦🇱 ShqipAlbaniansq
🇹🇷 TürkçeTurkishtr
🇸🇦 العربيةArabicar
🇵🇰 اردوUrduur
🇮🇳 ਪੰਜਾਬੀPunjabipa
🇮🇳 हिन्दीHindihi
🇧🇩 বাংলাBengalibn
🇳🇵 नेपालीNepaline
🇸🇴 SoomaaliSomaliso
🇵🇭 FilipinoFilipinotl
🇨🇳 中文Chinesezh

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-BR or pt-PT both get Portuguese, and zh-Hans-CN gets 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.

09:41
Me
Daily Briefing
Enabled
Send at 07:00
Preferences
Language 🇬🇧 English
Appearance Light
Account
Name Marek Kowalski
Email marek@brennanclean.example
Company Brennan Cleaning Ltd
Sign Out
Jobs History My Time Messages Me
The Me tab: ruled sheets one after another, no containers and nothing lifted. Language is one line among the preferences rather than a screen of its own, and changing it re-renders the whole app on the spot: no reload, no sign out, no confirmation step.

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.

09:41
Me
Language
🇬🇧 English
🇵🇱 Polski
🇷🇴 Română
🇧🇷 Português
🇪🇸 Español
🇫🇷 Français
🇮🇹 Italiano
🇩🇪 Deutsch
🇳🇱 Nederlands
🇷🇺 Русский
🇺🇦 Українська
🇱🇹 Lietuvių
🇧🇬 Български
Jobs History My Time Messages Me
The picker, open. It is the phone's own select rather than a custom sheet, so it arrives as the wheel or the list the cleaner already knows how to use, and it takes effect the moment it closes. Ruled lines, in the picker's own order, each one written the way it is written there: the flag, a space, and the language's own name for itself. No English gloss and no language code, because somebody looking for their own language is not looking for the word "Bulgarian". The current one is indexed rather than highlighted.

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.

09:41
Wstecz Weekly clean
Thursday 13 August 2026
Kiedy
Planowany start 10:30 am
Czas trwania 2h 30m
Gdzie
St Marks Medical Centre 4 Trelawney Road, Truro, TR1 2QF
Otwórz w Mapach
Jak wejść Side door off the car park. Alarm panel behind the reception desk.
Typ obiektu Office
Zlecenie
Typ zlecenia Office clean
Notatki Consulting rooms 1 to 4 only. Room 5 is in use.
Rozpocznij
A job page in Polish. The sheet labels, the line labels and the committing key come from the dictionary; the job title, the address, the access notes and the property type are your own text and are untouched.
09:41
Înapoi Weekly clean
1:12:04 Timp scurs 10:41 Început la 3/7 sarcini
Servicii
Office clean ×1
Washroom deep clean Suplimente
Lista de verificare 3/7
Reception floors mopped
Waiting room surfaces
Consulting rooms 1 to 4
Washrooms restocked
Bins out to the store
Raportează obiect pierdut
Finalizează lucrarea
The same working screen in Romanian. Sheet labels, column heads, the readings labels and the committing key are translated; the task lines are the ones you wrote against the service, so they read as you typed them.

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.

09:41
Ja Synchronizacja Offline
Czeka na wysłanie 6

Pracuj dalej. Wszystko poniżej jest zapisane w telefonie i wyśle się samo, gdy będzie zasięg.

10:41 am Rozpoczęcie zlecenia
10:41 am Zapis lokalizacji
10:58 am Odhaczone zadanie
11:12 am Zdjęcie IMG_4482.jpg
11:40 am Zakończenie zlecenia
11:40 am E-mail do klienta facilities@stmarks.example
Wyślij teraz
The Sync screen in Polish, the same ruled ledger with the time of each change down the rail. The reassurance line is a full translation rather than a machine one: "Pracuj dalej" is "keep working", which is exactly what the English says and exactly what somebody in a blackspot needs to hear.

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?
It falls back, in order: the chosen language, then English, then the key name itself. In practice the first two are all that ever run, because all 27 dictionaries are complete. The fallback exists so that adding a new string to the app can never leave a cleaner staring at a blank button while the translations catch up.
Can I set a cleaner's language for them from my side?
No, and it would not help if you could. The choice lives on the phone rather than on the staff record, and the phone is nearly always right: somebody whose handset is in Romanian wants the app in Romanian. If somebody is stuck in the wrong language, the fix is thirty seconds on their own phone under Me then Preferences.
Are the translations machine generated?
They are written translations held as complete dictionaries in the app, not run through a translation service at load time. That is why they work offline: a cleaner in a basement gets the same Polish as a cleaner on the high street, because the words are already on the phone.
Does the client portal have languages too?
No. The 27 languages are the cleaner app. Your clients see English, as do you, and for the same reason: those are documents about money and contracts, and the person reading them chose to work with a British cleaning company.