This document discusses internationalization and localization in Drupal. It provides an overview of how Drupal 5 and 6 handle multilingual capabilities, including built-in translation functionality, contributed modules that expand support, and techniques for content translation. Challenges in earlier versions are described along with improvements in Drupal 6, such as an automated import system and text groups API.
Translation Markup Language and Universal Translation MemoryMichael Berkovich
Today’s web and mobile app localization industry relies on numerous standards, libraries and file formats to facilitate the exchange between developers and translators. While some formats are somewhat sophisticated, others lack even the most fundamental features, like pluralization and contextualization. And most can’t offer support for more advanced localization features, like language cases.
The most common formats used today include Gettext PO, Android XML, YAML, .Net RESX, iOS Strings. Those standards are typically packaged with popular frameworks and in some cases leave the developer with no choice but to use them. A typical developer today works with many frameworks - for instance a Rails backend app (YAML) with Ember front end (i18n JS) and iOS mobile app (Strings). Since all standards have distinct syntax - in many cases translations cannot be shared across applications.
Translation Markup Language (TML) aims to solve both these problems by introducing a powerful extensible cross-platform syntax that offers support for pluralization, language contextualization, language cases, reusable decorators and much more. TML libraries are available for all major web and mobile platforms. TML allows translators to do in-context translations - where they can translate right from within the apps. TML libraries also eliminate the need for developers to ever deal with the resource files, as all extractions and translation substitution is done realtime and the resource files are only used as a transport between the apps and the Translation Exchange platform.
Translation Exchange stores all translations in Universal Translation Memory (UTM), a graph database which stores all translations with their context, tone, rank and other attributes for accurate matching. This allows translations to be shared across all apps in the Translation Exchange Network. The translation memories of each app are extracted from the UTM graph and are managed by their individual localization teams.
During this presentation we will look at some of the features of TML and how it can be used to quickly translate an app into a number of language using in-context translation tools. We will also look at how the data is stored and shared across applications using UTM.
Translation Markup Language and Universal Translation MemoryMichael Berkovich
Today’s web and mobile app localization industry relies on numerous standards, libraries and file formats to facilitate the exchange between developers and translators. While some formats are somewhat sophisticated, others lack even the most fundamental features, like pluralization and contextualization. And most can’t offer support for more advanced localization features, like language cases.
The most common formats used today include Gettext PO, Android XML, YAML, .Net RESX, iOS Strings. Those standards are typically packaged with popular frameworks and in some cases leave the developer with no choice but to use them. A typical developer today works with many frameworks - for instance a Rails backend app (YAML) with Ember front end (i18n JS) and iOS mobile app (Strings). Since all standards have distinct syntax - in many cases translations cannot be shared across applications.
Translation Markup Language (TML) aims to solve both these problems by introducing a powerful extensible cross-platform syntax that offers support for pluralization, language contextualization, language cases, reusable decorators and much more. TML libraries are available for all major web and mobile platforms. TML allows translators to do in-context translations - where they can translate right from within the apps. TML libraries also eliminate the need for developers to ever deal with the resource files, as all extractions and translation substitution is done realtime and the resource files are only used as a transport between the apps and the Translation Exchange platform.
Translation Exchange stores all translations in Universal Translation Memory (UTM), a graph database which stores all translations with their context, tone, rank and other attributes for accurate matching. This allows translations to be shared across all apps in the Translation Exchange Network. The translation memories of each app are extracted from the UTM graph and are managed by their individual localization teams.
During this presentation we will look at some of the features of TML and how it can be used to quickly translate an app into a number of language using in-context translation tools. We will also look at how the data is stored and shared across applications using UTM.
This session will provide a detailed overview on how to get your WordPress site multilingual ready. We will discuss the types of multilingual plugins and how they compare, auditing your site for multilingual readiness, preparing for multilingual content, considerations for plugins and themes, and finally options on how to leverage service providers for additional multilingual automation.
Every minute Google receives more than 4 million search queries. SEO is the key to be found within today's flood of content.
This presentation summarizes tips and tricks for SEO for your multilingual website and lists some dos and don'ts to consider.
Introduction to GoLang by Amal Mohan N. This presentation is an introduction to GoLang - it's history, features, syntax, importance etc.
concurrency, go-routines, golang, google, gopher, introduction, programming
Ruby i18n allows translation and localization, interpolation of values to translations, pluralization, customizable translation to ASCII, flexible defaults and many more. This is a comprehensive ruby i18n guide which includes code examples as well.
This session will provide a detailed overview on how to get your WordPress site multilingual ready. We will discuss the types of multilingual plugins and how they compare, auditing your site for multilingual readiness, preparing for multilingual content, considerations for plugins and themes, and finally options on how to leverage service providers for additional multilingual automation.
Every minute Google receives more than 4 million search queries. SEO is the key to be found within today's flood of content.
This presentation summarizes tips and tricks for SEO for your multilingual website and lists some dos and don'ts to consider.
Introduction to GoLang by Amal Mohan N. This presentation is an introduction to GoLang - it's history, features, syntax, importance etc.
concurrency, go-routines, golang, google, gopher, introduction, programming
Ruby i18n allows translation and localization, interpolation of values to translations, pluralization, customizable translation to ASCII, flexible defaults and many more. This is a comprehensive ruby i18n guide which includes code examples as well.
Workstyles e Netstyles Sostenibili e Competitivijexxon
Modi di organizzare il lavoro e di partecipare in rete per le PMI, Docenza al ciclo "Seminari su General Management: Strategie", Trapani (IT), 30 giugno 2007
AVANET Seminar - Digitale Collectie Nederland & EUscreenGeert Wissink
Een overzicht van het Europeana platform, de manieren om binnen Nederland content aan te bieden, uitleg over Linked Open Data en een korte beschrijving van het project EUscreen
Regional Partnerships for Living Labs: the Case of Sicily and the MedLab Projectjexxon
A presentation of the process of building the TLL-Sicily Living Lab partnership and how this experience fed into the MedLab Project, for the eChallenges conference in Istanbul, October 22, 2009
Multilingual Drupal presentation from "Do it With Drupal"Gábor Hojtsy
Introduction to the Drupal 6 multilanguage features starting off from core features to contributed modules.
Presented at Do It With Drupal http://doitwithdrupal.com/
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketScott Abel
Presented by Edward Marshall at Documentation and Training East 2009, October 29 - November 1, 2008 in Burlington, MA.
Documenting Application Programming Interfaces (APIs) and Software Development Kits (SDKs) is a challenging but rewarding niche in technical communication. This session discusses what these products do, who uses them, moving into this area, benefits / drawbacks to working on these products, issues unique to these products, and commonly used help authoring tools. As the demand is often greater than the supply of writers, you can get higher pay than for other types of writing. You often get greater flexibility in telecommuting / working remotely in this area. Sample source code and the documentation produced from them will be shown.
Professional PHP: an open-source alternative for enterprise development [Kort...Combell NV
A presentation on Enterprise PHP development for people who have no experience with PHP programming.
Basically this presentation defends PHP as a worthy technology for enterprise projects and is directly compared with other enterprise technologies such as Java and the .NET framework
Building Multilingual Websites in Drupal 7robinpuga
We will share our experiences developing bilingual websites as well as adding a second language to an existing unilingual website. Building multilingual websites in Drupal has evolved over the years. New to version Drupal 7, we now have field and entity translations in addition to the trusted node-level translations.
In this presentation we will cover: what’s new for multilingual websites in Drupal 7, differences between field, entity and node level translations, techniques for translating various parts of your site, experiences working with translators, and building multilingual websites while being a monoglot.
Webmaster Level: Intermediate to Advanced
Google filmed a video providing more details about expanding your site to more languages or country-based language variations. The video covers details about rel=”alternate” hreflang and potential implementation on your multilingual and/or multinational site.
https://support.google.com/webmasters/answer/189077
Multilingual WordPress (WordCamp Toronto 2014)Matt Smith
This session will provide a detailed overview on how to get your WordPress site multilingual ready. We will discuss the types of multilingual plugins and how they compare, auditing your site for multilingual readiness, preparing for multilingual content, considerations for plugins and themes, and finally options on how to leverage service providers for additional multilingual automation.
Speaker: Roberto Peruzzo
Area: Building
Nella mia esperienza Drupal Commerce rappresenta uno strumento versatile per realizzare progetti e-commerce, riuscendo ad adattarsi a diversi tipi di business grazie alla sua gestione delle varianti di prodotto.
Lo speaker consegna anche la pagina che ha preparato per l'occasione ed il link da cui scaricare la distribuzione Drupal che hanno preparato per l'evento, che contiene le configurazioni viste durante l'intervento.
http://www.studioaqua.it/drupalday-milano-2014/
http://www.studioaqua.it/drupalday/localize_drupal_commerce.tar.gz
COMPUTER LANGUAGES AND THERE DIFFERENCE Pavan Kalyan
In this ppt you will understand the difference among languages and You will know what is necessary for a language to become best in the present software filed
Setting up a basic Drupal 8 website in English is relatively easy, however, when it comes to developing a multilingual website it's not that easy as we hope it to be.
In this presentation, Veerbhadra of Valuebound will walk us through the various steps involved in developing a multilingual website in Drupal 8. Have a look.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLars Trieloff
Lars Trieloff's presentation at Web 2.0 Expo Berlin covers the why and how-to of internationalization for web 2.0, consolidating i18n technology and enabling user-contributed translations.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
2. About me
• Working with Open Source since 1999,
was head of PHP.net and the PHP
documentation
• Developing with Drupal since 2003,
multiple contributed modules,
Hungarian translations
• Drupal 6 core committer
3. About you
• Experienced Drupal site builders?
• Who deals with multilingual issues?
• Knowledge in both areas?
5. Your target audience
• A multilingual web site is available
in multiple languages. It is not
necessarily an international one.
• An international web site is intended
to be used internationally. It is not
necessarily a multilingual one.
6. Two terms
Internationalization (i18n) is the
design and development of a product,
application or document content that
enables easy localization for target
groups that vary in culture, region or
language (locale).
7. Two terms
Localization (L10n) is the adaptation
of a product, application or document
content to meet the language, cultural
and other requirements of a specific
target market (locale).
8. Confusions
i18n L10n
multilingual international
10. Drupal “by design”
• There is the built in interface, which
is always served from code
• You provide everything else (posts,
menu items, admin defined blocks,
and so on)
11. Famous issues
๏ Default content type names
are not translated
๏ Built-in, but modified menu
items are neither
๏ The “Forums” vocabulary title
is not translated
13. Built into Drupal 5
• Translatable installer
• Basic interface language
list setup
• Runtime interface
translation with per user
preferences
14. How does it work?
• GNU gettext backend and format used
• Translation templates extracted from
source code
• CVS used to store/release translations
• User imports translation files in
Drupal (which stores them in the DB)
15. Recognize the source
• t(‘Go to %page’, array(‘%page’ => $p));
• format_plural($count, ‘1 year’,
‘@count years’);
• Several special cases: permissions,
watchdog type names, and so on
18. Outside Drupal
• Content translation works in Drupal
• But professionals use different tools
• Translation memories
• Automated translation
• Professional content review
25. Languages!
• English and native language names
• Writing direction (LTR or RTL)
• Weights
• Path prefix and subdomain setup and
recognition
26. Right to left themes
• All CSS file additions are
intercepted and RTL cascade files
are searched for
• Most core themes have RTL
support, full support expected in
final release
27. Language detection
• Based on the IRI (domain, path)
• User preferences
• Browser settings
• Falls back on site default
28. Automated import
• Friendlier translation package format
• Batch API for tasks to run in multiple
HTTP requests
• Install time import of interface
translations
• Module/theme changes result in
translation imports
29. Translatable JavaScript
• Drupal.t() and Drupal.formatPlural()
to translate strings in JavaScript
• Works with on the fly string collection
or preprocessing
• Also brings simple theming to
JavaScript
30. Text groups API
• Multiple text groups possible to
translate user defined content
• This remains a programming API for
Drupal 6, not used in the core system
31. On-page interface
translation
• Ability to collect all strings used to
build the page
• Try localization client module for
Drupal 6!
• Also useful for by-site optimization
32. Content language
• Any post can have a language
associated, or can be neutral
• This is configurable per
content type
• Does not mean content
translation
33. Content translation
• Posts can be associated with each
other, organized into translation sets
• Basic workflow supported to check for
outdated translations
• Translation links, language switcher
block
• Simple API for content/field types
34. Per-language aliases
• Path aliases can be language
dependent
• Still fall back to default alias, if no
specific alias defined
• Examples: ‘home’, ‘honlap’, ‘inicio’
35. Lower level changes
• Multilingual request
handling made possible
• Emails are sent in the
language of the user targeted
(API also changed a lot)
• Log messages are stored in
English, localized on display
36. More for hard-core people
• Modify some site interface strings by
adding an array to settings.php
• No need for locale module, could be
used to customize English sites
37. Still no way to translate
• Site settings
• Categories
• User defined menus
• Aggregator categories
• Profile field titles and category names
• Content type properties
38. Contributed modules
• i18n and localizer is here to stay
• Many more contributed modules
can/should use the enhancements
39. And still...
There is a lot more to
love in Drupal 6
(You will hear about these a lot)
41. Localization server
• Making interface translation for
language groups a lot easier
• We are moving from CVS and project
management to a web application
• Translation sharing, support for the
new packaging format
• My presentation: 14h, Sun room
43. Read the thesis
• http://hojtsy.hu/files/
GaborHojtsyThesis.pdf
• A summary of i18n related problems
• How Drupal 5, Joomla 1.0, TYPO3 4.1
and Plone approach these problems
• Planning of the Drupal 6 solutions
• Not everything ended up implemented
as documented there
44. Sponsored by
• Development Seed (infrastructure,
Jose A. Reyero)
• Google Summer of Code (localization
tools for Drupal 6)