in reply to Multilingual design

Good evening!

I've never implemented multilingual desing in Perl projects - at least as an original idea or intent of those Perl projects - but have used to JavaScript vue-i18n library (fast guide) that utilizes third mentioned way of making multilingual site. There you have a JSON file for each language with all language strings as a hash, and language switch can be done by HTTP headers or some other things (like session).

Using language in template is like:

{ somepage: { title: 'Hello, {userName}!' } } <title>{{ $t('somepage.title', { name: 'Alexander' }) }}</title> || VV <title>Hello, Alexander!</title>

At first this was a language file for frontend (written, as you can see, in Vue, or more precisely - in Quasar), but then it comes handy in Perl Mojolicous backend - I just read it as JSON to a hash, and voila: I can use these language strings to make ODF documents in current language, for example. So I vote for third way as I used it and this way can be convinient and language source can be used by another program - it's a simple JSON that converts from and to Perl data structures. Data once entered by human will remain readable and maintainable, as it's just a text file in all known format - this is what I like most in this scheme.