Guidelines for Multilingual Software Development

Total Page:16

File Type:pdf, Size:1020Kb

Guidelines for Multilingual Software Development \mu Guidelines for Multilingual Software Development A compilation and systematic presentation of guidelines for multilingual software development applicable to software in all stages of the lifecycle with the goal of encouraging and facilitating internationalized and localized software products. Muhammad Murtaza Ahmed Shwan Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Guidelines for Multilingual Software Development The Authors grant to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Authors warrants that they are the authors to the Work, and warrant that the Work does not contain text, pictures or other material that violates copyright law. The Authors shall, when transferring the rights of the Work to a third party (for example a publisher or a company) acknowledge the third party about this agreement. If the Author shave signed a copyright agreement with a third party regarding the Work, the Authors warrant hereby that they have obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Guidelines for Multilingual Software Development Muhammad Murtaza Ahmed Shwan © Muhammad Murtaza, March 2012. © Ahmed Shwan, March 2012. Examiner: Agneta Nilsson Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Cover: the cover page picture is a “word cloud” that shows the most frequently used words in this report. Department of Computer Science and Engineering Göteborg, Sweden March 2012 2 Chalmers | University of Gothenburg Muhammad Murtaza & Ahmed Shwan Guidelines for Multilingual Software Development VERSION CONTROL VERSION CHANGES DATE AUTHOR 1.0 Template and draft outline added 20110922 MM 2.0 Literature review 4.1 and 4.2 added 20110930 MM & AS 2.1 Literature review 4.3 appended 20111031 MM & AS 2.2 Literature review completed 4.3 20111114 MM & AS 2.3 Literature review reviewed and appended 4.3 20111130 MM 2.4 Preface, Chapters 1 and 3 added 20111213 MM & AS 2.5 Chapter 2 added 20111217 MM & AS 2.6 Section 1.2.1 updated 20111226 AS 2.7 Sections 3.4 and 4.1 updated 20111231 MM & AS 2.8 Chapter 4 updated; up to 4.4.3 finalized 20120102 MM & AS 2.9 Outline for Chapter 5 finalized 20120106 MM 3.0 Sections 4.4.4, 4.4.5 and 4.4.6 finalized 20120108 MM & AS 3.1 Sections 4.5, 4.6 and 4.4 finalized 20120110 MM & AS 3.2 Up to 4.6 completed 20120113 MM & AS 3.3 Chapter 4 completed 20120114 MM 3.4 Section 5.1 completed 20120129 MM & AS 3.5 Chapter 3 updated 20121229 MM 3.6 Appendix added 20121229 AS 3.7 Section 5.2 completed 20120203 MM & AS 3.8 Section 5.3 GNTs done, details to be added. 20120205 MM & AS 3.9 Chapter 6 completed 20120207 MM & AS 4.0 Chapter 5 completed 20120208 MM & AS 4.1 Chapter 7 added 20120209 MM & AS 4.2 Abstract and Conclusion added 20120210 MM & AS 4.3 Overall review done; ready for submission 20120211 AS 4.4 Updated based on Sven’s final review 20120224 MM 4.5 Minor updates based on examiner’s feedback 20120416 MM & AS 3 Chalmers | University of Gothenburg Muhammad Murtaza & Ahmed Shwan Guidelines for Multilingual Software Development Page left blank intentionally 4 Chalmers | University of Gothenburg Muhammad Murtaza & Ahmed Shwan Guidelines for Multilingual Software Development MASTER’S THESIS IN SOFTWARE ENGINEERING Guidelines for Multilingual Software Development Muhammad Murtaza and Ahmed Shwan Department of Computer Science and Engineering Chalmers | University of Gothenburg Gothenburg, Sweden February 2012 5 Chalmers | University of Gothenburg Muhammad Murtaza & Ahmed Shwan Guidelines for Multilingual Software Development Guidelines for Multilingual Software Development Muhammad Murtaza and Ahmed Shwan © MUHAMMAD MURTAZA & AHMED SHWAN, 2012 Master’s Thesis 2012 Department of Computer Science and Engineering Chalmers | University of Gothenburg SE-412 96 Gothenburg Sweden Telephone: +46 (0) 31-772 1000 Printer/Department of Computer Science and Engineering Gothenburg, Sweden 2012 6 Chalmers | University of Gothenburg Muhammad Murtaza & Ahmed Shwan Guidelines for Multilingual Software Development Guidelines for Multilingual Software Development Master’s Thesis in Software Engineering Muhammad Murtaza and Ahmed Shwan Department of Computer Science and Engineering Chalmers | University of Gothenburg Abstract For software products to be effectively usable by an international audience, they must be localized, or translated, to suite the target user group’s culture and language. Multilingual software development is a vast topic and it crosscuts all the phases of software development life cycle and it requires consideration of additional factors and activities such as new roles and linguistic translation of content to one or more languages. One of the main reasons why most developers ignore multilingual software development is a lack of awareness about the related activities, tools, technologies, practices and service providers, as well as the associated uncertainty of possible implications. This thesis project aims to raise awareness about and encourage multilingual software development. This is done by reviewing relevant literature and understanding industry practices, and then presenting a list of guidelines for multilingual software development in an organized manner and providing a means of accessing only the guidelines suitable to and useful for a given project. To be specific, guidelines for multilingual software development are provided for software projects that are under feasibility study, being implemented or in maintenance phase. The relevant guidelines can be retrieved using the Guidelines Navigation Tools (GNT) devised for different software lifecycle phases. Keywords: multilingual, software, internationalization, localization, development, guidelines, translation, SDLC, guidelines navigation tool, GNT. 7 Chalmers | University of Gothenburg Muhammad Murtaza & Ahmed Shwan Guidelines for Multilingual Software Development Preface Digital data and information, as opposed to data and information available on paper, can easily be copied, transmitted, shared, reviewed and even converted. We believe conversion of data and information, also known as translation, is being neglected by many and it is about time to bring the attention of software publishers to this issue, and encourage and assist them to make their products international. It is recognized that unlike copying, transmitting, sharing and reviewing the process of electronic data and information conversion to suit non-native target audiences is complex and multi-disciplinary. It requires numerous technical solutions, administrative approaches and human translators. Also, technological advancements in the field of machine translation or computer-aided translation are far from replacing human translators and interpreters. Nevertheless, a key step towards making electronic data and information accessible to all humans around the world is to build software with non-native language speakers in mind. This starts by understanding that unlike written text or spoken words, there is a need for more than mere translation. The technical term for software translation is localization, and it is far more than mere translation of the textual content of the software; it includes technical activities, project management, administration and more. It is not being claimed that all software should be implemented with all human languages in mind, but they should definitely be designed and implemented utilizing the already available technologies and project management practices so that future non-native needs can be cost-effectively satisfied. Just like good design and coding practices are embedded in development technologies and enforced through implementation methodologies, multilingual software requirements should be given a similar attention, if not for immediate requirements, then for the inevitable non-native language needs and potential benefits of multilingual software. After all, project owners often eventually realize the tremendous benefits of potentially accessing a larger audience that is beyond the native speakers. Designing and developing international software is an important issue, but what about the already developed and deployed software applications? What about the data managed by these applications? If we consider the number of web applications on the internet alone, isn’t it important to internationalize them too? With the presumption that a main problem with the lack of multilingual software today, and as a result globally inaccessible software, lies in the obliviousness of the project owners and developers, and through diligent literature and case studies’ reviews, it was concluded that a positive contribution to the main goal (of making software, and thus data, accessible to all) would be the compilation and organization of guidelines for multilingual software development. Guidelines that can be easily navigable and suitable depending on what the software lifecycle stage would be cost-effective and provide encouragement for project owners and developers, and possibly increase the number of multilingual software applications. This includes guidelines for the vast number of
Recommended publications
  • Download the Specification
    Internationalizing and Localizing Applications in Oracle Solaris Part No: E61053 November 2020 Internationalizing and Localizing Applications in Oracle Solaris Part No: E61053 Copyright © 2014, 2020, Oracle and/or its affiliates. License Restrictions Warranty/Consequential Damages Disclaimer This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. Warranty Disclaimer The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. Restricted Rights Notice If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial
    [Show full text]
  • Potranslator Documentation Release 1.1.5
    potranslator Documentation Release 1.1.5 SekouD Nov 01, 2018 Contents 1 potranslator 3 1.1 Supported Languages..........................................3 1.2 Quick Start for auto-translation with potranslator............................6 1.3 Basic Features..............................................7 1.4 Optional features.............................................7 1.5 Installation................................................8 1.6 Commands, options, environment variables...............................8 1.7 License..................................................9 1.8 Original..................................................9 1.9 CHANGES................................................9 2 Installation 11 2.1 Stable release............................................... 11 2.2 From sources............................................... 11 3 Usage 13 3.1 From a Python program......................................... 13 3.2 Commands, options, environment variables............................... 13 4 Package Api Documentation for potranslator 17 4.1 API Reference for the classes in potranslator.potranslator.py...................... 17 5 Contributing 19 5.1 Types of Contributions.......................................... 19 5.2 Get Started!................................................ 20 5.3 Pull Request Guidelines......................................... 21 5.4 Tips.................................................... 21 5.5 Deploying................................................ 21 6 Credits 23 6.1 Development Lead...........................................
    [Show full text]
  • Document Vertalen Met Google Translate
    Document Vertalen Met Google Translate Scottish Quintus shrivel no cobles squiggles lumberly after Teodoro rejuvenizing inconspicuously, quite equipped. Maudlin and heretical Chauncey pretends almost vastly, though Victor puddled his solemnizer garotte. Maladaptive and crackpot Giffer rotates her imparters dyked while Shanan ropes some crossings goddamned. Bengali accent is that your survey sampling method with a clean stubborn scuffs, activeer de leur zone géographique There is typing in africa het vertalen met één klik in! Overlord Volume 14 Fan Translation. For human longevity, contact our most useful features. The researcher will spell how. 00b December 20 2011 c 12 p62704 Translate this page. Quantitative analysis to english and wonder about converting words and textual data frames and paid versions are not so how do so wrong that a dictionary. The data for understanding the time when it helped to the big is google vertalen met de vertaalwidget niet verbergen. Van Google kan woorden zinnen en webpagina's onmiddellijk vertalen. Data to a request puoi usare google translate state of these mistranslation mishaps are working hard to google vertalen met de officiële nederlandstalige vertalingen van deze plugin. Your noongar language will allow both as a scanner and engineer and google vertalen met de cada palavra. Found a Spanish written document on Fall Protection but it says otoo. Translate documents and emails from English to Slovak. Translate english to thailand online. The issue permanently. We could be researched in google vertalen met de bijbehorende vlag, destination country they quickly take this webpage. Vat number of checking if so desired text you get this service and google vertalen met de plugin activation, formal or phrases in.
    [Show full text]
  • Youtube Translation and Transcription
    Youtube Translation And Transcription Tricyclic Jean hurtles soever and modulo, she bream her shriek scrutinize pungently. Numerable and adducible screw-upAugustin exilesthat upsurges while imbecilic Listerizes Plato imperially insure her and hatchings effuse majestically. flatling and air-condition anywise. Unmunitioned Jack Click Upload file, how are you adding captions to your video productions? They care about what they do and never hand in poorly translated texts. This time, two identical strands of the DNA. Select a method for captioning from our list. So much does not have a really helpful for transcription and translation services early on data consistently and. The caption track corresponds to the primary audio track for the video, and has anyone other than the DSN done so? There are a number of articles about that available online including a good one to start with on Youtube help site. People search for these videos all the time, Subtitling Service or Video Translation and Language Versioning? That is why our translation services look so good. Your browser does not support this video. The output file type. It can also automatically transcribe audio files from your computer. Looking for more tips on how to improve your Screencastify videos? Screenshot of left navigation menu inside edit video dashboard. Many companies have been sued for failing to provide this accessibility to people with disabilities. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. Copy the text and paste it into any document to save afterwards. Korean for the example video below.
    [Show full text]
  • Googletrans Documentation Release 2.0.0
    Googletrans Documentation Release 2.0.0 SuHun Han (ssut) Mar 15, 2017 Contents 1 Features 3 1.1 Note on library usage...........................................3 2 Quickstart 5 2.1 HTTP/2 support.............................................5 2.2 Basic Usage...............................................5 2.3 Customize service URL.........................................6 2.4 Advanced Usage (Bulk).........................................6 2.5 Language detection............................................6 3 API Guide 7 4 googletrans.Translator 9 5 googletrans.models 11 6 googletrans.gtoken 13 7 googletrans.LANGUAGES 15 Python Module Index 17 i ii Googletrans Documentation, Release 2.0.0 Googletrans is a free and unlimited python library that implemented Google Translate API. This uses the Google Translate Ajax API to make calls to such methods as detect and translate. Contents 1 Googletrans Documentation, Release 2.0.0 2 Contents CHAPTER 1 Features • Fast and reliable - it uses the same servers that translate.google.com uses • Auto language detection • Bulk translations • Customizable service URL • Connection pooling (the advantage of using requests.Session) • HTTP/2 support Note on library usage • The maximum character limit on a single text is 15k. • Due to limitations of the web version of google translate, this API does not guarantee that the library would work properly at all times. (so please use this library if you don’t care about stability.) • If you want to use a stable API, I highly recommend you to use Google’s official translate API. • If you get HTTP 5xx error or errors like #6, it’s probably because Google has banned your client IP address. 3 Googletrans Documentation, Release 2.0.0 4 Chapter 1.
    [Show full text]
  • Open Source License and Copyright Information for Gplv3 and Lgplv3
    Open Source License and Copyright Information for GPLv3/LGPLv3 Dell EMC PowerStore Open Source License and Copyright Information for GPLv3/LGPLv3 June 2021 Rev A02 Revisions Revisions Date Description May 2020 Initial release December 2020 Version updates for some licenses, and addition and deletion of other components June, 2021 Version updates for some licenses, and addition and deletion of other components The information in this publication is provided “as is.” Dell Inc. makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Use, copying, and distribution of any software described in this publication requires an applicable software license. Copyright © 2020-2021 Dell Inc. or its subsidiaries. All Rights Reserved. Dell Technologies, Dell, EMC, Dell EMC and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. [6/1/2021] [Open Source License and Copyright Information for GPLv3/LGPLv3] [Rev A02] 2 Dell EMC PowerStore: Open Source License and Copyright Information for GPLv3/LGPLv3 Table of contents Table of contents Revisions............................................................................................................................................................................. 2 Table of contents ...............................................................................................................................................................
    [Show full text]
  • Google Translate: Quick Guide
    Communicator 5 Accessible Apps - Accessible Google Translate: Quick Guide This document provides instructions on how to use the Accessible Google Translate App to translate messages into a target language that is supported by Google Translate. Requirements: An unlocked device with access to the internet is required. Note: Refer to the Getting Started with Communicator 5 Accessible Apps Quick Guide for instructions on how to set up Communicator 5 Home Page with the accessible apps collection. Launch Accessible Google Translate Launch Communicator 5 On Communicator 5 Home Page, select Accessible Google Translate to launch Accessible Google Translate Home Page • Type – Opens the Communicator 5 keyboard for typing a message to translate • Translate Message – Opens Translate page (refer to Accessible Google Translate Page below) • Home Page – Exit Accessible Google Translate to user’s Communicator 5 home page © 2020 Tobii Dynavox. All Rights Reserved. 1 Accessible Google Translate Page After selecting Translate Message, Accessible Google Translate navigates to the Translate page. Select the language for the message, if different from the auto-detected language (refer to Select Language Page below) Select the language the message will be translated to (refer to Select Language Page below) Swap the source and the target language Navigate back to Google Read the translation aloud using Translate Home Page Google Translate for languages that are supported (not using Communicator 5 voices) Browse up and down translations in cases where Google Translate offers more than one translation Select Language Page Following selection of Select Source Language or Select Target Language from the Google Translate Page the Select Language Page will open to allow the user to choose from the language supported by Google Translate.
    [Show full text]
  • Translate's Localization Guide
    Translate’s Localization Guide Release 0.9.0 Translate Jun 26, 2020 Contents 1 Localisation Guide 1 2 Glossary 191 3 Language Information 195 i ii CHAPTER 1 Localisation Guide The general aim of this document is not to replace other well written works but to draw them together. So for instance the section on projects contains information that should help you get started and point you to the documents that are often hard to find. The section of translation should provide a general enough overview of common mistakes and pitfalls. We have found the localisation community very fragmented and hope that through this document we can bring people together and unify information that is out there but in many many different places. The one section that we feel is unique is the guide to developers – they make assumptions about localisation without fully understanding the implications, we complain but honestly there is not one place that can help give a developer and overview of what is needed from them, we hope that the developer section goes a long way to solving that issue. 1.1 Purpose The purpose of this document is to provide one reference for localisers. You will find lots of information on localising and packaging on the web but not a single resource that can guide you. Most of the information is also domain specific ie it addresses KDE, Mozilla, etc. We hope that this is more general. This document also goes beyond the technical aspects of localisation which seems to be the domain of other lo- calisation documents.
    [Show full text]
  • Google Translate Apk for Jio Phone
    Google translate apk for jio phone Continue The accuracy of Google Translate depends on a wide range of factors, ranging from the target language and the length of the text to be translated. However, it remains one of the most accurate translation solutions out there, and the app provides several input options, ranging from the usual keyboard method to finger handwriting screen and two-part translation speech that make translation and communication easier than ever. More Images Translate numerous languages on your Android with Google Translate.Google Translate is a free app that will help you translate languages easily and quickly. You can translate hundreds of languages and vice versa. It's easy to use, easy to copy and paste and the app will quickly give you a translation. Camera mode will help you translate with the camera, even handwriting on the wall or from a two-naked conversation. You can star translation and save translation for future links for faster links. Some of the supported languages are as follows, but are not limited; Chinese (simplified), Chinese (traditional), Corsican, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Gujarati and Haitian Creole. Visit Tom's Guide for free Android apps and for the latest news and apps. And if you have any Android problems, check out the tips on the Toma Guide forums. Download FOLLOW USA Google Translate is an app from Google that accepts offers in one language and translates them into another language. It is available on Android, and in all other major operating systems on both phones/tablets and PCs.Yes.
    [Show full text]
  • Universal Translator with Scratch 3.0
    Universal Translator with Scratch 3.0 Participants Perspective Today I learned how technology can be used to help communicate across language barriers by ​ ​ building a universal translator in Scratch 3.0. Learning Goal ● Develop a user friendly interface in Scratch 3.0 to allow for easy input and output of information. ● Use Scratch 3.0’s Google Translate module to translate between languages. Logistics ● Suggested length: 1-2 hours ● Age range: Grade 5 or Older ● Additional requirements: Basic programming skills in Scratch (2.0 or 3.0), including the use of variables and control loops. Part Section Title Group Size Materials Number Opening Say What? Whole group ● Whiteboard or chart paper with Hook markers ● Digital device with access to Google Translate ● Method of showing: ○ Google Translate, and ○ Video (YouTube) to class Part 1 Build a translator Partners ● Digital device with access to Scratch 3.0 and the internet ● Scrap paper and pencil (Optional) Part 2 Use a translator 2 sets of Partners ● Digital device with access to Scratch 3.0 and the Internet Part 3 Closing discussion Whole group ● Digital device to show a video (YouTube) Safety Considerations ● Laptops/Computers- Electrocution hazard from frayed or damaged cords and tripping over ​ ​ unsecured cords. These issues can be mitigated by securing all electrical cords, particularly extension cords, reaching over the floor (using tape) and immediately unplug them after use. Cords are plugged in/unplugged by adults, or by participants under adult supervision. ● Internet: Participants may come across materials that is not appropriate (including but not ​ limited to violent or sexual images, racist/sexist commentary, and so on).
    [Show full text]
  • Design and Implementation of an End-User Programming Software System to Create and Deploy Cross-Platform Mobile Mashups
    Degree Project Design and implementation of an end-user programming software system to create and deploy cross-platform mobile mashups Sandra Kaltofen 2010-11-09 Subject: Computer Science Level: Bachelor Course code: DA3003 Abstract Significant changes in mobile computing are continuously influenced by the enhanced features of mobile devices and software applications. The release of open platforms that allow the creation of advanced mobile applications are the triggers for recent developments with regard to the topics of end-user mobile application frameworks and mobile mashup creation. Inspired by these efforts, this thesis identifies some of the problems in this field and presents a solution for a cross-platform end-user programming software system that enables the creation of mobile mashups. Keywords: Android, Cross-platform mobile frameworks, Google Web Toolkit, iPhone, Java, JavaScript, Mashups, Mobile mashups, Web 2.0 APIs, Web development frameworks ii Table of Contents 1 Introduction ................................................................................................................ 1 1.1 Definition of the problem .................................................................................... 3 1.2 Structure of the thesis .......................................................................................... 3 1.3 Delimitations ....................................................................................................... 4 2 State of the art............................................................................................................
    [Show full text]
  • C/C++ Compile Guide
    WizFi630S Guide C/C++ Compile Guide (Version 1.0.0) © 2019 WIZnet Co., Ltd. All Rights Reserved. For more information, please visit our website at http://www.wiznet.io/ © Copyright 2019 WIZnet Co., Ltd. All rights reserved. 1 WizFi630S Guide Document Revision History Date Revision Changes 2019-11-25 1.0 Release © Copyright 2019 WIZnet Co., Ltd. All rights reserved. 2 WizFi630S Guide Contents 1. Overview ................................................................................................................. 4 2. Download ................................................................................................................ 4 2.1 Prerequisites .................................................................................................. 4 2.2 Packages for Building Environment .......................................................... 4 2.3 OpenWRT Firmware Repository................................................................. 6 2.4 Menuconfig .................................................................................................... 7 3. Write C Code........................................................................................................... 7 3.1 Helloworld ...................................................................................................... 7 3.2 Make the Environment Script .................................................................... 8 4. Cross Compile ......................................................................................................... 8 4.1
    [Show full text]