EYD2015
2.
About me
Mircea Fernea
Drupal Consultant at Amplexor Romania
mircea.fernea@amplexor.com
drupal.org/u/mfernea
3.
Overview
European Year of Development 2015
 Intro about the project and requirements
Technical Design Multilingual Setup
Lessons Learned & Pitfalls
Q&A
4.
https://europa.eu/eyd2015
European Year for Development 2015
5.
European Year for Development 2015
6.
Greek
Swedish
Chinese
Romanian
Belgian
…
Different Nationalities & Contractors
European Commission (DIGIT)
ADE
Amplexor, Amplexor Romania
Namahn
Wolfs Little Store
Jan’s Buro
7.
Bulgarian (bg)
Croatian (hr)
Czech (cs)
Danish (da)
Dutch (nl)
English (en)
Estonian (et)
Finnish (fi)
https://europa.eu/eyd2015
23 Languages
French (fr)
Gaelic (ga)
German (de)
Greek (el)
Hungarian (hu)
Italian (it)
Latvian (lv)
Lithuanian (lt)
Maltese (mt)
Polish (pl)
Portuguese (pt)
Romanian (ro)
Slovak (sk)
Slovenian (sl)
Spanish (es)
Swedish (sv)
8.
https://europa.eu/eyd2015/en/partners
50+ Partners
9.
Stories
Posts
Events
Contacts
Recommendations
Press Releases
Job & Volunteering Opportunities
https://europa.eu/eyd2015/en/partners
200+ Contributors
10.
Language dropdown
Web addresses / URLs
 English only
 URL suffix
Use of third-party tools and services
 No Google Maps
 No Facebook Comments
 EU tools for Twitter, Social sharing
 …
Web Accessibility
 WCAG 2.0
...
http://ec.europa.eu/ipg/
IPG Requirements
11.
https://europa.eu/eyd2015
Technical Design
12.
Organic Groups
 Partners
Stories
Posts
Events
Jobs
News
…
Drupal Roles
 Webmasters
 Contributors
http://dgo.to/og
Technical Design: Contributions
13.
Language indication (url)
Translation interface
Content administration (backend forms)
Content (pages)
Taxonomy (categories)
Navigation (menu items)
Language selection
Multilingual Search
Webform Translations
https://groups.drupal.org/internationalization
Technical Design: Translations
14.
Language suffix
 IPG exception: prefix
English Only
http://ec.europa.eu/ipg/basics/urls/index_en.htm
Language Indication (url)
15.
Localization client (l10n_client)
 Frontend translations for editors
Translation template extractor
 Export/Import translation files for webmasters
http://dgo.to/l10n_client
http://dgo.to/potx
Translation interface
16.
English only backend
Admin language
http://dgo.to/admin_language
Content administration (node forms)
17.
Content Translation
 Partner is an Organic Group
Entity Translation
 Synchronize translations
 One URL
http://dgo.to/entity_translation
Content (nodes)
18.
Entity Translation not needed
 Simple labels for all categories
no fields on terms
Taxonomy translation (i18n_taxonomy)
 Localized terms
Same term translated in all languages
 Imported on installation
 Part of Internationalisation module
 ! Use localized term in displays
 ! Use localized term in code
i18n_taxonomy_term_name
i18n_taxonomy_term_description
http://dgo.to/i18n
Taxonomy (terms)
19.
Entity Translation Menu
 Requires Menu translation (i18n_menu)
 Allows translation on the entity form
http://dgo.to/entity_translation
Navigation (menu items)
20.
Language Switcher Dropdown
 Available translations only
 form_alter
Ordered alphabetically (UTF!)
Current language on top
Language Icons

http://dgo.to/lang_dropdown
Language Selection
21.
Default filter on current language
Filter on all tags
 Rewrite links on terms to search hook_url_outbound_alter
Apache Solr Multilingual
 Support for Entity Translation
 Language Fallback
http://dgo.to/apachesolr_multilingual
Multilingual Search
22.
Entity Translation
 No more need to clone nodes
Content Translation
 Not possible to translate form fields
Webform localization
 2 options
Single webform across all translations
Synchronized webforms for all language
 Properties are exposed in String Translation interface
http://dgo.to/webform_localization
Webform Translations
23.
https://europa.eu/eyd2015
Lessons Learned & Pitfalls
24.
LANGUAGE FALLBACK
 Default behaviour shows source language…
Views with Entity Translation
 Other
Field Language: Current user's language
 Relationships
Content: Entity translation: translations
 Filter criteria
Entity translation: Language (= Current user's language)
Rendered Entity Displays
 Use current content language
Add IEF on translation form
 AJAX request ($form_state issues)
Pitfalls
25.
Translation workflow
 not foreseen
Drafts & Revisions
 unstable, high performance risk
International Quotation marks
 http://en.wikipedia.org/wiki/Quotation_mark
Pitfalls
26.
The future: Drupal 8 core modules
Language
 offers wide-spread language assignment and selection
Interface translation
 translate the software and modules/themes (used to be Locale)
Content translation
 translate content with fields
Configuration translation
 flexible language support for configuration
http://goo.gl/nJ9gsL
27.
Questions?
28.
Sources & references
https://europa.eu/eyd2015
http://en.wikipedia.org/wiki/Confusion_of_tongues
http://ec.europa.eu/ipg/

Amplexor - Drupal Camp Romania 2015 - EYD2015 Babel