Problem/motivation

As found with multiple participants in http://groups.drupal.org/node/274458 and before in discussions, some people assume they set up a multilingual site while others assume they set up a single language foreign language site. When a user chooses a language in the Drupal installer, that language is used for installation, the localizations are downloaded for that and the language and interface translation modules are enabled. This ensures Drupal can work in the foreign language and is the ideal setup for a foreign single language website.

Drupal cannot assume that the user wanted a multilingual site. It might be a good idea however, to give an option in the installer, if the user is already setting up a foreign language site to enable multilingual content (and preconfigure some content type language settings based on 80% defaults out of the box). This would be similar to the checkbox to choose to install the update status module.

Proposed resolution

Figure out if we want to have this feature and if we do, implement.

Comments

YesCT’s picture

this seems like wont fix to me... slippery slope to showing all modules (or a bunch anyway) at install to pick from.

lets see what insights people have.

But, lets also watch tour and see if that helps this issue (of people knowing how to get content translation).
#1809352: Write tour.module and add it to core

Gábor Hojtsy’s picture

Asked on #1921152: META: Start providing tour tips for other core modules.. i am not sure how to write tips for the state before a module is enabled. :) Especially guides for the modules page which could be plenty, no?

andypost’s picture

Suppose having checkbox could confuse people. 80% of multilingual cases will require not only enable module but configure a content types and their fields. But this could not be done before the content types are created

Gábor Hojtsy’s picture

@andypost: well, if its in the installer, it can configure some default content type setup. Post the installer, we don't really know the state of people's sites, so we cannot really make automated changes like that.

andypost’s picture

@Gabor I like the idea to choose the content types within installer but this will require big changes in install profile and could confuse newcomers

Gábor Hojtsy’s picture

@andypost: I was not at all talking about choosing any content types in the installer. I opened this issue for one single checkbox that could change some of the assumptions of the installer. Currently the installer in the standard profile assumes you have a couple content types and they are not translatable. A multilingual setup could configure this differently, but no need to provide user controls. Its about making different assumptions not about overwhelming people with more controls. As you can see above even if this single checkbox might be too much :D

sun’s picture

Ultimately, a checkbox like this would special-case the multilingual content site use-case, whereas there are many other possible features/apps.

Also, just enabling a few additional modules won't cut anything at all. You still need to configure blocks, enable translatability, configure roles and permissions, etc.pp.

So why don't we have a new Multilingual installation profile?

Gábor Hojtsy’s picture

@sun: we can do a profile too, however multilingual is also just a set of features, eg. if you have a blog profile and an ecommerce profile, both could also be multilingual :) Granted those advanced profiles are unlikely to be in core. That is I'm not aware of other more purpose-built profiles in the works. If however there are purpose-specific profiles, then almost any of them could be multilingual as an optional variant. For now we can make the "multilingual variant" of standard be a top level profile though.

sun’s picture

Note that #1356276: Allow profiles to define a base/parent profile is not possible yet (and is definitely not a trivial task).

That said, I would actually prefer to have a Multilingual installation profile that would rather be tailored for "from-scratch" site builders — i.e., rather along the lines of Minimal, but obviously with some basic plumbing in place; e.g.:

In other words, I think it would be much more interesting for many to have a base building block for multilingual sites. Whether it's going to be a community site, online commerce site, or business or brochure-ware site in the end, shouldn't matter.

Also, in a sense, if I'd want to know what individual aspects and plumbing is needed for a multilingual site, then I'd simply check what kind of configuration is contained in that installation profile and how it's all glued together.

If you'd ask me, that would be helpful.

Gábor Hojtsy’s picture

Yeah, so one interesting thing we'd need to champion there would need to be some sample content in core :D We could put that into shipped config or into .install PHP and make it t()ed for pre-translation, so we can serve up the sample multilingual site in any combination of languages requested. That should be the easy part. I'd consider this mostly an integration task, so may be possible in Drupal 8.

The sad part in the viability of the profile though is that user entered configuration translation will not be possible in Drupal 8 core out of the box, so for any reasonable multilingual site, you'll need at least that one contributed module. At that point a contributed profile will be necessitated for a more feature complete solution (eg. something like what http://drupal.org/project/i18nblog wanted to be), and having the core profile would be distracting there :/

klonos’s picture

...it was suggested that at sometime around the "You're done - Visit your new Drupal site" stage, there could be some hinds (tour.module perhaps) in place to guide installations made in a language other that English to the "Add another language - Enable translation/multilingual" steps.

I believe we're missing the root of the confusion here and that IMHO is the fact that during installation the users are requested to select a single language. This language serves as both the installation UI language as well as the site's default language after installation. So here's what I propose:

1. We allow users to add languages during installation (by providing a "add another language" link/button)

At this point:

a. users that keep English (the language that ships by default with Drupal) can simply ignore the "add another language" link/button and thus we have 99,9% same behavior as the currently one.

b. users that simply want to install Drupal in a different language other than the default English (but still a single-language site), will simply select the desired language from the drop-down and proceed as normal. Again, 99,9% same behavior.

