When it comes to ensuring your users get the best possible user experience out of your app, it’s better to answer which countries your app will be available in sooner than later. Whether you’re building enterprise scale software or working freelance on apps for clients, internationalizing and localizing your website is no easy feat. Luckily, the community has stepped up to provide solutions to keep our code flexible and DRY.
In this talk, Angular developer Sarah Hudson will answer the questions of what internationalization and localization are, and how you can setup your Angular app to handle multiple locales. We’ll go over:
• The built in $locale service and filters for handling date and currency
• The angular translate plugin
• Handling calendars for alternative date and day of week formats
• How to check for and store locale
• How to force directives to refresh locale on the fly
• Issues you may face while implementing i18n and questions you may want to ask
The document discusses clients and servers, middleware, and different types of client-server architectures. It provides definitions and examples of clients, servers, middleware, fat clients, fat servers, 2-tier architectures, and 3-tier architectures. It also compares characteristics and advantages of 2-tier vs 3-tier architectures.
Build Your Own Performance Test Lab in the CloudTechWell
Many cloud-based performance and load testing tools claim to offer “cost-effective, flexible, pay-as-you-go pricing.” However, the reality is often neither cost-effective nor flexible. With many vendors, you will be charged whether or not you use the time (not cost effective), and you must pre-schedule test time (not always when you want and not always flexible). In addition, many roadblocks are thrown up—from locked-down environments that make it impossible to load test anything other than straight-forward applications, to firewall, security, and IP spoofing issues. Join Leslie Segal to discover when it makes sense to set up your own cloud-based performance test lab, either as a stand-alone or as a supplement to your current lab. Learn about the differences in licensing tools, running load generators on virtual machines, the real costs, and data about various cloud providers. Take home a road map for setting up your own performance test lab—in less than twenty-four hours.
Rapid Miner is an open-source data mining software tool. It provides functionality for data loading, preprocessing, transformation, data mining, modeling, evaluation, and deployment. Rapid Miner uses learning schemes and attribute evaluators from Weka and statistical modeling schemes from R. It can be used for tasks like text mining, feature engineering, and distributed data mining. Rapid Miner includes a graphical user interface to design analytical workflows using operators. It can also be called as an API or from the command line.
This document provides an overview of object-oriented programming concepts. It discusses the need for OOP, defining classes and objects, class hierarchies and inheritance, method binding and overriding, exceptions, and abstraction mechanisms. The key concepts covered are objects, classes, encapsulation, inheritance, polymorphism, and abstraction.
.NET is a framework developed by Microsoft that allows development of various application types across different platforms. It includes a common language runtime (CLR) that executes code in an environment managed by the runtime. Programming languages are compiled to an intermediate language (IL) that is then compiled to native machine code by the CLR. The .NET framework provides a large class library, language interoperability, memory management and security. It supports development of web, desktop, mobile and web services applications.
C# is a component-oriented programming language that builds on the .NET framework. It has a familiar C-like syntax that is easy for developers familiar with C, C++, Java, and Visual Basic to adopt. C# is fully object-oriented and optimized for building .NET applications. Everything in C# belongs to a class, with basic data types including integers, floats, booleans, characters, and strings. C# supports common programming constructs like variables, conditional statements, loops, methods, and classes. C# can be easily combined with ASP.NET for building web applications in a powerful, fast, and high-level way.
This document provides an overview of various programming concepts including variables, data types, decision making statements, loops, and more. It defines variables as named storage areas that can be manipulated by programs. Common variable types like char, int, float, and double are described along with their characteristics. Syntax and examples are given for if/else statements, switch statements, ternary operators, break, continue, and the various loop structures like for, while, and do-while loops. The document concludes by advertising an online programming course offered by Baabtra and providing contact information.
This document discusses responsive design with Bootstrap. It introduces Bootstrap as an open-source front-end framework that allows developers to create responsive websites. It highlights new features in Bootstrap 3.1.1 like a mobile-first approach and support for different screen resolutions. The document also explains the Bootstrap grid system which uses rows and columns to layout responsive content. It provides an example of the grid system and discusses other Bootstrap components like glyphs, buttons, and JavaScript plugins.
The document discusses clients and servers, middleware, and different types of client-server architectures. It provides definitions and examples of clients, servers, middleware, fat clients, fat servers, 2-tier architectures, and 3-tier architectures. It also compares characteristics and advantages of 2-tier vs 3-tier architectures.
Build Your Own Performance Test Lab in the CloudTechWell
Many cloud-based performance and load testing tools claim to offer “cost-effective, flexible, pay-as-you-go pricing.” However, the reality is often neither cost-effective nor flexible. With many vendors, you will be charged whether or not you use the time (not cost effective), and you must pre-schedule test time (not always when you want and not always flexible). In addition, many roadblocks are thrown up—from locked-down environments that make it impossible to load test anything other than straight-forward applications, to firewall, security, and IP spoofing issues. Join Leslie Segal to discover when it makes sense to set up your own cloud-based performance test lab, either as a stand-alone or as a supplement to your current lab. Learn about the differences in licensing tools, running load generators on virtual machines, the real costs, and data about various cloud providers. Take home a road map for setting up your own performance test lab—in less than twenty-four hours.
Rapid Miner is an open-source data mining software tool. It provides functionality for data loading, preprocessing, transformation, data mining, modeling, evaluation, and deployment. Rapid Miner uses learning schemes and attribute evaluators from Weka and statistical modeling schemes from R. It can be used for tasks like text mining, feature engineering, and distributed data mining. Rapid Miner includes a graphical user interface to design analytical workflows using operators. It can also be called as an API or from the command line.
This document provides an overview of object-oriented programming concepts. It discusses the need for OOP, defining classes and objects, class hierarchies and inheritance, method binding and overriding, exceptions, and abstraction mechanisms. The key concepts covered are objects, classes, encapsulation, inheritance, polymorphism, and abstraction.
.NET is a framework developed by Microsoft that allows development of various application types across different platforms. It includes a common language runtime (CLR) that executes code in an environment managed by the runtime. Programming languages are compiled to an intermediate language (IL) that is then compiled to native machine code by the CLR. The .NET framework provides a large class library, language interoperability, memory management and security. It supports development of web, desktop, mobile and web services applications.
C# is a component-oriented programming language that builds on the .NET framework. It has a familiar C-like syntax that is easy for developers familiar with C, C++, Java, and Visual Basic to adopt. C# is fully object-oriented and optimized for building .NET applications. Everything in C# belongs to a class, with basic data types including integers, floats, booleans, characters, and strings. C# supports common programming constructs like variables, conditional statements, loops, methods, and classes. C# can be easily combined with ASP.NET for building web applications in a powerful, fast, and high-level way.
This document provides an overview of various programming concepts including variables, data types, decision making statements, loops, and more. It defines variables as named storage areas that can be manipulated by programs. Common variable types like char, int, float, and double are described along with their characteristics. Syntax and examples are given for if/else statements, switch statements, ternary operators, break, continue, and the various loop structures like for, while, and do-while loops. The document concludes by advertising an online programming course offered by Baabtra and providing contact information.
This document discusses responsive design with Bootstrap. It introduces Bootstrap as an open-source front-end framework that allows developers to create responsive websites. It highlights new features in Bootstrap 3.1.1 like a mobile-first approach and support for different screen resolutions. The document also explains the Bootstrap grid system which uses rows and columns to layout responsive content. It provides an example of the grid system and discusses other Bootstrap components like glyphs, buttons, and JavaScript plugins.
The document discusses Java event handling and the delegation event model. It describes key concepts like events, sources that generate events, and listeners that handle events. It provides examples of registering components as listeners and implementing listener interfaces. The delegation event model joins sources, listeners, and events by notifying listeners when sources generate events.
This document provides an overview of unit testing in Angular, including setting up Angular CLI for testing, the tools used for testing like Karma and Jasmine, how to write test specs with expectations and matchers, how to set up and tear down tests, and how to test different parts of an Angular application like components, templates, dependencies, and HTTP services. The agenda also includes debugging tests and generating code coverage reports.
Topics Covered
==============================
Overview of .NET
Overview of ASP.NET
Creating an ASP.NET Web Form
Adding Event Procedures
Validating User Input
The document discusses defining and using methods in Java. It defines what a method is and its key components like the method signature, return type, parameters, and body. It then demonstrates a sample max method to return the maximum of two numbers and traces the steps of invoking the method from the main method, including passing arguments, executing the method body, and returning the result. The document aims to explain the basics of methods in Java, including how to define reusable methods and invoke them to perform certain tasks.
This document provides an introduction to object-oriented programming and Java. It discusses the basics of OOP concepts like classes, objects, encapsulation, inheritance, polymorphism and dynamic binding. It explains the benefits of OOP like modularity, code reuse and information hiding. The document also outlines some key features of the Java programming language like platform independence, security, simplicity and performance. It positions Java as a pure object-oriented language suitable for developing both standalone applications and web applets.
Java is a programming language, development environment, and runtime environment. It uses a virtual machine to execute bytecode independently of hardware or operating systems. Key features include garbage collection, which frees memory automatically, and code security provided by the runtime environment through class loading, verification, and memory protection. A Java program goes through the phases of writing code, compiling to bytecode, and running within a virtual machine.
XSLT stands for Extensible Stylesheet Language Transformations and enables transforming XML documents into other formats like HTML. XSLT uses XML documents called stylesheets that contain elements and attributes to define templates that match elements in the XML data and specify how to transform their contents. Transformations can occur on a server, client, or with a standalone program and involve elements like <template> to select nodes, <apply-templates> to process children, <value-of> to retrieve node values, <for-each> to loop through nodes, and <sort> to sort output.
Fragments allow modularizing an app's UI into reusable components. A fragment represents a portion of UI within an activity and has its own lifecycle. Multiple fragments can be used within a single activity to create a multi-pane UI or reuse fragments across activities. Key advantages are modularity, ability to reuse fragments, and maintaining a back stack of fragment states. The document discusses implementing fragments in different screen types, writing fragment and activity classes, and including fragments in layouts. It also covers fragment types like ListFragment and DialogFragment and ensuring compatibility by adding the support library.
This document is a presentation about JavaScript that covers what JavaScript is, where it came from, and what it can do. It introduces JavaScript as a scripting language that is easy to use and learn and runs in web browsers. The presentation explains that JavaScript is unrelated to Java but borrows some naming conventions. It provides overviews of JavaScript basics like variables, operators, and functions, as well as more advanced topics like objects, events, and DOM manipulation.
JavaScript is a client-side scripting language that can be inserted into HTML pages to make them interactive. It allows dynamic validation of forms, changing HTML element properties like visibility, and reacting to user events like clicks or form submissions. The Document Object Model (DOM) represents an HTML or XML document as a tree structure, allowing JavaScript to programmatically access and modify the content, structure, and styling of the document. Common built-in JavaScript objects include String, Date, Array, Math, and Boolean, which provide properties and methods for manipulating text, dates, lists of values, numbers, and true/false values.
Constants are fixed values that do not change during program execution. There are several types of constants including numeric, character, and string constants. Numeric constants represent numerical values and can be integers or reals. Integers can be decimal, octal, or hexadecimal while real constants contain floating point parts. Character constants are single characters within single quotes and string constants are collections of characters within double quotes.
The document discusses networking on mobile devices. It covers supported networking technologies like cellular data, WiFi, and Bluetooth. It discusses required permissions for network operations and the need to perform networking operations on a separate thread to avoid blocking the UI. It provides an example of using AsyncTask to perform networking operations asynchronously. It also covers best security practices, implementing a network security configuration, checking device connectivity, and using Firebase Cloud Messaging as an alternative to polling for updates from a server.
The document discusses various options for data storage in Android applications, including shared preferences, internal storage, external storage, SQLite databases, and network connections. It provides details on when each option would be suitable and code examples for using shared preferences, internal storage, and SQLite databases to store persistent data in key-value pairs, files, and structured databases, respectively. The document also covers best practices for accessing external storage and creating databases using the SQLiteOpenHelper class or directly with SQLiteDatabase objects.
1. The document discusses the history and evolution of the Java programming language, created by James Gosling at Sun Microsystems in 1995.
2. It provides an overview of Java editions including J2SE for desktop apps, J2ME for mobile apps, and J2EE for server-side enterprise apps.
3. The document also lists some key features of the Java language like being object-oriented, portable, distributed, and provides examples of how Java is used in daily life including in mobile phones, web servers, and enterprise applications.
This document provides an introduction and overview of VB.NET (Visual Basic .NET). It discusses what VB.NET is, its features, why it is used as a professional language, advantages and disadvantages. It also describes the structure of a VB.NET program, including namespaces, classes, modules, procedures, variables, and the main procedure. It explains the compilation and execution process of a VB.NET program in Visual Studio. An example VB.NET "Hello World" program is provided to demonstrate the core components.
The document provides an introduction to Java programming language. It discusses that Java was originally developed by James Gosling at Sun Microsystems in 1991 and was named Oak. It was later renamed to Java in 1995. The document also describes Java features such as it is a purely object-oriented language, platform independent, secure, robust, portable, and supports multithreading.
Introduction to the basic aspects of application development in Android. The basic components, e.g., Activity and View, are introduced along with the different configuration files, e.g., AndroidManifest.xml.
Create Location Sharing apps using the Ionic framework Shelly Megan
The document discusses how to develop a location-sharing app using the Ionic framework. It outlines the steps to integrate Google Maps and track user locations. Key steps include: 1) Installing dependencies and creating an Ionic project, 2) Designing templates and UI, 3) Adding Google Maps with default coordinates, 4) Tracking marker positions as users drag them, and 5) Saving location details and descriptions to Firebase database. The process allows developers to efficiently create cross-platform location-sharing apps.
Angular workshop - Full Development GuideNitin Giri
AngularJS provides powerful tools for building single page applications, including data binding, scopes, controllers, directives, filters and forms validation. It follows an MVC pattern with two-way data binding between models and views. Key features include directives for creating custom HTML elements, filters for formatting data and built-in validation for forms. AngularJS aims to improve frontend development by reducing code and server interactions.
The document discusses Java event handling and the delegation event model. It describes key concepts like events, sources that generate events, and listeners that handle events. It provides examples of registering components as listeners and implementing listener interfaces. The delegation event model joins sources, listeners, and events by notifying listeners when sources generate events.
This document provides an overview of unit testing in Angular, including setting up Angular CLI for testing, the tools used for testing like Karma and Jasmine, how to write test specs with expectations and matchers, how to set up and tear down tests, and how to test different parts of an Angular application like components, templates, dependencies, and HTTP services. The agenda also includes debugging tests and generating code coverage reports.
Topics Covered
==============================
Overview of .NET
Overview of ASP.NET
Creating an ASP.NET Web Form
Adding Event Procedures
Validating User Input
The document discusses defining and using methods in Java. It defines what a method is and its key components like the method signature, return type, parameters, and body. It then demonstrates a sample max method to return the maximum of two numbers and traces the steps of invoking the method from the main method, including passing arguments, executing the method body, and returning the result. The document aims to explain the basics of methods in Java, including how to define reusable methods and invoke them to perform certain tasks.
This document provides an introduction to object-oriented programming and Java. It discusses the basics of OOP concepts like classes, objects, encapsulation, inheritance, polymorphism and dynamic binding. It explains the benefits of OOP like modularity, code reuse and information hiding. The document also outlines some key features of the Java programming language like platform independence, security, simplicity and performance. It positions Java as a pure object-oriented language suitable for developing both standalone applications and web applets.
Java is a programming language, development environment, and runtime environment. It uses a virtual machine to execute bytecode independently of hardware or operating systems. Key features include garbage collection, which frees memory automatically, and code security provided by the runtime environment through class loading, verification, and memory protection. A Java program goes through the phases of writing code, compiling to bytecode, and running within a virtual machine.
XSLT stands for Extensible Stylesheet Language Transformations and enables transforming XML documents into other formats like HTML. XSLT uses XML documents called stylesheets that contain elements and attributes to define templates that match elements in the XML data and specify how to transform their contents. Transformations can occur on a server, client, or with a standalone program and involve elements like <template> to select nodes, <apply-templates> to process children, <value-of> to retrieve node values, <for-each> to loop through nodes, and <sort> to sort output.
Fragments allow modularizing an app's UI into reusable components. A fragment represents a portion of UI within an activity and has its own lifecycle. Multiple fragments can be used within a single activity to create a multi-pane UI or reuse fragments across activities. Key advantages are modularity, ability to reuse fragments, and maintaining a back stack of fragment states. The document discusses implementing fragments in different screen types, writing fragment and activity classes, and including fragments in layouts. It also covers fragment types like ListFragment and DialogFragment and ensuring compatibility by adding the support library.
This document is a presentation about JavaScript that covers what JavaScript is, where it came from, and what it can do. It introduces JavaScript as a scripting language that is easy to use and learn and runs in web browsers. The presentation explains that JavaScript is unrelated to Java but borrows some naming conventions. It provides overviews of JavaScript basics like variables, operators, and functions, as well as more advanced topics like objects, events, and DOM manipulation.
JavaScript is a client-side scripting language that can be inserted into HTML pages to make them interactive. It allows dynamic validation of forms, changing HTML element properties like visibility, and reacting to user events like clicks or form submissions. The Document Object Model (DOM) represents an HTML or XML document as a tree structure, allowing JavaScript to programmatically access and modify the content, structure, and styling of the document. Common built-in JavaScript objects include String, Date, Array, Math, and Boolean, which provide properties and methods for manipulating text, dates, lists of values, numbers, and true/false values.
Constants are fixed values that do not change during program execution. There are several types of constants including numeric, character, and string constants. Numeric constants represent numerical values and can be integers or reals. Integers can be decimal, octal, or hexadecimal while real constants contain floating point parts. Character constants are single characters within single quotes and string constants are collections of characters within double quotes.
The document discusses networking on mobile devices. It covers supported networking technologies like cellular data, WiFi, and Bluetooth. It discusses required permissions for network operations and the need to perform networking operations on a separate thread to avoid blocking the UI. It provides an example of using AsyncTask to perform networking operations asynchronously. It also covers best security practices, implementing a network security configuration, checking device connectivity, and using Firebase Cloud Messaging as an alternative to polling for updates from a server.
The document discusses various options for data storage in Android applications, including shared preferences, internal storage, external storage, SQLite databases, and network connections. It provides details on when each option would be suitable and code examples for using shared preferences, internal storage, and SQLite databases to store persistent data in key-value pairs, files, and structured databases, respectively. The document also covers best practices for accessing external storage and creating databases using the SQLiteOpenHelper class or directly with SQLiteDatabase objects.
1. The document discusses the history and evolution of the Java programming language, created by James Gosling at Sun Microsystems in 1995.
2. It provides an overview of Java editions including J2SE for desktop apps, J2ME for mobile apps, and J2EE for server-side enterprise apps.
3. The document also lists some key features of the Java language like being object-oriented, portable, distributed, and provides examples of how Java is used in daily life including in mobile phones, web servers, and enterprise applications.
This document provides an introduction and overview of VB.NET (Visual Basic .NET). It discusses what VB.NET is, its features, why it is used as a professional language, advantages and disadvantages. It also describes the structure of a VB.NET program, including namespaces, classes, modules, procedures, variables, and the main procedure. It explains the compilation and execution process of a VB.NET program in Visual Studio. An example VB.NET "Hello World" program is provided to demonstrate the core components.
The document provides an introduction to Java programming language. It discusses that Java was originally developed by James Gosling at Sun Microsystems in 1991 and was named Oak. It was later renamed to Java in 1995. The document also describes Java features such as it is a purely object-oriented language, platform independent, secure, robust, portable, and supports multithreading.
Introduction to the basic aspects of application development in Android. The basic components, e.g., Activity and View, are introduced along with the different configuration files, e.g., AndroidManifest.xml.
Create Location Sharing apps using the Ionic framework Shelly Megan
The document discusses how to develop a location-sharing app using the Ionic framework. It outlines the steps to integrate Google Maps and track user locations. Key steps include: 1) Installing dependencies and creating an Ionic project, 2) Designing templates and UI, 3) Adding Google Maps with default coordinates, 4) Tracking marker positions as users drag them, and 5) Saving location details and descriptions to Firebase database. The process allows developers to efficiently create cross-platform location-sharing apps.
Angular workshop - Full Development GuideNitin Giri
AngularJS provides powerful tools for building single page applications, including data binding, scopes, controllers, directives, filters and forms validation. It follows an MVC pattern with two-way data binding between models and views. Key features include directives for creating custom HTML elements, filters for formatting data and built-in validation for forms. AngularJS aims to improve frontend development by reducing code and server interactions.
Start your journey with angular | Basic AngularAnwarul Islam
This presentation only for an absolute beginner who wanted to start angular. Here I included some ideas and key concepts about angular and added sources. Indeed learning is fun :D
Internationalize your JavaScript Application: Prepare for "the next billion" ...Kevin Hakanson
Are you prepared for "the next billion" internet users, most of whom don't use English as their primary language? This session will explore the globalization (internationalization and localization) of JavaScript based applications. It will look at the ECMAScript Internationalization API and popular open source projects like AngularJS, messageformat.js, jQuery Globalize and twitter-cldr-js. Topics will include cultures/locales, character encoding, number formatting, date formatting, choice/plural formatting and translations.
Angular js 1.3 presentation for fed nov 2014Sarah Hudson
AngularJS is an up-and-coming JavaScript framework supported and maintained by Google. Over the past year, usage for the framework has exploded, giving many developers reason to believe it's the next big thing. In this presentation by Angular developer Sarah Hudson, you will learn the basics of what Angular is and what it can do for your projects, as well as breaking down the components of Angular, what makes it unique, and how it gives developers more control over custom templates and elements.
Sections include:
• Core structure and components of Angular, such as custom directives, factories for sharing data, two-way binding, and modules
• Companion libraries to Angular, such as the popular AngularUI suite which includes UI-Bootstrap
• A brief overview of routing options from Angular's native routing to UI Router, and how it offers flexibility for your apps
Internationalization (i18n) is the process of designing software to be adapted to various languages and regions without code changes, while localization (L10n) is adapting internationalized software for a specific locale. Localization involves more than just translation and includes adapting number, date, and currency formats. Django supports i18n/L10n through settings, middleware, template and view translation markers, locale directories containing .po translation files, and compilation to .mo files. Custom locales can also be activated.
Developing a Demo Application with Angular 4 - J2INader Debbabi
Introduction to Angular Material, Angular Router and Angular Http with RxJS library.
Fake REST API set up using json-server.
Demo app source code available at: https://github.com/jeuneingenieurisamm/LangInstitute
Angular is an open source JavaScript framework that is used to build single page based web applications.A detailed overview of Angular 4, Its features, development environment and components.
AngularJS is a JavaScript framework for building single-page web applications. It augments HTML to provide MVC capabilities and allows developers to write dynamic web apps without having to manipulate the DOM directly. AngularJS uses scopes to bind models and views, and filters to format data for display. Directives extend HTML and allow developers to create reusable components. Modules are used to organize code and keep the global namespace clean.
The document provides information on Node.js, including its definition, advantages, companies that use it, and basic terminology. Node.js is a server-side JavaScript platform that allows building fast and scalable network applications. It uses an event-driven, non-blocking I/O model that makes it lightweight and efficient for data-intensive real-time apps. Some key advantages are its use of JavaScript, the fast V8 engine, support for building highly scalable web apps, and thousands of available modules. Major companies like Microsoft, Yahoo, and LinkedIn use Node.js. Basic terminology discussed includes asynchronous programming, npm, Express framework, modules, and REPL.
Slide deck presented during my session on "Introduction to Angular 2" at UNICOM DevCon 2016 conference on Thursday, Dec 1, 2016. The conference was at Mövenpick Hotel & Spa, Bengaluru.
Sakai is now in use all over the world. Many institutions use Sakai in a language other then English. Sakai is very configurable and able to support localization in a variety of different locales. There are still challenges, however, if you try to support multiple locales in the same Sakai server at the same time.
This session will quickly introduce the topic of localization in Sakai to those who might not be familiar with how it is done. The session will then turn its focus on the problems that come up when you try to support multiple locales in the same Sakai system at the same time.
Some of the topics that will be covered:
Date / Time problems
Grading Scales
Non-property file localization (.xml, .html)
Roles
Site Types
Learn how to build apps using Angular JS with Firebase(backend-as-a-service)!!
Room 6 (2nd Floor Conference Room)
In this presentation, we'll be using Angular JS and Firebase to create a simple web application from scratch and explore the awesome real-time syncing features provided by firebase. Combining Bootstrap, Angular JS with Firebase and Azure, we can build and deploy cross-platform HTML5 apps.
This document provides an overview of OpenSocial, including its benefits for application developers and social networks, examples of how to build OpenSocial applications using various APIs, and resources for OpenSocial developers.
This talk is a fast-paced introduction to the Micronaut framework, from creating the first app to orchestrating a microservice federation and deploying to the cloud. We will cover the basics of writing Micronaut apps, communication between services, building for resiliency, managing configuration, and deploying to a cloud provider. By the time we’re finished, you’ll have a good understanding of the features of the framework and be ready to start building and deploying your own apps with Micronaut. Buckle up and start the countdown!
Leveraging the full power of HTML5 and the capacity of modern browsers, rich client applications are very popular right now. In this session we will demonstrate how we can bring the world of HTML5 and AngularJS to ADF applications. We take rich reusable TagCloud component and integrate it into a standalone AngularJS application. Next we embed the AngularJS module inside an ADF TaskFlow. This taskflow is then reused in a regular ADF web application and participates in ADF skinning, internationalization and customization. The rich client component receives data from the ADF application and exchanges events with it. The flexibility, [multitude of] resources and richness in functionality offered from the HTML5/AngularJS world beyond ADF can still be integrated with and leveraged from ADF. This presentation provides a solid introduction into the question how to achieve thus.
Angular Kickstart document provides an overview of Angular including:
- Angular is a client side JavaScript framework that allows building of single page applications.
- A single page application loads initial content via the first page load and subsequent content without reloading the page.
- The document discusses Angular features such as modularity, performance, TypeScript support, and building blocks like modules, components and directives. It also provides instructions on setting up the development environment for Angular applications.
The document summarizes an AngularJS workshop that covers AngularJS core principles, building a sample website, and AngularJS 2. It discusses building the sample site from scratch using tools like NodeJS, Bower, and Bootstrap. Key AngularJS concepts covered include modules, views, controllers, directives, routing, promises, and AngularJS 2.0. Hands-on tasks include adding routing, creating a header directive, loading data from a service, and validating a form.
- Pebble was founded in 2011 and launched its first smartwatch in 2013 through a record breaking Kickstarter campaign. It has since launched additional models.
- There are two types of Pebble apps: PebbleFace apps developed using C SDK and PebbleApp apps developed using JavaScript. CloudPebble is an online IDE for developing PebbleFace apps without installing any software.
- Pebble apps utilize services like Bluetooth, battery, and time to respond to device events and update their UI. Common elements include windows, layers, and text layers. Buttons can be configured to handle click events.
Similar to Internationalizing Your AngularJS App (20)
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...kalichargn70th171
In today's business landscape, digital integration is ubiquitous, demanding swift innovation as a necessity rather than a luxury. In a fiercely competitive market with heightened customer expectations, the timely launch of flawless digital products is crucial for both acquisition and retention—any delay risks ceding market share to competitors.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Paul Brebner
Closing talk for the Performance Engineering track at Community Over Code EU (Bratislava, Slovakia, June 5 2024) https://eu.communityovercode.org/sessions/2024/why-apache-kafka-clusters-are-like-galaxies-and-other-cosmic-kafka-quandaries-explored/ Instaclustr (now part of NetApp) manages 100s of Apache Kafka clusters of many different sizes, for a variety of use cases and customers. For the last 7 years I’ve been focused outwardly on exploring Kafka application development challenges, but recently I decided to look inward and see what I could discover about the performance, scalability and resource characteristics of the Kafka clusters themselves. Using a suite of Performance Engineering techniques, I will reveal some surprising discoveries about cosmic Kafka mysteries in our data centres, related to: cluster sizes and distribution (using Zipf’s Law), horizontal vs. vertical scalability, and predicting Kafka performance using metrics, modelling and regression techniques. These insights are relevant to Kafka developers and operators.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
A neural network is a machine learning program, or model, that makes decisions in a manner similar to the human brain, by using processes that mimic the way biological neurons work together to identify phenomena, weigh options and arrive at conclusions.
3. What is localization?
“Localization refers to the adaptation of a
product, application or document content to
meet the language, cultural and other
requirements of a specific target market (a
locale).”
-- W3C
4. What is localization? (cont.)
Detecting the user’s locale
Writing text in a way that the user understands based on his
locale, whether through languages, dialects, or idioms
Displaying data in a way that makes sense to the user based
on his locale
This includes: date formats, currency, time formats
Ensuring graphics and design elements communicate the
intended message
Includes colors, symbols, and icons
Also known as l10n
5. What is internationalization?
“Internationalization is the design and
development of a product, application or
document content that enables easy
localization for target audiences that vary in
culture, region, or language.”
-- W3C
6. What is internationalization? (cont.)
Building your app with the flexibility of supporting multiple
locales
Multiple languages, currencies, countries, name displays,
address displays, date and time formats
Ability to change the language, whether through browser
detection or allowing the user to choose the language of
display
Offering multiple locales to the user
Determining which character sets to use (Typically Unicode)
Also known as i18n
7. Methods of supporting i18n and l10n
1.Selecting a region and being redirected to
another page that supports that locale:
a.Subdomains for each locale that serves up different
HTML content
b.Separate websites for each locale
2.JavaScript for showing/hiding or swapping
out content
8. Detecting the browser’s locale
1. Can use the browser object:
if(navigator.language !== undefined && navigator.language !==
null){
var language = navigator.language;
language = language.toLowerCase();
} else { //Handles IE
var language = navigator.userLanguage;
language = language.toLowerCase();
};
10. The $locale service
Angular comes with built in support for many locales. Like many of the
extra Angular services (i.e., ngRoute, ngResource, ngMocks), you’ll
have to install.
bower | npm install angular-i18n
The folder installed will contain locale files for handling the date,
currency, and number filters.
angular.module(‘myI18nApp’, [‘ngLocale’, ‘tmh.dynamicLocale’, ‘pascalprecht.translate’])
11. Built in filters for i18n
date: Takes a string parameter which translates into a format. (like:
{{dateObj.startDate | date: ‘shortDate’}}
shortDate: In en-us, formats as 09/24/2015
longDate: In en-us, formats as September 24, 2015
fullDate: In en-us, formats as Thursday, September 24, 2015
currency: Appends or prepends the currency symbol based on the current
user’s locale, as well as manages commas and decimals.
Note: Watch out! It only translates the symbol, not the monetary value.
number: When used by itself, it defaults to formatting the number to the
locale’s format. When used in conjunction with the additional parameter
fractionSize, it rounds the number to the number of places specified.
{{product.inStock | number: 3}} will display 1000 as 1,000
13. Angular Translate
Module that aids in i18n and l10n for
language, pluralization, and lazy loading
Can be used as a directive or filter (both in the
DOM and in the controller)
Allows you to move i18n from the server to
the client
14. Setting up Angular Translate
Plugins:
1. angular-translate: Main plugin; contains the $translate service.
2. angular-translate-loader-static-files: Helper plugin that allows
devs to specify a file name pattern for loading translation files, as
well as the preferred language to fall back on.
3. angular-translate-loader-url: Helper plugin that allows for
async/lazy loading.
4. angular-translate-partial-loader: Helper plugin that allows devs to
load the translation files for only one module.
15. Setting up Angular Translate (cont.)
Steps:
1. Download the source files
a. Download from Github
b. bower | npm install
2. Include the scripts in your page
3. Inject Angular Translate as a dependency in the module(s) you want translated
angular.module(‘myI18nApp’, [‘ngLocale’, ‘tmh.dynamicLocale’,
‘pascalprecht.translate’])
4. In your app’s configuration, if you’re using the static loader, inject the $translateProvider:
$translateProvider.useStaticFilesLoader({
prefix: '../languages/',
suffix: '.json'
});
16. Files for Translations
Should be in JSON format
Multiple files for each locale
i.e., en-gb.json for the UK, en-us for the US, es-es for Spain, es-mx for Mexico, etc etc
Each file should be stored in a common folder, i.e., ‘locale’ or ‘languages’
Can name properties with a single word, or as ‘dot notation’ to designate sections:
{
"navigation.dashboard": "Dashboard",
"navigation.appointments": "Appointments",
"navigation.addAppt": "Add New Appointment",
"navigation.addOneTimeAppt": "Add One Time Appointment",
"navigation.addRepeatingAppt": "Add Repeating Appointments",
"navigation.addTimeOff": "Add New Time Off",
....
}
17. Inserting translations in your text
Can be done several ways:
1. The translate filter
<button>{{‘btn.close’ | translate}}</button>
1. The translate directive
<button>
<span translate=“btn.close”>Close</span>
</button>
1. Using the translate filter in the controller
$translate('Home.calendar')
.then(function(translatedValue){
$scope.mainTitle = translatedValue;
})
18. Passing parameters to translated strings
1. HTML:
<div>
<span translate=“Calendar.title” translate-values=“{‘date’:
calendar.defaultDate}”>Today’s date is {{calendar.defaultDate}}</span>
</div>
2. Interpolations of the variable in JSON:
“Calendar.title”: “Today’s date is {{date}}”
19. Compiling translations with HTML
There are cases where you can’t break a line for HTML changes (links, emphasis, etc) and
keep it syntactically correct for all languages.
HTML:
<span translate= “Text.withLink” translate-compile>
To learn more, <a href=“#”>view our documentation</a>.
</span>
JSON:
“Text.withLink”: “To learn more, <a href=‘#’>view our documentation.”
21. Angular Dynamic Locale
Allows users to choose and change their locale
Allows developers to pass in the browser’s locale (or
stored locale) and change it from the default locale if
necessary
Changes the locale at app’s runtime, which allows you
to use a stored locale
Modifies the $locale object so changing the locale will
change all objects relying on the $locale service
22. Using Angular Dynamic Locale
1. Install with bower | npm install angular-dynamic-locale
2. Inject into your module: angular.module(‘myI18nApp’, [‘ngLocale’, ‘tmh.dynamicLocale’])
3. In your app’s configuration, do:
app.config(["tmhDynamicLocaleProvider", function(tmhDynamicLocaleProvider){
tmhDynamicLocaleProvider.localeLocationPattern(
'../bower_components/angular-i18n/angular-locale_{{locale}}.js'
);
tmhDynamicLocaleProvider.defaultLocale(language);
//Default language
if(language === 'es' || language === 'fr'){ //using this format so it won't try to pull in files that
don't exist, like es-mx
$translateProvider.use(language);
} else {
$translateProvider.preferredLanguage('en-us');
};
}]);
23. Handling Calendars -- Angular UI Bootstrap
Datepicker
Angular UI Bootstrap Datepicker: Built on top of the date filter so everything is localized.
Settings include:
starting-day
Adjustments through the controller, passed into the directive’s helper attributes
HTML:
...
<input type="text" class="form-control" datepicker-popup="shortDate" ng-model="dateObj.startDate" is-
open="datepickers.start" datepicker-options="{{dateOptions}}" date-disabled="disabled(date, mode)" close-
text="Close" ng-click="openDT($event, 'start')" />
…
JS:
var firstDayOfWeek = $window.sessionStorage.getItem(‘firstDayOfWeek’);
$scope.dateOptions = {
'starting-day': firstDayOfWeek
};
24. Handling Calendars -- Angular UI Calendar
Angular wrapper for fullCalendar. Has settings which include:
dayNames
dayNamesShort
monthNames
monthNamesShort
lang
firstDay
timeFormat
To adjust for i18n, in your HTML you need:
<div ui-calendar="uiConfig.calendar" config="uiConfig.calendar" calendar="myCalendar" class="calendar"
ng-model="eventSources"></div>
And in your controller:
var firstDayOfWeek = $window.sessionStorage.getItem(‘firstDayOfWeek’);
$scope.uiConfig = {
calendar:{
lang: currentLang,
firstDay: firstDayOfWeek,
26. Triggering locale change on directives
1. Use the $provide service and pass in the name of the directive to get the registered “map”
for that directive
a. Providers expose the directive’s API app-wide and registers them with the injectors
b. Using the decorator method, we can intercept the creation of the directive on load.
2. Catches the $delegate (the original directive’s “map”, which can then be overwritten or
monkey patched)
3. Set up listener on the directive’s scope on $localeChangeSuccess (this requires Angular
Dynamic Locale)
4. Make modifications as needed (i.e., changing the first day of the week property on a
calendar object)
5. Refresh the scope/alert the scope to the changes
a. Call a method in the directive link (i.e., scope.move() )
b. Use apply() to call the directive link with the modified scope and parameters:
originalLink.apply(this, arguments)
27. Triggering locale change on directives
$provide.decorator('daterangeDirective', function($delegate, $compile, $parse, $translate, $rootScope) {
angular.forEach($delegate, function (directive) {
var originalCompile = directive.compile;
var originalLink = directive.link;
if (originalCompile) {
directive.compile = function () {
return function ($scope, $element, $attributes, ngModel) {
$scope.$on('$localeChangeSuccess', function () {
directive.link($scope, $element, $attributes, ngModel, $compile, $parse, $translate, $rootScope); //have to run
the main fn on the directive b/c it will apply all the changes
});
originalLink.apply(this, arguments);
};
}
}
});
return $delegate;
});
28. Triggering locale change on Angular UI Calendar
$provide.decorator('uiCalendarDirective', function($delegate, $locale, $rootScope, uiCalendarConfig) {
…
directive.compile = function () {
return function (scope, elm, attrs, controller) {
scope.$on('$localeChangeSuccess', function () {
uiCalendarConfig.dayNames = $locale.DATETIME_FORMATS.DAY;
uiCalendarConfig.dayNamesShort = $locale.DATETIME_FORMATS.SHORTDAY;
uiCalendarConfig.monthNames = $locale.DATETIME_FORMATS.MONTH;
uiCalendarConfig.monthNamesShort = $locale.DATETIME_FORMATS.SHORTMONTH;
uiCalendarConfig.lang = currentLang;
});
originalLink.apply(this, arguments); //This triggers the calendar to update on language change
};
}
}
…
});
30. Methods of Storing Locale
1. Session Storage: For temporary storage/only
detecting browser storage.
2. Local Storage: For semi-permanent storage/only
detecting browser storage.
3. Server Side: For permanent storage/when user
wants to see the app in his locale regardless of
computer/browser used to signed in.
31. Changing language
HTML: <li><a href ng-click="changeLanguage('en-us', 0, account)" class="flag flag-us"></a></li>
JS: $scope.changeLanguage = function(language, firstDayOfWeek, account){
account.locale = language;
account.firstDayOfWeek = firstDayOfWeek;
$translate.use(language);
tmhDynamicLocale.set(language);
$rootScope.$broadcast('firstDayOfWeekUpdated');
//Change language on server by updating the user account
accountData.updateAccount(accountId, account).then(function(data){
//Success ...
}, function(data){
//Error ...
})
};
32. Setting from Saved Locale
To set the app to the locale saved on the server or sessionStorage, in controller:
//Fetch data from the server/sessionStorage first
//Will default to English, thanks to the setup in app.config
if($scope.account.locale !== null){
tmhDynamicLocale.set($scope.account.locale.toLowerCase());
$translate.use($scope.account.locale.toLowerCase());
};
34. Food for Thought
Start implementing i18n and l10n support early in development
As you build new pages, add translations
Determine your app’s target markets/locales with business rules
Map out components and features that will need localization (I.e.,
calendars, date range pickers, timepickers, etc)
Ask yourself how automated you want l10n to be -- i.e., browser
detection, users choosing which locale, etc