With the aim of reducing the effort of Internationalization tasks, we developed IDE-integrated tools that allow handling of Internationalization as an integral part of day to day development work. Moreover, the process of resource translation is supported with a single-user RCP and multi-user RAP translation application. This session gives an overview of the TapiJI project as well as a live demo of the key features of the TapiJI tool suite and the RAP-based translation application.
TheEdge 2012 - AlphaCSP's 5th annual Java event, bringing news and the future of Java to the Java community, took place on the 29th of March 2012, at the Avenue Convention Center. Once again, AlphaCSP's Java experts, together with leading Java speakers from around the world, presented cutting-edge Java technologies.
This one is about Rich Ajax Platform
Presentation of SAPUI5/OpenUI5 Continuous Integration infrastructure for DSAG (German-Speaker UserGroup) workgroup for UI technologies on Jan 25th, 2017.
TheEdge 2012 - AlphaCSP's 5th annual Java event, bringing news and the future of Java to the Java community, took place on the 29th of March 2012, at the Avenue Convention Center. Once again, AlphaCSP's Java experts, together with leading Java speakers from around the world, presented cutting-edge Java technologies.
This one is about Rich Ajax Platform
Presentation of SAPUI5/OpenUI5 Continuous Integration infrastructure for DSAG (German-Speaker UserGroup) workgroup for UI technologies on Jan 25th, 2017.
Kotlin is a programming language which you can use for multi-platform mobile app development, server-side development, Frontend and most importantly Android development.
Building a Language Server for Eclipse MicroProfileYK Chang
Language Server Protocol enables language features to be built for editors in a common and reusable manner. Eclipse MicroProfile seeks to optimize enterprise Java for microservices architecture. The newly created incubator project, Eclipse LSP4MP, attempts to build a language server for MicroProfile APIs to enable developers to easily build cloud-native applications using Eclipse MicroProfile.
In this session, we will provide an introduction to the project, share the latest progress, and discuss what's next. We will share about the journey to build this first language server for Eclipse MicroProfile and lessons accrued along the way. We invite you to join us, share your feedback, and work together to build out Eclipse LSP4MP!
This was a talk delivered at EclipseCon 2020.
Code, ci, infrastructure - the gophers wayAlex Baitov
The presence of golang. Golang becomes pretty powerful. There are plenty of everyday golang tools. I will show you that we built infrastructure mostly consists of tools written on one language - golang. What benefits did we gain from writing an application on the language of its infrastructure. And I will describe how we use golang in production.
Translating Apereo Software: A Case Study using Sakai and Transifexyuji tokiwa
Web based translation support systems such as Crowdin and Transifex make it easy for
regional Sakai communities to collaborate globally in translation. In the fall and winter of
2014, Spanish Sakai community and Japanese Sakai community are collaborating in
translation of Sakai 10 using Transifex as a common translation platform. This
collaboration brought a lot of things to two communities. For instance, to develop a tool to
import resource bundle files to Transifex in a specific manner, we can have an ease of use
platform to translate modular designed software such as Sakai. And this platform will be
extended for every regional community and for every project in Apereo community. During
this session we will talk about followings; (1) Overview (2) Benefits for Apereo
community (3) Context dependent translation by gettext Portable Object (4) Community
translation strategy in Sakai Spanish Users (S2U) (5) Automatized process by Jenkins
The modern CLI-based development experience to develop, run and test UI5 applications and libraries.
Explains the UI5 Tooling and describes the motivation, architecture and some insights into the usage. In addition, the extensibility concept is explained and a the Ecosystem Showcase is linked. It also explains UI5 Tooling 2.0 which now can use SAPUI5 from NPM and the new features of the UI5 Tooling 2.0. It also explains other parts around Yeoman and TypeScript definitions as well as s very brief and early outlook to a more modern dev experience using OSS tools like TypeScript, Babel, ...
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
TOWARDS THE FASTEST (J)VM ON THE PLANET!
When designing new language, one usually starts with an AST interpreter. When the language is ready for use, users find out it is great, but slow. So one starts to design a bytecode to speed things up. That may help a bit, but usually the result is clear: still the execution is slow. Truffle project offers you a different perspective: write your AST interpreter using Truffle nodes API and we make it fast! In addition to that we also give you tooling for free! As a proof we'll demonstrate that our implementation of Ruby is ten times faster than any other one, including indy based JRuby. Stop by for a short introduction how to be create the fastest execution environment for any language!
Slide deck used during the May 19, 2016 Embarcadero RAD Server Launch Webinar.
RAD Server is a turn-key application foundation for rapidly building and deploying services based applications. RAD Server provides automated Delphi and C++ REST/JSON API publishing and management, Enterprise database integration middleware, IoT Edgeware and an array of application services such as User Directory and Authentication services, Push Notifications, Indoor/Outdoor Geolocation and JSON data storage. RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. RAD Server is easy to develop, deploy and operate making it ideally suited for ISVs and OEMs building re-deployable solutions.
Hard to figure out which one is better between Julia & Python? Here's a detailed comparison between #JuliaLang vs #Python
#programming #Coding #Software #developer #technology #tech
A quick guide through the wonders of dependency management, build automation, teamwork with distributed version control systems, and continuous integration.
Building Good Containers for Python ApplicationsAll Things Open
Presented by: Moshe Zadka
Presented at the All Things Open 2021
Raleigh, NC, USA
Raleigh Convention Center
Abstract: Building good containers for Python applications means dealing with several niggling pieces. Where do you get your Python? How do you install third-party packages? What kind of pinning should, and shouldn't you do? How do you configure your app?
I will go over all of the answers, indicating trade-offs where necessary and pointing out best practices where a clear answer exists.
Kotlin is a programming language which you can use for multi-platform mobile app development, server-side development, Frontend and most importantly Android development.
Building a Language Server for Eclipse MicroProfileYK Chang
Language Server Protocol enables language features to be built for editors in a common and reusable manner. Eclipse MicroProfile seeks to optimize enterprise Java for microservices architecture. The newly created incubator project, Eclipse LSP4MP, attempts to build a language server for MicroProfile APIs to enable developers to easily build cloud-native applications using Eclipse MicroProfile.
In this session, we will provide an introduction to the project, share the latest progress, and discuss what's next. We will share about the journey to build this first language server for Eclipse MicroProfile and lessons accrued along the way. We invite you to join us, share your feedback, and work together to build out Eclipse LSP4MP!
This was a talk delivered at EclipseCon 2020.
Code, ci, infrastructure - the gophers wayAlex Baitov
The presence of golang. Golang becomes pretty powerful. There are plenty of everyday golang tools. I will show you that we built infrastructure mostly consists of tools written on one language - golang. What benefits did we gain from writing an application on the language of its infrastructure. And I will describe how we use golang in production.
Translating Apereo Software: A Case Study using Sakai and Transifexyuji tokiwa
Web based translation support systems such as Crowdin and Transifex make it easy for
regional Sakai communities to collaborate globally in translation. In the fall and winter of
2014, Spanish Sakai community and Japanese Sakai community are collaborating in
translation of Sakai 10 using Transifex as a common translation platform. This
collaboration brought a lot of things to two communities. For instance, to develop a tool to
import resource bundle files to Transifex in a specific manner, we can have an ease of use
platform to translate modular designed software such as Sakai. And this platform will be
extended for every regional community and for every project in Apereo community. During
this session we will talk about followings; (1) Overview (2) Benefits for Apereo
community (3) Context dependent translation by gettext Portable Object (4) Community
translation strategy in Sakai Spanish Users (S2U) (5) Automatized process by Jenkins
The modern CLI-based development experience to develop, run and test UI5 applications and libraries.
Explains the UI5 Tooling and describes the motivation, architecture and some insights into the usage. In addition, the extensibility concept is explained and a the Ecosystem Showcase is linked. It also explains UI5 Tooling 2.0 which now can use SAPUI5 from NPM and the new features of the UI5 Tooling 2.0. It also explains other parts around Yeoman and TypeScript definitions as well as s very brief and early outlook to a more modern dev experience using OSS tools like TypeScript, Babel, ...
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
TOWARDS THE FASTEST (J)VM ON THE PLANET!
When designing new language, one usually starts with an AST interpreter. When the language is ready for use, users find out it is great, but slow. So one starts to design a bytecode to speed things up. That may help a bit, but usually the result is clear: still the execution is slow. Truffle project offers you a different perspective: write your AST interpreter using Truffle nodes API and we make it fast! In addition to that we also give you tooling for free! As a proof we'll demonstrate that our implementation of Ruby is ten times faster than any other one, including indy based JRuby. Stop by for a short introduction how to be create the fastest execution environment for any language!
Slide deck used during the May 19, 2016 Embarcadero RAD Server Launch Webinar.
RAD Server is a turn-key application foundation for rapidly building and deploying services based applications. RAD Server provides automated Delphi and C++ REST/JSON API publishing and management, Enterprise database integration middleware, IoT Edgeware and an array of application services such as User Directory and Authentication services, Push Notifications, Indoor/Outdoor Geolocation and JSON data storage. RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. RAD Server is easy to develop, deploy and operate making it ideally suited for ISVs and OEMs building re-deployable solutions.
Hard to figure out which one is better between Julia & Python? Here's a detailed comparison between #JuliaLang vs #Python
#programming #Coding #Software #developer #technology #tech
A quick guide through the wonders of dependency management, build automation, teamwork with distributed version control systems, and continuous integration.
Building Good Containers for Python ApplicationsAll Things Open
Presented by: Moshe Zadka
Presented at the All Things Open 2021
Raleigh, NC, USA
Raleigh Convention Center
Abstract: Building good containers for Python applications means dealing with several niggling pieces. Where do you get your Python? How do you install third-party packages? What kind of pinning should, and shouldn't you do? How do you configure your app?
I will go over all of the answers, indicating trade-offs where necessary and pointing out best practices where a clear answer exists.
Flutter vs react native – from developer pointBOSC Tech Labs
With the rising number of mobile internet users, there is huge traffic. When it comes to developing a mobile application using cross-platform technologies both Flutter and React Native is the best available option. So we will learn about which is best for your next project requirement.
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
Learn how Embarcadero’s newly released free Python modules bring the power and flexibility of Delphi’s GUI frameworks to Python. VCL and FireMonkey (FMX) are mature GUI libraries. VCL is focused on native Windows development, while FireMonkey brings a powerful flexible GUI framework to Windows, Linux, macOS, and even Android. This webinar will introduce you to these new free Python modules and how you can use them to build graphical users interfaces with Python. Part 2 will show you how to target Android GUI applications with Python!
Essentially, IDE is a software development utility program. The features of a tool can be used for growing and locating out the utility software program application.
Revamping Mailjet API documentation @ ParisAPI meetupMailjet
Mailjet recently release a new version of its API documentation, fully revisited. This talk is a return of experience on what we've learnt building it.
4.LanguageProcessors and language Processing Activities.pdfSwapnaliPawar27
Introduction to System Software and Assemblers
Introduction to language processing activities, fundamentals of language processing, fundamentals of language specification, elements of assembly language programming, simple assembly scheme, pass structure of assemblers, design of two pass assembler
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportAcquia
Unfortunately, the live event for this webinar has passed.
No need to worry! We always post the recorded webinar and slides within 24 hours of the event. Check back soon!
As you likely know, creating multilingual websites in Drupal 7—with its web of modules and dependencies—is not for the faint of heart. What takes Drupal 7 20+ contrib modules to support is now part of core in Drupal 8. Its 4 multilingual core pillars—Language, Interface, Content, Config—make Drupal 8 a relieving contrast to Drupal 7’s old patchwork of multilingual afterthought.
In this Tech Talk, we will:
-Review the Drupal 7 multilingual landscape in contrast to Drupal 8’s core multilingual capabilities
-Demonstrate how to properly prepare a Drupal 8 website for multilingual support
-Show the traditional process of translating Drupal 8 websites
-Explore how Acquia and Lingotek can help with the translation process for Drupal 8 websites
If you are a developer and want to make the most of the different available programming tools, this ebook contains a deep analysis of six programming languages: Python, HTML5, Java, Javascript, PHP and Pearl. More information in http://bbva.info/2t1NEv7
PHP, known as the most famous server-side scripting language on the planet, has advanced a considerable measure since the primary inline code pieces showed up in static HTML records.In this post we painstakingly handpicked 10 prevalent PHP frameworks that can best encourage and streamline the procedure of backend web development.
Building a fully managed stream processing platform on Flink at scale for Lin...Flink Forward
Apache Flink is a distributed stream processing framework that allows users to process and analyze data in real-time. At LinkedIn, we developed a fully managed stream processing platform on Flink running on K8s to power hundreds of stream processing pipelines in production. This platform is the backbone for other infra systems like Search, Espresso (internal document store) and feature management etc. We provide a rich authoring and testing environment which allows users to create, test, and deploy their streaming jobs in a self-serve fashion within minutes. Users can focus on their business logic, leaving the Flink platform to take care of management aspects such as split deployment, resource provisioning, auto-scaling, job monitoring, alerting, failure recovery and much more. In this talk, we will introduce the overall platform architecture, highlight the unique value propositions that it brings to stream processing at LinkedIn and share the experiences and lessons we have learned.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Key Trends Shaping the Future of Infrastructure.pdf
Smart Internationalization assistance and resource translation tools
1. TapiJI
Smart I18N assistance and resource translation tools
INSO - Industrial Software
Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien
2. Outline
1 The TapiJI project
2 I18N Tool Suite
3 Stand-alone translation apps
4 Whats next / Future work
5 Links / References / Documentation
2
3. Outline
1 The TapiJI project
2 I18N Tool Suite
3 Stand-alone translation apps
4 Whats next / Future work
5 Links / References / Documentation
3
4. The TapiJI project - Vision
Make I18N more convenient for agile software development
▪ Consider I18N as integral part of initial development
▪ Reduce effort of corresponding tasks
▪ Reduce the risk of bugs in the initial translation
▪ Highlight missing Internationalizations and provide Quick Fixes
Assist process of resource translation
▪ Provide application for resource translation
▪ Allow to edit Resource-Bundle without file format conversion
▪ Integrated into the dev tool landscape and process
▪ Assist cooperative translation work
4
5. The TapiJI project - Timeline
06/2010 Starting work on TapiJI
10/2010 Sources are hosted on EclipseLabs
11/2010 Presenting I18N tools and RCP-based translation
application at the DemoCamp in Vienna
02/2011 Article in the German Eclipse Magacine
06/2011 TapiJI provides an extensible architecture
11/2011 Presentation of new features at the DemoCamp in Vienna
08/2012 Finalized I18N refacotring support & RAP translator
10/2012 Contribution to the Eclipse Babel project
11/2012 Today‘s presentation
5
6. Architecture – Tool Suite
TapiJI Tool Suite
▪ Extends the Eclipse IDE with smart Internationalization helps
▪ Integrates with the existing Babel Messages Editor
▪ Assists developers during day-to-day coding work
▪ Provides an extensible architecture
Java ext. RB ext. JSF ext. …
TapiJI Tools Core plug-ins
Editor Enhancements
Eclipse Babel Messages Editor
Eclipse IDE
6
7. Architecture - Babel contribution
Parts have been contributed to the Eclipse Babel project:
▪ TapiJI specific enhancements of Messages Editor
▪ The Tool Suite‘s core plug-ins
▪ Java and RB extension plug-ins
Java ext. RB ext. JSF ext. …
TapiJI Tools Core plug-ins
Editor Enhancements
Eclipse Babel Messages Editor
Eclipse IDE
7
8. Architecute – RCP/RAP Translator
TapiJI Translator
▪ Standalone application for translation of Java Resource-Bundles
▪ Implementation for multiple target platforms
RCP based single-user translator
RAP based translator for cooperative resource translation
RCP Translator RAP Translator
TapiJI Generic Translator
Editor Enhancements
Eclipse Babel Messages Editor
Eclipse RCP Eclipse RAP
8
9. Outline
1 The TapiJI project
2 I18N Tool Suite
3 Stand-alone translation apps
4 Whats next / Future work
5 Links / References / Documentation
9
10. I18N Tool Suite
Avoid typical problems of Java Internationalization
▪ Export of culture-neutral configuration strings
▪ Hard-coded UI literals
▪ Incomplete export of constant string literals
These problems are addressed by IDE-integrated assistance
▪ Present I18N tasks more transparent
▪ Highlight I18N errors
▪ Provide Quick Fix resolutions for reported problems
▪ Supports refactoring of resource keys
10
11. I18N Tool Suite
Refactoring support
▪ Refactoring of Resource Bundle keys
Proposal Context menu of Resource Bundle view
Context menu in Babel Messages editor
Short cut
▪ Consistently modifies resource references
▪ Provides preview for inspecting refactoring changes
▪ Cal10n Refactoring support
11
13. Openness
Builder allows to register additional resource parsers
C parse resources
O
Modified resource R
Modified resource
Modified resource E
Modified resource
B
Extension plug-in
U
I
L
D Internationalization errors
E
R Quick-fix resolutions
13
14. Outline
1 The TapiJI project
2 I18N Tool Suite
3 Stand-alone translation apps
4 Whats next / Future work
5 Links / References / Documentation
14
15. TapiJI Translator
Assists translation personell
Stand-alone application for editing Resource-Bundles
without the knowledge of a programming language
Generic translator with two platform specific
implementations
▪ RCP based single-user translator
▪ RAP based multi-user translator
15
17. RAP Translator
Additional features in contrast to RCP translator
▪ Web application
No local installation required
Always up-to-date
Multiple users
▪ Upload & Download of Resource-Bundles
▪ Simple user management
▪ Resource-Bundles are stored and maintained on the server
▪ Each user has an overview of his bundles
▪ File sharing
Simultaneous translation of Resource-Bundles
17
19. Outline
1 The TapiJI project
2 I18N Tool Suite
3 Stand-alone translation apps
4 Whats next / Future work
5 Links / References / Documentation
19
20. Future Enhancements
Internationalization workflow
▪ Development and Evaluation of a best practice I18N process
▪ Adapt tool suite for supporting the developed workflow
Mylyn integration
▪ Allow the creation of Internationalization tasks
▪ SCM/Diff integration to communicate change sets
Integration of mobile frameworks
▪ Allows the Internationalization of mobile Applications
▪ Planned for Android and iOS
20
21. Future Enhancements
Cal10n Support
▪ Enhance Tool Suite with support for Compiler assisted L10N
▪ Resource keys are mapped to enum entries
RAP Translator enhancements
▪ Optional GIT integration for user and storage management
▪ Event-driven user notification
21