Multilingual sites in Plone
Laura Pérez Mayos
PAM?
Ramon Navarro Bosch
Thursday, October 3, 13
Who we are ?
Laura Pérez Mayos
Plone developer since 2007
Plone developer at Iskra.cat
Ramon Navarro Bosch
Plone developer since 2004
Framework Team member
Plone developer at Iskra.cat
Thursday, October 3, 13
Multilingual Problem
(Why does not everybody speak catalan?)
Thursday, October 3, 13
Multilingual Problem
(Why does not everybody speak catalan?)
Basically:
translate a page to the diferent languages of your site
But then...
Language independent fields (i.e. photographs)
Shared content (i.e. user folders must appear in all
languages)
Language fallback
Keep translations up to date
Thursday, October 3, 13
What’s the solution ?
(What are doing the competitors?)
Translating the interface: editable language files (po
files, language.properties files...)
Translating the content: translation of fields vs
translation of content nodes
Thursday, October 3, 13
What’s the solution ?
(What are doing the Drupal guys?)
Content translation (nodes) and Entity translation (particular fields);
the method can then be configured for each content type
"Flag translations as outdated" and "This translation needs to be updated"
check boxes
Side by side translation
Google Translate translator plugin
Language fallback just available for the interface, not for the content
No language independent fields
Thursday, October 3, 13
What’s the solution ?
(What are doing the Wordpress guys?)
You can set both content type, associated taxonomies (categories and tags)
and custom fields as translatable
Professional translation available through ICanLocalize Translator
Translations track: waiting for translator / on process / complete
Not side by side translation (but you can start a translation by copying form
the original language)
Not configurable language fallback
Thursday, October 3, 13
What’s the solution ?
(What are doing the Liferay guys?)
Field translation
Automatic translation available
No content translation (just fields translations)
No translations track
No side by side translation
Thursday, October 3, 13
Which one is better?
(let’s put some data in a table)
Drupal Wordpress Liferay
Translation of fields or
content?
both both fields
Language independent
fields?
no yes yes
Shared content? yes yes yes
Languages fallback? just for interface
to default language, not
configurable
to default language, not
configurable
Side by side translation? yes
no (but can copy from
original language)
no (but can copy from
original language)
Automatic translation
available?
yes
yes + professional
translation
yes
Translations tracking?
"Flag translations as
outdated" + "This translation
needs to be updated"
waiting for translator /
working / complete
no
URL /en/foo/
?lang=en
/en/foo/
en.yoursite.com
/en/foo/
Thursday, October 3, 13
Plone solution
We have a tree of content, we can’t do the same, we can
do better!
LinguaPlone 2004
raptus.multilanguagefields 2009
collective.multilingual ----
plone.app.multilingual 2011
Thursday, October 3, 13
1 language
PLONE
OUT OF
THE BOX
(multiple ui languages)
Thursday, October 3, 13
n Languages
Shared
Documents
We can see on all Languages
We can translate fields / UI
Fallback included
Document
in a
Language
We can translate to another language
Language independent fields
Kind of documents
Thursday, October 3, 13
LANGUAGE 2
n Languages
Kind of documents
LANGUAGE 1
Shared
Content
Doc1 Folder1
Doc2
Folder2
Doc2
Folder3
Thursday, October 3, 13
n languages
buildout plone.app.multilingual 1.X for 4.X
Language Independent Fields
Shared Content
Translation map
Side-by-side translation
Google translation
Translation of content (AT/DX) on the fly/code
LP migration
Closest / list of translations fallback
Thursday, October 3, 13
s
n languages
plone.app.multilingual 2.X for plone 5
Language Independent Fields
Real Shared Content
Side-by-side translation
Google translation
Language Fallback
Translation workflow
Translation of content (AT/DX) and fields on the fly/code
Translation map
Thursday, October 3, 13
Demo
Thursday, October 3, 13
Obrigado!
Gràcies!
Thank you!
Gracias!
@bloodbare
@lpmayos
SPRINT ON IT!
plone.app.multilingual
Thursday, October 3, 13

