Enhancing open-source localization By Farzana Forhad Farzana Forhad May 20, 2010 Advisor: Dr. Chris Pollett Committee members: Dr. Robert Chun & Professor.

Slides:



Advertisements
Similar presentations
Holdings Management Overview
Advertisements

Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
P.Fiévet February 13, 2006 Information technology support for IPC users IPC FORUM Geneva, February 13, 2006 Patrick FIÉVET World Intellectual Property.
For Details Visit : or For any Help Contact the Librarian EBSCOhost 2.0.
With Folder HelpDesk for Outlook, support centres and other helpdesks can work efficiently with support cases inside Microsoft Outlook. The support tickets.
Microsoft Excel 2003 Illustrated Complete Excel Files and Incorporating Web Information Sharing.
By SAG Objectives Cross platform QA Automation for web applications Scheduling the automation Automatically build the test scripts Generate the.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Technical Tips and Tricks for User Support Mike Gardner
Introduction to RefWorks John Anderson WCAS Writing Program Northwestern University November 12, 2002.
Python and Web Programming
Website Development with PHP and MySQL Introduction.
Dreamweaver 8 Concepts and Techniques Introduction Web Site Development and Macromedia Dreamweaver 8.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Creating and Publishing Your own website
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
RSS RSS is a method that uses XML to distribute web content on one web site, to many other web sites. RSS allows fast browsing for news and updates.
Sharepoint Portal Server Basics. Introduction Sharepoint server belongs to Microsoft family of servers Integrated suite of server capabilities Hosted.
Online Tutorials for Information Services: A Case Study of IIITM-K Sainul Abideen P,Sreekutty TS, Yunus TP Indian Institute of Information Technology &
8/17/2015CS346 PHP1 Module 1 Introduction to PHP.
Web Content Management Systems. Lecture Contents Web Content Management Systems Non-technical users manage content Workflow management system Different.
Linux Operations and Administration
Adobe Dreamweaver CS5 Introduction Web Site Development and Adobe Dreamweaver CS5.
The purpose of this Software Requirements Specification document is to clearly define the system under development, that is, the International Etruscan.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Jason G. Caudill Assistant Professor of Business Administration Carson-Newman College.
Selenium Web Test Tool Training Using Ruby Language Discover the automating power of Selenium Kavin School Kavin School Presents: Presented by: Kangeyan.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
NetTech Solutions Working with Web Elements Lesson 6.
Introduction to Programming the WWW I CMSC Summer 2004 Lecture 6.
10/5/2015CS346 PHP1 Module 1 Introduction to PHP.
HTML_Generators WB_HTML_Generators. What method are you going to choose to build your web page? MethodWrite Convert Html IssuesHTML HTML Editors Tool.
Tutorial 1: An Introduction to Visual Basic.NET1 Tutorial 1 An Introduction to Visual Basic.NET.
LOGO 2 nd Project Design for Library Programs Supervised By Dr: Mohammed Mikii.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
By Matt Baker Eric Sprauve Stephen Cauterucio. The Problem Advisors create a sign-up sheet to be posted on the door of their office. These sign-up sheets.
0 eCPIC User Training: Resource Library These training materials are owned by the Federal Government. They can be used or modified only by FESCOM member.
SVN in Eclipse Presented by David Eisler 10/09/2014.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
PDA Program Install Manual IT Team. 1. Execute Internet Explorer 2. Connect Website 3. Download 4. Installation 5. Run 6. Setting 1. Execute.
The new European Toolkit EC-CHM Miruna Bădescu EEA contractor: Eau de Web.
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
Package & Deploy. OBJECTIVES Package Deploy Way to package.
Amy Jo Harrell 2006 Making your own web site Yes, I mean you!
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
: Information Retrieval อาจารย์ ธีภากรณ์ นฤมาณนลิณี
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
Module 4 Creating EMC Files, Uploading EMC Files and Downloading Reports PC-ACE Pro32.
Enterprise Oracle Solutions Oracle Report Manager The New ADI and More Revised:June 20091Report Manager/SROAUG Presentation.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
Expertsfromindia for Joomla Development. Introduction Joomla is an open source and free content management system (CMS) for publishing content on the.
Subversion (svn) Basics Department of Computer Science Kent State University Prof. Jonathan I. Maletic.
 Joomla provides the free and open source content management system for publishing web content.  It is build on model-view- controller web application.
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Development Environment
Web Site Development and Macromedia Dreamweaver 8
David Huynh, Stefano Mazzocchi, David Karger Piggy Bank: Experience the Semantic Web inside your web browser Web Semantics: Science, Services and Agents.
CUAHSI HIS Sharing hydrologic data
Concurrent Version Control
Module 1 Introduction to PHP 11/30/2018 CS346 PHP.
User Guide Subversion client TortoiseSVN
Test Information Distribution Engine (TIDE) Training
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
JavaScript.
SharePoint 2010 – SharePoint 101
Tutorial 7 – Integrating Access With the Web and With Other Programs
Presentation transcript:

