sdl passolo 2009 to 2018 migration guide - sdl.ssl.cdn ... · openingtranslationbundleswithpassolo...

24
SDL Passolo 2009 to 2018 Migration Guide March 2018 SDL Passolo 2018

Upload: vanphuc

Post on 15-Feb-2019

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

SDL Passolo 2009 to 2018 Migration Guide

March 2018

SDL Passolo 2018

Page 2: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

SDL Passolo 2009 to 2018 Migration

Guide

SDL Passolo 2018

March 2018

Page 3: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

ii SDL Passolo 2009 to 2018Migration Guide

Page 4: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

A

Legal notice

Page 5: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Copyright and trademark information relating to this product release.

Copyright © 2000–2018 SDL Group.

SDL Group means SDL PLC. and its subsidiaries and affiliates. All intellectual property rights contained

herein are the sole and exclusive rights of SDL Group. All references to SDL or SDL Group shall mean SDL

PLC. and its subsidiaries and affiliates details of which can be obtained upon written request.

All rights reserved. Unless explicitly stated otherwise, all intellectual property rights including those in

copyright in the content of this website and documentation are owned by or controlled for these

purposes by SDL Group. Except as otherwise expressly permitted hereunder or in accordance with

copyright legislation, the content of this site, and/or the documentation may not be copied, reproduced,

republished, downloaded, posted, broadcast or transmitted in any way without the express written

permission of SDL.

Passolo is a registered trademark of SDL Group. All other trademarks are the property of their respective

owners. The names of other companies and products mentioned herein may be the trademarks of

their respective owners. Unless stated to the contrary, no association with any other company or product

is intended or should be inferred.

This product may include open source or similar third-party software, details of which can be found by

clicking the following link: Acknowledgments on page 0 .

Although SDL Group takes all reasonable measures to provide accurate and comprehensive information

about the product, this information is provided as-is and all warranties, conditions or other terms

concerning the documentation whether express or implied by statute, common law or otherwise

(including those relating to satisfactory quality and fitness for purposes) are excluded to the extent

permitted by law.

To the maximum extent permitted by law, SDL Group shall not be liable in contract, tort (including

negligence or breach of statutory duty) or otherwise for any loss, injury, claim liability or damage of any

kind or arising out of, or in connection with, the use or performance of the Software Documentation

even if such losses and/or damages were foreseen, foreseeable or known, for: (a) loss of, damage to or

corruption of data, (b) economic loss, (c) loss of actual or anticipated profits, (d) loss of business revenue,

(e) loss of anticipated savings, (f ) loss of business, (g) loss of opportunity, (h) loss of goodwill, or (i) any

indirect, special, incidental or consequential loss or damage howsoever caused.

All Third Party Software is licensed "as is." Licensor makes no warranties, express, implied, statutory or

otherwise with respect to the Third Party Software, and expressly disclaims all implied warranties of

non-infringement, merchantability and fitness for a particular purpose. In no event will Licensor be

liable for any damages, including loss of data, lost profits, cost of cover or other special, incidental,

consequential, direct, actual, general or indirect damages arising from the use of the Third Party

Software or accompanyingmaterials, however caused andon any theory of liability.This limitation

will apply even if Licensor has been advised of the possibility of such damage. The parties

acknowledge that this is a reasonable allocation of risk.

Information in this documentation, including any URL and other InternetWeb site references, is subject

to changewithout notice.Without limiting the rights under copyright, no part of this may be reproduced,

stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic,

mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written

permission of SDL Group.

0 Legal notice

4 SDL Passolo 2009 to 2018Migration Guide

Page 6: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Contents

1 Legal notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 About software localization with SDL Passolo . . . . . . . . . . . . . . . . . . . . . . . . 1

3 Binary or ResX Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Migrating SDL Passolo 2009 to SDL Passolo 2011 and Passolo 2011 to

Passolo 2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Loosing Translations after Update in Project with Resx Files . . . . . . . . . . . . . . . . . 6

Handling of Menus and Context Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

String Flagged as Un-translated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Recovering the Translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Migrating from Passolo 2015/Passolo 2016 to Passolo 2018 . . . . . . . . . . . . . . . . 9

Deleted strings after Update in Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Recovering the Translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Quick Access Toolbar settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Opening translation bundles with Passolo 2018 . . . . . . . . . . . . . . . . . . . . . . . 11

Working with translation bundles using Passolo 2018 . . . . . . . . . . . . . . . . . . . 11

Working with bundles using Team Edition . . . . . . . . . . . . . . . . . . . . . . . . 12

6 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

vSDL Passolo 2009 to 2018Migration Guide

