Internationalization in the Java Stack Matt Wheeler.

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Servlets and Java Server Pages.
Advertisements

9 Copyright © 2005, Oracle. All rights reserved. Modularizing JavaServer Pages Development with Tags.
JavaScript and AJAX Jonathan Foss University of Warwick
Programming Paradigms and languages
J2EE training: 1 Course Material Usage Rules PowerPoint slides for use only in full-semester, for-credit courses at degree-granting.
Intermediate Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
 Copyright Wipro Technologies JSP Ver 1.0 Page 1 Talent Transformation Java Server Pages.
Introduction to Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
Intermediate Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
WEB1P servintro1 Introduction to servlets and JSP Dr Jim Briggs.
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
CS 299 – Web Programming and Design Overview of JavaScript and DOM Instructor: Dr. Fang (Daisy) Tang.
Internationalization and the Java Stack Part 2 Matt Wheeler.
Introduction to Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
UNIT-V The MVC architecture and Struts Framework.
Intermediate Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
JSP Standard Tag Library
Intermediate Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
Sakai: Localization & Internationalization Beth Kirschner University of Michigan
SOFTWARE INTERNATIONALIZATION Dallas Ramsden. Internationalization GOAL Software that can run ANYWHERE in the world without having the source code changed.
Internationalization and the Java Stack Part 1 Matt Wheeler.
Sadegh Aliakbary. Copyright ©2014 JAVACUP.IRJAVACUP.IR All rights reserved. Redistribution of JAVACUP contents is not prohibited if JAVACUP.
L10n and I18n in the Real World Dan Moore Moore Consulting June 9, 2005.
Internationalization and the Java Stack Matt Wheeler.
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
Introduction to Java Server Pages (JSPs) Robert Thornton.
Introduction to JavaServer Pages (JSP) Slides from Dr. Mark Llewellyn.
Chapter 8 Script-free pages. Problem with scripting in JSP When you use scripting (declaration, scriplet, expressions) in your JSP, you actually put Java.
Company Confidential 1 This presentation is solely for the use of Patni personnel. No part of it may be circulated, quoted, or reproduced for distribution.
Creating With Code.
Internationalization in the Java Stack Matt Wheeler.
Introduction to Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
JAVA SERVER PAGES CREATING DYNAMIC WEB PAGES USING JAVA James Faeldon CS 119 Enterprise Systems Programming.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
© Blackboard, Inc. All rights reserved. Deploying a complex building block Andre Koehorst Learning Lab Universiteit Maastricht, the Netherlands July 18.
Introduction to the Visual Studio.NET IDE (LAB 1 )
DHTML AND JAVASCRIPT Genetic Computer School LESSON 5 INTRODUCTION JAVASCRIPT G H E F.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
JSTL Lec Umair©2006, All rights reserved JSTL (ni) Acronym of  JavaServer Pages Standard Tag Library JSTL (like JSP) is a specification, not an.
Computers and Scientific Thinking David Reed, Creighton University Functions and Libraries 1.
WAM and the Java Stack. Disclaimer Please ask questions There are hands on labs Prerequisites: – Basic Java knowledge – Basic Spring knowledge – LDS Account.
1 User Interface Design Components Chapter Key Definitions The navigation mechanism provides the way for users to tell the system what to do The.
Daisy Arias Math 382/Lab November 16, 2010 Fall 2010.
Internationalizing Sakai Raúl Mengod Universidad Politécnica de Valencia (Spain)
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Views Rendering custom views.
Intermediate Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
© 2000 – All Rights Reserved - Page 1 Introduction to JavaScript Programming Part One.
10 Localization Tips for e-Learning. Page Localization Tips for e-Learning Hello. Buenos Dias. Ciao. Konichiwa. Zdravstvuite.
JSP BASICS AND ARCHITECTURE. Goals of JSP Simplify Creation of dynamic pages. Separate Dynamic and Static content.
Introduction to Servlets Allen Day. Notes This is a training NOT a presentation Please ask questions Prerequisites.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
JAVA BEANS JSP - Standard Tag Library (JSTL) JAVA Enterprise Edition.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Basic JSP Celsina Bignoli Problems with Servlets Servlets contain –request processing, –business logic –response generation all lumped.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Specifications …writing descriptive detail. Specifications: Purpose Document a product in enough detail that someone else could create or maintain it.
Chapter 3 JSP Overview. The Problem with Servlets processing the request and generating the response are both handled by a single servlet class Java programming.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
Intermediate JSP Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic Java.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Internationalization and the Java Stack Part 2 Matt Wheeler.
CGS 3066: Web Programming and Design Spring 2016 Introduction to JavaScript.
introductionwhyexamples What is a Web site? A web site is: a presentation tool; a way to communicate; a learning tool; a teaching tool; a marketing important.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
Internationalization
Core LIMS Training: Advanced Administration
JavaScript.
Provide Effective Internationalization and Accessibility Lecture-13
Presentation transcript:

Internationalization in the Java Stack Matt Wheeler

Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Introduction to Spring – Basic Java and XML skills – Installed LdsTech IDE (or other equivalent – good luck there ;)

Overview Stack provided internationalizaton tools Message source expression language resolver JS Message source Internationalization best practices Internationalization testing Dynamic pseudo translation

Expression Language Resolver Provide message resolver can be utilized in EL sites/stack/module.html?module=web- spring/#El_Message_Source ${messages['abc.def.ghi']}

JavaScript Source JS Configuration messageSourceController

MessageSource with JS Usage in a JSP page alert(msgs['abc']);

Some I18n Best Practices Externalize ALL translatable text Do not concatenate translations Create duplicate / separate resources Avoid text in images

Externalize ALL Text Page label - "Name: “ "Name:" including the colon, and not just "Name" externalized – Otherwise require contatenation - the “Name”coming out of the bundle with : on the page : and associated formatting can be different in different languages – It might also be in a different order

Do NOT Concatenate Translations For example: Attempted usage key1=Someone named key2=likes hiking. ${messages['key1']} Billy ${messages['key2']}

More Correct Way Create a single string with replaceable parameters Sentence maintains context – Parameters can be moved around to accommodate language grammar For example: And then it will be used as follows: key=Someone named {0} likes hiking.

Create Separate Resources Counter intuitive to code reuse concept Same English strings should not be shared Within the same application, or even the same page Create a separate key value pair for each occurrence Words change based on context Concept of masculine and/or feminine, age classes, … Or usage Similar English words may not be similar in another language

Avoid Placing Text in Images An image that contains text will require a new image for each language It will also require a custom way to load the image Impose the text over the image, using.css or other ingenious alternative – Then the text can be stored in the resource bundles with all other strings – And it won’t require a new image for each language

I18n Testing (Dynamic Pseudo Translation) Configured to translate for specified locales Simplifies testing – Expansion – Special characters – Completeness – zz locale sites/stack/module.html?module=web- spring/#Pseudo_Translation_Message_Source_Faca de

Dynamic Pseudo Translation The trick (delegate) <bean id="delegatingMessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> classpath:messages

Lab

Other Considerations Avoid cultural references Avoid sports analogies Avoid colloquialisms Non-translatable names Avoid animal / hand gesture icons Understand color connotations by culture – Blue is safest color generally

asdf

Lab 1: Internationalize a page ab_2_Dependency_Injection

Credit where credit is due ials/j-i18n/section2.html