Enhancing open-source localization By Farzana Forhad Farzana Forhad May 20, 2010 Advisor: Dr. Chris Pollett Committee members: Dr. Robert Chun & Professor Frank Butt

Agenda Introduction Comparing with existing tools Technology Used Preliminary Work Design User Interface The Backend Testing Conclusion Reference

Introduction Many non-English speakers are more comfortable browsing the web in their mother tongue rather than English. Most of the time, they like to see web pages in their own language, such as Chinese, Japanese, Spanish, and so on. “gettext” is An important part of localization and internationalization. It is an open source tool for internationalization. Unfortunately, translating strings into different languages using “gettext” tools takes several steps. Pootle is a web-based translation tool that uses gettext. After logging in to a Pootle server we can search as a project or as a language. If we enter inside a project we can see the list of all the languages that are supported by that project. We can add or delete any language. We can also upload any file from the local directory. And then we can translate and save it in the local directory of the local machine. For my master’s project, I extended Pootle to make it function smoothly with svn repositories.

Comparing with existing tools Mozilla Verbatim has a an extension called, FoxLingo that uses language identifiers, and language search features. This supports 71 languages. On the other hand, Launchpad which is a similar tool can translate free software projects and also can distribute packages into one’s own language. But if we compare these tools with our tool, none of them really integrates entirely with an online repository. My new add-on for pootle will give advantage to the user to save their work to an online repository and download them as a portable object format. After translating the strings they can upload their translated files with the button click.

Technology Used As this project goal is to make an extension to Pootle, we had to modify/make use of several tools and technologies. GetText Portable Object Subversion Beanstalk svn php

Preliminary Work Extensive research was conducted for this project. Most of this research was performed in the CS297 during the preparation for writing project. Simple research on gettext Creating an example with PHP and gettext Front-end and Back-end interaction

Design Pootle is a web portal which is designed to be a web translation tool. We can run Pootle like an internet server and run a local copy on an intranet. Pootle has a user friendly interface which ensures better quality and easier translation of projects. Users can log into the Pootle and create their own projects under any language, and they can also add or retrieve any language from any project or any project from any language. Pootle server is installed in a local machine. It has feature that is used for translating string into multiple languages. We worked both with back end and front end while making the extension to the Pootle server.

Setting Up the Directory Structure

The Backend

User Interface

Svn check out A user presses the “svn checkout” button: A consolidated portable object file generates from the requested files such as, PHP, and HTML. The portable object file gets saved in the Pootle server under the project and directory chosen by the user. And user can have a view what checked out from the svn repository.

Svn check out

Svn check in A user selects the “svn check-in” button: The updated and translated files get uploaded to the SVN repository. The “svn_add” function is responsible for scheduling the addition of an item in a working directory. It adds the file or the directory to the working directory. The item (directory or the file) will be added to the repository at the next time svn_commit() on this working copy.

Svn check in

Performance Testing Manual vs. with the extension Connect to Svn Repository Do a svn checkout Find the required file in your machine Run xgettext to make “.po” file Connect to Pootle server Upload the “.po” file to your translation project

Performance Testing Manual vs. with the extension Connect to Pootle server Fill out subversion form and click svn checkout Figure : Checkout and generating.po file with the extension

Performance testing

Robustness The Pootle server software is written in Python. The software mainly provides some important features for localization; such as translation memory, alternative source language, version control, user management, translation interface and all these features were implemented in Python. For the user interface other than HTML, KID is used which is a XML based template language.

Robustness

Conclusion The goal of the project is to give the user a translation server with the privilege to share the work globally. Our extension extended the functionality of the Pootle server by allowing the user to work with the open source repository by making a bridge between the local serve r and open source repository. By the click of a button they can make a connection to the subversion, checkout and check-in all the files to or from their local directory.

References Pootle: HTML tutorial: Official page for PHP: PHP svn manual: xgettext: ttp:// Exec tutorial: CSS tutorial: Python : Launchpad: Mozilla Verbatim: Subversion: Selenium: Beanstalk: Portable object: [2000] Practical Guide to Localization (Language International World Directory). Bert Esselink. Iohn Benjamin's Publishing Co [2000] Localization A Global Manifesto. Hines, Colin. Stylus Pub Llc. March [2004] Technical Reports &Notes [2007] Internationalization Activity.