#2947·grav

Grav 翻译哲学变更

作者: svatas创建于 2020年6月25日更新于 2026年4月27日
标签question

As I am using GRAV more and more and trying to gain more and more experience with it, I found that the translation model integrated into GRAV is not good. I am not talking about content, but about the GUI. I am from the Czech Republic, and users there are very sensitive if the product is not available in the local language – Czech. Therefore, some time ago, I prepared a Czech translation (via crowdin) and it is available in GRAV as of now. However, the translation is not good – the structure and logic inside are not flexible as it uses English as a base. Czech is a Slavic language and works with semantic differences. When I tried to create a translation (or maybe better – localization), I found some limits that are not breakable, and therefore the translation looks very unprofessional. As the translation is created as just a “dictionary database” (see later for explanation), some phrases look funny, and in some cases, you have to switch to English to fully understand what the error message is 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). This is what I call a dictionary database. Just some examples: The translation file starts with the part of INFLECTOR_PLURALS: INFLECTOR_SINGULAR: INFLECTOR_UNCOUNTABLE: INFLECTOR_IRREGULAR: INFLECTOR_ORDINALS: which is valid for English. Or is it possible to be used in other languages? Some documentation for it? In many Slavic languages, we have more words for plural, e.g. in EN – 0 pages, 1 page, 2 and more pages – just 2 variants in CZ – 0 stran, 1 strana, 2 – 4 strany, 5 and more stran – 3 variants I also know that other languages like Slovak or Polish use the same. Now it is not integrated and cannot even be managed somehow. If we are going back to the translation file, you can see that when there are translations of time units like hour/hours, minute/minutes, etc., as we need 3 variants (1 hodina/2 hodiny/5 hodin) The tricky translation 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 dates, you cannot use that form of word, which means you need a special set of words for dates. So when we are talking about the 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 in the GUI translation (I know that dates are sometimes used from locales on the server, which can handle this) So this is the translation of GRAV (frontend), but there are more problems with the GRAV admin, as it uses more strings and uses more combinations, and the file is much more complex and larger. I was a translator for e.g. Joomla and it was covered. So it is possible, but I feel that there was no direct demand for this functionality in GRAV. So is this the right time to request this? I can help developers…