Page 7: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

vi SDL Passolo 2009 to 2018Migration Guide

Page 8: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

1

About software localization with

SDL Passolo

Page 9: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Localization of .NET software adds a new level of complexity to localization projects. This is a challenge

for the localization teams as well as for tool developers who want to offer the best possible support for

.NET localization.

Find in this guide what are the changes that affect .NET localization projects in Passolo 2018.

This document describes concepts of .NET localization in general and the challenges for localizers as

well as us as tool developers.We also address in this document changes between the old .NET parser and

the new one. Some of these changes will impact the localization workflow when migrating from older

versions to SDL Passolo 2018.

1 About software localization with SDL Passolo

2 SDL Passolo 2009 to 2018Migration Guide

Page 10: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

2

Binary or ResX Localization

Page 11: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Passolo supports both the localization of ResX files and the localization of assemblies, but it is always

recommended to localize assemblies.

While localizing .resx files containing string tables is not critical, localization of res files containing

WinForms can be less safe than using the binary approach. The main reasons are:

• Quite oftenWinForms are part of a larger application and depend through inheritance on other

WinForms they are derived from. Binary localization is the only possibility to track down these

dependencies.

• ResX files contain all data which must be localized but not all structural information needed to

render a WinForm. This is true for all but very simple Winform layouts. Again the information is

available in the compiled assembly and Passolo can use this information to provide significantly

better rendering results in the visual editor.

Both inheritance and lack of structural information makes it impossible for a localization tool to

determine the correct layout. Passolo must guess how the data stored in the .resx file should be treated

and in the worst casemight shows an incorrect layout andmight evenmix up the layout in the target file.

2 Binary or ResX Localization

4 SDL Passolo 2009 to 2018Migration Guide

Page 12: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

3

Migrating SDL Passolo 2009 to

SDL Passolo 2011 and Passolo

2011 to Passolo 2016

Page 13: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

The .NET parser of SDL Passolo 2011 is a complete re-development.The new design reflects what wehave

learned about .NET localization over thepast ten years.We tried tominimizethe impact tocustomer

moving thenew parser but we also had to make some designdecisionswhich impacts themigration from

SDL Passolo 2009 to SDL Passolo 2011.

Loosing Translations after Update in Project

with Resx Files

The disadvantage was that every time the file was renamed, the translation got lost and moved to the

Recycle Bin folder because the resource id changed. Because a string table based on a resx file can contain

only oneWinform or string table we decided to use the static name SingleResourceFile always. This

change now leads to a loss of translations because the resource id will be changed. The advantage is

that further changes of the resx file name do not impact the string list content anymore.

The old .NET parser was not always able to associate strings to controls. Mainly strings related to base

forms and string used to initialize list boxes or similar controls have been affected. Those strings have

been externalized in a string table resource. It also happened that strings ended up being stored both in

theWinform resource and the string table resource unfortunately. In the new parser such dangling

strings are added to theWinform resource always, so that there will be no string table data anymore.

The strings of the string table along with the translations will be moved to Recycle Bin.

Handling of Menus and Context Menus

SDL Passolo 2009 did not support sub resources which allows for example to locate menus below the

Winform resource.

With the introduction of sub resources in SDL Passolo 2011 we decided to move menus ofWinforms

from the global menu resources to sub resources of theWinform resources. This leads to a loss of

translations which are kept in Recycle Bin and new strings in the sub resources.

String Flagged as Un-translated

In SDL Passolo 2009 strings of controls containing newlines have been stored in the native format which

is \r\n.

Passolo internally only used \n to encode a newline. To simplify editing those strings, they are now

converted to Passolo internal format when parsing and back to the native when generating the target

file. When updating a string list with newlines after migration, the internal representation of such string

has changed and they are marked as un-translated. It is recommended to verify the translations and

remove the unnecessary \r escape sequences.

3 Migrating SDL Passolo 2009 to SDL Passolo 2011 and Passolo 2011 to Passolo 2016

6 SDL Passolo 2009 to 2018Migration Guide

Page 14: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Recovering the Translations

SDL Passolo offers two functions to recover translations that might get lost during the migration.

You can use the leverage function to re-assign translations from a copy of the project. When a project is

migrated, Passolo stores the original project with the extension .bak. You can rename and use this project

to leverage lost translations. Passolo can read from this project even if it is not migrated.

For Get data from strings with same only check string ID, resources type and source string, because the

parent or resource idmight have changed duringmigration and update of the project. Still these settings

provide safer matches as not just the source string but also the string ID is taken into account.

It could be useful to run the leverage function two more time with the just string ID and source string

