SlideShare a Scribd company logo
Drupal 8 multilingual APIs
@gaborhojtsyGábor Hojtsy
DRUPAL 7 MULTILINGUAL
Drupal
CORE
DRUPAL 7 MULTILINGUAL
Drupal
CORE
LOCALE
!
DRUPAL 7 MULTILINGUAL
Drupal
CORE
L10n UP
LOCALE
!
m
DRUPAL 7 MULTILINGUAL
Drupal
CORE
L10n UP
CONTENT
TRANSLATION
LOCALE
!
Ü
m
DRUPAL 7 MULTILINGUAL
Drupal
CORE
L10n UP
CONTENT
TRANSLATION
LOCALE
I18N !
!
Ü
m
DRUPAL 7 MULTILINGUAL
Drupal
CORE
L10n UP
CONTENT
TRANSLATION
LOCALE
I18N
VARIABLE
"
!
!
Ü
m
DRUPAL 7 MULTILINGUAL
Drupal
CORE
L10n UP
CONTENT
TRANSLATION
LOCALE
I18N
VARIABLE
Entity
translation
#
"
!
!
Ü
m
DRUPAL 7 MULTILINGUAL
FOUR PILLARS IN DRUPAL 8
LANGUAGE
Base services for all
modules dealing
with data. Not just
multilingual.
!
FOUR PILLARS IN DRUPAL 8
LANGUAGE
Base services for all
modules dealing
with data. Not just
multilingual.
INTERFACE
Interface
translation has
built-in update
feature, improved
usability.
! 8
FOUR PILLARS IN DRUPAL 8
LANGUAGE
Base services for all
modules dealing
with data. Not just
multilingual.
INTERFACE
Interface
translation has
built-in update
feature, improved
usability.
CONTENT
Field translation in
built-in API for all
entities. Content
translation module
provides user
interface.
! 8 é
FOUR PILLARS IN DRUPAL 8
LANGUAGE
Base services for all
modules dealing
with data. Not just
multilingual.
INTERFACE
Interface
translation has
built-in update
feature, improved
usability.
CONTENT
Field translation in
built-in API for all
entities. Content
translation module
provides user
interface.
CONFIG
Common
configuration
system handles
blocks, views, field
settings. Unified
translation.
(! 8 é
FOUR PILLARS IN DRUPAL 8
LANGUAGE INTERFACE CONTENT CONFIG
(! 8 é
FOUR PILLARS IN DRUPAL 8
DEALING WITH LANGUAGE
Drupal:languageManager()
LanguageManager
ConfigurableLanguageManager
DEALING WITH LANGUAGE
->getLanguages()
UND: NOT SPECIFIED
ZXX: NOT APPLICABLE
EN: ENGLISH (DEFAULT)
DEALING WITH LANGUAGE
->getLanguages()
UND: NOT SPECIFIED
ZXX: NOT APPLICABLE
HU: HUNGARIAN
IT: ITALIAN
DEALING WITH LANGUAGE
->getLanguages()
UND: NOT SPECIFIED
ZXX: NOT APPLICABLE
HU: HUNGARIAN
IT: ITALIAN
language.entity.$langcode.yml
DEALING WITH LANGUAGE
->getLanguages()
UND: NOT SPECIFIED
ZXX: NOT APPLICABLE
HU: HUNGARIAN
IT: ITALIAN
language.entity.$langcode.yml
Locked
DEALING WITH LANGUAGE
->getLanguages()
UND: NOT SPECIFIED
ZXX: NOT APPLICABLE
HU: HUNGARIAN
IT: ITALIAN
language.entity.$langcode.yml
Locked Not locked
DEALING WITH LANGUAGE
ConfigurableLanguage::

createFromLangcode(‘fr’)

->save()
DEALING WITH LANGUAGE
ConfigurableLanguage::

load(‘fr’)->delete()
DEALING WITH LANGUAGE
$languageManager

->getCurrentLanguage()
LANGUAGE INTERFACE CONTENT CONFIG
(! 8 é
FOUR PILLARS IN DRUPAL 8
INTERFACE LANGUAGE
INTERFACE LANGUAGE
t(‘English text’)
INTERFACE LANGUAGE
DEPENDENCY INJECTION
LOGIC
TRANSLATION
CONFIGURATION
USER
DEPENDENCY INJECTION
LOGIC
TRANSLATION
CONFIGURATION
USER
INTERFACE LANGUAGE
t(‘English text’)
INTERFACE LANGUAGE
t(‘English text’)
$this->t(‘English text’)
INTERFACE LANGUAGE
class Foo {
use StringTranslationTrait;
…
}
INTERFACE LANGUAGE
INTERFACE LANGUAGE
$this->t(‘English text’)

->getOption(‘langcode’);
INTERFACE LANGUAGE
format_plural(…)
$this->formatPlural(…)
JAVASCRIPT API
Drupal.t(…)
Drupal.formatPlural()
LOCALE.LINKS.MENU.YML
locale.translate_page:

title: 'User interface translation'

description: 'Configure the import …’

route_name: locale.translate_page

parent: system.admin_config_regional

weight: 15


locale.translate_status:

title: 'Available translation updates'

route_name: locale.translate_status

description: 'Get a status report …’

parent: system.admin_reports
LOCALE.LINKS.MENU.YML
locale.translate_page:

title: 'User interface translation'

description: 'Configure the import …’

route_name: locale.translate_page

parent: system.admin_config_regional

weight: 15


locale.translate_status:

title: 'Available translation updates'

route_name: locale.translate_status

description: 'Get a status report …’

parent: system.admin_reports
LANGUAGE INTERFACE CONTENT CONFIG
(! 8 é
FOUR PILLARS IN DRUPAL 8
English to X
NODE.PHP (SNIPPET)
/**
* Defines the node entity class.
*
* @ContentEntityType(
* id = "node",
* label = @Translation(“Content"),
* translatable = TRUE,
* entity_keys = {
* "id" = "nid",
* "label" = "title",
* "langcode" = "langcode",
* }
* )
NODE.PHP (SNIPPET)
function baseFieldDefinitions($entity_type) {
// …
$fields['title'] =
BaseFieldDefinition::create('string')
->setLabel(t('Title'))
->setRequired(TRUE)
->setTranslatable(TRUE);
}
FIELDS THEMSELVES
FIELDS THEMSELVES
AUTOMATED!
MULTICOLUMN FIELD SNIPPET
* @FieldType(
* id = "image",
* column_groups = {
* "file" = {
* "label" = @Translation("File"),
* "columns" = {
* "target_id", "width", "height"
* },
* },
* "alt" = {
* "label" = @Translation("Alt"),
* "translatable" = TRUE
* },
* }
ENTITY LANGUAGE API
$node = Node::load(42);
$node = $node
->getTranslation(‘hu’);
$node = $entityRepository
->getTranslationFromContext($node);
ENTITY LANGUAGE API
$node->getUntranslated()
$node->language()
$node->getTranslationLanguages()
$node->hasTranslation(‘hu’)
$node->addTranslation(‘hu’)
$node->removeTranslation(‘hu’)
VIEWS ALL THE THINGS
LANGUAGE INTERFACE CONTENT CONFIG
(! 8 é
FOUR PILLARS IN DRUPAL 8
English to X X to Y
Intelligent
objects
CONFIG/INSTALL/SYSTEM.MAINTENANCE.YML
message: '@site is currently
under maintenance. We should be
back shortly. Thank you for your
patience.'
langcode: en
CORE.DATA_TYPES.SCHEMA.YML
config_object:
type: mapping
mapping:
langcode:
type: string
label: 'Language code'
…
text:
type: string
label: 'Text'
translatable: true
CONFIG/SCHEMA/SYSTEM.SCHEMA.YML
system.maintenance:
type: config_object
label: 'Maintenance mode'
mapping:
message:
type: text
label: 'Message to display…’
LANGCODE
TRANSLATABLE
STRING
SYSTEM.MAINTENANCE.YML
message: '@site is currently
under maintenance. We should be
back shortly. Thank you for your
patience.'
langcode: en
SYSTEM.MAINTENANCE.YML
message: '@site is currently
under maintenance. We should be
back shortly. Thank you for your
patience.'
langcode: en
LANGUAGES/HU/SYSTEM.…YML
SYSTEM.MAINTENANCE.YML
message: '@site is currently
under maintenance. We should be
back shortly. Thank you for your
patience.'
langcode: en
LANGUAGES/HU/SYSTEM.…YML
message: '@site karbantartás
alatt áll…’
SYSTEM.MAINTENANCE.YML
message: '@site is currently
under maintenance. We should be
back shortly. Thank you for your
patience.'
langcode: en
LANGUAGES/HU/SYSTEM.…YML
message: '@site karbantartás
alatt áll…’
LANGUAGES/IT/SYSTEM.…YML
SYSTEM.MAINTENANCE.YML
message: '@site is currently
under maintenance. We should be
back shortly. Thank you for your
patience.'
langcode: en
LANGUAGES/HU/SYSTEM.…YML
message: '@site karbantartás
alatt áll…’
LANGUAGES/IT/SYSTEM.…YML
message: '@site …’
CONFIGURATION API
$config =
Drupal::config(‘system.maintenance’);
$config->get(‘message’);
CONFIGURATION API
$config =
Drupal::config(‘system.maintenance’);
$config->get(‘message’);
OVERRIDES
APPLY AS
APPROPRIATE
CONFIGURATION API
$manager = Drupal::languageManager();
$hu = $manager->getLanguage('hu');
$original = $manager->getConfigOverrideLanguage();
$manager->setConfigOverrideLanguage($hu);
$config = Drupal::config(‘system.maintenance');
// …
$manager->setConfigOverrideLanguage($original);
CONFIGURATION API
Drupal::config(‘system.maintenance’);
Drupal::configFactory()-
>getEditable(‘system.maintenance’);
Drupal::languageManager()
->getLanguageConfigOverride
('hu', 'system.maintenance')
->set('message', 'Karbantartás...')
->save();
OVERRIDES
APPLY AS
APPROPRIATE
NO OVERRIDES
APPLY
THE OVERRIDE
ITSELF
LANGUAGE INTERFACE CONTENT CONFIG
(! 8 é
FOUR PILLARS IN DRUPAL 8
English to X X to Y
Intelligent
objects
X to Y
Dumb
arrays
TEXT
www.drupalaton.hu @drupalaton
@gaborhojtsy
Drupal 8 multilingual APIs

More Related Content

What's hot

Drupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire WorldDrupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire World
Christian López Espínola
 
SEO for multilingual websites
SEO for multilingual websitesSEO for multilingual websites
SEO for multilingual websites
LingoHub
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for ruby
LingoHub
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
guest3a6661
 
Translating Drupal
Translating DrupalTranslating Drupal
Translating Drupal
guest3a6661
 
Php
PhpPhp
Hello, meet Hola! Design for mixed-language interfaces
Hello, meet Hola! Design for mixed-language interfacesHello, meet Hola! Design for mixed-language interfaces
Hello, meet Hola! Design for mixed-language interfaces
Design for Context
 
Tml for Objective C
Tml for Objective CTml for Objective C
Tml for Objective C
Michael Berkovich
 
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"
Gábor Hojtsy
 
Preparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsPreparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for Translations
HPCC Systems
 
PHP Project PPT
PHP Project PPTPHP Project PPT
PHP Project PPT
Pankil Agrawal
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
Frederic Kaplan
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
Dave Cross
 

What's hot (18)

Drupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire WorldDrupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire World
 
SEO for multilingual websites
SEO for multilingual websitesSEO for multilingual websites
SEO for multilingual websites
 
Ruby i18n - internationalization for ruby
Ruby i18n - internationalization for rubyRuby i18n - internationalization for ruby
Ruby i18n - internationalization for ruby
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
 
Translating Drupal
Translating DrupalTranslating Drupal
Translating Drupal
 
Php
PhpPhp
Php
 
Hello, meet Hola! Design for mixed-language interfaces
Hello, meet Hola! Design for mixed-language interfacesHello, meet Hola! Design for mixed-language interfaces
Hello, meet Hola! Design for mixed-language interfaces
 
Tml for Objective C
Tml for Objective CTml for Objective C
Tml for Objective C
 
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"
 
topic_perlcgi
topic_perlcgitopic_perlcgi
topic_perlcgi
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 
PHP
PHPPHP
PHP
 
CGI Introduction
CGI IntroductionCGI Introduction
CGI Introduction
 
Preparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsPreparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for Translations
 
PHP Project PPT
PHP Project PPTPHP Project PPT
PHP Project PPT
 
Php ppt
Php pptPhp ppt
Php ppt
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
 

Similar to Drupal 8 multilingual APIs

Drupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire WorldDrupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire World
Christian López Espínola
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout system
Ahmad Hassan
 
Massively Parallel Processing with Procedural Python (PyData London 2014)
Massively Parallel Processing with Procedural Python (PyData London 2014)Massively Parallel Processing with Procedural Python (PyData London 2014)
Massively Parallel Processing with Procedural Python (PyData London 2014)
Ian Huston
 
Useful Python Libraries for Network Engineers - PyOhio 2018
Useful Python Libraries for Network Engineers - PyOhio 2018Useful Python Libraries for Network Engineers - PyOhio 2018
Useful Python Libraries for Network Engineers - PyOhio 2018
Hank Preston
 
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, PuppetPuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
Puppet
 
Massively Parallel Process with Prodedural Python by Ian Huston
Massively Parallel Process with Prodedural Python by Ian HustonMassively Parallel Process with Prodedural Python by Ian Huston
Massively Parallel Process with Prodedural Python by Ian Huston
PyData
 
Weapons for Boilerplate Destruction
Weapons for Boilerplate DestructionWeapons for Boilerplate Destruction
Weapons for Boilerplate Destruction
Everyware Technologies
 
Multi Lingual Websites In Umbraco
Multi Lingual Websites In UmbracoMulti Lingual Websites In Umbraco
Multi Lingual Websites In Umbraco
Paul Marden
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
lichtkind
 
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
🚀 Bogdan Herea
 
Javascript fundamentals for php developers
Javascript fundamentals for php developersJavascript fundamentals for php developers
Javascript fundamentals for php developers
Chris Ramakers
 
Drupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - YogyakartaDrupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - Yogyakarta
Roy Gunawan
 
The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09
Bastian Feder
 
Jsonsaga 100605143125-phpapp02
Jsonsaga 100605143125-phpapp02Jsonsaga 100605143125-phpapp02
Jsonsaga 100605143125-phpapp02Ramamohan Chokkam
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
Eugenio Minardi
 

Similar to Drupal 8 multilingual APIs (20)

Drupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire WorldDrupal 8's Multilingual APIs: Building for the Entire World
Drupal 8's Multilingual APIs: Building for the Entire World
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout system
 
Multilingual drupal 7
Multilingual drupal 7Multilingual drupal 7
Multilingual drupal 7
 
Massively Parallel Processing with Procedural Python (PyData London 2014)
Massively Parallel Processing with Procedural Python (PyData London 2014)Massively Parallel Processing with Procedural Python (PyData London 2014)
Massively Parallel Processing with Procedural Python (PyData London 2014)
 
Phpwebdevelping
PhpwebdevelpingPhpwebdevelping
Phpwebdevelping
 
Useful Python Libraries for Network Engineers - PyOhio 2018
Useful Python Libraries for Network Engineers - PyOhio 2018Useful Python Libraries for Network Engineers - PyOhio 2018
Useful Python Libraries for Network Engineers - PyOhio 2018
 
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, PuppetPuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
 
Massively Parallel Process with Prodedural Python by Ian Huston
Massively Parallel Process with Prodedural Python by Ian HustonMassively Parallel Process with Prodedural Python by Ian Huston
Massively Parallel Process with Prodedural Python by Ian Huston
 
Weapons for Boilerplate Destruction
Weapons for Boilerplate DestructionWeapons for Boilerplate Destruction
Weapons for Boilerplate Destruction
 
Multi Lingual Websites In Umbraco
Multi Lingual Websites In UmbracoMulti Lingual Websites In Umbraco
Multi Lingual Websites In Umbraco
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
 
Project Automation
Project AutomationProject Automation
Project Automation
 
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
Parler en plusieurs langues avec Drupal - Drupalcamp Paris 2013
 
Phpwebdev
PhpwebdevPhpwebdev
Phpwebdev
 
Javascript fundamentals for php developers
Javascript fundamentals for php developersJavascript fundamentals for php developers
Javascript fundamentals for php developers
 
Drupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - YogyakartaDrupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - Yogyakarta
 
The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09
 
Jsonsaga 100605143125-phpapp02
Jsonsaga 100605143125-phpapp02Jsonsaga 100605143125-phpapp02
Jsonsaga 100605143125-phpapp02
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
 
Xtext Webinar
Xtext WebinarXtext Webinar
Xtext Webinar
 

More from Gábor Hojtsy

Open source project management at scale
 Open source project management at scale Open source project management at scale
Open source project management at scale
Gábor Hojtsy
 
Drupal 8.3.0: the features are ready, are you?
Drupal 8.3.0: the features are ready, are you?Drupal 8.3.0: the features are ready, are you?
Drupal 8.3.0: the features are ready, are you?
Gábor Hojtsy
 
A Drupal 8 jövője és az oda vezető út
A Drupal 8 jövője és az oda vezető útA Drupal 8 jövője és az oda vezető út
A Drupal 8 jövője és az oda vezető út
Gábor Hojtsy
 
Doing Drupal security right from Drupalcon London
Doing Drupal security right from Drupalcon LondonDoing Drupal security right from Drupalcon London
Doing Drupal security right from Drupalcon LondonGábor Hojtsy
 
Doing Drupal security right
Doing Drupal security rightDoing Drupal security right
Doing Drupal security right
Gábor Hojtsy
 
Drupal security - Configuration and process
Drupal security - Configuration and processDrupal security - Configuration and process
Drupal security - Configuration and process
Gábor Hojtsy
 
Backstage with Drupal localization - Part 1
Backstage with Drupal localization - Part 1Backstage with Drupal localization - Part 1
Backstage with Drupal localization - Part 1
Gábor Hojtsy
 
Come for the software, stay for the community
Come for the software, stay for the communityCome for the software, stay for the community
Come for the software, stay for the community
Gábor Hojtsy
 
Come for the software, stay for the community - How Drupal improves and evolves
Come for the software, stay for the community - How Drupal improves and evolvesCome for the software, stay for the community - How Drupal improves and evolves
Come for the software, stay for the community - How Drupal improves and evolves
Gábor Hojtsy
 
Drupal Security from Drupalcamp Bratislava
Drupal Security from Drupalcamp BratislavaDrupal Security from Drupalcamp Bratislava
Drupal Security from Drupalcamp Bratislava
Gábor Hojtsy
 
Drupal Security from Drupalcamp Cologne 2009
Drupal Security from Drupalcamp Cologne 2009Drupal Security from Drupalcamp Cologne 2009
Drupal Security from Drupalcamp Cologne 2009
Gábor Hojtsy
 
Here comes localize.drupal.org!
Here comes localize.drupal.org!Here comes localize.drupal.org!
Here comes localize.drupal.org!
Gábor Hojtsy
 
Translate Drupal from Drupalcamp Vienna
Translate Drupal from Drupalcamp ViennaTranslate Drupal from Drupalcamp Vienna
Translate Drupal from Drupalcamp Vienna
Gábor Hojtsy
 
Translate Drupal from Drupalcamp Prague
Translate Drupal from Drupalcamp PragueTranslate Drupal from Drupalcamp Prague
Translate Drupal from Drupalcamp Prague
Gábor Hojtsy
 
What's up with Drupal 7?
What's up with Drupal 7?What's up with Drupal 7?
What's up with Drupal 7?
Gábor Hojtsy
 

More from Gábor Hojtsy (15)

Open source project management at scale
 Open source project management at scale Open source project management at scale
Open source project management at scale
 
Drupal 8.3.0: the features are ready, are you?
Drupal 8.3.0: the features are ready, are you?Drupal 8.3.0: the features are ready, are you?
Drupal 8.3.0: the features are ready, are you?
 
A Drupal 8 jövője és az oda vezető út
A Drupal 8 jövője és az oda vezető útA Drupal 8 jövője és az oda vezető út
A Drupal 8 jövője és az oda vezető út
 
Doing Drupal security right from Drupalcon London
Doing Drupal security right from Drupalcon LondonDoing Drupal security right from Drupalcon London
Doing Drupal security right from Drupalcon London
 
Doing Drupal security right
Doing Drupal security rightDoing Drupal security right
Doing Drupal security right
 
Drupal security - Configuration and process
Drupal security - Configuration and processDrupal security - Configuration and process
Drupal security - Configuration and process
 
Backstage with Drupal localization - Part 1
Backstage with Drupal localization - Part 1Backstage with Drupal localization - Part 1
Backstage with Drupal localization - Part 1
 
Come for the software, stay for the community
Come for the software, stay for the communityCome for the software, stay for the community
Come for the software, stay for the community
 
Come for the software, stay for the community - How Drupal improves and evolves
Come for the software, stay for the community - How Drupal improves and evolvesCome for the software, stay for the community - How Drupal improves and evolves
Come for the software, stay for the community - How Drupal improves and evolves
 
Drupal Security from Drupalcamp Bratislava
Drupal Security from Drupalcamp BratislavaDrupal Security from Drupalcamp Bratislava
Drupal Security from Drupalcamp Bratislava
 
Drupal Security from Drupalcamp Cologne 2009
Drupal Security from Drupalcamp Cologne 2009Drupal Security from Drupalcamp Cologne 2009
Drupal Security from Drupalcamp Cologne 2009
 
Here comes localize.drupal.org!
Here comes localize.drupal.org!Here comes localize.drupal.org!
Here comes localize.drupal.org!
 
Translate Drupal from Drupalcamp Vienna
Translate Drupal from Drupalcamp ViennaTranslate Drupal from Drupalcamp Vienna
Translate Drupal from Drupalcamp Vienna
 
Translate Drupal from Drupalcamp Prague
Translate Drupal from Drupalcamp PragueTranslate Drupal from Drupalcamp Prague
Translate Drupal from Drupalcamp Prague
 
What's up with Drupal 7?
What's up with Drupal 7?What's up with Drupal 7?
What's up with Drupal 7?
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

Drupal 8 multilingual APIs