GetPublii / Publii

The most intuitive Static Site CMS designed for SEO-optimized and privacy-focused websites.
https://getpublii.com
GNU General Public License v3.0
6.31k stars 416 forks source link

Can I translate the program interface? #628

Closed TheTrendingNet closed 2 years ago

TheTrendingNet commented 4 years ago

Hello! Are there versions of the program in other languages? https://i.gyazo.com/7bb8bced011eb4a17709e37b32083da3.png

I would like to be able to choose my native language for working with the program. Perhaps there is already such an opportunity? I did not find it in the program settings :(

Thanks!

dziudek commented 4 years ago

Hi,

I do hope that v.1.0.0 release planned for January 2020 will have this function :)

bobmitro commented 4 years ago

After carefully considering this possibility, we decided to abandon it. Why? This would involve many problems: UI – different phrase lengths, UX – e.g. the user installs the Chinese version of Publii and wants to get help with documentation written in English, the next hard thing is to keep the language files always up to date.

xudadi commented 4 years ago

My suggestion is: Use English by default. If other users want to change to their native language, please use their own translation. Otherwise, there are many inconveniences. I would be happy to provide Chinese translation

pagelab commented 4 years ago

@xudadi To do this, the user must be proficient enough in English to be able to translate the application to begin with. If the user already understands English, there is little point in translating the application.

Furthermore, it is not trivial for the typical Publii user to create a customized and translated version from the source files. You definitely need to be a developer.

A better solution would be to allow the localization/internationalization of the application (l10n /i18n), as it happens in several other CMSs – like WordPress –, so that other developers can offer translation packages.

profsergin commented 4 years ago

Not thinking about me that I have ease! Let's think about the Journalist, Bloguer, Ordinary People?

Portuguese Brasil Não pensando em mim que tenho facilidade! Vamos pensar no Jornalista, Bloguer, Pessoas comuns?

JoKeyser commented 3 years ago

I also think the ability to switch Publii's interface language would help a tremendous amount of people. Please reconsider your decision (maybe at a later point in time).

Like for any other translated software, the various languages would have to be accommodated in the interface design. However, the development team "only" has to enable the translation infrastructure - the translations themselves could be added and maintained by the community. Many free software packages successfully implement this strategy, see https://hosted.weblate.org/ for some examples.

ibes commented 3 years ago

Another developer with the hope to use Publii to help my clients get fast, secure, awesome websites. But most of my clients are German speaking. So Publii being English only could be a deal breaker for some of them.

Hopefully the young will be well enough in English and fear free to use it. But it would be sad to cut off a lot of potentional users because of language.

Would be happy to help with German.

I would be too sad if Publii keeps being a tool that is inviting to beginners - but just as long as they do speak English.

ben-s commented 3 years ago

I would be happy to help for french translation, because Publii is just incredible ! I have been looking for a wordpress alternative for a long time, much more simple and accessible for beginners. Publii is sooo great !

I have read your comments about the fact UI translation is not on your roadmap.

As a web developper and IT project manager, I can easily understand how difficult it could be for you to stick to your roadmap with a such promising tool like Publii.

From my point of view, "the phrase lengths, UX" and "language files maintenance" are all but blocking problems.

Your tool is really, really, well designed ! Be sure that beginners and non technical people will easily find how to work with publii... but only if GUI is translated ! You probably know how bad are french people in english, hmm ;) ? With a translated GUI, I bet Publii would gain many new users in a short time.

Finally, I think that is is worth spending time on this GUI translation asap because, the more you wait, the longer it will be to change if you add all the planned features.

What about just creating only one or two screen mockups that people would translate in different languages ? That way, you could easily check if phrase length is a problem or not.

Thanks for reading and "bravo" for the great work you are doing on Publii.

apradoc commented 3 years ago

Greetings to the Publii team and the people in this thread.

I have come here delighted with the novel offer of Publii, its portability, its simplicity and its light and very efficient operation.

It seems to me that it is a CMS (I think it goes beyond that) very versatile to enable in communal networks, villages and other spaces where the Internet does not reach.

