backdrop / backdrop-issues

Issue tracker for Backdrop core.
145 stars 40 forks source link

Multilingual site information #1687

Closed amilenkov closed 5 years ago

amilenkov commented 8 years ago

Hi, I am building a multilingual site with Backdrop - with English, German and Bulgarian. But when I enter English site name in en/admin/config/system/site-information this changes Bulgarian site name in admin/config/system/site-information as well as German site name in de/admin/config/system/site-information.

How can be translated Site Information in multilingual sites: Site name, Slogan, Default front page etc. I was searching many hours before posting this issue. Please help. Many thanks.

bd0bd commented 8 years ago

@amilenkov, welcome to multi language issues!

I think you will additionally meet up with other problems on this way. Few days ago I have quit my tries to build a 10 multi language website on Backdrop CMS - too much headache and problems arise within the process. These issues might be helpful for you: https://github.com/backdrop/backdrop-issues/issues/1504 https://github.com/backdrop/backdrop-issues/issues/1574 https://github.com/backdrop/backdrop-issues/issues/1638 https://github.com/backdrop/backdrop-issues/issues/1637

amilenkov commented 8 years ago

Tanks @bd0bd,

I've red #1504, #1574, #1638, #1637 and there is much useful information. I've red also #225 and I found out that community is steel working towards integrating i18 in core. I hope that in a few months there will be improvements for multilingual sites.

Until then, we can use workarounds like different menus for different languages.

I solve the problem of not having possibility of translation of site name and slogan in the site's header by creating custom header blocks for each language and manually coding their content.

The problem remains that I can't translate the HTML title tag for the various languages - I left it in English. The site will work this way for now, I will translate the title tag when this becomes possible in the Backdrop.

But I remember how gradually developed multilingual support in Drupal 6. There was a time when there was no module Variables and variables for Site name, Slogan etc. were discovered with manual search in the database and then manually inserted into settings.php.

I wonder if it's possible such a workaround at this moment until it becomes possible translation of variables through the user interface.

Best regards

klonos commented 8 years ago

Yes, I thought that someone would eventually mention variables in this issue (for translating site name & slogan for example). Unfortunately, AFAIK we have replaced these with config (CMI) in Backdrop. So if we are to make anything translatable, that would be config: #704

amilenkov commented 8 years ago

I already made a small multilingual website in which I worked. It is located here: http://pkk-bg.com

I'm giving it as an example illustrating the problem. Also I managed to find workarounds for almost all issues that are discussed above and this can be useful for other users.

The translation of the pages works excellently in the Backdrop. Thanks to the developers of the system. It works like in Drupal 7, but more easy, logical and is visually better as interface.

One option is missing, but important - option to switch off language links at bottom of content. This can be done by CSS but I think it is better trough Languages section of administration.

Site name and site slogan are printed not by the system (they can not be translated in Site information) and are done with 3 custom header blocks for every language that are activated by visability condition (language is).

Custom menus for 3 languages that are are activated for each language by visability conditions "Site language is" - that works fine too.

The problem that [front] page can not be translated (in Site information) is easy to be solved. In my custom language switcher only the BG flag links to the front page. EN and DE flags are links not to front page, but to the corresponding translation nodes of the front page.

The only problem that remains is that HTML tag TITLE can not be translated. This problem has to be solved. TITLE tag is important for SEO and showing pages in search results.

bd0bd commented 8 years ago

TITLE tag is important for SEO and showing pages in search results.

It is more than important for me. It is one of key aspects of any website who's target is to attract visitors from search engines. Try this module Base Meta: Page Title And Meta Tags - https://github.com/backdrop-contrib/base_meta - but it does not work for VIEWS pages, it works only for regular pages.

Can you make a copy like a demosite? I would like to see it inside like admin :)

bd0bd commented 8 years ago

Please, can you show me your URL language detection configuration /admin/config/regional/language/detection/url Bulgarian language has NO any prefix?

bd0bd commented 8 years ago

On Contact pages there is no language links at the bottom left http://pkk-bg.com/de/contact Why?

bd0bd commented 8 years ago

O! This is not good and not right: http://pkk-bg.com/en http://pkk-bg.com/de they are both in Bulgarian but they should be in English and German. I have the same problem and I do not understand how to solve it. For me this is not a minor issue, this is serious bug.

biolithic commented 8 years ago

Good job on the site Antony. Languages work well and I can read the English.

