These are the slides of Nicolas' talk about Rails 2.2 i18n (internationalization) which he gave at the Fosdem '09 Ruby and Rails DevRoom on February 8th 2009.
See http://fosdem.org/2009/schedule/events/ror_i18n_rails_2_2 for more details.
These are the slides of my talk about Rails 2.2 i18n (internationalization) which I gave at the Fosdem '09 Ruby and Rails DevRoom on February 8th 2009.
See http://fosdem.org/2009/schedule/events/ror_i18n_rails_2_2 for more details.
This document discusses internationalization (i18n) in Ruby on Rails applications. It provides an overview of i18n, including how Rails supports it out of the box, how locale files are loaded and used, and an example of setting the locale based on URL parameters. The document also discusses some benefits of i18n like reaching a wider audience and improving code structure. Additional resources on Rails i18n are provided at the end.
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp sessionJeffrey McGuire
Drupal 8 includes major improvements for multilingual and translation capabilities including four pillars: language, interface, content, and configuration translation. It provides a unified and integrated system for assigning languages, translating content and configuration through new interfaces, and handling translations of all entity types and configuration files. Developers and translators are encouraged to participate in sprints and testing to help improve Drupal 8's multilingual features.
The multilingual Drupal 8 experience (European Drupal Days 2015)Eugenio Minardi
This document summarizes the key pillars of multilingual support in Drupal 8:
1. Language - Provides base services for modules dealing with multilingual data.
2. Interface Translation - Features automated translation downloads and tracking of customized translations.
3. Content Translation - Allows translating all content entities through integrated configuration and translation interfaces.
4. Config Translation - Enables translating common configurations like blocks, views and fields through a unified system that tracks language overrides.
Machine code consists of binary instructions that are directly executed by the CPU. Each instruction performs a specific task like loading a value or adding numbers. Hexadecimal is typically used instead of binary by programmers because it is easier to convert binary to hexadecimal than to decimal. Hexadecimal is base 16, so it uses 16 symbols (0-9 and A-F) to represent values. Assembly code is a low-level language that is specific to a particular computer architecture. An assembler converts assembly code into binary machine code instructions. Assembly code runs very fast but is dependent on the processor and difficult to learn and port between systems.
Assembly language is a low-level programming language. Common languages used for web design include HTML. Components of the CPU include assembly language. Mnemonics refer to symbolic codes that represent operation codes. Assemblers convert assembly language programs into machine language before the computer can execute them. Assemblers detect syntax errors but not logical errors. Assembly language programs use mnemonics and are written at the assembly level because it requires knowledge of machine architecture.
This document provides an overview of internationalization (i18n) in Zope and Plone, including a history of i18n support, common i18n packages, how to translate add-ons, templates, code, and profiles. It also covers LinguaPlone features for multilingual support, such as language controls and translation forms, and how it integrates with Archetypes content types to enable translations.
Machine code consists of binary instructions that are directly executed by the CPU to perform specific tasks like loading values or performing arithmetic. Assembly code is a low-level programming language that converts instructions into machine code and differs across computer architectures. An assembler is a program that translates assembly code into binary machine code instructions for the processor to execute.
These are the slides of my talk about Rails 2.2 i18n (internationalization) which I gave at the Fosdem '09 Ruby and Rails DevRoom on February 8th 2009.
See http://fosdem.org/2009/schedule/events/ror_i18n_rails_2_2 for more details.
This document discusses internationalization (i18n) in Ruby on Rails applications. It provides an overview of i18n, including how Rails supports it out of the box, how locale files are loaded and used, and an example of setting the locale based on URL parameters. The document also discusses some benefits of i18n like reaching a wider audience and improving code structure. Additional resources on Rails i18n are provided at the end.
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp sessionJeffrey McGuire
Drupal 8 includes major improvements for multilingual and translation capabilities including four pillars: language, interface, content, and configuration translation. It provides a unified and integrated system for assigning languages, translating content and configuration through new interfaces, and handling translations of all entity types and configuration files. Developers and translators are encouraged to participate in sprints and testing to help improve Drupal 8's multilingual features.
The multilingual Drupal 8 experience (European Drupal Days 2015)Eugenio Minardi
This document summarizes the key pillars of multilingual support in Drupal 8:
1. Language - Provides base services for modules dealing with multilingual data.
2. Interface Translation - Features automated translation downloads and tracking of customized translations.
3. Content Translation - Allows translating all content entities through integrated configuration and translation interfaces.
4. Config Translation - Enables translating common configurations like blocks, views and fields through a unified system that tracks language overrides.
Machine code consists of binary instructions that are directly executed by the CPU. Each instruction performs a specific task like loading a value or adding numbers. Hexadecimal is typically used instead of binary by programmers because it is easier to convert binary to hexadecimal than to decimal. Hexadecimal is base 16, so it uses 16 symbols (0-9 and A-F) to represent values. Assembly code is a low-level language that is specific to a particular computer architecture. An assembler converts assembly code into binary machine code instructions. Assembly code runs very fast but is dependent on the processor and difficult to learn and port between systems.
Assembly language is a low-level programming language. Common languages used for web design include HTML. Components of the CPU include assembly language. Mnemonics refer to symbolic codes that represent operation codes. Assemblers convert assembly language programs into machine language before the computer can execute them. Assemblers detect syntax errors but not logical errors. Assembly language programs use mnemonics and are written at the assembly level because it requires knowledge of machine architecture.
This document provides an overview of internationalization (i18n) in Zope and Plone, including a history of i18n support, common i18n packages, how to translate add-ons, templates, code, and profiles. It also covers LinguaPlone features for multilingual support, such as language controls and translation forms, and how it integrates with Archetypes content types to enable translations.
Machine code consists of binary instructions that are directly executed by the CPU to perform specific tasks like loading values or performing arithmetic. Assembly code is a low-level programming language that converts instructions into machine code and differs across computer architectures. An assembler is a program that translates assembly code into binary machine code instructions for the processor to execute.
Perl is a script programming language, which has a lot of similarity in syntax to “c” language. This also includes UNIX like sed;awk;tr etc. Perl is an interpreted language which can be assembled before execution in “c” code/bytecode. Once Perl is compiled, it is as fast as any other compiled “c” program. The Perl language is often considered as the best choice for the development of CGI (i.e Common gateway interface) due to its good text manipulation feature; even though it conducts only binary files.
High level languages like those using words like "if" and "else" are easier for humans to understand, while low level machine code using binary is what computers can directly understand. Translators are needed to convert high level code to low level code for the computer. There are two main types of translators - interpreters translate code line by line as the program runs, while compilers convert the entire program to object code before it runs. Both have pros and cons related to speed of execution and ease of debugging.
This document discusses computer languages and language translators. It defines computer languages as formal languages that specify instructions to produce output. It describes low-level languages like machine language and assembly language, which are close to binary machine code, and high-level languages like C++, Java, and BASIC, which are closer to English. Language translators like compilers, interpreters, and assemblers are used to translate programs between high-level languages and machine code. Compilers translate the entire program at once, while interpreters translate line-by-line, and assemblers translate assembly language to machine code.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1GHc3rO.
Alex Blewitt introduces the history behind Swift, why it was created, how it differs from Objective-C and how Swift is compiled and executed under the covers. Alex goes into details about how LLVM is used, the way that memory is managed, how objects are laid out, and a prediction of the way Swift and Objective-C will evolve over time. Filmed at qconlondon.com.
Dr Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTSTEP 3.0. He upgraded his NeXTstation for a TiBook when Apple released Mac OS X in 2001 and has been developing on it ever since. He is author of the recently published Swift Essentials.
This document discusses factors to consider when selecting a programming language for a project. It outlines dimensions for selection like capabilities, productivity, and costs. Key criteria include whether the language can meet expectations, development costs, ramp up time, and community support. The document also evaluates common languages like Java, PHP, Python and Ruby based on their strengths and weaknesses. It predicts trends in language popularity and adoption of functional programming concepts.
The document discusses the Ruby on Rails I18n internationalization gem. It covers setting up I18n, loading and storing translations, setting the locale from different sources like the URL, domain name, or client information, and translating Active Record and validation error messages.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1SJ7PSV.
Alex Blewitt talks about Swift, the open source released in December 2015 and available on Linux as well as OSX and iOS. He looks at the open-source project, how applications and libraries can be built for both platforms, the differences between the different builds and how Swift works under the hood. Filmed at qconlondon.com.
Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTSTEP 3.0. He currently works for a financial company in London and writes for the online technology news site InfoQ, as well as other books for Packt Publishing. He also has a number of apps on the App Store through Bandlem Limited.
The Ring programming language version 1.2 book - Part 4 of 84Mahmoud Samir Fayed
The document provides an overview and documentation of the Ring programming language. It discusses the history and development of Ring, beginning in 2013. Key features of Ring include being small and fast, with a compact syntax, dynamic typing, garbage collection, object-oriented support, and the ability to embed Ring code in C/C++ programs. The documentation also covers Ring's license, language design principles such as simplicity and organization, and its visual implementation process.
The document discusses developing multilingual apps and localization. It covers internationalization (i18n) and localization (l10n) basics like handling different languages and encodings. It demonstrates marking translatable strings in code and the process of building locales. Localization is defined as implementing a specific language for an already internationalized software by adapting it to a given culture. Steps for localizing free and open source software like building the environment and merging translations are outlined. The document also briefly mentions opportunities for contributing to localization efforts.
Anton Mishchuk - Multi-language FBP with FlowexElixir Club
This document discusses flow-based programming (FBP) and the Flowex library for implementing FBP in Elixir. It introduces FBP concepts like modeling applications as graphs of independent processes exchanging data. Flowex builds on GenStage to implement FBP using Elixir processes. It allows defining reusable component modules and controlling parallelism. The document also discusses tools for running external programs from Elixir using Erlang ports and provides a multi-language example using Ruby, Python and shell components in a Flowex pipeline.
The document provides information about internationalization (i18N) and localization (L10N). It discusses topics like what i18N and L10N are, why they are important, character encodings, locales, Unicode, and how to implement i18N in technologies like ColdFusion and Java. It also provides examples of using i18N functions and resource bundles for localization in ColdFusion applications.
Language translators convert programming source code into machine language understood by computer processors. The three major types are compilers, assemblers, and interpreters. Compilers translate high-level languages into machine code in one or more passes, assemblers assemble assembly language into machine code, and interpreters analyze and execute each line of source code as the program runs without pre-translation.
Software is a set of programs, which is designed to perform a well-defined function. A program is a sequence of instructions written to solve a particular problem.
Python is General purpose, High level programming language.Python is one of the simplest language ever. Syntaxes are simple, easy to
remember and quite expressive. When it comes to learning, it has been found that the learning curve for python is quite steeper compared to other programming languages.Python being freeware, you don’t have to spend on licensing. And since it is open source so its original source code is freely available and can be redistributed and modifiable.Python was developed to bridge the gap between C and shell
scripting and also include the feature of exception handling from ABC language. So we can say that, initially Python was interpreted language. But later it was made compiled and interpreted both.
Learn more about Python programming with Learnbay.
Visit:www.learnbay.co
A small presentation of the LIL programming language. Please note that the URLs presented there are not valid anymore. Use http://runtimelegend.com/rep/lil instead of the GitHub URL.
The document discusses compilers, defining them as programs that translate human-oriented programming languages into machine languages. It describes the main phases of a compiler as lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimization, and code generation. Finally, it outlines different types of compilers, including native code compilers, cross compilers, source-to-source compilers, one-pass compilers, threaded code compilers, incremental compilers, and source compilers.
The document discusses different types of language translators including compilers, interpreters, and assemblers. A language translator converts source code into object code that computers can understand. Compilers convert an entire program into object code at once, while interpreters convert code line-by-line. Compilers are generally faster but require more memory, and errors are detected after compilation. Interpreters are slower but use less memory and can detect errors as they interpret each line.
The document discusses compiler design options and the differences between compilers and interpreters. It states that a compiler converts a high-level language program into machine code all at once, while an interpreter converts the program line-by-line at runtime. Compilers generally execute programs faster but take longer to compile, while interpreters execute more slowly but can compile incrementally and debug line-by-line. The document also covers pure and impure interpreters, p-code compilers, and the roles of compilers and interpreters.
The talk will be about Flow-Based programming (FBP) using Flowex library built on top of Elixir GenStage feature. You will know about Flowex Railway-FBP design approach, about its abstractions, and the way to easily create pipelines of independent components. I’ll also demonstrate how one can use Ruby, Python, and, in general, any other programming language inside Flowex pipes and therefore create reusable components with language-specific functionality.
The document discusses creating a new programming language by implementing it on top of the Erlang Virtual Machine (BEAM). It describes the steps to design and implement a language frontend by parsing source code into an abstract syntax tree and generating bytecode. As an example, it outlines how to create a query language called TQL for the Tnesia time-series database by defining a syntax, using Erlang tools for lexical scanning and parsing, and directly evaluating the parsed syntax tree.
Ruby on Rails Internationalization Best Practices, i18n SFRAILSPhraseApp
The slides for @frederikvollert's talk at the #SFRAILS meetup in San Francisco. Typical best practices for i18n and l10n to translate and make your Rails application ready for an international audience. Looking to follow up with a step by step guide, what do you think?
The document outlines several construction projects in Bemidji, Minnesota and Park Rapids, Minnesota between 2008-2010, including a historic courthouse courtyard and senior housing residence built in 2008-2009 in Bemidji, concept plans for improving Bemidji City Park from 2010, and park concept plans designed for Park Rapids in 2007-2008.
Perl is a script programming language, which has a lot of similarity in syntax to “c” language. This also includes UNIX like sed;awk;tr etc. Perl is an interpreted language which can be assembled before execution in “c” code/bytecode. Once Perl is compiled, it is as fast as any other compiled “c” program. The Perl language is often considered as the best choice for the development of CGI (i.e Common gateway interface) due to its good text manipulation feature; even though it conducts only binary files.
High level languages like those using words like "if" and "else" are easier for humans to understand, while low level machine code using binary is what computers can directly understand. Translators are needed to convert high level code to low level code for the computer. There are two main types of translators - interpreters translate code line by line as the program runs, while compilers convert the entire program to object code before it runs. Both have pros and cons related to speed of execution and ease of debugging.
This document discusses computer languages and language translators. It defines computer languages as formal languages that specify instructions to produce output. It describes low-level languages like machine language and assembly language, which are close to binary machine code, and high-level languages like C++, Java, and BASIC, which are closer to English. Language translators like compilers, interpreters, and assemblers are used to translate programs between high-level languages and machine code. Compilers translate the entire program at once, while interpreters translate line-by-line, and assemblers translate assembly language to machine code.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1GHc3rO.
Alex Blewitt introduces the history behind Swift, why it was created, how it differs from Objective-C and how Swift is compiled and executed under the covers. Alex goes into details about how LLVM is used, the way that memory is managed, how objects are laid out, and a prediction of the way Swift and Objective-C will evolve over time. Filmed at qconlondon.com.
Dr Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTSTEP 3.0. He upgraded his NeXTstation for a TiBook when Apple released Mac OS X in 2001 and has been developing on it ever since. He is author of the recently published Swift Essentials.
This document discusses factors to consider when selecting a programming language for a project. It outlines dimensions for selection like capabilities, productivity, and costs. Key criteria include whether the language can meet expectations, development costs, ramp up time, and community support. The document also evaluates common languages like Java, PHP, Python and Ruby based on their strengths and weaknesses. It predicts trends in language popularity and adoption of functional programming concepts.
The document discusses the Ruby on Rails I18n internationalization gem. It covers setting up I18n, loading and storing translations, setting the locale from different sources like the URL, domain name, or client information, and translating Active Record and validation error messages.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1SJ7PSV.
Alex Blewitt talks about Swift, the open source released in December 2015 and available on Linux as well as OSX and iOS. He looks at the open-source project, how applications and libraries can be built for both platforms, the differences between the different builds and how Swift works under the hood. Filmed at qconlondon.com.
Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTSTEP 3.0. He currently works for a financial company in London and writes for the online technology news site InfoQ, as well as other books for Packt Publishing. He also has a number of apps on the App Store through Bandlem Limited.
The Ring programming language version 1.2 book - Part 4 of 84Mahmoud Samir Fayed
The document provides an overview and documentation of the Ring programming language. It discusses the history and development of Ring, beginning in 2013. Key features of Ring include being small and fast, with a compact syntax, dynamic typing, garbage collection, object-oriented support, and the ability to embed Ring code in C/C++ programs. The documentation also covers Ring's license, language design principles such as simplicity and organization, and its visual implementation process.
The document discusses developing multilingual apps and localization. It covers internationalization (i18n) and localization (l10n) basics like handling different languages and encodings. It demonstrates marking translatable strings in code and the process of building locales. Localization is defined as implementing a specific language for an already internationalized software by adapting it to a given culture. Steps for localizing free and open source software like building the environment and merging translations are outlined. The document also briefly mentions opportunities for contributing to localization efforts.
Anton Mishchuk - Multi-language FBP with FlowexElixir Club
This document discusses flow-based programming (FBP) and the Flowex library for implementing FBP in Elixir. It introduces FBP concepts like modeling applications as graphs of independent processes exchanging data. Flowex builds on GenStage to implement FBP using Elixir processes. It allows defining reusable component modules and controlling parallelism. The document also discusses tools for running external programs from Elixir using Erlang ports and provides a multi-language example using Ruby, Python and shell components in a Flowex pipeline.
The document provides information about internationalization (i18N) and localization (L10N). It discusses topics like what i18N and L10N are, why they are important, character encodings, locales, Unicode, and how to implement i18N in technologies like ColdFusion and Java. It also provides examples of using i18N functions and resource bundles for localization in ColdFusion applications.
Language translators convert programming source code into machine language understood by computer processors. The three major types are compilers, assemblers, and interpreters. Compilers translate high-level languages into machine code in one or more passes, assemblers assemble assembly language into machine code, and interpreters analyze and execute each line of source code as the program runs without pre-translation.
Software is a set of programs, which is designed to perform a well-defined function. A program is a sequence of instructions written to solve a particular problem.
Python is General purpose, High level programming language.Python is one of the simplest language ever. Syntaxes are simple, easy to
remember and quite expressive. When it comes to learning, it has been found that the learning curve for python is quite steeper compared to other programming languages.Python being freeware, you don’t have to spend on licensing. And since it is open source so its original source code is freely available and can be redistributed and modifiable.Python was developed to bridge the gap between C and shell
scripting and also include the feature of exception handling from ABC language. So we can say that, initially Python was interpreted language. But later it was made compiled and interpreted both.
Learn more about Python programming with Learnbay.
Visit:www.learnbay.co
A small presentation of the LIL programming language. Please note that the URLs presented there are not valid anymore. Use http://runtimelegend.com/rep/lil instead of the GitHub URL.
The document discusses compilers, defining them as programs that translate human-oriented programming languages into machine languages. It describes the main phases of a compiler as lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimization, and code generation. Finally, it outlines different types of compilers, including native code compilers, cross compilers, source-to-source compilers, one-pass compilers, threaded code compilers, incremental compilers, and source compilers.
The document discusses different types of language translators including compilers, interpreters, and assemblers. A language translator converts source code into object code that computers can understand. Compilers convert an entire program into object code at once, while interpreters convert code line-by-line. Compilers are generally faster but require more memory, and errors are detected after compilation. Interpreters are slower but use less memory and can detect errors as they interpret each line.
The document discusses compiler design options and the differences between compilers and interpreters. It states that a compiler converts a high-level language program into machine code all at once, while an interpreter converts the program line-by-line at runtime. Compilers generally execute programs faster but take longer to compile, while interpreters execute more slowly but can compile incrementally and debug line-by-line. The document also covers pure and impure interpreters, p-code compilers, and the roles of compilers and interpreters.
The talk will be about Flow-Based programming (FBP) using Flowex library built on top of Elixir GenStage feature. You will know about Flowex Railway-FBP design approach, about its abstractions, and the way to easily create pipelines of independent components. I’ll also demonstrate how one can use Ruby, Python, and, in general, any other programming language inside Flowex pipes and therefore create reusable components with language-specific functionality.
The document discusses creating a new programming language by implementing it on top of the Erlang Virtual Machine (BEAM). It describes the steps to design and implement a language frontend by parsing source code into an abstract syntax tree and generating bytecode. As an example, it outlines how to create a query language called TQL for the Tnesia time-series database by defining a syntax, using Erlang tools for lexical scanning and parsing, and directly evaluating the parsed syntax tree.
Ruby on Rails Internationalization Best Practices, i18n SFRAILSPhraseApp
The slides for @frederikvollert's talk at the #SFRAILS meetup in San Francisco. Typical best practices for i18n and l10n to translate and make your Rails application ready for an international audience. Looking to follow up with a step by step guide, what do you think?
The document outlines several construction projects in Bemidji, Minnesota and Park Rapids, Minnesota between 2008-2010, including a historic courthouse courtyard and senior housing residence built in 2008-2009 in Bemidji, concept plans for improving Bemidji City Park from 2010, and park concept plans designed for Park Rapids in 2007-2008.
The document is a letter from a friend expressing how they are always available to help and support the recipient during difficult times. It states that friends may come and go, but the friendship between the sender and recipient is "automatic" and will last forever. The friend promises to be there for the recipient when they are going through hard times and need someone to count on.
A rubyist's naive comparison of some database systems and toolkitsBelighted
This talk is a quick comparison of some of the many relational and non relational database systems that can be used with ruby.
It was given at Fosdem 2010 (http://fosdem.org) in the Ruby on Rails Developer Room.
The document discusses the biblical perspective on drugs and their origins. It references several passages from Genesis and Galatians that suggest drugs were originally used in pagan rituals and sorcery. The Greek word "pharmakeia" in Galatians 5:20, which is translated as "witchcraft", is where we get the words "pharmacy" and "pharmaceuticals". The document asserts that from a biblical standpoint, using and selling drugs is a sin according to this passage.
This document discusses Myanmar's process of democratization and the challenges it faces. It outlines Myanmar's political and economic reforms and need for national reconciliation. Some challenges include historical and geopolitical roots as a borderland country. The transition has been complex with dangers of radical trends and a "one-size-fits-all" approach. Additional challenges involve China-Myanmar relations, effects of sanctions, poverty, weak education, and weak rule of law. Myanmar's political culture includes issues like radical thinking and lack of democratic traditions that must also be addressed.
This document summarizes the history and features of internationalization (i18n) support in Ruby on Rails. It discusses how i18n was initially implemented through plugins with monkey patching, leading Rails 2.2 to bundle the i18n gem for a common API without patching. The gem provides translation and localization methods, along with backends like SimpleBackend for storage. Rails now supports i18n for validation errors, forms, numbers, dates and more through the i18n helper and configuration. Resources are provided for using i18n in Rails applications.
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 document provides guidance on internationalizing (i18n) applications to support multiple languages. It discusses best practices for translating text, handling pluralization, linking translations to views, and setting the locale based on user preferences. Challenges around legacy translation code and JavaScript integrations are also addressed. The document emphasizes DRY principles, automation, and convention over configuration to make translations scalable. It concludes with recommendations like generating locale files alongside scaffolds and failing builds when translations are missing.
The document discusses localization and internationalization in Ruby on Rails applications. It describes how to set up localization using the I18n gem to translate text into different languages. It also discusses the Globalize2 gem, which adds model translations to ActiveRecord to support multilingual content.
How To Build And Launch A Successful Globalized App From Day One Or All The ...agileware
Significant compromises are often made taking a product to market that cause downstream pain—success can mean endless hours re-architecting and retrofitting to go global, get past 508 compliance at universities or integrate partners. The good news is there are freely available technologies and strategies to avoid the pain. Learn from Zimbra’s experiences with ZCS and Zimbra Desktop (an offline-capable AJAX email application) including a checklist of do’s and don’ts and a deep dive into: i18n and l10n, 508 compliance (Americans with Disabilities Act), skinning, templates, time-date formatting and more.
From http://en.oreilly.com/oscon2008/public/schedule/detail/4834
1. The document discusses the different phases of a compiler, including lexical analysis, syntax analysis, semantic analysis, code optimization, and code generation.
2. It provides examples and explanations of each phase, describing how the compiler processes source code through each step to produce executable machine code.
3. The phases involve breaking source code into tokens, checking syntax and semantics, generating intermediate code, optimizing for efficiency, and finally mapping to target machine language instructions.
When a human programmer develops a set of instructions to directly tell a microprocessor how to do something
They’re programming in the CPU’s own “language” This language, which consists of the very same binary codes which the Control Unit inside the CPU chip decodes to perform tasks, is often referred to as machine language.
it is often written in hexadecimal form, because it is easier for human beings to work with. For example, I’ll present just a few of the common instruction codes for the Intel 8080 micro-processor chip.
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...adunne
Internationalizing Web 2.0 applications presents new challenges compared to traditional websites. Web 2.0 apps use multiple technologies like JavaScript, Flash, and desktop apps in addition to traditional websites. This multiplies the internationalization problem. The document recommends consolidating i18n by keeping all data in one place and automatically extracting strings from different app parts. It also discusses challenges like translating user-generated content and graphical text, and provides examples of how one company internationalized an app using a common i18n database format.
The document discusses translating .NET bytecode to run on the Parrot virtual machine (VM). It describes:
1) Choosing bytecode translation over other options like modifying compilers or embedding VMs, as it provides better performance and independence from programming languages.
2) The challenges of translating between the stack-based .NET bytecode and register-based Parrot bytecode.
3) The architecture developed to make the translation pluggable and declarative, including a metadata translator, instruction translator, and stack to register mapping modules.
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLars Trieloff
The document discusses internationalization challenges for Web 2.0 applications and proposes solutions. It notes that Web 2.0 applications use various technologies like JavaScript, Flash, and desktop applications that each have their own internationalization frameworks. It recommends consolidating internationalization by keeping all translation data in a common format and database, and allowing applications to access translations from this single source. The document also addresses challenges of translating user-generated content and graphical text, and suggests structuring content and generating graphics dynamically on the server to improve translatability.
This document discusses internationalization and localization in Ruby on Rails. It defines internationalization (i18n) as making an application support multiple languages without code changes, and localization (L10n) as adapting an application for a specific region or language. The document then explains how Rails version 2.2 introduced the I18n gem to provide easy internationalization capabilities out of the box like translating text and formatting dates and times for different locales. It also provides a brief overview of how the I18n features work in Rails.
(1) c sharp introduction_basics_dot_netNico Ludwig
This document provides an introduction to parsing an update log using different programming languages, including C#, Visual Basic, C++/CLI, F#, and others. It describes the problem of parsing a software update log file to retrieve the latest updates for different applications. It then shows sample code solutions in each language and provides brief descriptions and context about each language.
Easy contributable internationalization process with Sphinx @ pyconsg2015Takayuki Shimizukawa
1. The document provides an overview of internationalizing documentation built with Sphinx. It discusses generating POT files from reST files, preparing PO files for translation, and inputting translated PO files to generate translated HTML outputs.
2. Several methods for translation are presented, including easier contributable methods using services like Transifex that allow translation without needing to edit files directly.
3. Automating the translation process using tools like sphinx-intl, transifex-client, and a continuous integration service like Drone.io is described. This allows keeping translations up to date with minimal effort from document authors and translators.
Internationalizing & Localizing Your Modern JavaScript App
The current state of internationalization and localization (sometimes called i18n and l10n) tools for modern javascript apps is discussed, both for client-side and server-side rendered applications, including how to manage translation strings, handling plural forms, testing, translation process, and interfacing with external translation providers. I'll go over the currently available libraries, status of the INTL browser standard, and what I've found successful. The goal is to achieve an easy and well-translated app that scales to your audience, no matter where they are located and what language they speak.
Session held at DrupalCamp Ghent 2016, September 9th 2016
http://drupalcamp.be/node/161
Are you interested in writing contributed modules, themes or distributions for Drupal 8? Then this is the session for you. In this session, we'll look at the most important APIs you would use to integrate with and best practices to use to ensure that your project is fully multilingual-ready.
This session will be valuable to all contributors even those whose projects are not inherently multilingual. Even if your project is not immediately intended to be multilingual, having a multilingual-capable module, theme or distribution makes your solution appealing to a much broader audience and is likely to provide value to global users.
Drupal 8 is a great platform to work with not only because it is so multilingual capable out-of-the-box, but also because you can easily expand while maintaining the translatability of your data. Drupal 8’s multilingual core offers a robust multilingual foundation, making the integration process much more seamless.
The majority of Drupal 8's APIs are designed to support multilingual by default and make sane assumptions about common scenarios. As a result, there are several important things to keep in mind to build the best integration possible.
In this session, we will walk through:
Working with language APIs, and the language your data is in.
Making your output strings translatable: t() and its friends, but also in twig templates
Why you should and how to code translatable content entities.
Customizing your field properties translatability so site builders can choose.
Configuration translation: translating your configuration entities
INTENDED AUDIENCE
Drupal developers working with contrib or custom modules that are designed for multilingual or non-English sites would benefit from this session (that means nearly every Drupal developer out there).
Drupal themers intending to make their theme templates translation ready.
Attendees will walk away with knowledge to add Drupal 8 multilingual support to your modules, themes and distributions.
SKILL LEVELS
This session is suitable for beginners or intermediate Drupal users. It is best if you come to the session with some exposure to OOP, Drupal 8 code and twig templates, but even if you don’t have that foundation I’m sure you can catch up.
All the language support in Drupal 8 - At Drupalaton 2014Gábor Hojtsy
The document discusses the improvements to language and translation support in Drupal 8. Key changes include simplifying the language configuration, making content translation more flexible through fields, adding block and configuration translation, and integrating automated translation downloads. It also notes areas for further improvement through contributed modules.
Chapter 2 instructions language of the computerBATMUNHMUNHZAYA
The document discusses the MIPS instruction set architecture. It describes the different types of instructions including arithmetic, logical, and conditional instructions. It explains the register-based and memory-based operands, immediate operands, and how instructions are encoded in binary machine code. Key aspects like simplicity, regularity, and optimization for common cases are emphasized in the design of the MIPS ISA.
The document discusses internationalization and error handling in ABAP Web Dynpro applications. It describes the Online Text Repository (OTR) which provides centralized storage and translation of texts. Developers can bind UI elements to OTR texts to retrieve translated text at runtime. The IF_WD_MESSAGE_MANAGER interface allows reporting different types of messages to users in a dedicated message area. Standard hook methods like WDDOBEFOREACTION can also be used to perform validation before actions.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
3. What we are talking about
Internationalization (i18n): “designing a software
application so that it can be adapted to various
languages and regions without engineering changes”
Localization (L10n): “the process of adapting
software for a specific region or language by adding
locale-specific components and translating text”
4. What it means
This emcompasses
Language
Culture
Writing conventions
Why does it matter?
Not everybody speaks english, even on the web
In Europe: dozens of cultures and languages
5. Rails i18n before 2.2
English was hardcoded in the codebase
Rails was a framework localized to English (en-US)
6. Rails i18n before 2.2
i18n plugins had to monkey-patch Rails everywhere
Remove english defaults
Enhance business logic so that it handles translation
7. The Rails i18n framework
Started in Sep ’07 by several i18n plugin developers
Aim:
eliminate the need to monkey-patch Rails for i18n
implement a minimal, common API for all solutions
8. The Rails i18n framework
A gem by Sven Fuchs and other contributors
http://github.com/svenfuchs/i18n
Shipped with Rails since 2.2 (ActiveSupport vendor dir)
2 parts:
An API
A minimal “Simple” backend implementing the API
9. The Rails i18n framework
The API is now used by Rails instead of hardcoded
strings
The Simple Backend implements the API to re-localize
Rails back to en-US
Rails is still a framework localized to English, but it’s
now globalized too
Doesn’t remove the need for plugins!
10. The Rails i18n framework
Advantages?
The backend can easily be swapped
No monkey-patching anymore!
11. The i18n module in details
Defines #translate / #t and #localize / #l
Stores the current locale in Thread.current
Store a default locale
Stores a backend
Stores an exception handler
12. So how do I translate?
Put your translations in config/locales (YAML or Ruby),
or use I18n.backend.store_translations in the console:
I18n.backend.store_translations :en, :hi => “Hi!”
I18n.backend.store_translations :fr, :hi => “Salut!”
Set the current locale:
I18n.locale = :fr
Keys can be strings or symbols:
I18n.t :message
I18n.t 'message'
17. Localizing dates and times
I18n.l Time.now, :locale => :en
"Sun, 08 Feb 2009 15:42:42 +0100"
I18n.l Time.now, :locale => :fr
=> "08 février 2009 15:42"
I18n.l Date.today, :locale => :fr, :format => :short
=> "8 fév"
You have to provide the localizations!
18. Short demo
Basic “hello world” app:
Configure the i18n module
Set the locale in each request
Internationalize the application
19. Shortcomings
The simple backend is... simple
Pluralization is basic (singular and plural)
Storage only in YAML or Ruby files
No model translations
21. Model translations
#translates specifies
which fields you want to be
translatable
The accessor will return the
localized version
transparently
22. Model translations
The translations are stored
in a separate table for each
model
Shortcut:
Post.create_translation_table!
:title => :string,
:text => :text
24. Locale fallbacks
Allows you to set fallbacks when a translation is not
available in a particular locale
I18n.fallbacks[:"es-MX"]
# => [:"es-MX", :es, :"en-US", :en]
You can edit fallback chains
I18n.fallbacks.map :ca => :"es-ES"
I18n.fallbacks[:ca]
# => [:ca, :"es-ES", :es, :"en-US", :en]
25. Custom pluralization logic
For languages not behaving like English
Globalize2’s pluralization logic is not hardcoded
New rules can by added with lambdas
@backend.add_pluralizer :cz, lambda { |c|
c == 1 ? :one : (2..4).include?(c) ? :few : :other
}
26. Missing translations log
handler
Will log all missing translations in a file
require 'globalize/i18n/missing_translations_log_handler’
logger = Logger.new("#{RAILS_ROOT}/log/missing_trans.log")
I18n.missing_translations_logger = logger
I18n.exception_handler = :missing_translations_log_handler
Pretty useful to quickly find what’s missing
28. The Translate plugin
Adds a translation UI to
your app in seconds
Allows you or your
translators to easily
translate all your strings
Available on Github:
http://github.com/
newsdesk/translate/