How to translate the Keyboard Maestro interface?

Hello, the interface of a macOS application can “relatively easily” be translated, for example into French, by duplicating one of the application folders with “.lproj” extension, renaming it “fr.lproj” and finally into editing files with “.strings” extension. I just did it with the latest version of ForkLift 4. It's a bit long, but hey!...

KM does not have these “.strings” files, but a large structure with “.nib” files, unreadable and unusable for ordinary mortals, of which I am humbly one.

My question: is there a solution?...

Thank you for your insight on this subject... :wink:

NB: it's still very stupid that KM only has one and only interface in English, and this since its very first version!...

1 Like

It's best to inform Peter (@peternlewis) of your question.

1 Like

I see you’ve been around for quite some time here, so no doubt you are aware that there is one, and only one, developer of KM, and I imagine Peter, for all his talent and capabilities, is not a polyglot. :wink:

Perhaps instead of calling an aspect of an amazing piece of software “stupid”, wait for the answer to your question of “is there a solution”. A potential solution would be to offer your services as a translator.

Federally Certified Translator & Interpreter (more commonly known as just Chris :wink:)

PS: I sincerely hope my comment doesn’t come across as rude or condescending!



I got fooled with the Google translation!... Sorry!...

In fact, in French, and I ONLY speak and write correctly in French, I chose the term “un peu couillon”, which does not have the same force as “stupide”. I could have written “balot”, but again, the English translation eludes me.

There should be nothing insulting in my remarks, just a simple remark.

On the other hand, I didn't know that Peter was the only master on board. Bravo to him, it’s remarkable.
If I posted here, it's because I didn't see Peter being challenged directly: he certainly has other fish to fry (chat à fouetter en français)!...


Oof, no worries! I’ve been there as well. I only speak English and Spanish fluently, and just enough Russian to get myself into trouble. :sweat_smile:

Yep, that’s part of what makes KM incredible, that he’s able to do it by himself, and that he has a very active presence on the forum.


My previous application, Anarchie/Interachie was translated in two other languages (French and Japanese). So I have some knowledge of what is involved.

There is a .strings file in Keyboard Maestro which allows the translation of a lot of the strings. And the .xib/nib files are in theory editable, at least they were originally, though a lot continues to change.

The .strings file alone has over 3000 pieces of text, and then the actions alone have more than 3000 more pieces of text.

But translating Keyboard Maestro actions is far more than just translating the strings. They are very carefully crafted and often have extremely limited space for text.

Each of those UIs would need to be hand translated to fix the existing space, or more space created. Except the UI often has an interaction with code that expands or contracts various parts.

To make all this work with another language (or more than one language) would be a great deal of work.

And all this work has to be done on an ongoing basis. When I was releasing Interachie with two other translations, I was working with two individuals who were very effective and keeping the translations up to date so that translations would not impeded my ability to release the application.

So basically:


I wish it wasn't the case, I don't like that Keyboard Maestro is restricted to English, but it is currently inconceivable to me that any way to produce translations of Keyboard Maestro would be feasible.


1 Like

Good decision, Peter: Invest you precious time into the KM functionalities, better than into a multi lingual KM version.
Grüezi aus der Schweiz - Walter

Hello Peter (always, Google translation),

...And thank you for your answers.

I have just created a version (unofficial and for my own needs) of the French interface of the latest version of ForkLift 4. It was quite “simple”, I just had to take my time (two days in everything with a lot of tests), be precise (translate ONLY the texts and above all keep the “internal variables” intact) and be attentive to translate the 4 “.strings” files by duplicating the German version “de.lproj”, in it renaming “fr.lproj” and placing it back once translated in the “resources” folder. Then, set in the system preferences “Language and region”, ForkLift in French version. And hop !…

BinaryNights has no immediate plans for a French version 4, and as I use this application all day long, now having a French version brings me CERTAIN SATISFACTION, especially since my text manipulations have not caused of bugs or malfunctions of the application: it works well.

On this momentum, as I have a lot of time on my hands and as I open KM very often (every day in fact), I considered operating the same principle. But the structure of KM is different. No “.strings” files that I could edit with Nova!… Arrrrghhhhhheeeeuuuu!…

I'm not a programmer, I'm just a graphic designer. On my original post, I only asked for information on the possibility of a solution to create a version of KM version 11 in French. Maybe there is a “.nib” file editor?…

Otherwise, I am perfectly aware that KM is a very, very feature-rich application, certainly complex, and that its organization must be the perfect reflection of your vision, Peter. If there is a solution to my question (in the form of procedures or using free apps), I am up for the challenge.

My first motivation is to offer myself tools adapted to my own needs (and KM allows me, brilliantly, to shape my workflows on my Mac), but I also take great pleasure in offering my work to the community (like I was able to do this previously some time ago here by proposing an evolution of the KM logo), without wanting any remuneration in return. Then, I am also aware that an amateur like me in this situation can completely “break” an application through incompetence or lack of information.

