Good morning, evening,
I´m using Pi-hole since 2,5 years and really happy with it. I want to thank you all for your great work and this great project. But now to my FR, I´ve read, that a similar FR was opened a little long time ago, but since this thread was opened no german translation was integrated. I want to ask for the current status. I know it´s a hobby and you can´t do all FR at the same time. So I want to help, when it's the time to translate that is missing. My mother tongue is German and I am very good at it. Another idea is the website Crowdin, where others can translate the code for you. I also registered there and help with the German translation in other projects.
Many thanks and a happy new year to you all.
Best Greetings Leon
Good morning, evening,
I'm bumping this...
Now that the CrowdIn page is "abandoned", I want to know what the new location is.
Is it a Weblate, manual translation, or something else?
There is no new location. We don't have plans nor backend-infrastructure at the moment to implement multi-language support.
That's a pity. I just stumbled on this after I was thinking: Heee, why not have a Dutch version of the webinterface? Came upon a thread started over 5 years ago with a link which didn't work anymore. Is there a way to bring this to live again? Might not have priority but with a little help from others you/we might get somewhere.
As I said above:
The link above was for an experimental web interface based on React, which has been abandoned because of lack of developer's experience with it.
If we had a backend supporting multi-language, we certainly need
to actually translate everything.
And ofrcourse I can imagine that it has no priority. A working pihole is way more required than some language-stuff. And actually I guess most of the people using Pihole will understand English.
But still couldn't resist and I started to give it a try where index.php will look for the browser-language and based on that uses a language-file. And if none found uses English. But it's a heck of a job to replace all text-parts with<?php echo ($langtext['text_item']) ?>
where all the entries are stored in a language-file. In my fork I only translated some stuff on the main admin-page and it will work. My browser is in Dutch and if nl.php (in the language-directory) isn't found it will use English.
This is a huge job, but it's just the visible tip of a bigger iceberg.
Some items to have in mind (and I didn't even start to think about this):
- some texts would need to be changed/adjusted as not all languages use the same sentence structures (it isn't just a replace).
- the interface must be correctly adapted for Right-to-Left languages;
That's true. Didn't think about the things you mention as well
Now my quick and dirty test-case-language-files looked like this:
<?php $langtext['total_queries'] = 'Total queries'; $langtext['queries_blocked'] = 'Queries blocked'; $langtext['percentage_blocked'] = 'Percentage blocked'; $langtext['active_clients'] = 'Active clients'; $langtext['domains_on_adlist'] = 'Domains on Adlists'; $langtext['list_blocked_queries'] = 'List blocked queries'; $langtext['list_all_queries'] = 'List all queries'; $langtext['manage_adlists'] = 'Manage adlists'; $langtext['total_queries_over_last_24hrs'] = 'Total queries over last 24 hours'; $langtext['client_activity_over_last_24hrs'] = 'Client activity over last 24 hours'; $langtext['top_permitted_domains'] = 'Top Permitted Domains'; $langtext['top_blocked_domains'] = 'Top Blocked Domains'; $langtext['hours'] = 'hours'; ?>
which in Dutch would be:
<?php $langtext['total_queries'] = 'Totaal aantal queries'; $langtext['queries_blocked'] = 'Queries geblokt'; $langtext['percentage_blocked'] = 'Percentage geblokt'; $langtext['active_clients'] = 'Actieve clients'; $langtext['domains_on_adlist'] = 'Domeinen in Adlists'; $langtext['list_blocked_queries'] = 'Toon geblokte queries'; $langtext['list_all_queries'] = 'Toon alle queries'; $langtext['manage_adlists'] = 'Beheer adlists'; $langtext['total_queries_over_last_24hrs'] = 'Totaal aantal queries van de afgelopen 24 uur'; $langtext['client_activity_over_last_24hrs'] = 'Client activiteit gedurende de laatste 24 uur'; $langtext['top_permitted_domains'] = 'Top Toegestane Domeeinen'; $langtext['top_blocked_domains'] = 'Top Geblokte Domeinen'; $langtext['hours'] = 'uren'; ?>
And ofcourse translations aren't perfect. And seeing things in Dutch doesn't always look that nice.
Actually I wouldn't bother translating the whole pihole-interface.