and finally with just source string. This widens up the potential source for translations for those strings

which have not been recovered.

The second option to recover translations is to use Pre Translation. In this case translations are assigned

only text based. ID information is not taken into account. To limit the potential matches only the current

string list should be enabled as a translation provider as displayed in the following screenshot.

Still it can happen that for a source string there might more than translation in Recycle Bin. To avoid

assignment of a wrong match the following setting can help for If multiple translations are found:

3Migrating SDL Passolo 2009 to SDL Passolo 2011 and Passolo 2011 to Passolo 2016

7SDL Passolo 2009 to 2018Migration Guide

Page 15: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

3 Migrating SDL Passolo 2009 to SDL Passolo 2011 and Passolo 2011 to Passolo 2016

8 SDL Passolo 2009 to 2018Migration Guide

Page 16: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

4

Migrating from Passolo 2015/

Passolo 2016 to Passolo 2018

Page 17: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

We try to minimize the impact to customer moving to newer versions of the .NET parser.

Deleted strings after Update in Project

The resources having duplicate x:uids are now excluded from translation, when such duplicate x:uid is

encountered at create/update source strings, a warning message will appear (containing uid and

resource baml file).

Even if a parent have duplicate uids, the children with correct uids are imported.

For existing projects a update for source and target is required - in order to remove duplicates from

translation.

Recovering the Translations

SDL Passolo offers two functions to recover translations that might get lost during the migration.

You can use the leverage function to re-assign translations from a copy of the project. When a project is

migrated, Passolo stores the original project with the extension .bak. You can rename and use this project

to leverage lost translations. Passolo can read from this project even if it is not migrated.

For Get data from strings with same only check string ID, resources type and source string, because the

parent or resource idmight have changed duringmigration and update of the project. Still these settings

provide safer matches as not just the source string but also the string ID is taken into account.

It could be useful to run the leverage function two more time with the just string ID and source string

and finally with just source string. This widens up the potential source for translations for those strings

which have not been recovered.

The second option to recover translations is to use Pre Translation. In this case translations are assigned

only text based. ID information is not taken into account. To limit the potential matches only the current

string list should be enabled as a translation provider as displayed in the following screenshot.

Still it can happen that for a source string there might more than translation in Recycle Bin. To avoid

assignment of a wrong match the following setting can help for If multiple translations are found:

Quick Access Toolbar settings

The customizations done to the Quick Access Toolbar settings in SDL Passolo 2016 are kept when

installing SDL Passolo 2018.

If you have a SDL Passolo 2016 installation and you install Passolo 2018 side-by-side, or even remove

SDL Passolo 2016 prior to installing Passolo 2018, there is no need to redefine Quick Access Toolbar

settings, as these are transferred over.

4 Migrating from Passolo 2015/Passolo 2016 to Passolo 2018

10 SDL Passolo 2009 to 2018Migration Guide

Page 18: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Opening translation bundles with Passolo

2018

In SDL Passolo 2018 can open and convert projects created in Passolo 2011/2015/2016.

Note: Projects created in Passolo 2018 cannot be opened in Passolo 2011/2015/2016.

When a project created with older Passolo versions (2011/2015/2016) is opened in Passolo 2018 a

conversionmessage will appear. In the Open Project dialog you can choose whether you want to convert

it or open it in read-only mode.

After converting a project in Passolo 2018 a .bak file will be created in the project folder.

.tbu and .tbulic bundles created with older versions of Passolo Collaboration can be opened in Passolo

2018 Collaboration in read-only mode. The .tbulic bundles can also be opened in Passolo 2018 Translator

in read-only mode.

Working with translation bundles using

Passolo 2018About this task

Translator Edition cannot upgrade tbulic16 into tbulic18 files. In order to this, you need to follow the

next steps:

Procedure

1. Synchronize Exports with Translator Edition 2016, then stop working on the bundle.

2. Download and install Translator Edition 2018.

3. Using Passolo 2016 the project managers have to select Export Manager to open the project.

Select Read translations for all exported bundle and then chooseUn-Export function for all

exported bundles.

4. Passolo 2018 is now started and the project is loaded with 2018 and converted.

5. The FTP Settings have to be changed, at least the FTP directory must be changed so that the new

files will be stored in a different folder.

6. All bundles must be exported again and uploaded to the FTP.

7. New invitation emails will be exported and sent to all translators.

8. Open the attached .pslscript file with the Translator Edition 2018.

4Migrating from Passolo 2015/Passolo 2016 to Passolo 2018

11SDL Passolo 2009 to 2018Migration Guide

Page 19: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

Results

The new converted bundle can now be downloaded.