Afterwards, it is out of the question to set up a gas plant by asking you, Peter. I think you have something else to do. But, you never know: maybe there is a possibility and once again, I am quite precise in my work and I have a lot of time on my hands... And then, the question deserves to be asked!... An app like Keyboard Maestro should, in my humble opinion, have localizations other than English.

NB: maybe it would be “cool” to consider localizations in different languages for the first levels of the KM interface, like menus, some control panels and other dialog boxes… interface elements often displayed on the screen.

Bonjour Peter, merci pour vos réponses.

Je viens de créer une version (non officielle et pour mes propres besoins) de l'interface en français de la dernière version de ForkLift 4. C'était assez “simple”, il m'a juste fallut prendre mon temps (deux jours en tout avec beaucoup de tests), être précis (ne traduire QUE les textes et surtout conserver intactes les “variables internes”) et être attentif pour traduire les 4 fichiers “.strings” en dupliquant la version allemande “de.lproj”, en la renommant “fr.lproj” et en la replaçant une fois traduite dans le dossier “resources”. Ensuite, paramétrer dans les préférences système “Langue et région”, ForkLift en version française. Et hop !…

BinaryNights n'a pas prévu dans l'immédiat de version 4 francisée, et comme j'utilise cette application à longueur de journée, avoir maintenant une version française m'apporte une CERTAINE SATISFACTION, surtout que mes manipulations de textes n'ont pas occasionnées de bugs ni de dysfonctionnements de l'application : ça fonctionne bien.

Sur cette lancée, comme j'ai énormément de temps devant moi et comme j'ouvre très souvent KM (tous les jours même), j'ai envisagé d'opérer la même principe. Mais la structure de KM est différente. Pas de fichiers “.strings” que je pourrais éditer avec Nova !… Arrrrghhhhhheeeeuuuu !…

Je ne suis pas programmeur, je suis juste graphiste. Sur mon post original, je ne demandais qu'une information sur la possibilité d'une solution pour créer une version de KM version 11 en français. Peut-être qu'il existe un éditeur de fichier “.nib” ?…

Sinon, j'ai parfaitement conscience que KM est une application très, très riche en fonctions, complexe certainement, et que son organisation doit être le parfait reflet de votre vision, Peter. S'il existe une solution à ma question (sous forme de procédures ou d'utilisation d'applications gratuites), je suis prêt à relever le défi.

Ma première motivation est de m'offrir des outils adaptés à mes propres besoins (et KM me permet, avec brio, de façonner mes flux travail sur mon mac), mais j'ai aussi grand plaisir à proposer mon travail à la communauté (comme j'ai pu le faire précédemment il y a quelques temps ici en proposant une évolution du logo de KM), sans vouloir une rémunération en retour. Ensuite, j'ai aussi conscience qu'un amateur comme moi dans cette situation peut tout à fait “casser” une application par son incompétence ou son manque d'information.

Après, il est hors de question de monter une usine à gaz en vous sollicitant, Peter. Je pense que vous avez autre chose à faire. Mais, on ne sait jamais : peut-être qu'il existe une possibilité et encore une fois, je suis assez précis dans mon travail et j'ai énormément de temps devant moi… Et puis, la question mérite d'être posée !… Une application telle que Keyboard Maestro devrait, à mon humble avis, disposer de localisations autres qu'anglaise.

NB : peut-être qu'il serait “cool” d'envisager des localisations dans différentes langues pour les premiers niveaux de l'interface de KM, comme les menus, quelques panneaux de contrôle et autres boîtes de dialogue… des éléments d'interface souvent affichés à l'écran.

KM is a product that, by its very complex nature, definitely needs support forums in each language that it is built for.

So, a phenomenal amount of maintenance work!... Duly noted! ;-(


The .nib files are compiled from .xib files, and they can technically be edited as far as I am aware, but I have no idea on the process or what tools are available to do it.

Thanks Peter for this new information. :wink:

Interesting discussion to read. I can easily see how (space) optimized and deep KM‘s custom GUI is, this surely will make many problems with localization.

Next thing: Localized interface does not help much without localized documentation (I really love the help buttons always referring me to the corresponding wiki page!). It will be never ending double work to keep these in sync.
Not even mentioning the forums here which is a really great ressource I‘d never want to miss just because of language barrier.
Last but not least: Every scripting or programming language I know of is somehow based on english language, and most tutorials are, too. KM is really great in combining different automation environments (so many apps include internal scripting, but in most cases it’s very limited to either the app or even a part of it only), if you leave that out, you miss some of KM‘s biggest strengths.

Long story short: I really think it‘s worth learning English (Google can help of course, but KI should not replace your own abilities!) if you are doing anything with computers that is more advanced than clicking with the mouse in a GUI. KM clearly belongs to that field, so to me it’s fine that it’s in English only.

PS: My native language is German…