I may be an American jerk, but I am not sure about the business case for a ten or more language site. It is more time and work to make and maintain, so is it an international company with the money to support this? If a local construction company wanted me to build an English and Spanish website, I would say "ok, that matches the budget" Their target customer is rarely "the world" but rather a smaller, defined group of people locally.. I am not offended if I visit a Polish neighbourhood of Chicago and a local newspaper is in Polish and not English and I don't understand Polish -- I am a tourist, not the target customer. But if McDonald's restaurant wanted me to build a website for all languages that they support in their locations, it wouldn't be a final issue if they had that in the budget to build the same blocks many times (for localization).

This may be different in areas such as India in which there are many local languages for which I apologize.

So, is this like adding other features to a websites, in which "My CMS is bad because I installed 200+ modules/plugins and the site is unusable" versus "If we only used 100 modules, could we make the actual users of the website happy?" In which we say, for example, "90% of our users can read Bulgarian, English, German, or Russian, and that is who we serve -- those people. Lots of people live in India...but they do not buy our HPL - panels for installation in the EU." So we have to match reality with development sometimes I think.

On Sun, Mar 6, 2016 at 11:50 AM, Antony Milenkov notifications@github.com wrote:

I already made a small multilingual website in which I worked. It is located here: http://pkk-bg.com

I'm giving it as an example illustrating the problem. Also I managed to find workarounds for almost all issues that are discussed above and this can be useful for other users.

The translation of the pages works excellently in the Backdrop. Thanks to the developers of the system. It works like in Drupal 7, but more easy, logical and is visually better as interface.

One option is missing, but important - option to switch off language links at bottom of content. This can be done by CSS but I think it is better trough Languages section of administration.

Site name and site slogan are printed not by the system (they can not be translated in Site information) and are done with 3 custom header blocks for every language that are activated by visability condition (language is).

Custom menus for 3 languages that are are activated for each language by visability conditions "Site language is" - that works fine too.

The problem that page can not be translated (in Site information) is easy to be solved. In my custom language switcher only the BG flag links to the front page. EN and DE flags are links not to front page, but to the corresponding translation nodes of the front page.

The only problem that remains is that HTML tag TITLE can not be translated. This problem has to be solved. TITLE tag is important for SEO and showing pages in search results.

— Reply to this email directly or view it on GitHub https://github.com/backdrop/backdrop-issues/issues/1687#issuecomment-192945490 .

bd0bd commented 8 years ago

I may be an American jerk, but I am not sure about the business case for a ten or more language site.

Law firm. Main languages: English, French, German, Russian, Spanish, China, Japan, Korean, Arabic, Italian.

Plus Portugal, Vietnamese.

I would say "ok, that matches the budget"

Not all people makes sites for money. I have no any budget. I do not ask any money for this project at this point. I have only my time and my wish :) Of cause, I can earn money but it is not the issue at this case at present time. Not all CMSs are for money - Backdrop and Drupal are free of charge.

So we have to match reality with development sometimes I think.

Reality is simple - there are other CMSs around here with simple solutions for multi lang websites. It is sad that Backdrop is not enough good in this way. It would be OK, if Backdrop had no any language options for multi lang websites - then no problems & questions arise here. But t has it. And they are not very good implemented.

:)

amilenkov commented 8 years ago

_@bd0bd _ Send me please an e-mail and I will send you screenshots of pages that you asked for. This issue is about translation of Site information variables - so I am not sure it is useful for other readers of the issue to lose the focus of discussion. Multilingual site configuration is another topic. You can write me to milenkov@gmx.com

amilenkov commented 8 years ago

@biolithic Backdrop is young system. I like it's philosophy and see that it's principles are gradually really embodied in the reality. You can not expect too much from the kid. I personally will work with the Backdrop system and watch how it grow up. And will use workaraunds when necessary. If someone cannot wait - there are plenty of other CMS.

findlabnet commented 8 years ago

@bd0bd, thank you for module recommendation, but before you say

it does not work for VIEWS pages, it works only for regular pages.

you can at least check changes from 5 Dec 2015 (was done by your issue). Anyway, this module was built only as temporary workaround for "business oriented" users.

amilenkov commented 8 years ago

@bd0bd

O! This is not good and not right: http://pkk-bg.com/en http://pkk-bg.com/de they are both in Bulgarian but they should be in English and German.

Naturally, for this is the whole issue. I know that.

But for me:

  1. My client has a Backdrop site that WILL in the future use all of other Backdrop advantages.
  2. This problem will be resolved in the near future and is not very important.

It must be taken into account that doing site in Bulgaria (or similar poor country) is quite different from doing site in the United States. The budget is just a totally different - a lot of times smaller.

klonos commented 8 years ago

So, is this like adding other features to a websites, in which "My CMS is bad because I installed 200+ modules/plugins and the site is unusable" versus "If we only used 100 modules, could we make the actual users of the website happy?"

