contao / core

Contao 3 → see contao/contao for Contao 4
GNU Lesser General Public License v3.0
492 stars 213 forks source link

Simplify the management of multiple languages #6590

Closed ghost closed 10 years ago

ghost commented 10 years ago

It would be nice Contao supports differents languages versions of the same page in a simpler and faster way.

Currently, you must create two structures site by a language.

Why not offer the different languages ​​in a single structure and propose different textarea depending on the language in the articles module?

Like this?

multilingue

Toflar commented 10 years ago

Definitely :-1: I maintain pages with 12 languages. In your version editing a content element would be impossible...not to mention that I don't want the same content to be on every 12 langauges...only on 10 of them :)

ghost commented 10 years ago

I don't see what the problem is...

It's possible to make a totally different content in each textearea !

?!

Toflar commented 10 years ago

And what if I don't want to have any content at all? In your solution it would generate me 12 fields for the headline, 12 fields for the text field. In other content elements this would mean I get 12 fields for setting the image size. Or is this not translatable? What defines if a field should be translatable? :) This is not going to work :)

HellPat commented 10 years ago

:-1: At this solution but :+1: on a solution for the Problem with complicated translations.


I think contents should be translatable more easy. Contents that have a translation should be linked in the database.

$content->getTranslation('de_DE');
$content->updateTranslation('de_DE, 'Neue Übersetzung');

// or
$content->getCurrentLanguage();

If i clone a whole root-node all translations should be linked. So each Content element is a linked content element and not the content itself.

Would be easier to translate or export xml with content that should be translated...

To the elements itself we could add a direct translation select (like in metamodels)


I think this is a huge BC break (?!) and so it's a topic for Contao-Reloaded (?!)

lionel-m commented 10 years ago

It's not a problem to have two roots website. This is useful if we have a domain name for each language, for example... And the translation is not always 100% identical between two languages. If there are multiple authors, we can also more easily manage access rights with several roots website.

I agree with you, we should find a solution but not like this.

HellPat commented 10 years ago

Yes, i really like the concept of two (or n) roots. This is a super useful concept. But if i copy a root all Child elements are copied, too and do not have any connection. A connection between elements is super useful in some cases. E.g. für direct switching between the languages if there are linked translations.

My idea is additional to the current concept and not to replace it.


Next Problem:

Customer: "Could you translate our site to french"
Me:
  - I clone root
  - I export as XML ans send it to translator. Then import
  - I have to replace every single {{insert_article::ID}}, {{insert_content::ID}} etc... This is not cool
Customer: "You suck" ;-)

I think this could be easier if translated content would have a connection to the same content in other languages.

lionel-m commented 10 years ago

@psren :

I made a comment regarding the first proposition (single structure) not about your comment :) I agree with you about the importance of having connections.

We should even consider discussing about forms, news and events. For example, we need to duplicate modules only because of the translations. E.g. news list (fr) - news list (de) or for forms module form : search (fr) - module form : search (de).

HellPat commented 10 years ago

@lionel-m Sorry, i missunderstood your comment.

Yes every item that could be translatable should be considered. Pages too. Every page can have a translation so it should be translatable.

It should be possible to do things like that.

$content->find($pk)->getTranslation('de_DE')->withFallback(array('de', 'en'));
andreasisaak commented 10 years ago

:-1: A bad concept! Really really bad. You lost your flexibility - an alternative is to link the languages and jump between the content elements, articles and pages. Like the translation extension: https://contao.org/de/extension-list/view/translation.10050009.de.html

Sadly, the extension is not contao 3 compatible.

lionel-m commented 10 years ago

An integrated solution for Contao would be ideal. I hope that a decision will be made in this direction.

frontendschlampe commented 10 years ago

I also don't want to have a solution like @fixounet said. It's easier for small websites ... that's right but like @Toflar said it's not flexible enough and imo could it be very confused and slowly when you have a lot of languages. It could be, that you have an article with content for 3 of your 5 languages and another article with content for the other 2 languages because they have different content.

I think I have a lot of experience of creating multiple language websites and I think that the current version of creating multiple language websites is great and simple for smaller and bigger projects: fast, flexible, easy and clear. From my experience it's just a thing of managing your content respectively how you will structure your content. If you don't think enough about how you will create your modules, layouts and others it could be very problematic.

But as @andreasisaak said: there are a lot of free extensions which are very useful for multiple language websites and which will supply different functions to handle the problems.

ghost commented 10 years ago

The operation of Contao, in its initial version, that is to say a language version is a structure is a good way to distinguish between different versions.

However, we must not forget one thing ... our customers!

It is very difficult for the average person to use Contao like that.

The solution I propose is much simpler for our clients. It has many CMS using the solution I proposed.

I think we should find a solution effective more than currently proposed by Contao.

I think, too, that this solution should be integrated into Contao ... if our preferred CMS wants to be used by more and more people.

frontendschlampe commented 10 years ago

