Different original languages inside one website

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Fiable.biz's picture

Hello.

So far, in Drupal 7 and contributed module "internationalization" 7.x-1.7, "internationalisation" usually means one, site-wide, original language translated into different languages, which is a very centralised kind of internationalization.

In Drupal 8, will it be possible to have different original languages in one web site?

Fiable.biz is doing (very slowly) a small law international website. Every article of law or international treaty has one or several official languages, plus official and unofficial translations into other languages (and also a geographical and historical scope) and this is of significance. For instance, the UN official languages are English and French so, even if UN treaties are translated into Spanish, in an international court, only English and French versions have full authority. It's of course better to translate from the original language. Nevertheless, we only speak a few languages here at Fiable.biz, so we will, in some cases, have to translate from an unofficial language : for instance, to translate the 10 commandments not from ancient Hebrew we don't understand, but from ancient Greek or modern French, or even a combination of the two. This is also true of official languages: for example, I saw a Mongolian-French convention where the Mongolian and French text don't say exactly the same thing. If I have to translate this into Spanish, I will probably use both official languages, and add a note.

Do you know if, in Drupal 8,

  • the original language can be field-dependent?
  • there can be several original languages?
  • the language the translation has been made from can be different from the original languages?
  • a translation can be marked as been done from several languages?

Comments

You can do this in Drupal 7

Ryan Weal's picture

If you use Entity Translation you can create the original version in any of the languages. It is only the built-in strings for the modules that must always be translated "from English".

We usually keep our sites with the default language set to English so it is possible to translate the strings in our add-on modules, and then we enable language negotiation by URL and browser preference so users are not forced to see "English first"... they see whatever they prefer based on browser or URL.

In one web site

Fiable.biz's picture

Thank you for your answer. In Drupal 7, module Entity translation is still in beta version and states

This project does not replace the Internationalization project, which focuses on enabling a full multilingual workflow for site admins/builders.

so it isn't very clear to me what it can be used for in practise at this stage. Moreover it is written

Allows (fieldable) entities to be translated into different languages

but this is not my problem, which is to translate different nodes from different languages inside the same website. I've just tried to make it clearer by editing my post above. As far as I know, in Drupal 7, you can change the default language (you should do it at the beginning) but:

  • any website can have only one default language,
  • this default language is the source language of all translations,
  • hence, in a site whose default language is French, you cannot tag a node as having German as original language, nor can you tag a translation of this German node into Spanish as made from English rather than from German, and you can even less say that both German and Russian are the original languages of the text, nor that the translation into Mandarin Chinese has been made using both German and Russian, or only from one of the two.

You can create a node in any

jmlavarenne's picture

You can create a node in any language originaly, and not have it translated to the default language at all. You can than translate it into any language you have ennabled.

Maybe what you need is a category/tagging system that states the original language for a node, and/or the language from which a specific translation was made, and that might not need to be related to the language system at all - maybe taxonomy.

Internationalization 8.x-1.0

Fiable.biz's picture

Thank you. If I understand you well, such features are not in Drupal 8, are they? Since the core freeze is past, it's too late for the core. Of course, I'm thinking of something like taxonomy, but this means that it will not be integrated in the default multilingual system.

Admittedly, several original languages for one text is probably only a problem of law, so don't need to be in the core.

But texts of different original languages inside a one website is quite common for a real international site, i.e. a site whose authors are of different languages. For example in Wikipedia, it's often stated that a page has been translated from the corresponding page into another language (often from English, but not always), yet this is not automatically managed. I hope this feature will be in... Drupal 9's core, and, before that, in the module internationalization 8.x-1.0 so that,

  • when translating content or strings, translators could know directly what is the original language,
  • when translating content or strings, a translator not knowing the original language could be automatically proposed to translate from a language he understands if a direct translation from the original exists in such a language,
  • the webmaster could limit the size of the translations chain from the original (for instance to 1: only direct translations are allowed, or 2: only direct translations or translations made from direct translations are allowed), or even limit the size of the translations chain according to the source language (for instance: 1 from an international language, 2 from a rare language),
  • the webmaster could forbid any modification of the original version by translators,
  • when a visitor sees the languages flags or symbols, an extra symbol (or a modification of the symbol, such as a bigger flag) would mention which language is the original, and yet another symbol would say which language this translation has been made from
  • and other such cool stuff.