In 2012, together with several friends in Latin America, we started with the Umanchay Project for the Jokte CMS, a derivation of Joomla 2.5, in this case, aimed at reducing the digital divide of native peoples and in support of the preservation of indigenous languages ​​of our America. At that time we established contact with 23 indigenous teachers in universities from Mexico to Patagonia.

From the Transifex platform we were contacted by regular people and teachers interested in translating the CMS Jokte into their native language, from the USA, Turkey, Jamaica and the Island of San Andrés in Colombia. In the case of Turkey, 30 students practiced the Spanish language by translating the software into Turkish.

I needed to tell you the story to justify, with a lived experience, your support to create a Publii fork, where its user interface can be translated into other languages. In my case, this project on indigenous languages ​​of Latin America is supported by the Red-FEIAL (Network of Trainers in Education and Interculturality in Latin America).

This last detail guarantees the promotion and academic dissemination of Publii throughout the American continent, in an important social and cultural work without precedent on the planet.

With the same license, referring to the source, giving credit to the great work always done by the Publii team.

Let's create a branch together. We need your guidance to do it very well.

Please excuse the length and any writing errors. This is an automated translation from Google.

dziudek commented 3 years ago

Hi,

As I see there is a very active discussion - so for your information - we have found an additional Vue.js developer who will help us with preparing Publii UI for multilanguage translations.

The current plan is following - after v.0.38 release which is planned for the next week, we will start working with UI translation preparation with help of the new developer. It will allow us to not postpone other planned features too much.

If all will go properly - the Publii release which allows translations should be ready in the next 2 months. We have also made a decision that our team will maintain English and Polish translations and other translations will be maintained by the community.

We see how important for our users is availability of Publii in other languages and now with a new person in team we can do it properly :)

ibes commented 3 years ago

@dziudek This is amazing to hear.

And great stategy to focus on core languages and let the community show that they are willing to jump in with providing further translations.

I felt like putting my money where my mouth is and donated some money. The potential of having Publii in German in the somewhat near future will make Publii a real option for my German speaking clients. Having a fast, easy, save alternative to WordPress etc. that will not require them to know FTP and all the things could be a game changer.

Thanks for building Publii and cheers to the new developer who will tackle multilang.

pagelab commented 3 years ago

@dziudek Fantastic news! Count on me to contribute with the Brazilian Portuguese translation. I am also supporting the project with some money through the Open Collective.

ben-s commented 3 years ago

Ready to Help fr the french version ;) Thank you for taking into account our vision. I am sure it will considerably and quickly help publii getting more popular !

apradoc commented 3 years ago

Tremendous news! Thanks a lot! I did a short article about "A Proposal for a website for a non-technological Professional Network" (in spanish) and of course the protagonist is Publii, ending with the great news of the multi-language feature.

Well, I want to support this initiative with a couple of localizations in Spanish, hoping to also get volunteers for Wayuunaiki :heart:, Aymara and other native languages ​​of America.

bobmitro commented 2 years ago

Hey, It took us some time but now we have it finally ready, at the moment there are two languages available: English (default) and Polish. I noticed that a few of you offered help in translating the interface. It would be great if you could help us with this. We have a plan to release the new Publii version in the first or second week of March. It would be ideal if you could provide us with the translated files before this time. The files will be delivered on a separate repo where users will be able to update and download them.

There are two files to translate: translations.json and wysiwyg.json I am attaching these files in one zipped file: en_gb.zip

xudadi commented 2 years ago

Nice,Very good.

pagelab commented 2 years ago

@bobmitro That is great news! I will begin translating to Brazilian Portuguese (pt-BR) right away.

pagelab commented 2 years ago

Hi @bobmitro, the wysiwyg.json file inside the en_bg.zip is in Polish. Can you please upload the English version of this file, so I can translate it?

Edit: nevermind, I got it.

bobmitro commented 2 years ago

Hi @bobmitro, the wysiwyg.json file inside the en_bg.zip is in Polish. Can you please upload the English version of this file, so I can translate it? Yeap, I know but this is ok, please suggest the phrases on the left.

pagelab commented 2 years ago

Quick tips for anyone interested in translating Publli: you can translate the JSON files more easily using the VSCode app and the Auto Translate JSON extension, both free.

You will also need a Google Translate API key, which is available as part of the Google Cloud free trial.

