The Ultimate Guide to Agile Localization

如何实现敏捷本地化?终极指南告诉你答案

2020-05-30 05:10 Lingua Greca

本文共1461个字,阅读需15分钟

阅读模式 切换至中文

There is a lot of pressure on software developers to reduce their release cycles, and localization needs to keep pace. Agile development is a standard practice in the software world today, it only makes sense that localization needs to find ways to avoid being a stumbling block. Our ultimate guide to agile localization brings you all its benefits and best practices. What Is Agile Development? What Is the Problem With Localization? Agile Localization in PracticeSelect a proper toolPreparing for Translation / InternationalizationExtracting Copy for Translation / Locale File CreationSubmitting to translationReviewIntegration of Translation FilesLocalization TestingPublishing / Release Select a proper tool Preparing for Translation / Internationalization Extracting Copy for Translation / Locale File Creation Submitting to translation Review Integration of Translation Files Localization Testing Publishing / Release Progress Overview Conclusion What Is Agile Development? The rise of mobile apps and SaaS platforms gave software developers the means for updating software, fixing bugs, and adding new features in close to real-time. They actively promoted this new approach, even launching a revolutionary manifesto, which generated widespread expectations in the user base. Although partially self-created, this demand for constant improvement led developers to abandon outdated ‘major release’ schedules (traditional waterfalls). Instead, they adopted new processes that mimicked just-in-time manufacturing. Ongoing tasks were broken up into ‘chunks’ that could be changed and released on a much more frequent basis. This way, feature requests, bug fixes, minor and major improvements could be put into a schedule one by one, tested individually, and released when ready. Since work on such smaller chunks allowed for faster mini releases and quick adjustments to changes in requirements, this method became known as “agile development”. What Is the Problem With Localization? Even though localization is key to market expansion and global business development, software development still focuses on the primary language, the development language, the source language. Getting the software translated is still often regarded as an add-on process. Sure, as we will see below, some of the steps required for successful translation do appear to be unrelated to “development proper,” namely translation itself and translation review. And some steps can even appear as bothersome efforts to fix the problems introduced by the translators. Think of localization testing and the code adjustments required in response to the new-found “bugs.” This is clearly a problem that goes away with a change in perspective. Once every participant understands that “localization is key to expansion,” then it becomes clear that localization must be viewed as an integral part of the software development process. Other problems have to do with the nature of the beast. Product teams don’t always foresee the impact of a particular feature on localization. And by the time localization teams can give feedback on a feature, parts of development may have already moved on. Such temporal lags are unavoidable to a certain degree. Although, with the right processes and tools, they can be kept at a minimum. Then, however, there are problems that simply should not exist anymore: Developers manually extract source content from code and databases, Project managers email files to translators, Project managers check in on translation status by phone or email, Developers cut and paste strings from a spreadsheet into a source file. How tedious! The translation workflow must seamlessly integrate into the development process and all such manual tasks that can be automated should be automated. And status can and should be managed and monitored in a centralized system. Accomplish this and you have agile localization. Agile Localization in Practice The process we see emerging in many tech companies follows these steps: Select a proper tool A localization management tool should give all participants a clear view of their own task and also provide a clear overview of all aspects of localization management, including Track related expenses, Invoicing, Vendor management, Timelines. Phrase is designed to align and connect with agile development processes, uniting all your localization requirements in one management solution: Preparing for Translation / Internationalization Internationalization – or i18n if you want to know the industry jargon – is the process of making sure a piece of software can be adapted to different languages and regions. This requires the use of mechanisms that offer the ability to change content dynamically based on the selected “locale”: Text fragments; Time and date formatting; Currency selection; Using different images for different “locales.” This results in code that is stripped of all localizable elements, allowing you to switch it from one local “skin” to another. For some programming languages or frameworks, Phrase would be directly involved in the internationalization process. In other cases, you can rest assured that Phrase will seamlessly pick up where third-party internationalization tools leave off. A manual task that no tool can possibly automate: providing the translators with appropriate context. Resource files contain lists of IDs and strings, but translators need to know about the function of a string. Is it a label on a button (what for?) or a menu item (that leads where?). When string meanings are not completely obvious, it is very helpful when developers insert comments with contextual information. Extracting Copy for Translation / Locale File Creation The result of the internationalization process is a set of resource files. These are plain-text files that typically contain key-value pairs mapping identifiers to strings in the development language. In many cases, the strings contained in the resource files need to be extracted and converted into a format that translators can work with. Phrase not only takes care of the string extraction and conversion, but it can also monitor the resource files for changes and initiate these steps all on its own. Submitting to translation Localization management systems provide vendor management, providing you with the possibility to: Work with your own team of translators, Use machine translation, or Order professional translations from third-party translation vendors. Strings that were extracted in the previous step are now forwarded to the chosen translation team (or tool). When appropriate, the system can make glossaries and style guides available to translators as well as other reference material. Review When the translation process is finished, the work is reviewed for translation accuracy, consistency, and overall correctness. Measuring translation quality is difficult and errors can be the cause for lots of back-and-forth between reviewers and translators. Systems that integrate a review functionality can improve translation quality and accelerate the overall localization process. Review of certain formal aspects can and should be automated – for example: Verifying the number of line breaks in source and target language, Ensuring that no numbers were changed, Checking that both language strings contain the same HTML tags, Verifying string length Integration of Translation Files The translated resource files must be transferred back from the translator to the development team for integration with the code. This might require another conversion to the required target file format. Localization Testing After the translations are integrated into locale-specific resource files, it is important to do another testing and quality assurance run. Most tools and frameworks have support for in-context preview systems and can facilitate collaborative teamwork between translators and developers. Publishing / Release After the translations have been added to the software and tested, your localized software (or your new feature) is ready for release! Progress Overview Translation projects involve many parties, including but not limited to product managers, developers, translators, revisers, and reviewers. As the volume of translations, the number of target languages, and the frequency of updates increases, team collaboration functionality becomes vital. After all, the number of people involved in, let’s say a 30-language release, is staggering. Having a collaboration platform that allows you to oversee resource allocation and monitor feature-wide translation status and progress from the localization side in real-time is a benefit that you will learn to appreciate very quickly. Phrase provides dashboards with accurate statistics on time spent, number of issues, status per content, status per language, and more. Conclusion We designed Phrase to support the need for an agile and continuous approach to localization as described above. Many years ago, we began to develop Phrase to meet an urgent need of our own and have grown it to a genuine translation management system that cannot only manage complex translation and localization projects but integrates them directly into the development workflows you are familiar with. Years later, Phrase is used by clients across the world to accelerate the overall localization process and to get higher-quality translations at a lower total cost. It automates the translation and localization process, so that your business and developers can focus on continuous product development. Phrase is your reliable solution for scalable localization and partner in tearing down language barriers. Best practices for localization Continuous localization Localization (l10n) Translation management workflow
对软件开发者来说,减少发布周期会带来很大压力,本地化也需要跟上。敏捷开发是当今软件世界的标准惯例,但只有本地化找到避免成为绊脚石的办法,这一点才有意义。 这本有关敏捷本地化的终极指南为你介绍了它所有的益处和最佳实践。 什么是敏捷开发? 本地化面临的难题是什么? 实践中的敏捷本地化 选择合适的工具/为翻译/国际化做准备/提取副本以创建翻译/区域设置文件/提交翻译/审校/翻译文件集成/本地化测试发布/发行 选择合适的工具 为翻译/国际化做准备 提取副本以创建翻译/区域设置文件 提交到翻译 评审 翻译文件集成 本地化测试 发布/发行 进度概述 结论 什么是敏捷开发? 移动应用程序和SaaS平台的兴起为软件开发人员提供了更新软件、修复漏洞和实时增加新功能的途径。 他们积极推广这种新方法,甚至发表了一个革命性的宣言,这使广泛的用户群产生了期望。 尽管部分方法是自创的,但这种不断改进的需求导致开发人员放弃了过时的“主要发布”规划(传统瀑布流开发)。相反,他们采用了模仿准时化生产的新流程,将正在进行的任务分解成“块”,这些“块”可以更频繁地进行更改和发布。 通过这种方式,功能请求、漏洞修复、大小规模的改进都可以被依次放入计划中并单独测试,等准备就绪后再发布。 在这样较小的块上工作需要更快的微型发布,快速调整需求变化,因此这种方法被称为“敏捷开发”。 本地化面临的难题是什么? 即使本地化是市场扩张和全球业务发展的关键,软件开发仍集中于主要语言、开发语言和源语言。 翻译软件仍然经常被认为是一个附加过程。 当然,正如下文将要提到的,成功的翻译所需的一些步骤看起来确实与“开发本身”无关,即翻译本身和翻译审查。 有些步骤甚至看起来像是大费周章地去解决译者引起的问题,比如本地化测试和为了解决新发现的“漏洞”所需的代码调整。 显然,这个问题随着视角的改变而消失。 一旦每个参与者都明白“本地化是扩展的关键”,那么显然本地化必须被视为软件开发过程的一个组成部分。 其他问题与本地化的本性有关。 产品团队并不总是能预见到某个特定功能对本地化的影响。 当本地化团队能够对一个功能给出反馈时,部分开发可能已经开始了。 这种时间上的滞后在某种程度上是不可避免的。 不过,如果使用正确的流程和工具,它们就可以降到最低限度。 然而,还有一些根本不应该再存在的问题: 开发人员手动从代码和数据库中提取源内容, 项目经理用电子邮件将文件发送给翻译, 项目经理通过电话或电子邮件检查翻译状态, 开发人员将字符串从电子表格剪切并粘贴到源文件中。 多枯燥啊!翻译工作流必须无缝地集成到开发过程中,所有这样的可以自动化的人工任务都应该自动化。项目经理能且应该在集成系统中管理和监视任务状态。 完成这一点,就能实现敏捷本地化。 实践中的敏捷本地化 我们在许多科技公司看到的过程都遵循以下步骤: 选择合适的工具 本地化管理工具应该让所有参与者都能清楚地看到自己的任务,还能清楚地概括本地化管理的各个方面,包括 相关费用记录、 开票、 供应商管理、 时间表。 短语旨在与敏捷开发流程保持一致和连接,将所有本地化需求统一到一个管理解决方案中: 为翻译/国际化做准备 国际化,按行业行话来说是i18n。它是确保一个软件可以适应不同语言和地区的过程。 这需要使用能根据所选“区域设置”动态来更改内容的机制: 文本片段; 时间和日期格式; 货币选择; 为不同的“区域设置”使用不同的图像。 这导致代码脱离了所有可本地化元素,从而允许你将它从一个本地“皮肤”切换到另一个本地“皮肤”。 对于某些编程语言或框架,短语将直接参与国际化进程。 在其他情况下,你可以放心,短语将在第三方国际化工具中断处无缝接入。 没有任何工具可以自动完成为翻译人员提供适当的上下文这个手动任务。 资源文件包含ID和字符串的清单,但翻译人员需了解字符串的功能。 是按钮上的标签(为什么?) 还是一个菜单项(指向哪里?)。 当字符串含义不完全明显时,开发人员插入带有上下文信息的注释就非常有用。 提取副本以创建翻译/区域设置文件 国际化过程的结果是一组资源文件。 这些是纯文本文件,通常包含键值对,键值对可将标识符映射到开发语言中的字符串。 在许多情况下都需要提取资源文件中包含的字符串,并将其转换为翻译人员可以使用的格式。 短语不仅负责字符串提取和转换,而且还可以监视资源文件的更改,并自行启动这些步骤。 提交到翻译 本地化管理系统提供供应商管理,让你能够: 与自己的翻译团队一起工作, 使用机器翻译,或者 向第三方翻译商订购专业翻译。 在上一步中提取的字符串现在被转发到所选的翻译团队(或工具)。 适当时,该系统可向笔译员提供词汇表和风格指南以及其他参考材料。 评审 当翻译过程完成时,对工作进行检查,以确保翻译的准确性、一致性和总体正确性。 衡量翻译质量是一件很困难的事,而且出现错误也可能导致源文件审稿人和译者之间来回折腾。 集成审阅功能的系统可以提高翻译质量并加速整体本地化进程。 某些正式方面的评审可以而且应该是自动化的,例如: 验证源语言和目标语言中的换行符数、 确保没有更改任何数字、 检查两种语言字符串是否包含相同的HTML标记、 验证字符串长度、 翻译文件集成。 翻译后的资源文件必须从翻译器传递回开发团队,以便与代码集成。 这可能需要再次转换为所需的目标文件格式。 本地化测试 翻译集成到特定于区域设置的资源文件中之后,要进行另一次测试和质量保证运行,这一点很重要。 大多数工具和框架都支持上下文预览系统,可以促进翻译人员和开发人员之间的协作团队工作。 发布/发行 翻译已添加到软件并进行测试之后,你的本地化软件(或你的新功能)就可以发布了! 进度概述 翻译项目涉及多方,包括但不限于产品经理、开发人员、翻译人员、审校人员和评审人员。 随着翻译量、目标语言数量和更新频率的增加,团队协作功能变得至关重要。 毕竟,涉及的人数之多,更何况还要发布30种语言,属实令人震惊。 但好处是能拥有一个让你从本地化方面实时监控资源分配和功能范围内的翻译状态和进展的协作平台,你会很快体会到这种好处。 短语为仪表板提供了关于所用时间、问题数量、每个内容的状态、每种语言的状态等准确统计数据。 结论 如上所述,我们设计短语是为了支持敏捷和持续本地化的需要。 许多年前,我们开始开发短语来满足我们自己的迫切需要,并已将其成长为一个真正的翻译管理系统。它不仅可以管理复杂的翻译和本地化项目,而且可以将它们直接集成到你熟悉的开发工作流中。 几年后,世界各地的客户使用短语来加速整个本地化进程,并以较低的总成本获得高质量的翻译。 它自动化了翻译和本地化过程,这样一来,你的业务和开发人员就可以专注于持续的产品开发。 短语是你可扩展本地化的可靠解决方案,是破除语言障碍的合作伙伴。 本地化的最佳实践 持续本地化 本地化(l10n) 翻译管理工作流

以上中文文本为机器翻译,存在不同程度偏差和错误,请理解并参考英文原文阅读。

阅读原文