An overview of the Rails i18n functionality and lessons learned from working to internationalize our application. Official Rails i18n support is still relatively new & continuing to mature. Will also cover our Translator plugin we're developing to simplify the process of externalizing strings & testing an internationalized app.
This document discusses Rails and FreeWheel's use of Rails for their monetization platform. Some key points:
- FreeWheel uses Rails for their MRM/RPM user interface and has upgraded their Rails version over time from 1.2 to 3.1.
- They take a quick development approach using Rails conventions but also optimize for performance.
- Their architecture includes Rails modules, widgets built with jQuery, and a Unicorn HTTP server for handling requests.
This document introduces portlets and discusses their key characteristics. Portlets are self-contained components that can be placed on web pages and portals to provide modular functionality like weather, feeds, etc. They run in a portlet container on top of the servlet API and provide modes and states. The standard portlet API lacks MVC and data binding capabilities, which frameworks like Spring Portlet address. Best practices include treating portlets as view-only technologies and separating business logic into services.
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.
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
This document contains notes from a presentation given by Tatsuhiro Ujihisa on internationalization in Ruby on Rails. It discusses the need to support multiple languages in applications, introduces the Ruby-GetText-Package gem for localization, and provides steps for its implementation including editing configuration files, controllers, Rakefiles and PO files. It also lists some Japanese software and events that may be of interest.
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 Rails and FreeWheel's use of Rails for their monetization platform. Some key points:
- FreeWheel uses Rails for their MRM/RPM user interface and has upgraded their Rails version over time from 1.2 to 3.1.
- They take a quick development approach using Rails conventions but also optimize for performance.
- Their architecture includes Rails modules, widgets built with jQuery, and a Unicorn HTTP server for handling requests.
This document introduces portlets and discusses their key characteristics. Portlets are self-contained components that can be placed on web pages and portals to provide modular functionality like weather, feeds, etc. They run in a portlet container on top of the servlet API and provide modes and states. The standard portlet API lacks MVC and data binding capabilities, which frameworks like Spring Portlet address. Best practices include treating portlets as view-only technologies and separating business logic into services.
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.
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
This document contains notes from a presentation given by Tatsuhiro Ujihisa on internationalization in Ruby on Rails. It discusses the need to support multiple languages in applications, introduces the Ruby-GetText-Package gem for localization, and provides steps for its implementation including editing configuration files, controllers, Rakefiles and PO files. It also lists some Japanese software and events that may be of interest.
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 localizing Ruby on Rails applications. It defines internationalization, localization, and globalization. Localization in Rails involves translating views, models, dates/times, currencies, numbers and other elements to different locales. The document reviews various Rails plugins that can help with localization, including Globalize, Localize, Gloc, and Ruby Gettext. It recommends choosing localization tools wisely and considering model translations may require Globalize.
This document discusses different options for hosting Ruby on Rails applications at Openminds BVBA. It describes their shared hosting with two versions - the first uses Lighttpd and FastCGI, while the second uses Passenger. It notes some pros and cons of each approach. It also outlines their dedicated hosting approach where clients have more control over technologies. Common services mentioned include Capistrano for deployment, monitoring with Monit, and syncing gem versions.
The document discusses microblogging using the XMPP protocol. It provides background on XMPP, describes how it can enable microblogging in near real-time, and outlines the speaker's microblogging application built with Ruby that uses an XMPP bot, EventMachine for concurrency, Sequel as an ORM, and Ramaze as a web framework. Key features of the application include models for users, micros, and relations between them, an API for accessing data, and a plugin architecture for the XMPP bot.
The document provides an overview of SQLitePersistentObjects (SQLPO), an object-relational mapping (ORM) tool for SQLite databases on iPhone. It discusses how SQLPO allows defining persistent objects that can save and load data to/from a SQLite database with simple calls. Properties of persistent objects automatically map to database columns. SQLPO supports finding, filtering, indexing objects and more with minimal code. The document gives examples of defining persistent objects and performing common data operations like saving, loading, querying objects using SQLPO.
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
Slightly more generic version of my 'Enterprise PHP' talk, adjusted for the 4developers conference's 'dedicated languages' track that features developers with different backgrounds.
The document discusses the Merb web framework and promotes its flexibility, performance, and modularity compared to other Ruby web frameworks like Rails. It provides examples of generating different types of Merb applications and highlights Merb's ability to be opinionated or agnostic. The document argues that Merb is fast enough for real-world web applications and that hardware costs outweigh development costs, so focusing on developer productivity is important. It also discusses upcoming Merb 2.0 features and asks if anyone has any other questions.
This document discusses ruote, an open source Ruby workflow engine project. It provides an overview of ruote and its subprojects, which include ruote-fluo for process definitions, and ruote-web and ruote-rest for integrating ruote with web applications. The document also covers using Ruby for workflow applications, the concept of a workflow language and expressions, and making workflow resources and processes accessible via web standards like HTTP and REST.
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.
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 summarizes a conference called the JVM Language Summit that was held in 2008. Over 80 key VM and language designers met for 3 days to discuss the future of their projects related to the Java Virtual Machine (JVM). Presentations were given on various languages and VMs like Java, Clojure, Scala, and the HotSpot VM. Key topics of discussion included invokedynamic, metaobject protocols, language interoperability, and platform design. Attendees found the rapid exchange of ideas and new partnerships formed to be very valuable for advancing innovation on the JVM.
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.
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...360|Conferences
This session is designed to create a basic application which has i18N capability with static, dynamic content and database and other platform integration. Every possible integration points such as database, XML or web services etc. will be included in the application with samples. ColdFusion will be used as application server for integration samples.
Designed for 2 hours session and needs to have a laptop with Flex Builder installation. For integration samples, ColdFusion installation and one of the database engines of MySQL or MSSQL would be ideal.
090309 Rgam Presentatie Evernote And Tarpipe Finalgebbetje
The document summarizes a project testing the applications Evernote and Tarpipe from February 1 to today. It explored using them to create extended functionality like a shopping list, barcode scanning, and inventory applications. It found they were promising but limited by bugs, OCR quality, language support and upload limits. A comparison showed Evernote was better than similar apps for features like pictures, file types and backup. The project also created a translation workflow using Evernote, SMS and a webserver. In conclusion, while helpful, the apps were not ready to be critical applications due to dependencies on buggy third party software.
The document discusses Ruby on Rails. It introduces the author Karmen Blake, a software engineer who works with Ruby, Rails and iPhone development. It then defines Rails as a framework that makes developing, deploying and maintaining web applications easier. Rails uses conventions over configurations and the MVC pattern. It also notes that Rails follows agile principles and that ActiveRecord is an ORM that handles database interactions through an easy syntax.
This document discusses building the Ruby programming language in Smalltalk. It addresses some of the key challenges in doing so, including differences in the compilers, handling different argument arities between Ruby and Smalltalk methods, allowing Ruby and Smalltalk code to coexist, handling per-instance behavior, and tracking per-instance variables in Ruby. Synthetic "bridge" methods are discussed as one approach to addressing differences in argument arities. The document also shows how the number of core Ruby tests passed has increased over time, suggesting the choice to implement Ruby in Smalltalk was a good one.
Merb is a flexible and modular web framework for Ruby that meets enterprise needs through low cost, adaptability, and scalability. It allows developers to pick and choose components to meet their specific needs, and its modular architecture makes it fast and lightweight. Merb provides a balance of structure and flexibility that makes it suitable for a wide range of applications.
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.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
This document discusses localizing Ruby on Rails applications. It defines internationalization, localization, and globalization. Localization in Rails involves translating views, models, dates/times, currencies, numbers and other elements to different locales. The document reviews various Rails plugins that can help with localization, including Globalize, Localize, Gloc, and Ruby Gettext. It recommends choosing localization tools wisely and considering model translations may require Globalize.
This document discusses different options for hosting Ruby on Rails applications at Openminds BVBA. It describes their shared hosting with two versions - the first uses Lighttpd and FastCGI, while the second uses Passenger. It notes some pros and cons of each approach. It also outlines their dedicated hosting approach where clients have more control over technologies. Common services mentioned include Capistrano for deployment, monitoring with Monit, and syncing gem versions.
The document discusses microblogging using the XMPP protocol. It provides background on XMPP, describes how it can enable microblogging in near real-time, and outlines the speaker's microblogging application built with Ruby that uses an XMPP bot, EventMachine for concurrency, Sequel as an ORM, and Ramaze as a web framework. Key features of the application include models for users, micros, and relations between them, an API for accessing data, and a plugin architecture for the XMPP bot.
The document provides an overview of SQLitePersistentObjects (SQLPO), an object-relational mapping (ORM) tool for SQLite databases on iPhone. It discusses how SQLPO allows defining persistent objects that can save and load data to/from a SQLite database with simple calls. Properties of persistent objects automatically map to database columns. SQLPO supports finding, filtering, indexing objects and more with minimal code. The document gives examples of defining persistent objects and performing common data operations like saving, loading, querying objects using SQLPO.
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
Slightly more generic version of my 'Enterprise PHP' talk, adjusted for the 4developers conference's 'dedicated languages' track that features developers with different backgrounds.
The document discusses the Merb web framework and promotes its flexibility, performance, and modularity compared to other Ruby web frameworks like Rails. It provides examples of generating different types of Merb applications and highlights Merb's ability to be opinionated or agnostic. The document argues that Merb is fast enough for real-world web applications and that hardware costs outweigh development costs, so focusing on developer productivity is important. It also discusses upcoming Merb 2.0 features and asks if anyone has any other questions.
This document discusses ruote, an open source Ruby workflow engine project. It provides an overview of ruote and its subprojects, which include ruote-fluo for process definitions, and ruote-web and ruote-rest for integrating ruote with web applications. The document also covers using Ruby for workflow applications, the concept of a workflow language and expressions, and making workflow resources and processes accessible via web standards like HTTP and REST.
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.
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 summarizes a conference called the JVM Language Summit that was held in 2008. Over 80 key VM and language designers met for 3 days to discuss the future of their projects related to the Java Virtual Machine (JVM). Presentations were given on various languages and VMs like Java, Clojure, Scala, and the HotSpot VM. Key topics of discussion included invokedynamic, metaobject protocols, language interoperability, and platform design. Attendees found the rapid exchange of ideas and new partnerships formed to be very valuable for advancing innovation on the JVM.
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.
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...360|Conferences
This session is designed to create a basic application which has i18N capability with static, dynamic content and database and other platform integration. Every possible integration points such as database, XML or web services etc. will be included in the application with samples. ColdFusion will be used as application server for integration samples.
Designed for 2 hours session and needs to have a laptop with Flex Builder installation. For integration samples, ColdFusion installation and one of the database engines of MySQL or MSSQL would be ideal.
090309 Rgam Presentatie Evernote And Tarpipe Finalgebbetje
The document summarizes a project testing the applications Evernote and Tarpipe from February 1 to today. It explored using them to create extended functionality like a shopping list, barcode scanning, and inventory applications. It found they were promising but limited by bugs, OCR quality, language support and upload limits. A comparison showed Evernote was better than similar apps for features like pictures, file types and backup. The project also created a translation workflow using Evernote, SMS and a webserver. In conclusion, while helpful, the apps were not ready to be critical applications due to dependencies on buggy third party software.
The document discusses Ruby on Rails. It introduces the author Karmen Blake, a software engineer who works with Ruby, Rails and iPhone development. It then defines Rails as a framework that makes developing, deploying and maintaining web applications easier. Rails uses conventions over configurations and the MVC pattern. It also notes that Rails follows agile principles and that ActiveRecord is an ORM that handles database interactions through an easy syntax.
This document discusses building the Ruby programming language in Smalltalk. It addresses some of the key challenges in doing so, including differences in the compilers, handling different argument arities between Ruby and Smalltalk methods, allowing Ruby and Smalltalk code to coexist, handling per-instance behavior, and tracking per-instance variables in Ruby. Synthetic "bridge" methods are discussed as one approach to addressing differences in argument arities. The document also shows how the number of core Ruby tests passed has increased over time, suggesting the choice to implement Ruby in Smalltalk was a good one.
Merb is a flexible and modular web framework for Ruby that meets enterprise needs through low cost, adaptability, and scalability. It allows developers to pick and choose components to meet their specific needs, and its modular architecture makes it fast and lightweight. Merb provides a balance of structure and flexibility that makes it suitable for a wide range of applications.
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.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
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.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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.
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.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
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.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
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.
4. Can Rails Scale?
... to Multiple Languages?
Wednesday, March 11, 2009
5. Agenda
• Who is Mike?
• Internationalization (i18n) Overview
• Rails Support for i18n
• Pitfalls
• Translator plugin
• Further Reading
Wednesday, March 11, 2009
6. Mike Champion
• Speaks English and Spanish very poorly
• Heading to RailsConf - see you in Las Vegas?
• The Usual URIs
• graysky.org
• twitter.com/graysky
• github.com/graysky
• Developer at SnapMyLife
• Mobile photo sharing
• Global user base
Wednesday, March 11, 2009
7. Iñtërnâtiônàlizætiøn
• Level 0: App handles utf-8 data
• Database & database.yml configuration
• Multi-byte string handling (since Rails 1.2 / Ruby 1.9)
• Ruby 1.8: “café”.length => 5
• Rails MB: “café”.mb_chars.length 4
=>
• Level 1: App is internationalized
• Strings extracted, dates, etc. (support in Rails 2.2)
• Level 2: App is localized
• Strings translated / tested (on your own - good luck!)
Wednesday, March 11, 2009
8. I18n Concerns
• Strings
• Concatenation is evil when used to form sentences
• Sorting & Searching
• Swedish: z < ö while in German: ö < z
• Dates/Times & Timezones
• 12/4/09 vs. 4/12/09
• Units, Addresses & Currency
• Miles vs. kilometers, 5-digit zip codes
• Cultural
• Surname & given name
• Icons, colors, etc.
Wednesday, March 11, 2009
9. ¡Dios mío!
(Lo Siento)
Wednesday, March 11, 2009
12. Rails I18n
• Internationalized ActiveSupport for:
• Numbers - number_with_delimiter, etc.
• Datetime - distance_of_time_in_words, etc.
• Currency - number_to_currency
• Localized views - index.de.erb.html (Rails 2.3)
• Useful if translating to one other language
Wednesday, March 11, 2009
13. International Models*
• Map model name & attributes to human-readable strings
using I18n lookup
• User.human_name() => “Customer”
• User.human_attribute_name(‘pin’) =>
“Password”
• Useful to easily change user-visible column names
• Translate ActiveRecord validation errors
• validates_presence_of :pin
• activerecord.errors.messages.models.user.attributes.pin.blank:
“Password can’t be blank, yo”
* Not the Exciting Kind...
Wednesday, March 11, 2009
14. Sorting (aka Collation)
• Example: Germans, French and Swedes sort the
same characters differently
• MySQL supports different collation algorithms
• utf8_general_ci - faster, less correct
• utf8_unicode_ci - slightly slower, better
• implements Unicode Collation Algorithm
• http://www.unicode.org/reports/tr10/
• Haven’t seen a Ruby implementation
Wednesday, March 11, 2009
15. Pitfalls
• Gems & plugins may not be i18n’d
• Embedded links/markup are painful
• “You <span>must</span> out my <%=
link_to(“awesome blog”, ‘http://foo’) %> today!”
• Prefer label : value when possible
• Text verbosity will change layouts.
• Duplicate keys shadow each other in yml
• MY_ERROR_MSG = t(‘bad_password’)
• Careful with fragment/action caching
Wednesday, March 11, 2009
16. Translator
• I18n integration could be more Rails-y
• Automatically determines scoping using a convention
• Adds “t” method to views, models, controllers, mailers
• t(‘title’) in blog_posts/show.erb will fetch
t(‘blog_posts.show.title’)
• Test helper to any catch missing translations
• Pseudo-translation (ex. “[My Blog]”) to find missing
extractions
• Useful for testing layouts when text expands in other language
• Locale fallback to default_locale if cannot find string
• Plugin at: http://github.com/graysky/translator
Wednesday, March 11, 2009
18. Determining Locale
• Locale more than just Language
• User Preference
• Domain name - foo.com vs. foo.de
• Path prefix - foo.com/de/blog_posts
• HTTP Accept-Language Header
• zh-Hans (simplified Chinese) => “zh”
• IP Geolocation
• GeoIP Lite Country database
Wednesday, March 11, 2009
19. Further Reading
• Rails I18n Guide
• http://guides.rubyonrails.org/i18n.html
• i18n_demo_app
• http://github.com/clemens/i18n_demo_app
• Rails i18n Group
• http://groups.google.com/group/rails-i18n
• Translate - web ui for yml translatations
• http://github.com/newsdesk/translate
• Unicode Common Locale Data Repository (CLDR)
• http://www.unicode.org/cldr/
• “Survival Guide to i18n” (not Rails specific)
• http://www.intertwingly.net/stories/2004/04/14/i18n.html
Wednesday, March 11, 2009
- Turn off Growl / IM / Twitterffic / Gmail notifications
- Quick overview of Rails and i18n.
- Long topic -- people write books on this!
- “m2e c6n”
- Better at computer languages than human ones
- Not an I18n expert / knowledge welcome
- SML has users from every country
- Talk comes from our work to i18n our Rails app
- Ask: how many have had pleasure of internationalizing an application?
- 0: Rails 1.2 added UTF-8 support for string manipulation. Ruby 1.9 adds real UTF-8 support
- 1: DHH (Dane) + Matz (Japanese) == English-only?
- 1: Rails core is now i18n’d, and only localized to English
- Can affect data model! Address shouldn’t expect 5-digit ZIP code
- People might not use “first name” “last name”
- A mailbox icon might not register as “email”. Images of red traffic light for “stop”.
- Lots of issues to think about
- Sorry for the bad Spanish
- The more languages you see, the more Erlang & Haskell look normal
- If you like gory details about diacritic marks, tertiary sorting criteria and standards you’ll love this!
- Extraction from what we’ve learned at SML
- End up having some strings in controllers (flash), mailers (subject lines), models (errors)
- Mention scoping backoff for key hierarchy
- British English vs. American English
- In Japan, but prefer English