Yes and no. I agree that installing many modules would have an impact on the site performance and that having many languages might end up in similar situations. But languages are not the same thing as modules in that in some situations you cannot simply say "I can live without that language". It simply is not a matter of choice sometimes. Think multi-language community websites where leaving a language out (no matter how small the amount of visitors using it) would be considered discriminating.

Languages can be added either at the beginning of the site launch or gradually. So, for example as the owners examine their site analytics and see what locales visitors are using, they adapt by installing more languages and translating content to these.

So, when it comes to languages and the Backdrop layout workarounds to get things working (one menu block per language and one custom header block per language replacing the one that comes out of the box), you either start with a mess or you end up with one.

Until we have proper multilingual support in core, we'll simply have to do with whatever we have available. That's why for example I proposed #1691 if it is easier to get in sooner than #704 (which is targeted for 2.x).

klonos commented 8 years ago

Backdrop is young system. I like it's philosophy and see that it's principles are gradually really embodied in the reality. You can not expect too much from the kid. I personally will work with the Backdrop system and watch how it grow up. And will use workaraunds when necessary. If someone cannot wait - there are plenty of other CMS.

:+1: my thoughts exactly @amilenkov.

Tip: if you want to quote someone's comment in GitHub markdown, you just enter a > in front of it ([cite] tag does not work). I took the liberty of fixing that in your comment. If the text you are trying to quote has multiple lines, you'll either need to enter a > in front of each line or just a single > in front of the first line and then indent the rest of the lines by a single space :wink:

bd0bd commented 8 years ago

@amilenkov,

Backdrop is young system.

If it was undisputed true then I would not tell anything about multi lang problems here. But reality is that Backdrop is not 100% a young system. It is enough old one from my point of view. Old and respectable.

You can not expect too much from the kid.

I understand your ideas. But Backdrop CMS is not a human. They are not equal things. Comparing it with a human is somewhat tricky and not enough honest :) It would be right if we compare it with other CMSs.

@klonos, please, can we solve this issue soon or we need to wait for few weeks?:

O! This is not good and not right: http://pkk-bg.com/en http://pkk-bg.com/de they are both in Bulgarian but they should be in English and German.

Thank you!

amilenkov commented 8 years ago

http://pkk-bg.com/en http://pkk-bg.com/de they are both in Bulgarian but they should be in English and German

I found a workaround of this problem:

edit_redirect_pkk_eood_-_2016-03-07_16 00 17

edit_redirect_pkk_eood_-_2016-03-07_16 02 45

You will need module Redirect: https://github.com/backdrop-contrib/redirect

After creating redirects clear all cashes! (sorry - caches)

I suppose this can be used as well for Error pages and for maintenance page.

ghost commented 8 years ago

clear all cashes!

FYI, cache in this context is a transliteration of french caché, which just means hidden.

amilenkov commented 8 years ago

_@biolithic _

You are wright this workarounds are clumsy for site with ten or more language site. It is not suitable for international law company "with the money to support this", nor for "McDonald's restaurant website for all languages that they support in their locations"

But lets remember what is written there: https://backdropcms.org/philosophy

Backdrop CMS is for the small to medium sized business, non-profits, educational institutions, and >companies or organizations who are delivering comprehensive websites on a budget..

Rich international law companies with ten languages and McDonald's restaurants are simply out of the target group of Backdrop. They can use for example Drupal 8 - it is better at the moment then Backdrop as multilingual CMS. And they will have personal and money to pay more complex and expensive work and hosting resources that Drupal 8 requires.

But for the small companies and organizations Backdrop is better for me and I will wait till it's multilingual system matures.

biolithic commented 8 years ago

I like using Backdrop too, and don't build websites for McDonalds - just an example On Mar 7, 2016 8:36 AM, "Antony Milenkov" notifications@github.com wrote:

_@biolithic https://github.com/biolithic _

You are wright this workarounds are clumsy for site with ten or more language site. It is not suitable for international law company "with the money to support this", nor for "McDonald's restaurant website for all languages that they support in their locations"

But lets remember what is written there: https://backdropcms.org/philosophy

Backdrop CMS is for the small to medium sized business, non-profits, educational institutions, and >companies or organizations who are delivering comprehensive websites on a budget..

Rich international law companies with ten languages and McDonald's restaurants are simply out of the target group of Backdrop. They can use for example Drupal 8 - it is better at the moment then Backdrop as multilingual CMS. And they will have personal and money to pay more complex and expensive work and hosting resources that Drupal 8 requires.

But for the small companies and organizations Backdrop is better for me and I will wait till it's multilingual system matures.

