Drupal 7's new multilingual systems (part 4) - Node translation | Gábor Hojtsy on Drupal
You can create as many alternate date formats as you like. See this page for help : ordendelsantosepulcro.info Some Drupal 8 modules might look promising, but you probably want to avoid them if Of course, this information might become out of date in a while as modules get a brand new Drupal 8 module which aims to be able to clone any entity. to see whether they were still referencing entities from their original versions. When managing Drupal content in multiple languages with the Entity fields ( like a date field), while leaving the translatable fields empty.
I'd also suggest you use the URL method for interface as a start, and experiment with the rest later. You'll be able to translation-enable certain entity types in Drupal core here. Unlike Drupal 6's CCK, Drupal 7 comes with fields support for beyond nodes, and instead defines a generic base concept called entities, of which nodes are just one type of.
We'll limit our discussion to nodes here, so just enable translation for nodes for now. Remember, above I said Drupal core translation module lets you choose Enabled, with translation for node types. Once you content-translation enable a content type, fields will have a Users may translate this field switch, which lets you specify field translation per field.
This is the major value-add of the module, you can cherry-pick the fields you'll need to have different in translations. For a configured content type, adding a base node looks like as before, even the translation tab on the node will look familiar, but once you go to add or edit a translation, you are not actually submitting another node. The translatable fields of the node will be displayed but not most of the other values.
The module lets you assign a separate URL alias for the translation Drupal supports different URL aliases for the same path per languagebut you'll not be able to edit the author of the translation, provide a submission date or do other administrative editing on the translation. Once you have translations submitted, the language switcher block can be used to switch between the translations.
If you chose to have different criteria for content and interface language, both will have their respective blocks. I'd explain the concept behind this method of translating content is that it creates kind of "language based subentities" under the node entity type.
There are "the Hungarian translation of node 8" and "the German translation of node 8" all under node 8. Some non-field properties will be possible to make different in translations because they have specific implementations in the module, but not all. It does not yet support revisioning of translations. Because translations are second class citizens here, when you view the translated node, hitting the edit tab goes to edit the original node, not the translation.
The module keeps track of the submitter user, creation date, last update date, publication status, etc. I looked for but could not find Views integration for these translations. I think Views possibly needs to have an entire "translatable node" type to know about, which takes into account the language code and the node number as a compound identifier when making listings, so it could do lists with the individual translations.
Currently I could not find ways to list different translations of the same node in a view. Nodes also have a pretty strong toolset for permissions, which fields are far from matching. Contributed modules as well as custom code can be used to fine-tune node level access for viewing, editing and deleting, but the same is not true for fields yet? For nodes, workflows, rules exist, so you can set up different translation nodes in different translation states and fire actions on transitions. These again need to take into account that node identifiers plus the language codes form a compound identifier and to be considered separate to achieve the level of feature set the node level translations offer.
Finally there are also relations of nodes to other things which are neither fields, neither duplicated by translation module. There is some special support for displaying only comments in the same language as the content language but the last comment timestamp is maintained as one single value for all languages. Same holds for menu items. The node form has means to assign the node to a menu item, but given this is a single node, it only has one menu item relation, so translations need to participate in the same menu too.
Drupal 8 multilingual tidbits 17: content translation basics
My understanding is that lots of tools need to be re-imagined to work with language variants under nodes, versus languages assigned to nodes. And it affects functionality all across the contributed module space. Many tools were made translation-set friendly based on the Drupal 6 translation feature set earlier, and translatable fields turns the model upside-down to introduce a completely different methodology to which they still need to adapt.
Keep the limitations of the two systems in mind when choosing your way of doing translations on your new Drupal 7 sites, and keep an eye on updates to tools to support either method better. We don't yet need all of the modules in the package, but we want the core module and the Field Translation module which translates field properties.
We will need to enable the Entity API module and the Variable modules as well, because some of our module depend on them.
After enabling these modules, we re-visit the content type administration page. When we edit each content type we now see a new option to enable Entity Translation for this content type. On the Manage Fields screen for each content type we now see an option to replace the regular title with a field. After making this change, the title will be an editable field, just like all the other fields. The title will also be displayed in the content like any other field, so you may want to go to the Manage Fields screen and hide it, since you will see the title at the top of the page already.
For each field that needs to be translated, click on the Field settings link and check the box to translate this field. If there is already content in this field you will see a message noting that, but you can still change the option to translate the field.
This should just serve as a reminder that the content in those fields is not yet translated.
- Drupal 7's new multilingual systems (part 4) - Node translation
The final step is to create or edit a page that has a language and we now see a new tab on the page in addition to the View and Edit tabs, a Translate tab. This tab takes us to a page that shows us each language we have enabled on the site where we can add a translated version of the content for that page.
Note that this tab will only appear on nodes that have a language selected. There are new options on the node edit page.
In addition to the box to select a language, there is a way to flag translations as outdated. Adding More Features That is enough to get started with the Drupal 7 multilingual system.
For this tidbit we are concerned for content entities that are stored and multilingual. In the fifth tidbitwe covered language assignment to content entities.
Drupal 8 multilingual tidbits content translation basics | Gábor Hojtsy on Drupal
That showed the Content language page under Regional and language configuration which lists all the content entity types and lets you configure language defaults and language selector visibility for bundles of each. That is very useful on multilingual sites where you don't translate posts, like a multilingual blog where you sometimes post in one language and then another.
If you also need content translation support, all you need to do is to enable the Content translation module and have multiple languages configured. The same screen can be used to configure content translatability that you already used to configure content language defaults. With content translation module enabled, the menu item changes from Content language to Content language and translation. This screen now lets you turn on and off translatability as well on an entity type and bundle subtype level.
So you can configure nodes per content type, taxonomy terms per vocabulary, custom blocks per type, etc. Configuring a bundle to be translatable then opens a whole set of configuration on the field level.
Built-in base fields are supported, so you can translate the title of nodes and name of taxonomy terms for example.
Localized and Multi-Lingual Content in Drupal 7
Publishing metadata like author, creation date and change date "translation" lets you keep accountability on translations.
Publication status tracking per language lets you implement workflows for translations, so you can keep some languages published while others are not yet.
Promotion and stickiness per language lets you keep different metadata per language variants. You can of course uncheck the ones which you do not intend to keep different per language.
Going further down on the field list, you'll notice that image fields even support translation on a sub-field level. That means that by default they offer to translate alt text and titles but keep the image itself the same across translations. This makes sense for product pictures for example.