Prep Kits
What is a Prep Kit?
A Prep Kit is what we call the set of resource files that are gathered by LRM, sent out for translation, and then integrated back into the source code tree once translated. LRM sets and tracks versions of a Kit so that, as your developers add strings to the base resource files, you can prepare and send out the Kit multiple times. There are a variety of checks that LRM makes on the base resource files to ensure that they are correct, as well as tracking the progress and correctness of the translated resource files.
Note: If your project contains translated files, then when prepping your first kit, LRM will not be able to detect if a text change has occurred within a resource string. It will, however, be able to detect added keys or missed translations.
How do I prep a kit and receive it back from translation?
There is a Jenkins job on-boarded. The Lingoport Dashboard is populated and the L10n Vendor has been configured. A Prep Kit can be sent. At this point, the Lingoport Dashboard for the project looks something like:
- Last Sent Kit is 0 since no prep kits have been sent yet.
- All the Locales are at 0 Percent Complete since we only have a base resource file.
- Under Next Prep Kit Content, it shows that we are sending 1 file that has 62 keys and 82 words.
- Since we have not sent anything yet, there is nothing in Prep Kit Due Dates
To send a prep kit, either select the Prep Kit button on the Dashboard (this runs the DashboardPrepKit job in Jenkins) or run the PrepKit job in Jenkins called <group>.<project>-PrepKit.
When everything is successful, the Dashboard should look like:
- Last Sent Kit is 1 since we sent Prep Kit #1 to be translated.
- All the Locales are at still at 0 Percent Complete since we have not gotten the translations back, but there is a note: There are outstanding prep kits for this locale
- Under Next Prep Kit Content, there is nothing because everything at this point has been sent.
- Prep Kit Due Dates shows 1 file for each locale was sent and when it is due back.
For the persons that were designated in the Jenkins job to get notifications of prep kits, an email will be sent. When the prep kit is successfully sent out, the email will be an Upload Success. There will be one email for each locale.
This shows just the German (de_DE) locale.
- Note that it shows CET.NOAA.1.de_DE that is <group-name>.<project-name>.<prep kit number>.<locale>
- It shows where to find the files on the local machine that were sent to translation.
- It lists the files sent to be translated to German. In this example, there is only 1 file.
When the files have been translated, they are put in a special directory and Jenkins routinely checks for files to be downloaded. The files are downloaded and and then the translated files are pushed to the repository. To do this manually, invoke the FTPDownload Jenkins job if using FTP. Once the files have been downloaded, the Dashboard will update to reflect the changes.
- Next Prep Kit Content and Prep Kit Due Dates are empty. All files have been translated.
- Each Locale shows 100% Complete with 0 Files, Keys or Words Remaining.
The code repository will have the translated files.
I configured a vanilla FTP (not SSH or SSL) and I get an SSH error
If you configure an FTP end point and you get a message from SSH, it means you are reaching an SSH FTP endpoint and that endpoint does not understand the request which follows a different protocol (FTP).
For instance, you may get this error:
org.apache.commons.net.MalformedServerReplyException: Could not parse response code.
Server Reply: SSH-2.0-OpenSSH_4.3
A possible issue may be the port number: port 22 is typically used for FTP/SSH; port 21 is typically used for vanilla FTP. Change the port number in config_l10n_vendor.properties and test again.