After getting the Google Translate API key, follow the instructions on the extension's website to install and configure the API in order to translate all strings at once.

You have to, for example, rename both JSON files (translations.json and wysiwyg.json) to en.json and add empty files next to them with your language code as the filename in order to translate them using the extension. Just make sure to rename them again to the original filename after finishing the translation.

The original wysiwyg.json provided by @bobmitro above is translated in Polish, but the Auto Translate JSON extension for some reason requires this file in English to automatically translate it. You can download the English version here.

You will also need to proofread each translated string and possibly edit them manually after the automatic translation, as no machine translation is perfect. But it will certainly greatly reduce the amount of work required to perform the translation. Hope this helps.

pagelab commented 2 years ago

@bobmitro The Brazilian Portuguese (pt-br) translation is ready: pt-br.zip

bobmitro commented 2 years ago

The Brazilian Portuguese (pt-br) translation is ready

Wow, thanks a lot.

pagelab commented 2 years ago

I went ahead and generated Publii translation files for all languages supported by the Google Cloud Translation API (around 100 languages), to make the translation even easier for any non-developers around.

So, for any one interested in helping to translate Publii:

  1. Download and decompress the desired language zip file using the table below.
  2. Open all included json files (config.json, translations.json and wysiwyg.json) using any code editor of your choice (even Windows Notepad) to proofread each automatic text string gererated by the Google Translation API.
  3. In config.json: change the language name (following the table below). Also include your name in version.
  4. The language package should also include a flag in SVG format, which can be downloaded in the FlagIcons website.
  5. It's important to validate the json files after finishing the reviewing process, as any comma in the wrong place can invalidade the file. You can use an online tool like this one.
  6. Recompress the files again to the zip format and send them here.
Language ISO-639-1 Code
⬇ Afrikaans af
⬇ Albanian sq
⬇ Amharic am
⬇ Arabic ar
⬇ Armenian hy
⬇ Azerbaijani az
⬇ Basque eu
⬇ Belarusian be
⬇ Bengali bn
⬇ Bosnian bs
⬇ Bulgarian bg
⬇ Catalan ca
⬇ Chinese (Simplified) zh
⬇ Corsican co
⬇ Croatian hr
⬇ Czech cs
⬇ Danish da
⬇ Dutch nl
⬇ Esperanto eo
⬇ Estonian et
⬇ Finnish fi
⬇ French fr
⬇ Frisian fy
⬇ Galician gl
⬇ Georgian ka
⬇ German de
⬇ Greek el
⬇ Gujarati gu
⬇ Haitian Creole ht
⬇ Hausa ha
⬇ Hebrew he
⬇ Hindi hi
⬇ Hungarian hu
⬇ Icelandic is
⬇ Igbo ig
⬇ Indonesian id
⬇ Irish ga
⬇ Italian it
⬇ Japanese ja
⬇ Javanese jv
⬇ Kannada kn
⬇ Kazakh kk
⬇ Khmer km
⬇ Kinyarwanda rw
⬇ Korean ko
⬇ Kurdish ku
⬇ Kyrgyz ky
⬇ Lao lo
⬇ Latvian lv
⬇ Lithuanian lt
⬇ Luxembourgish lb
⬇ Macedonian mk
⬇ Malagasy mg
⬇ Malay ms
⬇ Malayalam ml
⬇ Maltese mt
⬇ Maori mi
⬇ Marathi mr
⬇ Mongolian mn
⬇ Myanmar (Burmese) my
⬇ Nepali ne
⬇ Norwegian no
⬇ Nyanja (Chichewa) ny
⬇ Odia (Oriya) or
⬇ Pashto ps
⬇ Persian fa
⬇ Portuguese (Portugal) pt
⬇ Punjabi pa
⬇ Romanian ro
⬇ Russian ru
⬇ Samoan sm
⬇ Scots Gaelic gd
⬇ Serbian sr
⬇ Sesotho st
⬇ Shona sn
⬇ Sindhi sd
⬇ Sinhala (Sinhalese) si
⬇ Slovak sk
⬇ Slovenian sl
⬇ Somali so
⬇ Spanish es
⬇ Sundanese su
⬇ Swahili sw
⬇ Swedish sv
⬇ Tagalog (Filipino) tl
⬇ Tajik tg
⬇ Tamil ta
⬇ Tatar tt
⬇ Telugu te
⬇ Thai th
⬇ Turkish tr
⬇ Turkmen tk
⬇ Ukrainian uk
⬇ Urdu ur
⬇ Uyghur ug
⬇ Uzbek uz
⬇ Vietnamese vi
⬇ Welsh cy
⬇ Xhosa xh
⬇ Yiddish yi
⬇ Yoruba yo
⬇ Zulu zu
pagelab commented 2 years ago

