This is a rehashing of a question I asked previously, but maybe asked the wrong way.

I have a multilingual Drupal 7 site - there are 13 different languages and those sites all have unique translated content on them.

However, there are an additional 5 "languages" we need to account for - an example of this would be Australia. Australia speaks English so we'd like it to display English content, but there is also content that is unique to Australia (which can't display on the English site), so that should be displayed on the Australian site as well.

I'm curious if we can define a custom language (Australia) that can display multiple types of language content (English and Australian).

For example:

Australian Website

  • Home (English)
  • About (English)
  • Products (English)
    • Product One (English)
    • Product Two (English)
    • Product Three (Australian)
    • Product Four (Australian)
  • Resources (English)
  • Contact (English)

Hopefully this makes sense. Any insight is appreciated.


What you need is to manage translations per locales. Drupal's language could be used as locales. For instances, you can have two English language (en for "English US" and en-au for "English Australia"). Drupal already take care of not displaying translations other languages, so "English Australia" content should not be visible by "English US" users.

You then need a way to fallback to another language when a translation is missing in the wanted language (eg. fallback to the "English US" translation of a content when it has no "English Australia" translation). It seems like the Language fallback is made specifically for this use case.

| improve this answer | |

The whole idea of linking language with country falls apart when you consider countries like Canada. You could separate language and applicable country since they're not really the same thing. In your example:

Australian Website

  • Home (Lang: English - Country: UK, US, Canada, Australia)
  • About (Lang: English - Country: UK, US, Canada, Australia)
  • Products (Lang: English - Country: UK, US, Canada, Australia)
    • Product One (Lang: English - Country: UK, US, Canada, Australia)
    • Product Two (Lang: English - Country: UK, US, Canada, Australia)
    • Product Three (Lang: English - Country: Australia)
    • Product Four (Lang: English - Country: Australia)
  • Resources (Lang: English - Country: UK, US, Canada, Australia)
  • Contact (Lang: English - Country: UK, US, Canada, Australia)
| improve this answer | |
  • Locales usually define the language to use, incl. variations. It usually does not imply the user is currently in a specific country. For instance, en-au is English as spoken in Australia, not English for someone in Australia. However, this is more a UX issues than a technical one. You could use a locale to represent where the user is (in addition to their language), but avoid giving them the impression they selected a language (or locale), ask them where they are (or use geolocation). – Pierre Buyle Sep 6 '16 at 15:51
  • @PierreBuyle I've always thought of the locale to be the place and en-au to be the local dialect. At any rate, when I say locale I mean country/place. – apokryfos Sep 6 '16 at 15:57
  • @PierreBuyle I've reworded it in case it makes more sense. At any rate, locale does not seem to just be the language as spoken in a region but a whole set of regional preferences including language, which doesn't seem to be applicable here. – apokryfos Sep 7 '16 at 8:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy