The author

Hi, I am Bruno.

I built SwiftLing because I spent years watching what goes wrong when a WordPress site becomes multilingual, and I wanted one that does not.

I speak and work in Croatian, English and German, and I use some French.

Bruno Kos on his mountain bike in a forest race

Why

I answered the questions people asked.

I worked in technical support for a multilingual WordPress plugin, in English, German and French. I helped people with plugins, themes and settings that would not work together, and many of them came to me with exactly this problem: a site that had to speak more than one language.

I saw what people wanted. They did not want more settings. They wanted to see their own text next to the original, to use their own translation key, and to keep their pages as they are.

SwiftLing is that, built by one person who answered those questions for years. It is lightweight on purpose, it does not copy your pages, and it does not lock you in: the translations stay on your site when you stop using it.

Multilingual is a hard problem, so bugs are possible. I am open to any collaboration: report one, suggest a change, or send a fix on GitHub.

How

The way it is built.

Your key

Texts go from your site to the translation service you chose, with your own key. I never see them and I never sell credits.

Your content

Translations live beside your pages, not in copies of them. A text without a translation shows in the original.

Your choice

Google is free to use. DeepL, Claude, OpenAI and Gemini are in Pro, and the whole site can be translated from the command line.

Real support

Pro customers write to me inside WordPress and read the answer there, in English, German, French or Croatian.