@bobmitro Even better than manually translating like I'm suggesting above, would be to use Transifex to manage the JSON translations. They have a free plan for Open Source projects.

ben-s commented 2 years ago

Thank you @pagelab, your work is really helping. We should keep in mind this kind of automatic translation can be completely wrong and there are some encoding problems with french accents. So, please, it is worth taking the time to check your own language pack.

I am checking and modifying the french version from your files. It should be ready tomorrow. (edit : or the day after tomorrow... 600 lines remaing ;))

pagelab commented 2 years ago

@ben-s You're right, this absolutely shouldn't be used “as is” without a manual review. I warned against this in a previous comment.

Machine translation is only useful as a way to reduce the amount of work needed to review the material. A good amount of text strings provided are pretty good, though.

So, please, it is worth taking the time to check your own language pack.

This has already been done with the language pack I provided earlier (pt-br). But, of course, anyone is invited to do a second reading, this always helps to improve the result.

bobmitro commented 2 years ago

I went ahead and generated Publii translation files for all languages supported by the Google Cloud Translation API (around 100 languages), to make the translation even easier for any non-developers around.

@pagelab many thanks for your outstanding work and suggestion for using the Transifex service. Unfortunately, most likely due to the fact that our project is to some extent commercialized (marketplace, donations) we will not be able to use its free version. However, we will create a dedicated repo for translations and try to automate as much as possible the process of updating files, etc ...

pagelab commented 2 years ago

Unfortunately, most likely due to the fact that our project is to some extent commercialized (marketplace, donations) we will not be able to use its free version.

@bobmitro I see. A dedicated repo with some automation is also a good idea.

ben-s commented 2 years ago

@pagelab Here is the completed french pack : fr.zip

For other french users, I translated the "tag" term into "étiquette" to be more comprehensive for ordinary users. Howerver I kept the "Post" term, like in Wordpress. Let me know if you think we should use the "post + tag" combination or "Articles + étiquettes"

ben-s commented 2 years ago

Again, your pre-generated files are sooo useful.

I would like to thank the Publii team to have made these efforts to translate Publii. I am sure you will gain many new users in the future thanks to this feature.

Last question : How can I test my french language pack ? Is there a beta version available ?

pagelab commented 2 years ago

Let me know if you think we should use the "post + tag" combination or "Articles + étiquettes"

As many users will likely have some experience with WordPress, I think it would be helpful to follow what they do in their own translation packages.

In the french translation, for example, they use “articles“ for posts and “étiquettes" for tags, everywhere.

ben-s commented 2 years ago

@pagelab : Here is an french pack update with the same vocabulary as Wordpress : "Articles" for "Posts" and "Étiquettes" for "tags". fr.zip

ben-s commented 2 years ago

@bobmitro How could I check my french language pack ? Is there a beta version downloadable somewhere ?

GetPublii commented 2 years ago

@bobmitro How could I check my french language pack ? Just download the 0.39 Publii version → https://getpublii.com/download/

pagelab commented 2 years ago

I just tested the Brazilian Portuguese translation package in version 0.39, and it worked perfectly.

But I had to tweak some text strings, after seeing them in the UI.

Here's the updated translation package for pt-br for anyone interested: pt-br.zip

bobmitro commented 2 years ago

@pagelab Thanks a lot. I've added it to the dedicated repo https://github.com/GetPublii/Publii-ui-locales

JoKeyser commented 2 years ago

For anyone interested in contributing to a German translation, I've started a PR at https://github.com/GetPublii/Publii-ui-locales/pull/4. Feel free to contribute, or take this as your own starting point.