Property Label/Description Translations using Dictionaries?

Feeling a little bit like a dinosoar here :t_rex:, it’s been a while since I built a multilingual backoffice.
But in the old days what I did was I would prefix my properties #Heading and #HeadingDescriptionand then create corresponding Dictionary items in the Translation section, and then the label + description would be populated with the dictionary value.

Like such:

And in the Translation Section:

This however does not work anymore, probably since the switch to Umbraco Flavored Markdown:

So what would be the right approach to render my dictionary values in my property labels/description nowadays?

The new way to do this is described in the docs:

I believe I understood that the main reason for changing it was to make deploying these things easier. A lot of people also use dictionary items for the frontend, which means they needed to deploy only a subset of items for translating backoffice property names/descriptions, which was a bit of a pain.

It also makes it a LOT easier to fix or change translation texts, just by updating a package for instance.

Thanks @sebastiaan! I can see how this makes deployments easier.

It doesn’t really seem as simple and low-code as everything else in Umbraco though.

Creating a document type and add a few properties litteraly takes a few seconds, but
then to make the backoffice multi-lingual (which I assume all sites are) we now need to create a package folder + package.manifest file + doctype-lang.js file for every language + and then “Umbraco must be restarted to register the localization manifest”.

Seems like it could have been solved by having “Backoffice Translations” and “Frontend Translations” folders in the Translations folder.

Out of curiosity, how is this solved in Umbraco Heartcore, where we cannot clone the code locally?

1 Like

Even though the backend has changed so it no longer can apply dictionary items to texts, there is really no reason why the frontend cannot be aware of dictionary items converted TO localization keys instead.

It triggered a bit in me, and I’ve tried to build a package around it, which is available on Nuget here:

It is not 100% compatible with the old Backoffice - you need to add curly brackets to trigger the new localization system, and you cannot use “root” keys anymore (you must have an area and a key).

I tried to outline the differences here: umbraco-lexicon/docs/migration.md at main · iOvergaard/umbraco-lexicon · GitHub

Perhaps something like this can help you.

1 Like

That’s great @jacob! That might actually help a lot. Thanks! :heart:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.