The document discusses the Document Object Model (DOM) and how it can be used with JavaScript to dynamically manipulate HTML and XML documents. It provides an overview of the DOM levels defined by the W3C, DOM node types like elements and text, and methods for accessing and modifying the DOM tree like getElementById() and setAttribute(). It also includes examples of how to add, remove and change DOM nodes with JavaScript.
A talk describing how best practices for writing code have changed throughout the last 21 years.
What do we think of as good code, and how has our perception of good code changed form the early days of programming to the exciting times we live in now?
In this talk we do a bit of digging into the short history of programming, by looking at the available literature and various best practices promoted throughout the ages to improve your code.
Languages in computer programming each have unique symbols to represent concepts with single words. For example, Greek and Roman languages. Translating computer content like multimedia into another language is called localization. HTML uses character entities as an alphabet recognized by browsers, including standard English keyboard symbols and extended characters like accents and symbols. Websites can support multiple languages like English, Chinese, Japanese, and Arabic through multilanguage web pages. Translation web services attempt to make text readable across different languages, including between western and eastern languages.
WordPress Multilingual: Benefits and ConsiderationsDat Hoang
This document discusses considerations for making a WordPress site multilingual. It covers:
- Benefits of multilingual sites like reaching more users.
- Approaches to multilingual sites like using plugins that have separate content for each language or machine translations.
- Factors to consider like ensuring all elements can be translated, URL formats, and search engine optimization with hreflang tags.
- Tips like testing plugins for compatibility, avoiding automated translations, and not expecting the core WordPress software to fully support multiple languages soon.
Localization and Internationalization in User Interface DesignKayla Block
This document discusses localization challenges for user interfaces including differences in character length, word length, text size, and scripts written right to left or top to bottom. It also notes cultural differences in colors and symbols. Some solutions proposed are using universally understood icons when possible, though some concepts have no clear icon. Localization requires considering character sets, text direction, word and line heights, and cultural relevance may require outside expertise.
Internationalization is the process of designing software to be adapted to various languages and regions without engineering changes. Localization is adapting software for specific languages and regions. Considerations for internationalization include ensuring user interaction, data formats, screens, and text are translatable. Fake language testing helps simulate functionality in different languages. Localization involves translation and adapting elements like images, text layout, measurements, formats, and cultural conventions for a target locale. Common localization issues include translation errors, display and layout problems due to differing text lengths.
The document discusses internationalization (i18n) which is the process of making software work across different languages and locales without being hardwired to a single language. It involves separating translatable text from code and storing it in external files. Localization (l10n) is the process of adding translations. The document provides examples of internationalizing a sample application, discussing properties files, locales, resource bundles, and retrieving translated text. It also covers challenges like plurals, dates, currencies, and numbers that require special formatting across locales.
Internationalization and Localization of User InterfacesKayla Block
This document discusses localization challenges for user interfaces including differences in character length, word length, text size, and scripts written right to left or top to bottom. It also notes cultural differences in colors and symbols. Some solutions proposed are using universally understood icons when possible, though some concepts have no clear icon. Localization requires considering character sets, text direction, word and line heights, and cultural relevance may require outside expertise.
The document discusses the Document Object Model (DOM) and how it can be used with JavaScript to dynamically manipulate HTML and XML documents. It provides an overview of the DOM levels defined by the W3C, DOM node types like elements and text, and methods for accessing and modifying the DOM tree like getElementById() and setAttribute(). It also includes examples of how to add, remove and change DOM nodes with JavaScript.
A talk describing how best practices for writing code have changed throughout the last 21 years.
What do we think of as good code, and how has our perception of good code changed form the early days of programming to the exciting times we live in now?
In this talk we do a bit of digging into the short history of programming, by looking at the available literature and various best practices promoted throughout the ages to improve your code.
Languages in computer programming each have unique symbols to represent concepts with single words. For example, Greek and Roman languages. Translating computer content like multimedia into another language is called localization. HTML uses character entities as an alphabet recognized by browsers, including standard English keyboard symbols and extended characters like accents and symbols. Websites can support multiple languages like English, Chinese, Japanese, and Arabic through multilanguage web pages. Translation web services attempt to make text readable across different languages, including between western and eastern languages.
WordPress Multilingual: Benefits and ConsiderationsDat Hoang
This document discusses considerations for making a WordPress site multilingual. It covers:
- Benefits of multilingual sites like reaching more users.
- Approaches to multilingual sites like using plugins that have separate content for each language or machine translations.
- Factors to consider like ensuring all elements can be translated, URL formats, and search engine optimization with hreflang tags.
- Tips like testing plugins for compatibility, avoiding automated translations, and not expecting the core WordPress software to fully support multiple languages soon.
Localization and Internationalization in User Interface DesignKayla Block
This document discusses localization challenges for user interfaces including differences in character length, word length, text size, and scripts written right to left or top to bottom. It also notes cultural differences in colors and symbols. Some solutions proposed are using universally understood icons when possible, though some concepts have no clear icon. Localization requires considering character sets, text direction, word and line heights, and cultural relevance may require outside expertise.
Internationalization is the process of designing software to be adapted to various languages and regions without engineering changes. Localization is adapting software for specific languages and regions. Considerations for internationalization include ensuring user interaction, data formats, screens, and text are translatable. Fake language testing helps simulate functionality in different languages. Localization involves translation and adapting elements like images, text layout, measurements, formats, and cultural conventions for a target locale. Common localization issues include translation errors, display and layout problems due to differing text lengths.
The document discusses internationalization (i18n) which is the process of making software work across different languages and locales without being hardwired to a single language. It involves separating translatable text from code and storing it in external files. Localization (l10n) is the process of adding translations. The document provides examples of internationalizing a sample application, discussing properties files, locales, resource bundles, and retrieving translated text. It also covers challenges like plurals, dates, currencies, and numbers that require special formatting across locales.
Internationalization and Localization of User InterfacesKayla Block
This document discusses localization challenges for user interfaces including differences in character length, word length, text size, and scripts written right to left or top to bottom. It also notes cultural differences in colors and symbols. Some solutions proposed are using universally understood icons when possible, though some concepts have no clear icon. Localization requires considering character sets, text direction, word and line heights, and cultural relevance may require outside expertise.
Seven cities with policies and practices that will help strengthen our free enterprise system. This report is part of the Enterprising Cities and States project that takes an in-depth look at the free enterprise policies that are being implemented to promote economic growth at the state and local levels.
This document provides an overview of lymphomas and chronic lymphocytic leukemia (CLL). It defines lymphomas as malignant proliferation of lymphocytes accumulating in lymph nodes and tissues. It describes classification systems for lymphomas and discusses Hodgkin's lymphoma and non-Hodgkin's lymphoma in terms of characteristics, investigation, diagnosis, treatment and complications. It also discusses CLL, describing its pathophysiology, clinical features, investigation, natural history and treatment options.
The document discusses technological innovations and their impact on learning and training. It explores how different generations interact with technology, from Baby Boomers to Millennials. It suggests that modern learners are more engaged by challenges, stories, feedback, games and leveraging devices. Various solutions are proposed to incorporate these elements into training, such as providing challenges, narratives, communities, mixing up activities and considering learning as a process involving different media.
Data IO: Next Generation Search with Lucene and Solr 4Grant Ingersoll
The document summarizes new features and capabilities in Lucene and Solr 4 for search. Key highlights include Lucene being faster and more memory efficient through improvements like native near real-time support and string handling. Solr 4 adds new features for search, faceting, relevance, indexing and geospatial search. It also improves capabilities for scaling Solr through distribution and dynamic scaling in SolrCloud. The document provides examples of how Lucene and Solr can be applied to problems beyond traditional search like recommendations, backups and indexing of documents.
The Future of Social Media: 50+ Expects Share Their 2014 PredictionsBusiness 2 Community
In 2013, we saw a significant rise in video and photo sharing as Instagram, Snapchat and similar platforms helped make "selfie" the word of the year. Twitter also held their much anticipated IPO and "experts" claimed that Facebook was dead. Here is a look at 50+ social media predictions for 2014.
Mobile app that motivates not miss or drop classes in a fitness club.
Download on the AppStore.
https://itunes.apple.com/us/app/runduck-fitness-motivator/id847477384?l=ru&ls=1&mt=8
Landing: www.run-duck.com
1.3.16 Система для организации рабочих мест Igor Golovin
Система для организации рабочих мест удобна в эксплуатации и обслуживании, подходит к разному типу помещений и позволяет производить быструю модификацию силовых и слаботочных сетей.
[POMP 2013] Primož Inkret - Kako zgraditi vrhunsko CM strategijo v 13 korakihPM, poslovni mediji
Kreativnost je vez med potrebami podjetja in ciljne skupine
Specialist za razvoj sodobnih komunikacijskih orodij in spletnih rešitev. Po presoji vodilnih strokovnjakov s področja interneta in multimedijev eden najboljših spletnih urednikov na svetu.
Primož Inkret je na podlagi razumevanja vloge komunikacijskih aktivnosti z zornega kota poslovne strategije zasnoval številne nove medije, med drugim tudi prvo slovensko interaktivno spletno revijo Egoist. Leta 2010 je bil za zasnovo in urejanje interaktivnih spletnih revij Pazi nase (Zavarovalnica Triglav) in Carzine (Porsche Slovenija) imenovan za najboljšega urednika na svetu.
Strokovno znanje pri svojem delu črpa iz dolgoletnih izkušenj s področij marketinga in trženja, odnosov z javnostmi in urednikovanja ter znanj pridobljenih na mednarodnih strokovnih konferencah s področja vsebinskega marketinga in korporativnega založništva. Poglobljeno poznavanje klasičnih in novih medijev ter poslovnih strategij podjetji so osnove na katerih pripravlja zahtevne koncepte za korporativne medije, ki ustrezno in kreativno povezujejo potrebe podjetja in ciljne skupine.
Primož Inkret je soustanovitelj in partner specializirane komunikacijske agencije PM, poslovni mediji, ki s strateško rabo orodji vsebinskega marketinga podjetjem zagotavlja dolgoročne rezultate. Je specialist za razvoj sodobnih komunikacijskih orodij, spletnih rešitev in medijev prihodnosti. Je ustanovni član svetovnega združenja izdajateljev korporativnih medijev, ustanovitelj slovenskega združenja korporativnih medijev in ustanovitelj mednarodne strokovne konference s področja vsebinskega marketinga POMP Forum. Strokovne in novinarske prispevke z njegovim podpisom lahko najdemo v medijih kot so Marketing Magazin, Finance in Podjetnik. O komunikacijskem pristopu vsebinskega marketing je predaval tudi na Univerzi v Ljubljani.
My presentation outlining and explaining the core concepts behind OAuth, presented to the online ColdFusion Meetup June 9th 2011 and at Scotch on the Rocks, 3rd March 2011
What is the future of entitlement reform? On Sept 24, the US Chamber of Commerce Foundation Business Horizon program "Entitlements: Why We Can't Wait" explored our options for the future of spending and entitlements.
'New Rules of Communication' Patrick CollisterPost Media
The document discusses how the rules of communication and advertising have changed in recent years. Some of the key points made include:
1. Advertising is no longer controlled by marketers and focused on traditional media - it now involves building brands through advocates on digital channels and user-generated content.
2. Data is now central to communication strategies, and campaigns need to be orchestrated across different channels rather than managed in isolation.
3. Creativity, social sharing of ideas, and connecting with audiences in new ways have become more important than traditional 30-second TV ads.
4. There are now no set rules, and successful communication involves thinking digitally and bringing people together through shared interests and values
The document summarizes the respiratory and circulatory systems. It describes:
1) The respiratory system brings oxygen into the body and removes carbon dioxide through a series of organs including the lungs which facilitate gas exchange with blood.
2) The circulatory system transports nutrients, water, oxygen and removes wastes throughout the body via blood flow through components like the heart and blood vessels.
3) Both systems adapt through processes like increased lung alveoli and heart rate to more efficiently oxygenate tissues and remove carbon dioxide as physical activity increases.
The document summarizes 10 major disasters from 2001 to 2013 including their impacts and costs. The September 11th terrorist attacks killed nearly 3,000 people and cost $55 billion in physical damage and $123 billion in economic impact. The 2004 Indian Ocean earthquake and tsunami killed over 174,000 people, mostly in Indonesia, and cost $6.5 billion in losses. Hurricane Katrina in 2005 was the costliest hurricane in U.S. history, causing $125 billion in damage and killing 1,833 people.
The document summarizes 10 major disasters from 2001 to 2013 including their impacts and costs. The September 11th attacks in 2001 killed nearly 3,000 people and cost $55 billion in physical damage and $123 billion in economic impact. Hurricane Katrina in 2005 was the costliest hurricane in U.S. history, killing 1,833 people and causing $125 billion in property damage. The 2011 Tohoku earthquake and tsunami in Japan was the costliest natural disaster in history, with over 19,000 deaths and $210 billion in costs.
WordCamp Boston 2015: Agile Contracts for WordPress Consultantsmtoppa
Before going out on my own to start Poka Yoke Design this June, I worked at PromptWorks, where we signed over 30 Time & Materials (T&M) contracts with clients over the past 2 years, from local businesses to nationally known media companies. This is in contrast to traditional Fixed Scope, Fixed Cost (FS-FC) contracts.
Prospective clients typically have an initial preference for FS-FC contracts: they’re familiar, and at first glance, seem to guarantee the client will get what they want (by spelling out business requirements in detail), and place the business risk on the contractor. However, traditional contracts fail to recognize that web application development is more like an R&D project than a construction project. In the fast paced world of the web, business requirements can grow and change rapidly, technical challenges and opportunities can arise, and both parties benefit from being able to respond to these changes in a teamwork fashion, instead of spending time on lengthy contract re-negotiations.
In this talk we’ll explore what goes into a T&M contract, how to persuade a prospective client to sign one, and how to live up to the expectations you create in the persuasion process, to deliver a successful project.
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...mtoppa
This document discusses accessibility, internationalization, localization, and character sets. It begins by defining each term and explaining their connections. It emphasizes that accessibility is important for many users, not just those with disabilities. It provides guidelines for making content accessible and discusses tools for internationalization and localization in WordPress like loading text domains and generating POT files to enable translations.
AIM | HDC 2016 Globalization As a ServiceRamzi Yassine
The talk will not only provide a case study of how Hudl tackled the globalization challenge across our platforms (iOS, Android, Web), but will also provide tips and tricks on testing, reliability, and the translation process. In this talk I will cover the following:
- How to start with an MVP (minimum viable product) on globalization
- How globalization fits in a microservice architecture
- How to make globalization scalable inside your organization when there are many parties involved.
If you are a software engineer, quality engineer, quality analyst, or product manager this session will be helpful if you are thinking about internationalizing. In addition, if you are already working with an internationalized product we invite you to attend as this will provide a different engineering, process, and testing angle.
For more info please visit bit.ly/z481516
This document discusses localization, which is the process of rendering app content into multiple languages. It involves internationalizing the user interface and code to adapt to different languages and cultures. The steps covered include creating a strings file, localizing the project, adding new languages, adding localized strings to the strings file, and adding preferred languages on the device to determine which localized strings to use. Code examples are provided to get the preferred languages array.
Seven cities with policies and practices that will help strengthen our free enterprise system. This report is part of the Enterprising Cities and States project that takes an in-depth look at the free enterprise policies that are being implemented to promote economic growth at the state and local levels.
This document provides an overview of lymphomas and chronic lymphocytic leukemia (CLL). It defines lymphomas as malignant proliferation of lymphocytes accumulating in lymph nodes and tissues. It describes classification systems for lymphomas and discusses Hodgkin's lymphoma and non-Hodgkin's lymphoma in terms of characteristics, investigation, diagnosis, treatment and complications. It also discusses CLL, describing its pathophysiology, clinical features, investigation, natural history and treatment options.
The document discusses technological innovations and their impact on learning and training. It explores how different generations interact with technology, from Baby Boomers to Millennials. It suggests that modern learners are more engaged by challenges, stories, feedback, games and leveraging devices. Various solutions are proposed to incorporate these elements into training, such as providing challenges, narratives, communities, mixing up activities and considering learning as a process involving different media.
Data IO: Next Generation Search with Lucene and Solr 4Grant Ingersoll
The document summarizes new features and capabilities in Lucene and Solr 4 for search. Key highlights include Lucene being faster and more memory efficient through improvements like native near real-time support and string handling. Solr 4 adds new features for search, faceting, relevance, indexing and geospatial search. It also improves capabilities for scaling Solr through distribution and dynamic scaling in SolrCloud. The document provides examples of how Lucene and Solr can be applied to problems beyond traditional search like recommendations, backups and indexing of documents.
The Future of Social Media: 50+ Expects Share Their 2014 PredictionsBusiness 2 Community
In 2013, we saw a significant rise in video and photo sharing as Instagram, Snapchat and similar platforms helped make "selfie" the word of the year. Twitter also held their much anticipated IPO and "experts" claimed that Facebook was dead. Here is a look at 50+ social media predictions for 2014.
Mobile app that motivates not miss or drop classes in a fitness club.
Download on the AppStore.
https://itunes.apple.com/us/app/runduck-fitness-motivator/id847477384?l=ru&ls=1&mt=8
Landing: www.run-duck.com
1.3.16 Система для организации рабочих мест Igor Golovin
Система для организации рабочих мест удобна в эксплуатации и обслуживании, подходит к разному типу помещений и позволяет производить быструю модификацию силовых и слаботочных сетей.
[POMP 2013] Primož Inkret - Kako zgraditi vrhunsko CM strategijo v 13 korakihPM, poslovni mediji
Kreativnost je vez med potrebami podjetja in ciljne skupine
Specialist za razvoj sodobnih komunikacijskih orodij in spletnih rešitev. Po presoji vodilnih strokovnjakov s področja interneta in multimedijev eden najboljših spletnih urednikov na svetu.
Primož Inkret je na podlagi razumevanja vloge komunikacijskih aktivnosti z zornega kota poslovne strategije zasnoval številne nove medije, med drugim tudi prvo slovensko interaktivno spletno revijo Egoist. Leta 2010 je bil za zasnovo in urejanje interaktivnih spletnih revij Pazi nase (Zavarovalnica Triglav) in Carzine (Porsche Slovenija) imenovan za najboljšega urednika na svetu.
Strokovno znanje pri svojem delu črpa iz dolgoletnih izkušenj s področij marketinga in trženja, odnosov z javnostmi in urednikovanja ter znanj pridobljenih na mednarodnih strokovnih konferencah s področja vsebinskega marketinga in korporativnega založništva. Poglobljeno poznavanje klasičnih in novih medijev ter poslovnih strategij podjetji so osnove na katerih pripravlja zahtevne koncepte za korporativne medije, ki ustrezno in kreativno povezujejo potrebe podjetja in ciljne skupine.
Primož Inkret je soustanovitelj in partner specializirane komunikacijske agencije PM, poslovni mediji, ki s strateško rabo orodji vsebinskega marketinga podjetjem zagotavlja dolgoročne rezultate. Je specialist za razvoj sodobnih komunikacijskih orodij, spletnih rešitev in medijev prihodnosti. Je ustanovni član svetovnega združenja izdajateljev korporativnih medijev, ustanovitelj slovenskega združenja korporativnih medijev in ustanovitelj mednarodne strokovne konference s področja vsebinskega marketinga POMP Forum. Strokovne in novinarske prispevke z njegovim podpisom lahko najdemo v medijih kot so Marketing Magazin, Finance in Podjetnik. O komunikacijskem pristopu vsebinskega marketing je predaval tudi na Univerzi v Ljubljani.
My presentation outlining and explaining the core concepts behind OAuth, presented to the online ColdFusion Meetup June 9th 2011 and at Scotch on the Rocks, 3rd March 2011
What is the future of entitlement reform? On Sept 24, the US Chamber of Commerce Foundation Business Horizon program "Entitlements: Why We Can't Wait" explored our options for the future of spending and entitlements.
'New Rules of Communication' Patrick CollisterPost Media
The document discusses how the rules of communication and advertising have changed in recent years. Some of the key points made include:
1. Advertising is no longer controlled by marketers and focused on traditional media - it now involves building brands through advocates on digital channels and user-generated content.
2. Data is now central to communication strategies, and campaigns need to be orchestrated across different channels rather than managed in isolation.
3. Creativity, social sharing of ideas, and connecting with audiences in new ways have become more important than traditional 30-second TV ads.
4. There are now no set rules, and successful communication involves thinking digitally and bringing people together through shared interests and values
The document summarizes the respiratory and circulatory systems. It describes:
1) The respiratory system brings oxygen into the body and removes carbon dioxide through a series of organs including the lungs which facilitate gas exchange with blood.
2) The circulatory system transports nutrients, water, oxygen and removes wastes throughout the body via blood flow through components like the heart and blood vessels.
3) Both systems adapt through processes like increased lung alveoli and heart rate to more efficiently oxygenate tissues and remove carbon dioxide as physical activity increases.
The document summarizes 10 major disasters from 2001 to 2013 including their impacts and costs. The September 11th terrorist attacks killed nearly 3,000 people and cost $55 billion in physical damage and $123 billion in economic impact. The 2004 Indian Ocean earthquake and tsunami killed over 174,000 people, mostly in Indonesia, and cost $6.5 billion in losses. Hurricane Katrina in 2005 was the costliest hurricane in U.S. history, causing $125 billion in damage and killing 1,833 people.
The document summarizes 10 major disasters from 2001 to 2013 including their impacts and costs. The September 11th attacks in 2001 killed nearly 3,000 people and cost $55 billion in physical damage and $123 billion in economic impact. Hurricane Katrina in 2005 was the costliest hurricane in U.S. history, killing 1,833 people and causing $125 billion in property damage. The 2011 Tohoku earthquake and tsunami in Japan was the costliest natural disaster in history, with over 19,000 deaths and $210 billion in costs.
WordCamp Boston 2015: Agile Contracts for WordPress Consultantsmtoppa
Before going out on my own to start Poka Yoke Design this June, I worked at PromptWorks, where we signed over 30 Time & Materials (T&M) contracts with clients over the past 2 years, from local businesses to nationally known media companies. This is in contrast to traditional Fixed Scope, Fixed Cost (FS-FC) contracts.
Prospective clients typically have an initial preference for FS-FC contracts: they’re familiar, and at first glance, seem to guarantee the client will get what they want (by spelling out business requirements in detail), and place the business risk on the contractor. However, traditional contracts fail to recognize that web application development is more like an R&D project than a construction project. In the fast paced world of the web, business requirements can grow and change rapidly, technical challenges and opportunities can arise, and both parties benefit from being able to respond to these changes in a teamwork fashion, instead of spending time on lengthy contract re-negotiations.
In this talk we’ll explore what goes into a T&M contract, how to persuade a prospective client to sign one, and how to live up to the expectations you create in the persuasion process, to deliver a successful project.
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...mtoppa
This document discusses accessibility, internationalization, localization, and character sets. It begins by defining each term and explaining their connections. It emphasizes that accessibility is important for many users, not just those with disabilities. It provides guidelines for making content accessible and discusses tools for internationalization and localization in WordPress like loading text domains and generating POT files to enable translations.
AIM | HDC 2016 Globalization As a ServiceRamzi Yassine
The talk will not only provide a case study of how Hudl tackled the globalization challenge across our platforms (iOS, Android, Web), but will also provide tips and tricks on testing, reliability, and the translation process. In this talk I will cover the following:
- How to start with an MVP (minimum viable product) on globalization
- How globalization fits in a microservice architecture
- How to make globalization scalable inside your organization when there are many parties involved.
If you are a software engineer, quality engineer, quality analyst, or product manager this session will be helpful if you are thinking about internationalizing. In addition, if you are already working with an internationalized product we invite you to attend as this will provide a different engineering, process, and testing angle.
For more info please visit bit.ly/z481516
This document discusses localization, which is the process of rendering app content into multiple languages. It involves internationalizing the user interface and code to adapt to different languages and cultures. The steps covered include creating a strings file, localizing the project, adding new languages, adding localized strings to the strings file, and adding preferred languages on the device to determine which localized strings to use. Code examples are provided to get the preferred languages array.
The document provides an introduction to server-side scripting and dynamic web development using PHP and MySQL. It discusses how dynamic websites can respond to different parameters, integrate user login/registration, and be easier to maintain than static websites. It then describes how PHP is a widely used scripting language especially for web development that is embedded into HTML. MySQL is also introduced as a popular open-source database. The document proceeds to demonstrate basic PHP syntax like using echo to output data, comments, variables, and strings. It shows how to manipulate strings, search/replace text, and use other string functions. Finally, it discusses number data types in PHP and using format specifiers.
The document provides an introduction to server-side scripting and dynamic web development. It discusses how PHP and MySQL are commonly used to create dynamic websites that can respond to different parameters, integrate user logins and databases. The document then explains some of the basic syntax of PHP, how to send data to the web browser using echo, and how to write comments. It also covers variables, strings, and other PHP fundamentals.
In the presentation I show you how you can make your theme translatable, whilst developing it. I also show you how to create a multilingual WordPress site using the WPML Multilingual plugin, once you've got your site up and running.
This was presented at our recent WP Melbourne WordPress Meetup:-
http://www.meetup.com/WordPress-Melbourne/
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
This 45 minute session begins by explaining what we mean by the admittedly vague term "HTML5 web application". We use the Cargo Tracker sample Java EE 7 application as the vehicle for this explanation. Diving into the code, we examine the parts of the Java EE 7 family of technologies, and the HTML5 techniques used in the application.
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Trivandrum
This document provides an introduction to WordPress and internationalization/localization. It discusses what WordPress is, its history and uses. It then covers the importance of internationalization and localization when developing WordPress themes and plugins. It provides guidelines for internationalizing code as well as translating and localizing content. Statistics on WordPress translations are also presented.
The document provides an overview of web development. It discusses what a website is and how it is hosted. It then defines web development as the process of developing websites for the internet or intranets, ranging from simple static pages to complex web applications. The document outlines the main tasks involved in web development like design, content development, scripting, and security configuration. It also discusses some key aspects to consider before developing a website such as content, hosting, interactivity, and cross-browser compatibility.
WordPress internationalization, localization, and multilingualmbigul
The document discusses WordPress internationalization, localization, and making WordPress multilingual. It defines internationalization as developing themes/plugins to be easily translated, localization as the translation process, and multilingual as having multiple languages on a site. It provides an overview of functions for internationalizing WordPress themes and plugins, the process of localizing them through .po and .mo files, statistics on translated WordPress languages, and popular plugins for making WordPress multilingual.
Pawan Kumar completed an internship on web development. He created several projects including a Coaching Management System using HTML, CSS, JavaScript, Bootstrap, and GitHub. The Coaching Management System is a dynamic, multiple page web application that allows users to track student data across different streams. It has a responsive design to operate smoothly on any device.
So you have an existing PHP application and would like to spice it up with a rich and attractive front-end. Next to Adobe Flex, you can also choose Silverlight as a solution. This session shows you around in Silverlight and shows that PHP and Silverlight can go together easily.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/28XnVtb.
Felix Klock describe the core concepts of the Rust language (ownership, borrowing, and lifetimes), as well as the tools beyond the compiler for open source software component distribution (cargo, crates.io). Filmed at qconlondon.com.
Felix Klock is a research engineer at Mozilla, where he works on the Rust compiler, runtime libraries, and language design. He previously worked on the ActionScript Virtual Machine for the Adobe Flash runtime. Klock is one of the developers of the Larceny Scheme language runtime.
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
HTML5 is the next generation web development standard that improves upon HTML4 and XHTML. It focuses on features rather than syntax, and includes new elements like <article> and <section>, native audio/video support, drawing APIs, geolocation, drag and drop, web forms 2.0, and more. HTML5 aims to improve multimedia capabilities while keeping code readable by humans and machines. It is supported by all major browsers, though support for specific features may vary, and polyfills can help with backwards compatibility.
The document discusses using WordPress and PHP tools like Composer, Symfony, and Doctrine to build an internationalized New York Times site. Key technologies mentioned include WordPress, Docker, AWS services like S3 and RDS, and front-end tools like React, Redux, and GraphQL. The document provides code examples for internationalizing WordPress using Gulp, setting up a PHP project with Composer, and implementing caching with Pimple dependency injection.
HTML 5 provides more semantic and less verbose markup than previous standards. It introduces new elements like <canvas> and <video> that allow dynamic drawing and video playback without plugins. Features like geolocation, offline storage and application caching improve offline and mobile support. Microdata allows embedding machine-readable semantic data in HTML. While browser support varies, many features can be used today to create robust and responsive web applications.
The document discusses different types of mobile applications. It compares web apps to native apps, noting that native apps can access device APIs while web apps use HTML, CSS, and JavaScript. It also discusses user interface design considerations like layout, functionality, and interactions. Frameworks like Titanium allow creating native-looking apps using HTML, CSS, and JavaScript across platforms. Responsive web design is suggested for building multi-platform apps through fluid layouts, flexible images and media queries.
This document provides a case study of migrating an existing multilingual website from a proprietary CMS to Umbraco. The site contains content in English and Russian. Two approaches to multilingual site structure were considered, but a compromise was taken for compatibility with existing Flash components. The implementation involved relating English and Russian nodes, handling listings pages, and integrating the Umbraco dictionary for translations. Lessons learned include carefully considering site architecture and testing the deployment environment early.
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
This slideshow provides an introduction to HTML5. The target audience should have an understanding of web development, javascript, and previous standards of HTML. This tutorial contains a brief background on the language and an overview of the most popular features. Features covered include native audio/video support, geolocation, canvas, drawing API, web forms 2.0, drag and drop, and more. Also covered is backwards compatibility and section 508 compliance. Extras include polyfills, modernizr, and a brief introduction to CSS3. Enjoy!
Similar to WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF? (20)
RubyConf 2022 - From beginner to expert, and back againmtoppa
"In the beginner's mind there are many possibilities, in the expert's mind there are few."
- Shunryu Suzuki, from "Zen Mind, Beginner's Mind"
The Japanese Zen term shoshin translates as “beginner’s mind” and refers to a paradox: the more you know about a subject, the more likely you are to close your mind to further learning. In contrast, the beginner’s state of mind is judgment free. It’s open, curious, available, and present. We’ll draw on examples of these mindsets from fields as varied as aviation and geology, and discover lessons we can apply to the world of software development.
RailsConf 2022 - Upgrading Rails: The Dual Boot Waymtoppa
Upgrading Rails is easy, right? Sure, as long as you are upgrading your patch version. A Rails upgrade for a big application is not a trivial project: It took GitHub a year and a half to upgrade from Rails 3.2 to 5.2.
While upgrades have become easier with every new Rails version, your application has only become more complicated with every new dependency you added.
In this workshop you will learn a proven Rails upgrade process for major and minor version changes of Rails. You will leave this workshop with a roadmap to upgrade your Rails application.
Applying Omotenashi (Japanese customer service) to your workmtoppa
This document is a transcript of a presentation given by Mike Toppa at RailsConf 2019 about applying the Japanese concept of Omotenashi (hospitality and customer service) to software development work. Toppa discusses his personal experiences in Japan through visiting with his family and shares some cultural aspects of Japan like cleanliness, orderliness, and politeness that relate to Omotenashi. He hopes to explore how concepts from Omotenashi could provide value for software teams to evolve beneficial practices.
I gave this as a lightning talk at Boston.rb on 7/14//2015. It's a discussion of the challenges of applying the Law of Demeter to Rails programming.
I gave an older, simpler version of this talk at Philly.rb on 1/15/2013. I've replaced those older slides.
The promise and peril of Agile and Lean practicesmtoppa
Why you may to consider adopting Agile or Lean practices, how they differ from each other, what benefits you can expect, and what obstacles you may face.
Why do planes crash? Lessons for junior and senior developersmtoppa
The document discusses lessons for junior and senior developers based on analysis of plane crashes. It notes that plane crashes are often due to poor communication between pilots, with junior pilots using "mitigated speech" to avoid directly confronting seniors. This leads to key safety issues being missed or misunderstood. Similarly, junior developers may hint at problems rather than speaking directly to avoid appearing confrontational. The document advocates for junior developers to clearly communicate any concerns they have and for senior developers to actively mentor junior staff and listen to their perspectives without prejudice.
Boston Ruby Meetup: The promise and peril of Agile and Lean practicesmtoppa
Why you may to consider adopting Agile or Lean practices, how they differ from each other, what benefits you can expect, and what obstacles you may face
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesmtoppa
Michael Toppa gave a presentation on the promise and perils of Agile and Lean practices. He discussed how adopting these practices can help address common project problems like unrealistic expectations that compromise quality, multitasking that reduces productivity, and lack of feedback that leads to building the wrong products. However, going all-in with Agile through methods like Scrum requires major changes all at once, while adopting Lean through Kanban allows for more incremental evolution. Successful implementations inspect and adapt processes, rather than relying on superficial or misapplied changes.
We want code that is easy to understand, re-usable, and flexible. But we are always up against deadlines, so we rush, and end up with code that is messy, buggy, hard to maintain, and makes us go slower even though we’re trying to go faster.
What is clean code? In this talk I’ll provide some answers to this question, and introduce you to 10 good habits that will help keep your code clean, such as the use of meaningful names for your variables and functions, and following the “Boy Scout Rule” (leave the code cleaner than you found it). I will even try to persuade you that using a lot of code comments is a sign that there are problems with your code.
Mike Toppa gave a presentation on dependency injection in PHP. He discussed classes and objects in PHP, the SOLID principles including the single responsibility principle and dependency inversion principle. He explained class autoloading in PHP and different techniques for dependency injection including constructor injection, setter injection, and using a dependency injection container.
WordCamp Nashville 2015: Agile Contracts for WordPress Consultantsmtoppa
When you develop a WordPress based project for a client in an Agile way, you deliver working features on a frequent basis, such as weekly, as you build out the project. This allows for review, feedback, and adapting to change. Evolving business requirements are welcome in an Agile process, instead of a source of frustration.
The problem is, even if clients think an Agile approach sounds good, they almost always have a preference for traditional Fixed Price, Fixed Scope contracts. These contracts, with detailed specifications, costs, and delivery dates, contradict the Agile approach, but they provide clients them with a sense of security and confidence that they will get what they want.
How do you convince them a traditional contract is actually riskier than they think, and persuade them to instead sign a contract that facilities Agile development? This is the most significant challenge facing consultants who want to follow Agile practices. At PromptWorks we use Time & Materials contracts with our clients, and we have signed over 30 of them in the past 2 years. In this talk we’ll discuss:
* What different types of contracts imply about the nature of the relationship with your client, and what it means for it to be a professional relationship of equals. Risk and reward should be shared, and the relationship should feel like a partnership.
* The persuasion and negotiation process for getting your prospective clients to sign a Time & Materials contract. We’ll discuss real-life situations from our experience at PromptWorks.
* PromptWorks’ typical project proposal, Master Service Agreement, and Scope of Work documents. We’ll highlight key aspects of our approach, and things to look out for if you have to use contract documents provided by your client.
WordCamp Nashville: Clean Code for WordPressmtoppa
Slides from my talk at WordCamp Nashville, including notes. Covers why clean code is important, and provides 10 tips to make your code cleaner, for WordPress and beyond
An overview of Agile and Scrum practices, and a comparison of 2 different, real-life Agile adoption experiences in a University setting. Presented at the Wharton Web Conference, July 2011
Object Oriented Programming for WordPress Plugin Developmentmtoppa
An introduction to object oriented programming in PHP. This is applicable to WordPress and other CMS/frameworks as well. Note the last half of the slideshow contains the notes for the slides shown in the first half.
This document summarizes Mike Toppa's presentation on dependency injection for WordPress plugin development. Toppa discussed clean code principles like the single responsibility principle and dependency inversion principle. He explained how to implement dependency injection through constructor or setter injection. Toppa also showed an example of his Shashin photo plugin, which uses dependency injection and follows clean code practices through its object-oriented design.
The document discusses principles of clean code for WordPress plugin development. It defines clean code as code that is readable, maintainable and flexible. It emphasizes meaningful naming, single responsibility principle, dependency inversion principle and other SOLID principles. It also discusses design patterns like facade and independent architecture. The document provides an example of applying these principles in the Shashin photo plugin through object-oriented design, isolation of concerns and unit testing.
Dependency Inversion and Dependency Injection in PHPmtoppa
The document discusses dependency injection and inversion in PHP. It defines dependency injection as a design pattern for implementing dependency inversion. Dependency inversion is a principle where high-level modules should not depend on low-level modules, but both should depend on abstractions. The document provides an example of applying dependency injection and inversion to a button and lamp class. It discusses benefits like loose coupling and testability. It also discusses different patterns for implementing dependency injection like constructor injection and using an injection container.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
1. A11Y? I18N? L10N? UTF8?
WTF?
Understanding the
connections between:
accessibility,
internationalization,
localization,
and character sets
Michael
Toppa
@mtoppa
WordCamp
Lancaster
March 1, 2014
7. WCAG Accessibility (A11Y)
Guidelines
1. Perceivable
2. Operable
3. Understandable and Predictable
❖ Guideline 3.1.1 Language of Page:
❖ The default human language of each Web page can be
programmatically determined.
4. Robust and Compatible
8. The lang attribute
❖ Declare the language of a WordPress theme in
header.php:
<html <?php language_attributes(); ?>>
For a US English site, this renders as:
<html lang="en-US">
❖ In HTML 5, declare the language of part of a document
<div lang="fr">
9. Uses of the lang attribute
❖ Improves search engine results
❖ Helps support server content negotiation
❖ Supports spelling and grammar checkers
❖ Supports speech synthesizers and automated
translators
❖ Allows user-agents to select language appropriate fonts
16. The Unicode slogan
“Unicode provides a unique number for every
character, no matter what the platform, no
matter what the program, no matter what the
language.”
21. Localization
“Localization refers to the adaptation of a
product, application or document content
to meet the language, cultural and other
requirements of a specific target market
(a locale).”
This often involves more than just translation
22. Internationalization
“Internationalization is the design and
development of a product, application or
document content that enables easy
localization for target audiences that vary
in culture, region, or language.”
24. Step 1: use WordPress’ I18N
functions
❖ Wrap all your text in WordPress’ I18N functions, using a
custom “text domain”. Mine is “shashin”
❖ $greeting = __( 'Howdy', 'shashin' );
❖ <li><?php _e( 'Howdy', 'shashin' ); ?></li>
❖ $string = _x( 'Buffalo', 'an animal', 'shashin' );
❖ $string = _x( 'Buffalo', 'a city in New York', 'shashin' );
❖ And others…
30. Further reading
❖ W3C
❖ How to meet WCAG 2.0: quick reference
❖ Why use the language attribute?
❖ Localization vs. Internationalization
❖ WordPress
❖ How To Localize WordPress Themes and Plugins
❖ I18n for WordPress Developers
❖ Internationalization: You’re probably doing it wrong
❖ Solving the Unicode Puzzle
Editor's Notes
In this talk I’m going to give you a sampling of several related topics, and daisy-chain them together. This talk is by no means comprehensive. My goal is to give you a general sense of the connections between accessibility, internationalization, localization, and character sets, to start you down the road to understanding how to make your web content as accessible as possible to people who speak different languages, and have various levels of reading capabilities.
* I’ve been developing for the web since the days of HTML 1.0 and the Mosaic web browser.
* This is my 6th WordCamp presentation, and I have 7 plugins at wordpress.org, dating back to 2006.
* I was previously the Director of Development for WebDevStudios, and I managed the 17 person web application team at the U Penn School of Medicine.
* I mostly work in Ruby on Rails now, and I also have experience with Java, Python, Perl, and of course, PHP.
In 2005 I wrote an article on configuring Apache, Oracle, and PHP for Unicode, published in PHP Architect. At that time Unicode was just emerging as the new standard for character encoding, and configuring end-to-end support for using it in web applications was a significant undertaking. These days, Unicode support comes out of the box for the most part.
Accessibility applies to:
* older people
* people with low literacy or not fluent in the language
* people with low bandwidth connections or using older technologies
* new and infrequent users
*… and persons with disabilities
The World Wide Web Consortium (W3c) put together version 2 of their Web Content Accessibility Guidelines in 2008, and it has 4 key principles:
Perceivable - e.g. provide text alternatives for non-textual content
Operable - e.g make all functionality available from the keyboard, provide good site navigation
Understandable - e.g. help users avoid and prevent mistakes, such as clearly indicating errors in a form submission
Robust - e.g. use valid HTML and maximize compatibility with user agents such as screen readers
There are 17 guidelines to follow for making a web page understandable. The first one is that it should be possible to programmatically determine the language of a web page.
WordPress itself has been translated to over 70 languages, but if you are developing a theme or plugin, you still need to make sure you are using the lang attribute appropriately.
The language_attributes function will set a lang attribute based on the language specified in your wp-config.php file
Content negotiation lets the browser tell the server what media types and languages it prefers, and the server will do its best to comply. There is a plugin to support this in WordPress.
These 4 ideographic characters all have the same Unicode value and meanings in Chinese, Japanese, and Korean, but are rendered differently, depending on whether the lang attribute of the page is set to Simplified Chinese, Traditional Chinese, Japanese, or Korean.
Unicode is a single character set designed to include characters from just about every writing system on the planet. This is a small section of the Unicode character map, showing characters used in languages spoken in Myanmar.
It supports languages from off the planet as well. Although Klingon was not granted official incorporation into Unicode, the proposed code points for it still remain conspicuously available (which means if you download the Klingon font, and go to a blog written in Klingon, it will work).
Unicode has been prevalent on the web for about 10 years now. In the 1960s, unaccented English characters, as well as various control characters for carriage returns, page feeds, etc., were each assigned a number from 0 to 127; there was general agreement on these number assignments, and so ASCII was born (American Standard Code for Information Interchange).
The ASCII characters could fit in 7 bits, and computers used 8-bit bytes, which left an extra bit of space. This led to the proliferation of many different character sets, with each one using this extra space in a different way. Here’s Latin 1, which contains special symbols and accented characters for Western languages.
Here’s the version of Upper ASCII that supports Slavic languages. There are 15 variations on this ISO standard. This means that text generated on, say, a computer in Russia would turn into gibberish if you tried to read it on a computer in the US. This happened because the number codes representing the Cyrillic characters were assigned to totally different characters on the US computer. This became a bit of a problem when everyone started using the internet.
Unicode represents an effort to clean up this mess. Unicode can do this because it allows characters to occupy more than one byte, so it has enough room to store characters from languages around the world—even Asian languages that have thousands of characters. It’s a character set able to support over 1 million characters.
Unicode is a character set, and there are 3 different ways to encode it. UTF-8 is the unicode encoding standard for the web because, like ASCII, it’s an 8-bit encoding, and it’s compatible with the Latin1 ASCII character set. This makes it backwards compatible with most previously created Western language documents.
UTF-8 is the standard character encoding in WordPress, since version 2.2. Here’s an example from my blog, showing a multi-lingual post in the WordPress HTML editor.
A multi-lingual page like that is fairly uncommon. More commonly, content is created in one language, but we want a standardized way to enable the creation of translations into other languages. This is where localization and internationalization come in.
In addition to translation, this can also involve dealing with variations in numeric, date, currency, and time formats, varying legal requirements, and awareness of things that may be misunderstood or be offensive in other cultures.
The POT file serves as a template for translating your theme or plugin into other languages. It extracts all the text you wrapped in the WordPress’ I18N functions and puts them in a single file. If you have a plugin in the wordpress.org repository, it can generate a POT file for you. There are other tools available for this as well. See the references at the end of this talk for other ways to generate a POT file for themes and plugins
Put your POT file in a “languages” subdirectory. Providing this file with your plugin allows users willing to create a translation to do so, using an application called POEdit.
This shows all the different language translations available for the popular plugin, Contact Form 7. With POEdit, a translator can take your POT file and create a translation to another language. This translation creates a textual .po file, and then a binary, compiled version of it, in a .mo file. If you include a .mo file translation that matches the language configuration of a WordPress site, your plugin will automatically be shown in that language.
Maintaining translations can be difficult, as you will usually need to get an updated translation for each new release of your plugin or theme. Even just changes in line numbers can throw off the translation.
For web sites to be accessible, they need to be perceivable, operable, robust, and understandable. I’ve focused on the language support aspects of understandability, and hopefully this quick introduction to character sets, internationalization, and localization has given you a good starting point for making your WordPress site, plugins, or themes accessible to users who speak different languages.