2. If the user actually uses this feature and selects any additional language(s), it means that they intent to set up a multilingual site. So, we additionally offer some way to select which of these selected languages will be the one that the installer UI will use to continue with the installation (perhaps also set that language as the site's default too in the end). This series of user actions also fires all the necessary sub-routines that enable a multilanguage setup (enables required modules and makes all content types translatable by default for example).

Thoughts?

klonos’s picture

...so in essence, I propose that instead of:

1. Start installation.
2. Select a single language.
3. Finish installation.
4. Enable required modules.
5. Add more languages.
6. Configure all multilanguage settings.

we go with:

1. Start installation.
2. Add languages.
3. Enable required modules.
4. Configure basic multilanguage settings.
5. Finish installation.
6. Tweak the multilanguage settings.

YesCT’s picture

I was thinking that making a special case out of sites that pick a non english language (and assuming they would want translation), or adding a special checkbox, would make me lean toward wont fix.

But #12 and #11 are a very interesting idea.

Add another language. very interesting.

I think I'd rather:

1. Start installation.
2. Add languages.
3. Enable required modules (locale/languages) and optional content translation (makes an assumption translation is wanted. not always true even with more than one language).
4. Finish installation.
5. Configure basic multilanguage settings.

Gábor Hojtsy’s picture

Yeah, so sites that have multiple languages don't necessarily have translations. Take groups.drupal.org (or localize.drupal.org), these have posts and comments in various languages, but no content translation whatsoever. There are separate areas of the site in different languages. The sites would ideally be able to identify those posts/comments with their language but will not do content translation. So these sites would be happy with a setup with locale and langage modules but not content translation. So that you want to have multiple languages does not necessarily mean you want content translation, these are two levels of settings.

I don't think that's a good choice to make the installer language selector multi-choice, I think we discussed this in #1260716: Improve language onboarding user experience. It is confusing because we'd need a pretty custom UI element to make you select one language first and foremost for the installation but also other languages. I'm not sure we should fire off Drupal's installation with a confusing screen like that. It is not worth it to try to "speed up" setting up multilingual sites to confuse everybody.

YesCT’s picture

see related point 4 and 16 in user testing: http://groups.drupal.org/node/285978#comment-894708

Bojhan’s picture

I am not really sure about this idea, its quite common for people to build a website in one language even when you chose a different UI language. The installer should be about the 80% usecase, I dont think multilingual is a 80% usecase even when you select a foreign language. Also pretty sure that educating people about the multilingual module and its setting pages is a better long-term module, than trowing a checkbox onto the installer.

klonos’s picture

...its quite common for people to build a website in one language even when you chose a different UI language.

That's right. Which is why in my proposal back in #11 I state (point 1b.) that if a user selects *only one* language other than the default English, then the only change would be that the installer would run in that language and they'd end up with a Drupal site in this single language too. That's 99.9% same behavior as we currently have.

The installer should be about the 80% usecase, I dont think multilingual is a 80% usecase even when you select a foreign language.

The 0.1% change lies in the fact that users would now have the added choice to select *multiple* languages during installation instead of one only. It is only this choice (more than one language selected) that triggers multi-site setup/settings and is covered in point 2 of the same post.

Again, just to clarify things, what I'm talking about is these choices:

1. Leave the default English language selected: single-language site setup
2. Choose a different language: single-language site setup again
3. Choose more than one language: multi-language site setup

From the above choices, only 3 would be something new.

PS: as for the "80% use case", as I've said countless times before: we can only assume and argue unless we get #1274766: Collect stats on enabled sub-modules, not just projects / #1036780: Drupal.org should collect stats on enabled sub-modules and core modules / #1439316: Provide means for module maintainers to collect heuristics on certain settings of their modules. / #1273344: Establish heuristics for core feature evaluation in place and have some hard evidence in hand to present. Till then, it's all speculations to me.

klonos’s picture

I was thinking about changing this issue's title to something like:

"Allow multiple languages to be selected during installation - Enable multi-language settings when so."

So, should we re-purpose this issue here to allow multiple language selection during installation or should I file a different issue for that and keep the proposal to add a checkbox here?

Gábor Hojtsy’s picture

@klonos: well, I think I posted my concerns on the multiselect language element above. So if you prefer to go one by one, what is your proposal for the look of that field? How would it work?

YesCT’s picture

@klonos My thought: make a new issue to allow selecting more than one language during the install.
There are some things to work out UI wise with that, like: how do they pick *the* language to use during install.
I have another concern, that we are making them stop during the install to figure out all the languages they might ever want on their site....
but anyway, lets talk about in another issue. It's a big conversation to have.

YesCT’s picture

On the topic of enabling content translation in the install, I think no.

We should figure out how we can document, guide, tour people to that end result.

I think there are some related issues to this to gather and put in the summary. I'll keep my eye out for them. For now, #1868058: Open Issues based on the Drupal 8 multilingual user testing results might have some. This one also comes to mind: #1164760: [meta] New users universally did NOT understand that you can extend Drupal

Kristen Pol’s picture

Added a related issue based on comments from @klonos et al: #2007632: Create multilingual install profile.

Gábor Hojtsy’s picture

Status: Active » Closed (won't fix)

I think based on teh above discussion, this is a won't fix. #2007632: Create multilingual install profile. is a much more possible idea, although needs more discussion.

Kristen Pol’s picture

@klonos added one for the "add another language" idea for the installer language page: #2010008: Multilingual site installation, Step #1: Allow selecting more than one language during installation.