Flout Translate — Documentation
Flout Translate translates your website using a simple snippet you place in the <head> section of your pages.
Set it up once. Your translations stay aligned with your content — no ongoing work.
The basic snippet is all you need to run Flout Translate successfully.
But there are many configuration options so we built a configurator tool that is available in your Flout Translate dashboard.
The basic snippet.
Your own snippet will be available in your dashboard when you have an account.
<meta name="google" content="notranslate"> <script src="https://flouttranslate.com/js/amashv3.1/flout-tloader.min.js"></script>
Platform Instructions
Shopify, WordPress, Wix, Squarespace, Webflow, WooCommerce, BigCommerce, Joomla, Drupal, Magento
How to Install on Shopify
Add Flout Translate to your Shopify store using the theme editor:
- From your Shopify admin, go to Online Store → Themes.
- Click “...” → Edit Code on your active theme.
- Open the theme.liquid file under the Layout folder.
- Locate the closing </head> tag.
- Paste your Flout Translate snippet just above </head> and click Save.
Flout Translate will now automatically translate your storefront content for visitors.
How to Install on WordPress
Add Flout Translate to your WordPress site using a simple script embed:
- In your WordPress admin, go to Appearance → Theme File Editor.
- In the right sidebar, open header.php under your active theme.
- Find the closing </head> tag.
- Paste your Flout Translate snippet just above </head> and click Update File.
You can also use a header injection plugin if you prefer not to edit theme files directly.
How to Install on Wix
To add Flout Translate to your Wix site:
- Open your Wix dashboard and go to Settings → Custom Code.
- Click “Add Custom Code”.
- Paste your Flout Translate snippet.
- Choose “Head” as the location, and apply it to All Pages.
- Click Apply to save.
Your site will now display translations automatically based on the visitor’s selected language.
How to Install on Squarespace
Embed Flout Translate into your Squarespace website in a few easy steps:
- Log in and go to Settings → Advanced → Code Injection.
- Paste your Flout Translate snippet into the Header section.
- Click Save.
Translations will appear automatically for all visitors once installed.
How to Install on Webflow
Add Flout Translate to your Webflow site via the global site settings:
- Open your Webflow project and go to Project Settings → Custom Code.
- In the Head Code field, paste your Flout Translate snippet.
- Click Save, then Publish your site.
Visitors will now see your content in their language of choice.
How to Install on WooCommerce
WooCommerce runs on WordPress, so follow the same steps as a WordPress site:
- From the admin, go to Appearance → Theme File Editor.
- Open header.php under your active theme.
- Find the closing </head> tag.
- Paste your Flout Translate snippet just above that tag, then save the file.
Flout Translate will work seamlessly with your product pages and checkout flow.
How to Install on BigCommerce
Here’s how to install Flout Translate on a BigCommerce store:
- Go to your BigCommerce admin and navigate to Storefront → Script Manager.
- Click Create a Script.
- Set the location to Head, and choose All Pages.
- Paste your Flout Translate snippet and save.
Your BigCommerce storefront will now automatically display in multiple languages.
How to Install on Joomla
To embed Flout Translate on your Joomla site:
- In the Joomla admin panel, go to System → Site Templates → Site Template Files.
- Select your active template (e.g. cassiopeia ).
- Open index.php from the template files list.
- Paste your Flout Translate snippet just above the closing </head> tag.
- Click Save & Close.
Flout Translate will now automatically translate your Joomla content for visitors.
How to Install on Drupal
To install Flout Translate on your Drupal site:
- From your admin panel, go to Appearance → Theme Settings.
- Identify your active theme and locate its html.html.twig template file.
- Edit the file and paste your Flout Translate snippet just before </head> .
- Clear Drupal’s cache to apply the changes.
Your Drupal site will now show content in the visitor’s preferred language.
How to Install on Magento
Add Flout Translate to your Magento 2 site by updating the layout templates:
- Locate your Magento theme's directory (e.g. app/design/frontend/YourVendor/yourtheme ).
- Open or create the file default_head_blocks.xml inside /Magento_Theme/layout/ .
- Add the following block inside the <head> layout tag:
- Paste your Flout Translate snippet using a <script> block.
- Deploy static content and clear the cache to apply.
Your Magento storefront will now support instant multilingual translation.
The Dashboard
Your central control panel.
The Flout Translate Dashboard is the place to configure your website translations and language selector. Log in using the account you created during setup. But dont forget that you need to paste the code snippet into your web pages for the translator to work.
<ft-selector> where needed in your html. If you do not want an element auto translated you can add class="notranslate" to the content that should not be translated.
Website Settings
Choose available languages, default translation behaviour, flag display, and whether the Flout language selector is shown automatically.
Selector Appearance
Configure button colors, dropdown colors, border color, icon choice, custom icon URL or path, position, spacing, and fixed or page-scrolling placement.
Manual Placement
Place <ft-selector></ft-selector> in your own menu or layout. It is only a placement marker. Style the selector from the Dashboard or with advanced CSS hooks.
Translation Editor
Open the live page editor from the edit button beside a website/domain. Review live page text, provide your own translations, and suppress translation where automatic translation is not appropriate.
Usage And Websites
Add websites, manage existing website plans, view usage statistics, and track your translation volume.
Billing
Manage your subscription securely through Stripe, including payment details, plan changes, and cancellation.
Using The Translation Editor
The editor works with the real text currently visible in the live page DOM. This is useful for menus, buttons, headings, product names, short labels, and other page text that needs a manual decision.
- Original shows the base-language text found on the page.
- Override is where your preferred translated text is saved.
- Lang is the target language code for the override, such as
fr,de, ormi. - Rescan Page refreshes the list after menus, popups, tabs, or dynamic content have appeared.
- Save All Changes stores the editor changes for the website.
Use the row action button to open the detailed editor, copy/add another language row, delete an entry, or toggle NoTranslate. A NoTranslate row tells Flout Translate to leave that live DOM text in the original language instead of translating it.
class="notranslate" in your HTML when you want to exclude a whole element and everything inside it.
Advanced Developer Tools
Use code to do it yourself.
Most Flout Translate configuration belongs in the Dashboard. The developer tools below are for page-level exclusions, manual selector placement, advanced CSS styling, and custom integrations.
Careful consideration, an understanding of HTML/CSS, and proper testing is advised.
Exclude Elements From Translation
This is an important feature so you can block automatic translations where translation is not appropriate.
To prevent parts of your page from being translated, add the notranslate class to any element. This will exclude that element and all of its descendant nodes from being translated by Flout Translate. You can also use the dashboard editor's NoTranslate action for specific live DOM text when you do not want to change your website HTML.
<div class="notranslate">
<p>This content will not be translated.</p>
</div>
Manual Placement
Tip: This is great for placing the language selector in menus.
For more control, you can place the language selector element tag <ft-selector></ft-selector> in your HTML. This is useful for placing the selector inside a menu, header, footer, or other existing page layout.
The <ft-selector> element is only a placement marker. Do not style it directly with inline styles such as style="color: white". Visual selector styling should be configured in the Dashboard or with the advanced CSS hooks below.
The selector will still use the languages, theme, colors, icon, and behaviour configured in the Dashboard.
<nav>
<a href="/">Home</a>
<a href="/contact">Contact</a>
<ft-selector></ft-selector>
</nav>
Manual CSS Styling
Make it your own!
You can use the ::part pseudo-element to style the selector by targeting its shadow DOM parts individually.
These CSS rules are for developers and designers who want to override the dashboard appearance settings.
Available selector parts are: container, button, panel, item, and icon.
/* ::part(container) → the wrapper around the button and dropdown panel. */
ft-selector::part(container) {
position: relative;
}
/* ::part(button) → the clickable element that shows the currently selected language (the dropdown trigger). */
ft-selector::part(button) {
font-size: 16px;
color: blue;
background-color: #f0f0f0;
border: 1px solid green;
padding: 5px;
border-radius: 5px;
}
/* ::part(icon) → the selector icon image, if one is configured. */
ft-selector::part(icon) {
height: 22px;
width: auto;
}
/* ::part(panel) → the dropdown container that appears when you click the button (the list background).*/
ft-selector::part(panel) {
background: white;
border: 1px solid #ccc;
padding: 10px;
max-height: 200px;
overflow-y: auto;
}
/* ::part(item) → each individual language option inside the dropdown list. */
ft-selector::part(item) {
padding: 5px 10px;
cursor: pointer;
}
ft-selector::part(item):hover {
background: #f5f5f5;
}
Language Changed Event
Developers can monitor for a language change event issued by flout translate whenever the target language is changed.
window.addEventListener("ft-languagechange", (event) => {
const newLang = event.detail.languageCode;
console.log("Event: Language changed to:", newLang);
// other code here
});
Using the Flout Translate Global Object
Flout Translate exposes read-only language state on its global page scoped object for developers who need to inspect the current translation state.
| Property | Description |
|---|---|
| `FloutTranslator.targetLanguageCode` | Returns the current translation target language code selected. |
| `FloutTranslator.sourceLanguageCode` | Returns the translation source (site base) language code. |
Language Codes List
Only use these.
| Code | Language Name |
|---|---|
| af | 🇿🇦 Afrikaans (Afrikaans) |
| am | 🇪🇹 አማርኛ (Amharic) |
| ar | 🇸🇦 العربية (Arabic) |
| az | 🇦🇿 Azərbaycan dili (Azerbaijani) |
| be | 🇧🇾 Беларуская (Belarusian) |
| bg | 🇧🇬 Български (Bulgarian) |
| bn | 🇧🇩 বাংলা (Bengali) |
| bs | 🇧🇦 Bosanski (Bosnian) |
| ca | 🇪🇸 Català (Catalan) |
| cs | 🇨🇿 Čeština (Czech) |
| cy | 🏴 Cymraeg (Welsh) |
| da | 🇩🇰 Dansk (Danish) |
| de | 🇩🇪 Deutsch (German) |
| el | 🇬🇷 Ελληνικά (Greek) |
| en | 🇬🇧 English (English) |
| es | 🇪🇸 Español (Spanish) |
| et | 🇪🇪 Eesti (Estonian) |
| fa | 🇮🇷 فارسی (Persian) |
| fi | 🇫🇮 Suomi (Finnish) |
| fr | 🇫🇷 Français (French) |
| ga | 🇮🇪 Gaeilge (Irish) |
| gl | 🇪🇸 Galego (Galician) |
| gu | 🇮🇳 ગુજરાતી (Gujarati) |
| he | 🇮🇱 עברית (Hebrew) |
| hi | 🇮🇳 हिन्दी (Hindi) |
| hr | 🇭🇷 Hrvatski (Croatian) |
| ht | 🇭🇹 Kreyòl Ayisyen (Haitian Creole) |
| hu | 🇭🇺 Magyar (Hungarian) |
| hy | 🇦🇲 Հայերեն (Armenian) |
| id | 🇮🇩 Bahasa Indonesia (Indonesian) |
| is | 🇮🇸 Íslenska (Icelandic) |
| it | 🇮🇹 Italiano (Italian) |
| ja | 🇯🇵 日本語 (Japanese) |
| ka | 🇬🇪 ქართული (Georgian) |
| kk | 🇰🇿 Қазақ тілі (Kazakh) |
| km | 🇰🇭 ភាសាខ្មែរ (Khmer) |
| kn | 🇮🇳 ಕನ್ನಡ (Kannada) |
| ko | 🇰🇷 한국어 (Korean) |
| ku | 🇹🇷 Kurdî (Kurdish) |
| lt | 🇱🇹 Lietuvių kalba (Lithuanian) |
| lv | 🇱🇻 Latviešu valoda (Latvian) |
| mi | 🇳🇿 Te Reo Māori (Maori) |
| mk | 🇲🇰 Македонски (Macedonian) |
| ml | 🇮🇳 മലയാളം (Malayalam) |
| mn | 🇲🇳 Монгол хэл (Mongolian) |
| mr | 🇮🇳 मराठी (Marathi) |
| ms | 🇲🇾 Bahasa Melayu (Malay) |
| mt | 🇲🇹 Malti (Maltese) |
| my | 🇲🇲 မြန်မာစာ (Burmese) |
| ne | 🇳🇵 नेपाली (Nepali) |
| nl | 🇳🇱 Nederlands (Dutch) |
| no | 🇳🇴 Norsk (Norwegian) |
| pa | 🇮🇳 ਪੰਜਾਬੀ (Punjabi) |
| pl | 🇵🇱 Polski (Polish) |
| ps | 🇦🇫 پښتو (Pashto) |
| pt | 🇵🇹 Português (Portuguese) |
| ro | 🇷🇴 Română (Romanian) |
| ru | 🇷🇺 Русский (Russian) |
| sk | 🇸🇰 Slovenčina (Slovak) |
| sl | 🇸🇮 Slovenščina (Slovenian) |
| sm | 🇼🇸 Gagana Samoa (Samoan) |
| so | 🇸🇴 Soomaali (Somali) |
| sq | 🇦🇱 Shqip (Albanian) |
| sr | 🇷🇸 Српски (Serbian) |
| su | 🇮🇩 Basa Sunda (Sundanese) |
| sv | 🇸🇪 Svenska (Swedish) |
| sw | 🇹🇿 Kiswahili (Swahili) |
| ta | 🇮🇳 தமிழ் (Tamil) |
| te | 🇮🇳 తెలుగు (Telugu) |
| th | 🇹🇭 ไทย (Thai) |
| to | 🇹🇴 Lea fakatonga (Tongan) |
| tr | 🇹🇷 Türkçe (Turkish) |
| ug | 🇨🇳 ئۇيغۇرچە (Uyghur) |
| uk | 🇺🇦 Українська (Ukrainian) |
| ur | 🇵🇰 اردو (Urdu) |
| uz | 🇺🇿 Oʻzbekcha (Uzbek) |
| vi | 🇻🇳 Tiếng Việt (Vietnamese) |
| xh | 🇿🇦 isiXhosa (Xhosa) |
| yi | 🇮🇱 ייִדיש (Yiddish) |
| yo | 🇳🇬 Yorùbá (Yoruba) |
| yu | 🇭🇰 廣東話 (Cantonese - Hong Kong / Macau) |
| zh | 🇨🇳 简体中文 (Simplified Chinese - Mainland) |
| zt | 🀄️ 繁體中文 (Traditional Chinese - Hong Kong / Taiwan / Macau) |
| zu | 🇿🇦 isiZulu (Zulu) |