Hi everyone,
Here's a new module that lets you control whether multi-language support is enabled at the page / branch level, rather than only per template.
http://modules.processwire.com/modules/restrict-multi-language-branch/
https://github.com/adrianbj/RestrictMultiLanguageBranch
This is ideal for a site with repeated branches using the same templates where only some need to be multi-language. I think it is confusing to provide multiple language inputs for fields when they are not required - it just bloats the admin interface for site editors.
I am hoping to expand this module to allow selection of which languages are supported per page/branch, but I am waiting on @ryan's response to this request: https://github.com/processwire/processwire-requests/issues/54 - to me this would be even more powerful if you have a situation where certain branches need some languages and other branches need different languages.
The module config settings shows a summary of the restrictions you have implemented, eg:
This shows that we have started with the home page which disables multi-language on itself and all its children/grandchildren (because "This Page Only" is "False".
Next we have the /report-cards/ page multi-language enabled, but no inheritance (because "This Page Only" is "True").
The only branch below this to have multi-language enabled is Guanabara Bay and all it's children etc will also be enabled. All other report card branches will be disabled because they will inherit directly from the config settings default status.
The Settings tab for each page gives you three options: Inherit, Enabled, Disabled. The screenshots give you an idea of how the Inherit option works and the information it provides based on the status it is inheriting and from where.
My goal for this site was to just enable multi-language support for the Guanabara Bay report card branch of the tree, as well as the home page and the /report-cards/ parent. All other branches have multi-language support disabled which makes content entry much cleaner.
Hope you guys find a good use for it and I'll be sure to update with the ability to define which languages are available on which pages/branches if Ryan comes up with a core solution for changing the returned $languages.
Please let me know if you have any problems / suggestions.