no ... definitely no. It's not the right way to do the same like all the others. And I don't know what's difficult and not efficient to duplicate a page tree and change the content?! I have some different customers who love this easy and clear way to maintain the websites like Contao!

We have other problems to fix and to think about but not this one, I think.

ghost commented 10 years ago

It makes you wonder what the priorities are!

Multilanguage operation Contao is to change ... it is inevitable!

andreasisaak commented 10 years ago

:-1: That's bollocks! We manage many websites with 30 languages and more in one installation and no customer has ever complained. Please no more the argument "never forget the customer". Nobody here forget the customer!

tristanlins commented 10 years ago

@fixounet you do something wrong, if your customers have problems to manage multiple languages. With a good training, they understand why it is easier and faster to manage different language in different page roots.

At least, it is not a question to put completely different content in one textarea (https://github.com/contao/core/issues/6590#issuecomment-31001514), the problem is, that I don't want the textarea in a different language.

xchs commented 10 years ago

+1 for some kind of functionality provided by the "translation" extension. It is an extension that I used to use often.

ghost commented 10 years ago

@andreasisaak, @tristanlins,

No, it's not bullshit.

Customers today overestimate. They believe that "real site" is managed as easily as a Facebook profile. Thus, training (paid) that we offer our customers are generally canceled because they say will not need it !

Contao is a very good CMS, with lots of functionalities that allow us to imagine and create great things.

The trouble is that it is really oriented "professional". The interface is too dull and too complex.

We must do something to improve the situation. I've wondered if this might interest the official Contao team to review the entire interface ... but I never heard anything. It might be time to think because WP 3.8 just released a new version of its interface.

To return to the initial problem, the translation system should be reviewed so that it is taken into account natively , it is still easier ( change language , ... )

aschempp commented 10 years ago

Contao IS a professional system (compared to WordPress), so maybe you need to change your point of view...

ghost commented 10 years ago

I agree with you @aschempp !

But it's very difficult to explain this to a customer who doesn't have a vision and / or the same knowledge we have in the field of web!

Recently, a client told me: "I didn't think it was necessary to optimize images for the web... yet on Facebook everything is done automatically."

Customers have a very simplistic view of the web. For them, the web should be free and easy.

I think we also get to meet those users by simplifying some things in Contao. For example, the translation!

frontendschlampe commented 10 years ago

Please use http://www.contao-pool.de/ceris-reader/items/i18nl10n_de.html ... it will deliver you the things you need, but the standard multi language things in Contao are great and flexible for various use cases. We are not Facebook and we are not Wordpress and I think, we don't want to be!

aschempp commented 10 years ago

Customers have a very simplistic view of the web. For them, the web should be free and easy.

You might want to tell your client that the web is not free (see http://en.wikipedia.org/wiki/TANSTAAFL). Facebook is "free of charge", because the visitor is the product being sold (to the advertisers). That's not the case for his personal/business website.

andreasisaak commented 10 years ago

Our customer dont want a second facebook and loves the flexibility of contao... I think we need more a new and stylish backend theme.

tristanlins commented 10 years ago

@fixounet a customer that cancel their training will never get access to the backend of the CMS. Except they host the website on their own hosting, but this pages are outdated 3 days after going live, because they never understand the complexity of a web project xD

ghost commented 10 years ago

I know very well that Contao isn't Facebook or WordPress.

If today I use Contao, is precisely because WordPress doesn't quite fit my needs.

There is no question of a mixed between different CMS to create the new version of Contao !

What I want, is to improve Contao facilitate its use. Both for developers, integrators or customers. This is possible, but it must necessarily change things in the current version of Contao.

Are you ready, official Contao team, to go in this direction?

@andreasisaak seems to agree with me, right ?

I am ready...

PS: Merry Christmas to all !

aschempp commented 10 years ago

Without really knowing you, it appears that you are not very familiar with or a long term user of Contao.

Contao has created a plan to rewrite everything based on the Symphony2 framework. However, this will be a lot of work, and we do not yet know if and when we will be able to do it.

Based on this fact, it does not make sense to rewrite the translation system in the current framework.

HellPat commented 10 years ago

@aschempp that makes sense :-)

Is there an official statement according to "Contao Reloaded" anywhere? I asked in IRC and it seems there isn't.

andreasisaak commented 10 years ago

No no no. i dont like the new translation concept

andreasisaak commented 10 years ago

@fixounet thats why i can't aggree with you

aschempp commented 10 years ago

@psren it's at least in the Keynote from this year's conference (in german though): http://www.youtube.com/watch?v=XGJCkcw3rvg

Metis77 commented 10 years ago

Multipage is not the same as Multilanguage. If contents and/or site structure is different, the multipage solution is perfect.

If you just need to translate 1to1 a content centered solution is much easier to handle. This way you could only add translation to elements you actually want to translate like text oder page titles. Stuff like images or other language independent settings could simply be inherited.

I have seen some customers that prefer the TYPO3 multilanguage approach. Despite of its less flexibility. It seems to by much easier if you have more than 2 languages.