Multilingual sites in plone

  • 1.
    Multilingual sites inPlone Laura Pérez Mayos PAM? Ramon Navarro Bosch Thursday, October 3, 13
  • 2.
    Who we are? Laura Pérez Mayos Plone developer since 2007 Plone developer at Iskra.cat Ramon Navarro Bosch Plone developer since 2004 Framework Team member Plone developer at Iskra.cat Thursday, October 3, 13
  • 3.
    Multilingual Problem (Why doesnot everybody speak catalan?) Thursday, October 3, 13
  • 4.
    Multilingual Problem (Why doesnot everybody speak catalan?) Basically: translate a page to the diferent languages of your site But then... Language independent fields (i.e. photographs) Shared content (i.e. user folders must appear in all languages) Language fallback Keep translations up to date Thursday, October 3, 13
  • 5.
    What’s the solution? (What are doing the competitors?) Translating the interface: editable language files (po files, language.properties files...) Translating the content: translation of fields vs translation of content nodes Thursday, October 3, 13
  • 6.
    What’s the solution? (What are doing the Drupal guys?) Content translation (nodes) and Entity translation (particular fields); the method can then be configured for each content type "Flag translations as outdated" and "This translation needs to be updated" check boxes Side by side translation Google Translate translator plugin Language fallback just available for the interface, not for the content No language independent fields Thursday, October 3, 13
  • 7.
    What’s the solution? (What are doing the Wordpress guys?) You can set both content type, associated taxonomies (categories and tags) and custom fields as translatable Professional translation available through ICanLocalize Translator Translations track: waiting for translator / on process / complete Not side by side translation (but you can start a translation by copying form the original language) Not configurable language fallback Thursday, October 3, 13
  • 8.
    What’s the solution? (What are doing the Liferay guys?) Field translation Automatic translation available No content translation (just fields translations) No translations track No side by side translation Thursday, October 3, 13
  • 9.
    Which one isbetter? (let’s put some data in a table) Drupal Wordpress Liferay Translation of fields or content? both both fields Language independent fields? no yes yes Shared content? yes yes yes Languages fallback? just for interface to default language, not configurable to default language, not configurable Side by side translation? yes no (but can copy from original language) no (but can copy from original language) Automatic translation available? yes yes + professional translation yes Translations tracking? "Flag translations as outdated" + "This translation needs to be updated" waiting for translator / working / complete no URL /en/foo/ ?lang=en /en/foo/ en.yoursite.com /en/foo/ Thursday, October 3, 13
  • 10.
    Plone solution We havea tree of content, we can’t do the same, we can do better! LinguaPlone 2004 raptus.multilanguagefields 2009 collective.multilingual ---- plone.app.multilingual 2011 Thursday, October 3, 13
  • 11.
    1 language PLONE OUT OF THEBOX (multiple ui languages) Thursday, October 3, 13
  • 12.
    n Languages Shared Documents We cansee on all Languages We can translate fields / UI Fallback included Document in a Language We can translate to another language Language independent fields Kind of documents Thursday, October 3, 13
  • 13.
    LANGUAGE 2 n Languages Kindof documents LANGUAGE 1 Shared Content Doc1 Folder1 Doc2 Folder2 Doc2 Folder3 Thursday, October 3, 13
  • 14.
    n languages buildout plone.app.multilingual1.X for 4.X Language Independent Fields Shared Content Translation map Side-by-side translation Google translation Translation of content (AT/DX) on the fly/code LP migration Closest / list of translations fallback Thursday, October 3, 13
  • 15.
    s n languages plone.app.multilingual 2.Xfor plone 5 Language Independent Fields Real Shared Content Side-by-side translation Google translation Language Fallback Translation workflow Translation of content (AT/DX) and fields on the fly/code Translation map Thursday, October 3, 13
  • 16.
  • 17.
    Obrigado! Gràcies! Thank you! Gracias! @bloodbare @lpmayos SPRINT ONIT! plone.app.multilingual Thursday, October 3, 13