— Reply to this email directly or view it on GitHub https://github.com/backdrop/backdrop-issues/issues/1687#issuecomment-193273600 .

klonos commented 8 years ago

I found a workaround of this problem: ...You will need module Redirect: https://github.com/backdrop-contrib/redirect

@amilenkov you'll be happy to know that we've planned to include that in core: #905

@serundeputy has a PR already for it that could use some testing if you have the time:

https://github.com/backdrop/backdrop/pull/1277 https://github.com/backdrop/backdrop/pull/1277.patch

This use case here would be a good one to see if things work as expected.

klonos commented 8 years ago

@gifad

Backdrop is young system.

If it was undisputed true then I would not tell anything about multi lang problems here. But reality is that Backdrop is not 100% a young system.

You are right about this. Backdrop is based on Drupal, so the code base is not that young...

You can not expect too much from the kid.

I understand your ideas. But Backdrop CMS is not a human. They are not equal things. Comparing it with a human is somewhat tricky and not enough honest :) It would be right if we compare it with other CMSs.

...can we solve this issue soon or we need to wait for few weeks?

Backdrop CMS is not a human indeed, but it is developed by humans. In their spare time. And there's only 24 hours in a day. So, if you are ready to give it a shot, then you'll need to be patient. If not, as you say there's always other CMSs.

Other CMSs might be around long enough to have funding available to them and perhaps more developers on board in order to move things faster. In that aspect, Backdrop is just a kid. And there's nothing wrong with that in my books.

bd0bd commented 8 years ago

I found a workaround of this problem:

@amilenkov, thank you very much! It is very good news!

Rich international law companies with ten languages ...

I am sorry but this is off-top and not very beautiful to discuss the business and the things you do not know anything about :) If I make a ten language website it doesn't mean the company is rich and international. A two persons company can be an international one (in future) and have a ten language website (right now).

I think it would be good to talk about Backdrop and solve current problems/issues with it and NOT to discuss aspects of my or someone else's business which have no close relations to the Backdrop's issues.

Thank you!

bd0bd commented 8 years ago

I found a workaround of this problem:

O! It is not a solution. It redirects to /welcome-us page. It can be done with htaccess file.

My talk was about a solution an english and german content to be dispayed exactly at http://pkk-bg.com/en/ and http://pkk-bg.com/de/ URLs.

amilenkov commented 8 years ago

@bd0bd

O! It is not a solution. It redirects to /welcome-us page. It can be done with htaccess file.

I have never claimed that it is a final "solution". I offered this as a possible temporary workaround. If you post here your variant with .htaccess file - I , and may be many others, will be thankful.

It is not hard - just post your solution here.

Just one note - editing htaccess files would be difficult for some users of Backdrop. And may be away of it's philosophy.

But for me it will work. Just give an example :-)

bd0bd commented 8 years ago

It is not hard - just post your solution here.

I have no any solution and this is why I am here asking other people about this issue. Using htaccess file - this is the same redirect and not a solution.

Logically there should be English and German content at /en and /de, and NOT Bulgarian one. I believe you agree with me :)

bd0bd commented 8 years ago

@findlabnet,

you can at least check changes from 5 Dec 2015 (was done by your issue).

I am sorry!

I have upgraded. It is very nice!

bd0bd commented 8 years ago

I understand that redirecting is workarounds, a crooked nail :)

aaa

bd0bd commented 8 years ago

@amilenkov, the website's English and German pages are OK but Bulgarian pages ЗА НАС and КОНТАКТИ - doesn't display properly in IE8. If you will fix it then please tell me what the problem was.

They are displayed like this:

bbb aaa

klonos commented 5 years ago

Until we have proper multilingual support in core, we'll simply have to do with whatever we have available. That's why for example I proposed #1691 if it is easier to get in sooner than #704 (which is targeted for 2.x).

704 is now merged for Backdrop 1.12, and we have #3455 as the next step. Slowly getting there 😄

http://pkk-bg.com/en http://pkk-bg.com/de they are both in Bulgarian but they should be in English and German

I found a workaround of this problem: ... You will need module Redirect: backdrop-contrib/redirect

In the meantime, #905 got merged into Backdrop in 1.4.0, so we now have redirects in core. As a matter of fact, this is mentioned as a workaround in #3500 😄

I have gone through all the comments in this issue, and the only unresolved issue seems to be the one about the HTML tag TITLE. I have tested this with the redirect workaround as mentioned in https://github.com/backdrop/backdrop-issues/issues/1687#issuecomment-193259488 and in #3500, and this works perfectly for me.

I will go ahead and close this issue then...