Skip to content
Features

One site, every language, one panel.

Add languages, enter translations side by side and send each visitor to the right one. No second copy of your site to maintain.

Multilingual section of Kullya site settings: language list, default language and language path

When every language is its own site

Adding a second language usually means copying pages. When the design changes you update every copy by hand, a page added in one language goes missing in the other, and menu links drop visitors into the wrong language.

Language is a layer, not a copy

In Kullya you build pages, layouts and views once. Only the text changes: labels and content fields hold a value per language, and the site renders whichever language it was opened in.

  • One design, separate text per language
  • Menus and internal links keep the visitor's language
  • Language comes from the URL path, a query parameter or the domain
  • Language settings travel with sync and site packages

Opening your site to a second language

  1. Add languages

    Turn on multilingual publishing in site settings, add the languages you need and give each a display name.

  2. Pick a default

    Decide which language the site opens in when the visitor's language is unknown.

  3. Choose the URL structure

    With the language path on, URLs start with a prefix such as /en/. With it off, the language travels in a lang parameter.

  4. Scan for text

    From the Labels screen, scan your pages for translatable text. Confirm what was found and it joins the label list.

  5. Enter translations

    Write each label and content field per language. For bulk work, export the labels and import them back.

  6. Add a language switcher

    In your template, use the helper that returns the site's languages and the current page's URL in each one to build the menu.

Multilingual section of Kullya site settings: language list, default language and language path

What you can do

Labels and structured content

Recurring interface text such as buttons and headings is kept as labels. In content like news, products or team members, you mark each field as multilingual or shared.

Three URL strategies

The language is picked by a path prefix, a lang query parameter or a bound domain. Bind a domain to a language and visitors arriving there see that language straight away.

Language detection

Optionally let the first visit pick a language from the browser's preference. The visitor's choice is remembered on the pages that follow.

Links that keep the language

Menus and in-page links carry the current language's prefix or parameter on their own, so changing pages never switches the language.

Translation for single-page apps

Developers manage and export the text of single-page apps running inside the site in a separate translation list.

Labels with Kullya AI

Kullya AI can read and write your site's labels with a value for each language. The result sits in the same list as labels you enter by hand, and you edit it there.

You stay in control

  • Translations are never published on their own; you write or approve the text for each language.
  • You choose the language code and display name; removing a language also removes its URL path.
  • Turn multilingual publishing off and the site goes back to its default language.
  • How search engine tags and sitemaps are produced per language depends on your template; check this on your own site.

Who it's for

Businesses
Enter a new market by adding a language to the site you already have, not by building a second one.
Agencies
The design you built for a client stays the same in every language, so upkeep happens in one template.
Content teams
See labels and content fields side by side and spot missing translations in each language's column.
Developers
Read the active language and language URLs from templates and KScript, and build the switcher your way.
Operations teams
Operations teams manage languages and multilingual publishing from site settings, instead of hosting and maintaining a separate site copy per language.

Add a second language to your site

Turn on languages, scan for text and enter your first translation. Your design stays untouched.