Difference between revisions of "On Boarding a Localyzer Project"

From Lingoport Wiki
Jump to: navigation, search
(Configure the Jenkins job)
Line 46: Line 46:
   
 
==== General ====
 
==== General ====
  +
[[File:source_code_management.jpg|700px]]
 
 
* '''General''' section: Select the GitHub project and fill in the Project url
 
* '''General''' section: Select the GitHub project and fill in the Project url
 
* '''Throttle Current Builds''' should be checked.
 
* '''Throttle Current Builds''' should be checked.
Line 52: Line 52:
   
 
==== Source Code Management ====
 
==== Source Code Management ====
  +
[[File:source_code_management.jpg|700px]]
 
 
* '''Source Code Management''' section: Set up the Repository, Credentials, and Branch
 
* '''Source Code Management''' section: Set up the Repository, Credentials, and Branch
 
==== Build Triggers ====
 
==== Build Triggers ====

Revision as of 22:41, 10 December 2019

Before On Boarding an LRM project

To on-board a project, a number of basic information is needed:

Code Repository Location

Users

  • The list of translation requesters. Those members to add to Jenkins so they have permission to trigger the Prep Kit job: username1@company.org, username2@companyname.com
  • The list of emails to be notified of the LRM actions: username1@company.org, username2@companyname.com, username3@companyname.com Note: All emails will also be used as Dashboard user identifiers.

Locales

  • The locale of the files created by developers and to be translated
  • The list of target translation locales
  • The pseudo-locale

Resource File types

  • Files types (for instance .properties, .resx, etc.)
  • Naming convention for the base file: for instance <filename>_en.properties or <filename>.properties
  • Translated file naming convention: for instance <filename>_fr_FR.properties
  • The files or directories which follow the above convention but should NOT be translated. For instance **/config*.properties

Localization Vendor

  • Who is the translation management system and how are the resource files going to be transferred to them?
  • Lingoport supports Local vendors, FTP and SFTP, and WorldServer and Lingotek and also other vendors.

On Boarding the Automation Job

Jenkins

Create the Jenkins job

To begin the on-boarding process, go to Jenkins, and select the 1-Automation Tab, and New Item

Automation tab new item.jpg

  • Make a copy of Lingoport.SampleLRM (if this project uses LRM)
  • Set the name of the new job to <groupname>.<projectname>
  • Make sure Add to current view is checked and select OK

Configure the Jenkins job

General

  • General section: Select the GitHub project and fill in the Project url
  • Throttle Current Builds should be checked.
  • LRM Throttle should be checked.

Source Code Management

Source code management.jpg

  • Source Code Management section: Set up the Repository, Credentials, and Branch

Build Triggers

Build Environment

Build

Post Build Actions

You may use Lingoport.SampleLRM as a template to create your project or create a New Item and add "run LRM" in the Build section (see the drop down).

In the Build section:

  • Run LRM
    • Copy Settings: Use this if you have a project already set up with a similar configuration. This can save configuration time. If there is no other project, just leave it unfilled.
    • General Settings:
      • Set the Project Description as a comment on the project.
      • Set the Top Level Directory to the location of the LRM resource files. $WORKSPACE is the default, but lower level directories can be specified.
      • Set the Send Unique File Names to 1 if you want the prep kit files to have unique file names. The default is not to send unique file names. If you have multiple file names that have the same name you may want to change the flag to 1. For more information see LRM Unique File Names
    • Detect Errors: It is unlikely you need to change the default settings.
      • Missed Translation Error: (Default: Unchecked) If you check this box, when a string is returned back from translation with the same text as the original one, an error will be raised. Be cautious with this check: Population for instance is the same word in English and in French.
      • Parameter Mismatch Error: (Default: Checked) Keep this check if you'd like to make sure that when a parameter(s) is (are) sent in a text, say "Hello {userName}", the same parameter(s) is (are) sent back untranslated. If the French translation is "Bonjour {nom d'utilisateur}", the 'userName' variable cannot be replaced at run time in the application.
    • Locales
      • Locales must be specified using the traditional Java format, for instance fr_FR for France French. The locales must then be applied to each resource file type for this project and the file naming or the directory naming may use another format entirely. For instance, resx files use dots (.) and dashes(-) as in resource.fr-FR.resx. The locales in this section must still be specified with underscores as in Java.
      • The Default Locale is the base language used in the project. It is generally English (en_US or en), but it can be any language.
      • The Pseudo Locale A locale outside the target translations locales used to show the application user-facing strings have been moved outside of the code and into resource file; Unicode characters are handled properly and the layout of the application handles different string lengths gracefully.
      • The Track Back Locale is a locale outside the target translation locales used to show where in the code the string is located. This may be useful when something is off on the screen and the developers need to know where that string is located.
      • The Target Locales are the locales to be translated into. Four common locales are defaulted, but can easily be changed and added to
    • Resource File Extensions: You can have more than one file extension. For example, you may have .json file and .properties files in the same repository. For each file extension, fill in or modify the following fields:
      • Extension: the resource file extension, for instance properties (without the '.'), json, resx, etc.
      • Filename Pattern:
        • The * (star) character represents the filename without the extension or the locales;
        • l represents the locale's language, for instance 'fr' for French
        • c represents the locale's country, for instance 'FR' for France
        • v represents the locale's variant. That's less frequent. is the variant.
      • A few examples may help:
        • *_l_c_v: If a target locale is fr_FR and messages_en.properties needs to be translated, the French file will be message_fr_FR.properties
        • *.l-c-v: If a target locale is fr_FR and messages.resx needs to be translated, the French file will be messages.fr-FR.resx
        • *-l-c-v: If a target locale is fr_FR and messages-en.json needs to be translated, the French file will be messages-fr-FR.json
    • Directories: Directories to include and exclude from LRM process
    • Notifications: Who to notify in various situations. Multiple email addresses can be assigned to each entry.

Select the Save button. Enable the project and Build Now. The Jenkins project should run and push the results to the Lingoport Dashboard.

Complete the On Boarding Process

Other files may be copied under this directory if the project's configuration is more specific than the group configuration files, located under <HOME>/Lingoport_Data/L10nStreamlining/<group_name>/config:

Edit <HOME>/Lingoport_Data/L10nStreamlining/<group_name>/config/config_due_dates.xml: How the due dates are calculated.
Edit <HOME>/Lingoport_Data/L10nStreamlining/<group_name>/config/config_l10n_vendor.properties: The way to send files to a vendor (Lingotek, WorldServer, or FTP configuration)

Finally, update the <HOME>/Lingoport_Data/L10nStreamlining/config/config_email_global.xml file and the following values.

<email-sender>sender@acme.com</email-sender>
<sender-password encrypted="false">agoodpassword</sender-password>
<!--This is the Dashboard URL used as the link destination for the email Log In button -->
<dashboard-url>http://www.acme.com/dashboard</dashboard-url>

For more information, see Project Configuration Files