Translation possibilities of GRAV

As I am using GRAV more and more and try to get more and more experience with it, I found, that translation model integrated into GRAV is not good. I am not talking about content but about GUI.

I am from Czech Republic and users there are very sensitive if the product is not available in local language - Czech language. Therefore some time ago I prepared Czech translation and it is available in GRAV as of now.

However the translation is not good - the structure and logic inside is not flexible as it use English as a base. Czech language is slavic language and works with the semantic different way.

When I tried to create a translation (or maybe better - localization) I found some limits, which are not breakable and therefore translation looks very unprofessional.

As the translation is created as just “dictionary database” (see later for explanation) some phrases looks funny and in some cases you must switch to English to fully understand what is error message about.

In many ways the translation phrase is created as a group of joined words reflecting English grammar and it is not transferable to other languages (e.g. Czech language). This is I call dictionary database.

Just some examples :

  1. The translation file starts with the part of


which is valid for English. Or is possible to be used also in other langauges? Some documentation for it?

In many Slavic languages we have more words for plural e.g.

in EN - 1 page, 0 pages, 2 and more pages - just 2 variants
in CZ - 1 strana, 2 - 4 strany, 0 stran, 5 and more stran - 3 variants

I know also that other languages like Slovak or Polish use the same. Now it is not integrated and even can not be managed somehow.

If we are going back to translation file - you can see that when there are translation of time units like hour/hours, minute/minutes etc. as we need 3 variants (1 hodina/2 hodiny/5 hodin)

The tricky tanslation is also when translating the names of months :

When we are talking about the month itself we can use words like Leden, Unor, Brezen (January, February, March). This is fine. But when we are writing date, you can not use that form of word, that means you need special set of words for dates.

So when we are talking about month, we can say Leden 2020 (january 2020) but for dates we must use 1. ledna 2020 (January 1st, 2020 or 1st January 2020). This is also not covered.

So this is the translation of GRAV (frontend) but more problems with GRAV admin, as it use more strings and use more combinations.

I was a translator of e.g. Joomla and it was covered. So it is possible, but I feel that there was no direct demand of this functionality in GRAV. So is this the right time to request this?

I can help developers with more examples and even be a tester and fully understand that this is not a project for a week rather for months.

To whom should I send this kind request?


@svatas, I think the best place to drop this issue is on the Github repository of Grav. There you will get the attention of the developers.


Any step in the direction @svatas points out? I’m collaborating on a translation and I’ve realised that he’s right. The problem is not only with the Czech and Slavic language.


1 Like

I was pointed to create a github issue for this, you can find it here -

But no progress at all. Still think that translation is one big fail but nobody keen to change it somehow.

1 Like

Well, I understand that it’s not a priority feature of this fantastic CMS, but reading the topic it seems as if the problem affects only a few languages, and this is not so.

I hope to see one day how to improve this aspect of Grav, it would enhance its use.

By the way, good thread’s start

1 Like