Working with bundles using Team Edition

Procedure

1. Download and install Translator Edition 2018.

2. Using Passolo 2016 project managers have to import all bundles into the main project.

3. If during the bundle import the Release string lists option was not set, the project manager has to

choose Un-Export function for all exported bundles.

4. Passolo 2018 is now started and the project is loaded with 2018 and converted.

5. All bundles must be exported again as .tbulic18 files.

6. Bundle files must be send via email to all translators.

Results

The new bundle can now be opened.

4 Migrating from Passolo 2015/Passolo 2016 to Passolo 2018

12 SDL Passolo 2009 to 2018Migration Guide

Page 20: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

5

Acknowledgments

Page 21: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

SDL Passolo includes open source or similar third-party software.

Apache log4net

The Apache log4net library is a tool to help the programmer output log statements to a variety of

output targets. log4net is a port of the Apache log4j™ framework to the Microsoft® .NET runtime.

ARCWelder

The App Runtime for Chrome (Beta), or ARC, lets you run your favorite Android apps on Chrome OS.

BCGControlBar Pro for MFC

BCGControlBar ("Business Components Gallery ControlBar") is an MFC extension library that allows

you to create Microsoft Office 2000/XP/2003/2007/2010/2013 and Microsoft Visual Studio-like

applications with full customization options.

Chilkat .NET SSH / SFTP Component

The SSH / SFTP .NET component provides two objects: A client-side SSH2 implementation for

executing commands and shell sessions on Unix/Windows SSH servers, and an SFTP implementation

for file transfer and remote file management over SSH.

C++ Builder

C++Builder gives you fast, powerful, modern C++; one compiler, one debugger, one IDE, four

platforms; amazing frameworks; and lets you speed up your development, focus on your code and

bring your app to market faster than any other C++ toolchain.

CSizingControlBar

CSizingControlBar is an easy to use collection of classes, allowing you to focus on your application

needs rather than on implementation tweaks.

DotNetZip

DotNetZip is a class library and toolset for manipulating zip files. Use VB, C# or any .NET language to

easily create, extract, or update zip files.

Google Translation API

Google Translate API provides a simple programmatic interface for translating an arbitrary string into

any supported language.

jarsigner

Signs and verifies Java Archive (JAR) files.

Json.NET

Json.NET is a popular high-performance JSON framework for .NET.

Mono.Cecil

Cecil enables you to load existing managed assemblies, browse all the contained types, modify them

on the fly and save back to the disk the modified assembly.

Newtonsoft.Json

Json.NET is a popular high-performance JSON framework for .NET.

Polar SpellChecker

Polar SpellChecker for .NET enables you to implement wide range of spell checking features in your

application using a .NET interface.

SafeNet Sentinel

SafeNet's Sentinel software licensing products and software protection solutions provides software

publishers control and visibility into how their applications are deployed and used.

5 Acknowledgments

14 SDL Passolo 2009 to 2018Migration Guide

Page 22: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

SQLite

SQLite is an in-process library that implements a self-contained, serverless, zero-configuration,

transactional SQL database engine.

WinWrap Basic

WinWrap® Basic is a .NET/WPF/COM component which is an alternative to ActiveX, VBScript, VB6, VBA,

Sax Basic and VSTA scripting.WinWrap provides advanced end-user scripting and automation.

XCEED .NET FTP library

XCEED offers efficient FTP and FTPS (FTP over SSL) file transfer to .NET or ASP.NET apps.

ZipArchive library

C++ library that adds ZIP compression functionality to software.

zlib

zlib is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark

Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression

program.

5Acknowledgments

15SDL Passolo 2009 to 2018Migration Guide

Page 23: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

5 Acknowledgments

16 SDL Passolo 2009 to 2018Migration Guide

Page 24: SDL Passolo 2009 to 2018 Migration Guide - sdl.ssl.cdn ... · OpeningtranslationbundleswithPassolo 2018 InSDLPassolo2018canopenandconvertprojectscreatedinPassolo2011/2015/2016. Note

SDL_td_Passolo_2018_EN_A4

SDL (LSE:SDL) is the global innovator in language translation technology, services and content management. With more than 25 years of experience, SDL delivers transformative business results by enabling powerfully nuanced digital experiences with customers around the world.

Are you in the know? Find out why the top global brands use SDL at sdl.com and follow us on Twitter, LinkedIn and Facebook.

Copyright © 2018 SDL plc. All Rights Reserved. The SDL name and logo, and SDL product and service names are trademarks of SDL plc and/or its subsidiaries, some of which may be registered. Other company, product or service names are the property of their respective holders.