<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.lingoport.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Prosenthal</id>
	<title>Lingoport Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lingoport.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Prosenthal"/>
	<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/Special:Contributions/Prosenthal"/>
	<updated>2026-04-30T21:57:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Gerrit_Data_Source_Credential&amp;diff=98073</id>
		<title>Gerrit Data Source Credential</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Gerrit_Data_Source_Credential&amp;diff=98073"/>
		<updated>2023-11-17T18:46:08Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Creating a Gerrit Data Source Credential =&lt;br /&gt;
[Administrator]&lt;br /&gt;
&lt;br /&gt;
The Administrator can create the data source credentials by selecting the [[File:CreateIcon.jpg|30px]] (&#039;&#039;&#039;Create new credential&#039;&#039;&#039;) button on the Manage Data Source Credentials page.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Select the Gerrit card&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:GerritCard.png|120px]]&lt;br /&gt;
&lt;br /&gt;
[[File:GerritStepTwo.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enter a username, access token, server URL, and commit message hook URL.&#039;&#039;&#039;&lt;br /&gt;
* The username will be the user who authors the commits that are pushed back to the repository.&lt;br /&gt;
* The token is an HTTP access token associated with the username that you entered. To generate a new token:&lt;br /&gt;
** Log into your company&#039;s Gerrit web interface as the user you entered above.&lt;br /&gt;
** Go to your User Settings page.&lt;br /&gt;
** Select &#039;&#039;&#039;HTTP Credentials&#039;&#039;&#039; on the left navigation bar, or scroll down to that section in the page.&lt;br /&gt;
** Click &#039;&#039;&#039;GENERATE NEW PASSWORD&#039;&#039;&#039;, and copy and paste the token that it shows you into the token section of the Gerrit Credential page in Command Center.&lt;br /&gt;
** We also recommend storing this token somewhere secure that you can access as well if you ever need to reference it in the future, because each time you generate a new token, it will invalidate the old token associated with the account, and for security reasons, neither the Gerrit web interface nor Command Center will ever show you this token again.&lt;br /&gt;
* The server URL is the prefix before the repositories that you would clone.&lt;br /&gt;
* The commit message hook URL is the url that you would make a curl request to in order to add the commit message hook that adds the change ID required by Gerrit.&lt;br /&gt;
* Usually the Gerrit web interface will give you one command to copy and paste in order to clone a repository. Here is an example of how to parse that command out into your server URL and your commit message hook URL:&lt;br /&gt;
** Given the command: &amp;lt;code&amp;gt;git clone &amp;quot;https://gerrit_username@gerrit.your-company.io/orgname/reponame&amp;quot; &amp;amp;&amp;amp; (cd &amp;quot;reponame&amp;quot; &amp;amp;&amp;amp; mkdir -p .git/hooks &amp;amp;&amp;amp; curl -Lo `git rev-parse --git-dir`/hooks/commit-msg https://gerrit_username@gerrit.your-company.io/tools/hooks/commit-msg; chmod +x `git rev-parse --git-dir`/hooks/commit-msg)&amp;lt;/code&amp;gt;&lt;br /&gt;
** The server URL would be: &amp;lt;code&amp;gt;gerrit.your-company.io/&amp;lt;/code&amp;gt;&lt;br /&gt;
** The commit message hook URL would be: &amp;lt;code&amp;gt;https://gerrit_username@gerrit.your-company.io/tools/hooks/commit-msg&amp;lt;/code&amp;gt;&lt;br /&gt;
* Once you are finished configuring the form, click &#039;&#039;&#039;Next&#039;&#039;&#039; in the top right corner of the page.&lt;br /&gt;
&lt;br /&gt;
[[File:GerritStepThree.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Give the new credential a name and optionally grant access to managers&#039;&#039;&#039;&lt;br /&gt;
* The credential name is required, and it is how you will identify the credential for use later on.&lt;br /&gt;
* Granting access to manager users is optional.&lt;br /&gt;
** All administrator users on the system will have access to the credential.&lt;br /&gt;
** Only the manager users that you designate access to will be able to use the credential. They will not be able to modify the credential even if they have been granted access.&lt;br /&gt;
** No other users on the system will have the ability to access the credential at all.&lt;br /&gt;
* When you are satisfied with your credential name and manager access, click &#039;&#039;&#039;Create&#039;&#039;&#039; in the top right corner of the page.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GerritStepThree.png&amp;diff=98072</id>
		<title>File:GerritStepThree.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GerritStepThree.png&amp;diff=98072"/>
		<updated>2023-11-17T18:40:06Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the form where you assign your Gerrit Credential a name and allow certain managers to access it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the form where you assign your Gerrit Credential a name and allow certain managers to access it.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Gerrit_Data_Source_Credential&amp;diff=98071</id>
		<title>Gerrit Data Source Credential</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Gerrit_Data_Source_Credential&amp;diff=98071"/>
		<updated>2023-11-16T21:15:43Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Created page with &amp;quot;= Creating a Gerrit Data Source Credential = [Administrator]  The Administrator can create the data source credentials by selecting the 30px (&amp;#039;&amp;#039;&amp;#039;Create...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Creating a Gerrit Data Source Credential =&lt;br /&gt;
[Administrator]&lt;br /&gt;
&lt;br /&gt;
The Administrator can create the data source credentials by selecting the [[File:CreateIcon.jpg|30px]] (&#039;&#039;&#039;Create new credential&#039;&#039;&#039;) button on the Manage Data Source Credentials page.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Select the Gerrit card&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:GerritCard.png|100px]]&lt;br /&gt;
&lt;br /&gt;
[[File:GerritStepTwo.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enter a username, access token, server URL, and commit message hook URL.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GerritStepTwo.png&amp;diff=98070</id>
		<title>File:GerritStepTwo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GerritStepTwo.png&amp;diff=98070"/>
		<updated>2023-11-16T21:12:45Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the form where you fill out the Gerrit username, access token, server URL, and commit message hook URL.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the form where you fill out the Gerrit username, access token, server URL, and commit message hook URL.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GerritCard.png&amp;diff=98069</id>
		<title>File:GerritCard.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GerritCard.png&amp;diff=98069"/>
		<updated>2023-11-16T21:09:53Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the card to select when creating a Gerrit Data Source Credential&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the card to select when creating a Gerrit Data Source Credential&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Jenkins_Plugin_Open_Source_Libraries&amp;diff=95912</id>
		<title>Jenkins Plugin Open Source Libraries</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Jenkins_Plugin_Open_Source_Libraries&amp;diff=95912"/>
		<updated>2022-03-03T00:05:01Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localyzer Open Source Libraries ==&lt;br /&gt;
The Lingoport Jenkins plugin depends on all of the same open source libraries as Localyzer, see [[LRM Open Source Libraries]] for a complete list.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Plugin Parent POM ==&lt;br /&gt;
In addition to the open source libraries used by Localyzer, the Lingoport Jenkins Plugin is built upon version 3.2 of the [https://github.com/jenkinsci/plugin-pom Jenkins Plugin Parent POM]. The Jenkins Plugin Parent POM is released under MIT License.&lt;br /&gt;
&lt;br /&gt;
== Additional Maven Plugins ==&lt;br /&gt;
The Lingoport Jenkins Plugin also depends on the following Maven Plugins to build:&lt;br /&gt;
=== Distributed under the [http://www.apache.org/licenses/LICENSE-2.0 Apache 2.0 License] ===&lt;br /&gt;
* org.apache.maven.plugins:maven-antrun-plugin:1.8&lt;br /&gt;
* org.apache.maven.plugins:maven-clean-plugin:2.4.1&lt;br /&gt;
* org.apache.maven.plugins:maven-install-plugin:2.4&lt;br /&gt;
* org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1&lt;br /&gt;
* org.codehaus.mojo:extra-enforcer-rules:1.0-beta-4&lt;br /&gt;
* org.codehaus.mojo:animal-sniffer-maven-plugin:1.15&lt;br /&gt;
* org.jenkins-ci.tools:maven-hpi-plugin:3.2-SNAPSHOT&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Jenkins_Plugin_Open_Source_Libraries&amp;diff=95911</id>
		<title>Jenkins Plugin Open Source Libraries</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Jenkins_Plugin_Open_Source_Libraries&amp;diff=95911"/>
		<updated>2022-03-03T00:03:24Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Created page with &amp;quot;== Localyzer Open Source Libraries == The Lingoport Jenkins plugin depends on all of the same open source libraries as Localyzer, see LRM Open Source Libraries for a compl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localyzer Open Source Libraries ==&lt;br /&gt;
The Lingoport Jenkins plugin depends on all of the same open source libraries as Localyzer, see [[LRM Open Source Libraries]] for a complete list.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Plugin Parent POM ==&lt;br /&gt;
In addition to the open source libraries used by Localyzer, the Lingoport Jenkins Plugin is built upon version 3.2 of the [https://github.com/jenkinsci/plugin-pom Jenkins Plugin Parent POM]. The Jenkins Plugin Parent POM is released under MIT License.&lt;br /&gt;
&lt;br /&gt;
== Additional Maven Plugins ==&lt;br /&gt;
The Lingoport Jenkins Plugin also depends the following Maven Plugins to build:&lt;br /&gt;
=== Distributed under the [http://www.apache.org/licenses/LICENSE-2.0 Apache 2.0 License] ===&lt;br /&gt;
* org.apache.maven.plugins:maven-antrun-plugin:1.8&lt;br /&gt;
* org.apache.maven.plugins:maven-clean-plugin:2.4.1&lt;br /&gt;
* org.apache.maven.plugins:maven-install-plugin:2.4&lt;br /&gt;
* org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1&lt;br /&gt;
* org.codehaus.mojo:extra-enforcer-rules:1.0-beta-4&lt;br /&gt;
* org.codehaus.mojo:animal-sniffer-maven-plugin:1.15&lt;br /&gt;
* org.jenkins-ci.tools:maven-hpi-plugin:3.2-SNAPSHOT&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95769</id>
		<title>Google Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95769"/>
		<updated>2021-12-29T19:45:02Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Fix typo in translation memory section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Localyzer integration with the Google Cloud Platform Translation Service ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Google Translate ==&lt;br /&gt;
=== Configure a Google Translate subscription on Google Cloud Platform ===&lt;br /&gt;
==== Create a project ====&lt;br /&gt;
The first step in configuring an instance of Google Translate to be used with Localyzer is to log in to the [https://console.cloud.google.com/ Google Cloud Console] and select or create a Google Cloud project.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Log into [https://console.cloud.google.com/ console.cloud.google.com] with a Google Services email account. Use a secure account, as it will have “owner” permissions over the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the project select drop-down in the top left of the page.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudProjectDropdown.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt;At this point if you already have a project set up which you would like to configure Google Translate on, you can skip to the next section, [[#Enable_billing|Enable billing]]. If not, or you otherwise would like to create a new project, click on &#039;&#039;New Project&#039;&#039; in the top right of the menu.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the new project configuration screen, enter in a name for the project and select an organization to organize the project under. Pay special attention to the project ID, as this is important to the project, and cannot be changed later. Google Cloud Console will automatically generate a project ID for you, though if you would like to set one yourself just hit the &#039;&#039;Edit&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudNewProject.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Enable billing ====&lt;br /&gt;
Once we have created a new project (or selected an existing one), we need to make sure that billing is enabled on the project before we can enable Google Translate.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;Billing&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudBilling.png|320px]]&lt;br /&gt;
&amp;lt;li&amp;gt;If billing is already enabled on the project, you’ll see a billing overview page. If not, you will be prompted with a pop-up window containing instructions on how to enable billing for the project. Follow these instructions to enable billing on the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Enable the Cloud Translation API ====&lt;br /&gt;
Now that we have a project with billing enabled, we are ready to enable the Cloud Translation API.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;APIs &amp;amp; Services&#039;&#039;, and then select &#039;&#039;Library&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudAPIsLibrary.png|450px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Use the search bar to search for &amp;quot;Cloud Translation API&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Select the Cloud Translation API, and click the &#039;&#039;Enable&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Create a service account ====&lt;br /&gt;
Next, a service account must be created. This service account acts as the credentials for Localyzer to access your Google Cloud Translation service. To learn more about what service accounts are, and why they are used, see Google’s article on [https://cloud.google.com/iam/docs/understanding-service-accounts understanding service accounts].&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;IAM &amp;amp; Admin&#039;&#039;, and then select &#039;&#039;Service Accounts&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudIAM.png|450px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Click on &#039;&#039;Create Service Account&#039;&#039; near the top of the page.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Fill out the service account’s name, ID, and optional description. Do NOT hit done at this stage, instead click on the &#039;&#039;Save and Continue&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudServiceAccountStep1.png|500px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Under the second step to creating a service account, &#039;&#039;Grant this service account access to project&#039;&#039;, click on the &#039;&#039;Add role&#039;&#039; button, then click on the &#039;&#039;Select a role&#039;&#039; dropdown menu. Use the menu to search for the basic role &amp;quot;Owner&amp;quot;, and add the role to the service account.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudServiceAccountStep2.png|500px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Now you can click &#039;&#039;Done&#039;&#039; to finish the creation of the service account.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Download the JSON credential file ====&lt;br /&gt;
Finally, after the service account is created, we can create or add a new key to the account. This key is in the form of a JSON file which is used by Localyzer to access the translation service.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From the main Service Accounts screen (the previous section in this tutorial), click on the 3 dot icon next to the service account that was just created, then click on &#039;&#039;Manage keys&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudManageKeys.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the &#039;&#039;Add Key&#039;&#039; dropdown menu, and then select the &#039;&#039;Create new key&#039;&#039; option.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Select Key Type JSON (it should already be selected by default), and click the &#039;&#039;Create&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The JSON key file will be automatically downloaded to your machine at this point. All you need to do is upload the file to your Jenkins or Localyzer Express machine, and then configure the Google Translate Vendor in Jenkins settings or in Localyzer Express!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Google Translate Vendor ===&lt;br /&gt;
To set up the ability to machine translate your resource files using Google Translate you’ll need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AddGoogleVendor.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Google Translate Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Google Translate Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Google Translate Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:GoogleGroupVendor.png|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Google Translate Credentials ===&lt;br /&gt;
All of the Google Translate credential information should be available through the department responsible for setting up your Google Cloud Platform service. &lt;br /&gt;
&lt;br /&gt;
==== JSON Credential File Path ====&lt;br /&gt;
Services from a Google Cloud Platform Project, such as the Google Translate service, can be accessed securely using a [https://cloud.google.com/iam/docs/understanding-service-accounts/ Service Account Key]. These keys come in the form of a single credential file in JSON format.&lt;br /&gt;
&lt;br /&gt;
The department responsible for setting up the Google Cloud Platform service can manage these service account keys from their [https://console.cloud.google.com/ Google Cloud Console]. See [[#Download_the_JSON_credential_file|Download the JSON credential file]] for more details.&lt;br /&gt;
&lt;br /&gt;
Localyzer requires a service account with at least &#039;&#039;Cloud Translation API Admin&#039;&#039;, &#039;&#039;Storage Admin&#039;&#039;, and &#039;&#039;AutoML Admin&#039;&#039; roles (note: the &#039;&#039;Owner&#039;&#039; role is the easiest to select in this scenario as it has permission for every Google Cloud operation, including those provided by the other three roles).&lt;br /&gt;
&lt;br /&gt;
In order for Localyzer to use Google Translate, the JSON credential file must be downloaded placed on the same system as the Lingoport Jenkins Server (typically in a location like /var/lib/jenkins/… because the jenkins user needs access to the file), and that location needs to be specified to Localyzer in this vendor setup process.&lt;br /&gt;
&lt;br /&gt;
==== Location ====&lt;br /&gt;
Google Cloud Platform requires Localyzer to let it know the translation requests are coming from one of two locations: &#039;&#039;US Central&#039;&#039;, or &#039;&#039;Global&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Currently, Google requires the &#039;&#039;US Central&#039;&#039; location in order to use the advanced translation features such as [[#Glossary_Names|glossaries]] or [[#Train_a_custom_AutoML_model_for_translation|AutoML models]]. It is for this reason that the &#039;&#039;Global&#039;&#039; location should only ever be selected if those advanced features are not required at all, the Jenkins server is outside of the US, and you require lower latency calls to Google Translate than the &#039;&#039;US Central&#039;&#039; location can offer.&lt;br /&gt;
&lt;br /&gt;
==== Glossary Names ====&lt;br /&gt;
Glossaries are an optional feature of the Google Cloud Platform Translation service that allows for phrases to have guaranteed translations, regardless of the phrase’s context or the translation algorithm’s decision. This is useful for preserving brand names, product names, and other translation memory.&lt;br /&gt;
&lt;br /&gt;
Glossaries are identified by their names given to them upon creation. Google unfortunately does not provide any user interface for the department responsible for configuring the Google Cloud project to manage glossaries, though [https://cloud.google.com/translate/docs/advanced/glossary there are still ways to do it].&lt;br /&gt;
&lt;br /&gt;
When configuring a Google Translate Vendor, multiple glossary names can be entered, separated by commas. Then when Localyzer uses Google Translate to translate your resources, the first glossary in the list that is compatible with the current source and target locales will be used.&lt;br /&gt;
&lt;br /&gt;
Currently, Google only supports the glossary feature with the &#039;&#039;US Central&#039;&#039; [[#Location|location]].&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
The model that is chosen determines the translation algorithm that is used. The Google Cloud Platform Translation service comes with two built in models that don’t require any configuration and work across all locales.&lt;br /&gt;
&lt;br /&gt;
The first model, &#039;&#039;NMT&#039;&#039; or &#039;&#039;Neural Machine Translation&#039;&#039;, is the default model for Google Translate. This is the preferred of the two built in models, it is newer and yields better results, though there might still be some rare edge cases where it still doesn’t work yet. In this scenario, the Google Cloud Platform Translation service will automatically fall back to the second built in model, &#039;&#039;PBMT&#039;&#039; or &#039;&#039;Phrase Based Machine Translation&#039;&#039;. This model is the previous generation of Google Translate, and is generally less preferred, but it can still be selected to be used over the newer model if so desired.&lt;br /&gt;
The third option for a model is to enter the model ID of an [[#Train_an_AutoML_model_for_fully_customized_machine_translation|AutoML]] model. AutoML models are based on the built in &#039;&#039;NMT&#039;&#039; model, but they have been custom “trained” or “fine-tuned” to a large data-set of internal company documents. This can result in better domain specific translation than the built in &#039;&#039;NMT&#039;&#039; model if used properly.&lt;br /&gt;
&lt;br /&gt;
==== Add QA Changes to Glossaries ====&lt;br /&gt;
Localyzer, when used in conjunction with Localyzer QA, has a Translation Memory feature, which can be enabled with this checkbox. See the [[#Automatically_update_glossaries_with_Translation_Memory|section on Translation Memory]] further down on this page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file. &lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;Access Level&#039;&#039; is for &#039;&#039;Group&#039;&#039; then the &#039;&#039;/var/lib/jenkins/Lingoport_Data/L10nStreamlining/&amp;lt;group name&amp;gt;/config/config_l10n_vendor.properties&#039;&#039; file will be created containing the vendor information otherwise the &#039;&#039;config_l10n_vendor.properties&#039;&#039; will not be created until it is used by a project.&lt;br /&gt;
&lt;br /&gt;
For more information on &#039;&#039;Access Level&#039;&#039; and linking this vendor to your project see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
== Customize translations with glossaries and AutoML ==&lt;br /&gt;
=== Set up guaranteed translations with glossaries ===&lt;br /&gt;
Glossaries are source-target sets of phrases or sentences that the machine translator will always consistently translate the same, regardless of context around the phrase or sentence. They can be useful for:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Do not translate (DNT) terms&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Product and/or brand names&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ambiguous words&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Unfortunately at this time, Google doesn’t provide any basic web interface with their cloud platform to add, update, or manage glossaries. But your department responsible for setting up the Google Translate service still has two options for managing their glossaries. Option one is to follow the steps outlined in Google’s [Creating and using glossaries (advanced)](https://cloud.google.com/translate/docs/advanced/glossary) documentation. Option two is to set up the initial glossary files, and then contact Lingoport support to take care of the rest.&lt;br /&gt;
&lt;br /&gt;
==== Preparing glossary files ====&lt;br /&gt;
Glossaries can be created out of files of either Translation Memory eXchange (TMX), Comma Separated Values (CSV), or Tab Separated Values (TSV) format. TMX is the most universal format for translation management systems, but CSV files can be easy to read and create as spreadsheets, so they each have their own advantages and disadvantages as file types.&lt;br /&gt;
&lt;br /&gt;
===== Unidirectional glossaries =====&lt;br /&gt;
Typically, glossaries are associated with just two locales, their source locale (the locale which translations are occurring from), and their target locale (the locale which translations are occurring to). These most basic forms of glossaries are known as unidirectional glossaries.&lt;br /&gt;
&lt;br /&gt;
For a CSV or a TSV file, there should be just two values per line/row: the first being the desired phrase in the source language, and the second being the desired phrase in the target language. What the locales actually are, shouldn’t be specified in the CSV or TSV file itself, as they are actually specified upon association of the file with the glossary itself.&lt;br /&gt;
&lt;br /&gt;
For a TMX file, it shouldn’t have to be written itself, but rather exported from a different/previous service. Make sure that the TMX file follows the standards of TMX Version 1.4. [https://cloud.google.com/translate/docs/advanced/glossary#translation_memory_exchange_tmx this section in Google’s documentation on glossaries] contains an example TMX file if needed.&lt;br /&gt;
&lt;br /&gt;
===== Equivalent terms set glossaries =====&lt;br /&gt;
If a glossary is needed in more than one source-target language set, either multiple versions of the unidirectional glossary can be created, or one single equivalent terms set glossary can accomplish the task as well. There are limits to the equivalent terms set glossaries however, such as they only support CSV files, so exporting or transferring files from another translation service might be a more complicated process than using unidirectional glossaries. But there are also advantages such as compacting many separate glossaries into one single glossary. A CSV file for an equivalent terms set glossary looks very similar to a file for a unidirectional glossary, except that it can contain as many entries/columns as the desired number of locales in the glossary, and the first row of the file is a headers row that specifies the the locales of the phrases in the columns below them with their corresponding ISO-639-1 or BCP-47 language code.&lt;br /&gt;
&lt;br /&gt;
=== Automatically update glossaries with Translation Memory ===&lt;br /&gt;
When using multiple products within the Localyzer family together, a Translation Memory feature emerges. It allows for the changes that are made to a translation in [[#LocalyzerQA|LocalyzerQA]] to be automatically added to the most relevant glossary. That way not only the specific translation(s) targeted by the post edit will be changed, but also all future occurrences of the phrase(s) as well. This is accomplished by automatically adding the phrases and corrections from LocalyzerQA to the first glossary in the list that has the proper source and target locales.&lt;br /&gt;
&lt;br /&gt;
==== Enabling Translation Memory ====&lt;br /&gt;
Turning on Translation Memory can be done from either Jenkins or from Localyzer Express, depending on which products from the Localyzer family you are using. From Jenkins, this is done in the Localyzer L10n Vendor Setup `Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System`. On Localyzer Express, this can be done from the custom machine translator configuration menu.&lt;br /&gt;
&lt;br /&gt;
Select the option “Add QA Changes to Glossaries” and Translation Memory will be enabled on all eligible glossaries.&lt;br /&gt;
&lt;br /&gt;
==== Dealing with duplicate phrases in Translation Memory ====&lt;br /&gt;
If you have had Translation Memory enabled for a while and have added a lot of phrases to it, you might start to come across emails with a message that reads something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.lingoport.translationmemory.google.pipeline.stage.UpdateGoogleTranslationMemoryStage: The file `some-glossary-name-sources.tmx` already contains translation memory for the source phrase(s) `[Some phrase in the source locale.]`. These phrases were not updated in the Translation Memory and instead were left the same. All other phrases were added to Translation Memory. To update the Translation Memory for a phrase that has already been added to this vendors Translation Memory, the original phrase must be manually removed from the Translation Memory. Please see https://wiki.lingoport.com/Google_Translate#Dealing_with_duplicate_phrases_in_Translation_Memory for more details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This message is nothing to worry about at all, it is simply just letting you know that the phrase already exists in the glossary which Translation Memory is trying to update. To avoid duplicating phrases in the glossary, Localyzer chose not to add the new source and target phrase pair, and instead leave the old pair intact. If the previous source and target phrases are desired to be kept, then nothing needs to be done, as Localyzer already took appropriate action. However, if you desire to remove the previous source and target phrases so that they can be replaced with new corrections, then this must be done manually.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Log in to the [https://console.cloud.google.com/ Google Cloud Console], and make sure the desired project is selected (top left of the screen).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;Storage&#039;&#039; (you might scroll the menu), and then select &#039;&#039;Browser&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudStorageMenu.png|420px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Select the bucket named “{project id}-glossaries”.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the appropriate TSV, CSV, or TMX file associated with the glossary, and click on the download icon on the right side of the table. If you created the glossary by contacting Lingoport support, or by otherwise using Lingoport utilities, then the correct file will be named “{glossary name}-sources.{extension}”. If you created the glossary with your own methods, then the file will be named whatever you named it at the time.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudStorageDownload.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file and edit it in your favorite text editor. It is up to you if you want to delete the entry altogether, or simply manually modify the contents of the entry.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Repeat whatever process you originally went through to [[#Set_up_guaranteed_translations_with_glossaries|create the glossary]] in the first place, using the new file this time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Train an AutoML model for fully customized machine translation ===&lt;br /&gt;
Creating and managing AutoML models can be done by the department responsible for setting up the Google Translate service with ease thanks to the [https://console.cloud.google.com/translation/ AutoML Web Interface] that Google provides. This section will give a brief overview of how to add and manage AutoML models, though it should be noted that [https://cloud.google.com/translate/automl/docs/before-you-begin Google has a much more in depth documentation] on the subject if further inquiry is desired.&lt;br /&gt;
&lt;br /&gt;
==== Preparing training data ====&lt;br /&gt;
AutoML models can use Translation Memory eXchange (TMX) formatted data for training purposes, which is a universal format that most translation management systems should be able to export in. At least 1000 sentence pairs are required for training an AutoML model, though at least 5000 is recommended, and 15 million sentence pairs is the maximum. Google recommends keeping sentences to less than 200 words each for the best results.&lt;br /&gt;
&lt;br /&gt;
==== Creating a dataset ====&lt;br /&gt;
To create a dataset from the training data that you have prepared:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click the &#039;&#039;Create Dataset&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the &#039;&#039;Create Dataset&#039;&#039; dialog, enter a name for the dataset and select the source and target locales for the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Clicking &#039;&#039;Create&#039;&#039; will bring you to the &#039;&#039;Import&#039;&#039; dialog, where you can upload the training data that you prepared in the previous section, and finish creating the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Training a model ====&lt;br /&gt;
To train a model from the dataset that you have uploaded to Google Cloud:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click on the dataset to use in the model’s training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the &#039;&#039;Sentences&#039;&#039; tab at the top to review the dataset if desired, and the &#039;&#039;Train&#039;&#039; tab to start training the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click &#039;&#039;Start Training&#039;&#039; and enter a name for the model to start the training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/models/ &#039;&#039;Models&#039;&#039; page], you will find a list of model names and IDs (to be entered in the Jenkins configuration section), as well as their status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95768</id>
		<title>Google Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95768"/>
		<updated>2021-12-29T19:23:41Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Add translation memory information and Google Cloud Platform information to the Google Translate page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Localyzer integration with the Google Cloud Platform Translation Service ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Google Translate ==&lt;br /&gt;
=== Configure a Google Translate subscription on Google Cloud Platform ===&lt;br /&gt;
==== Create a project ====&lt;br /&gt;
The first step in configuring an instance of Google Translate to be used with Localyzer is to log in to the [https://console.cloud.google.com/ Google Cloud Console] and select or create a Google Cloud project.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Log into [https://console.cloud.google.com/ console.cloud.google.com] with a Google Services email account. Use a secure account, as it will have “owner” permissions over the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the project select drop-down in the top left of the page.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudProjectDropdown.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt;At this point if you already have a project set up which you would like to configure Google Translate on, you can skip to the next section, [[#Enable_billing|Enable billing]]. If not, or you otherwise would like to create a new project, click on &#039;&#039;New Project&#039;&#039; in the top right of the menu.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the new project configuration screen, enter in a name for the project and select an organization to organize the project under. Pay special attention to the project ID, as this is important to the project, and cannot be changed later. Google Cloud Console will automatically generate a project ID for you, though if you would like to set one yourself just hit the &#039;&#039;Edit&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudNewProject.png|800px]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Enable billing ====&lt;br /&gt;
Once we have created a new project (or selected an existing one), we need to make sure that billing is enabled on the project before we can enable Google Translate.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;Billing&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudBilling.png|320px]]&lt;br /&gt;
&amp;lt;li&amp;gt;If billing is already enabled on the project, you’ll see a billing overview page. If not, you will be prompted with a pop-up window containing instructions on how to enable billing for the project. Follow these instructions to enable billing on the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Enable the Cloud Translation API ====&lt;br /&gt;
Now that we have a project with billing enabled, we are ready to enable the Cloud Translation API.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;APIs &amp;amp; Services&#039;&#039;, and then select &#039;&#039;Library&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudAPIsLibrary.png|450px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Use the search bar to search for &amp;quot;Cloud Translation API&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Select the Cloud Translation API, and click the &#039;&#039;Enable&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Create a service account ====&lt;br /&gt;
Next, a service account must be created. This service account acts as the credentials for Localyzer to access your Google Cloud Translation service. To learn more about what service accounts are, and why they are used, see Google’s article on [https://cloud.google.com/iam/docs/understanding-service-accounts understanding service accounts].&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;IAM &amp;amp; Admin&#039;&#039;, and then select &#039;&#039;Service Accounts&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudIAM.png|450px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Click on &#039;&#039;Create Service Account&#039;&#039; near the top of the page.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Fill out the service account’s name, ID, and optional description. Do NOT hit done at this stage, instead click on the &#039;&#039;Save and Continue&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudServiceAccountStep1.png|500px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Under the second step to creating a service account, &#039;&#039;Grant this service account access to project&#039;&#039;, click on the &#039;&#039;Add role&#039;&#039; button, then click on the &#039;&#039;Select a role&#039;&#039; dropdown menu. Use the menu to search for the basic role &amp;quot;Owner&amp;quot;, and add the role to the service account.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudServiceAccountStep2.png|500px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Now you can click &#039;&#039;Done&#039;&#039; to finish the creation of the service account.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Download the JSON credential file ====&lt;br /&gt;
Finally, after the service account is created, we can create or add a new key to the account. This key is in the form of a JSON file which is used by Localyzer to access the translation service.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;From the main Service Accounts screen (the previous section in this tutorial), click on the 3 dot icon next to the service account that was just created, then click on &#039;&#039;Manage keys&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudManageKeys.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the &#039;&#039;Add Key&#039;&#039; dropdown menu, and then select the &#039;&#039;Create new key&#039;&#039; option.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Select Key Type JSON (it should already be selected by default), and click the &#039;&#039;Create&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The JSON key file will be automatically downloaded to your machine at this point. All you need to do is upload the file to your Jenkins or Localyzer Express machine, and then configure the Google Translate Vendor in Jenkins settings or in Localyzer Express!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Google Translate Vendor ===&lt;br /&gt;
To set up the ability to machine translate your resource files using Google Translate you’ll need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AddGoogleVendor.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Google Translate Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Google Translate Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Google Translate Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:GoogleGroupVendor.png|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Google Translate Credentials ===&lt;br /&gt;
All of the Google Translate credential information should be available through the department responsible for setting up your Google Cloud Platform service. &lt;br /&gt;
&lt;br /&gt;
==== JSON Credential File Path ====&lt;br /&gt;
Services from a Google Cloud Platform Project, such as the Google Translate service, can be accessed securely using a [https://cloud.google.com/iam/docs/understanding-service-accounts/ Service Account Key]. These keys come in the form of a single credential file in JSON format.&lt;br /&gt;
&lt;br /&gt;
The department responsible for setting up the Google Cloud Platform service can manage these service account keys from their [https://console.cloud.google.com/ Google Cloud Console]. See [[#Download_the_JSON_credential_file|Download the JSON credential file]] for more details.&lt;br /&gt;
&lt;br /&gt;
Localyzer requires a service account with at least &#039;&#039;Cloud Translation API Admin&#039;&#039;, &#039;&#039;Storage Admin&#039;&#039;, and &#039;&#039;AutoML Admin&#039;&#039; roles (note: the &#039;&#039;Owner&#039;&#039; role is the easiest to select in this scenario as it has permission for every Google Cloud operation, including those provided by the other three roles).&lt;br /&gt;
&lt;br /&gt;
In order for Localyzer to use Google Translate, the JSON credential file must be downloaded placed on the same system as the Lingoport Jenkins Server (typically in a location like /var/lib/jenkins/… because the jenkins user needs access to the file), and that location needs to be specified to Localyzer in this vendor setup process.&lt;br /&gt;
&lt;br /&gt;
==== Location ====&lt;br /&gt;
Google Cloud Platform requires Localyzer to let it know the translation requests are coming from one of two locations: &#039;&#039;US Central&#039;&#039;, or &#039;&#039;Global&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Currently, Google requires the &#039;&#039;US Central&#039;&#039; location in order to use the advanced translation features such as [[#Glossary_Names|glossaries]] or [[#Train_a_custom_AutoML_model_for_translation|AutoML models]]. It is for this reason that the &#039;&#039;Global&#039;&#039; location should only ever be selected if those advanced features are not required at all, the Jenkins server is outside of the US, and you require lower latency calls to Google Translate than the &#039;&#039;US Central&#039;&#039; location can offer.&lt;br /&gt;
&lt;br /&gt;
==== Glossary Names ====&lt;br /&gt;
Glossaries are an optional feature of the Google Cloud Platform Translation service that allows for phrases to have guaranteed translations, regardless of the phrase’s context or the translation algorithm’s decision. This is useful for preserving brand names, product names, and other translation memory.&lt;br /&gt;
&lt;br /&gt;
Glossaries are identified by their names given to them upon creation. Google unfortunately does not provide any user interface for the department responsible for configuring the Google Cloud project to manage glossaries, though [https://cloud.google.com/translate/docs/advanced/glossary there are still ways to do it].&lt;br /&gt;
&lt;br /&gt;
When configuring a Google Translate Vendor, multiple glossary names can be entered, separated by commas. Then when Localyzer uses Google Translate to translate your resources, the first glossary in the list that is compatible with the current source and target locales will be used.&lt;br /&gt;
&lt;br /&gt;
Currently, Google only supports the glossary feature with the &#039;&#039;US Central&#039;&#039; [[#Location|location]].&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
The model that is chosen determines the translation algorithm that is used. The Google Cloud Platform Translation service comes with two built in models that don’t require any configuration and work across all locales.&lt;br /&gt;
&lt;br /&gt;
The first model, &#039;&#039;NMT&#039;&#039; or &#039;&#039;Neural Machine Translation&#039;&#039;, is the default model for Google Translate. This is the preferred of the two built in models, it is newer and yields better results, though there might still be some rare edge cases where it still doesn’t work yet. In this scenario, the Google Cloud Platform Translation service will automatically fall back to the second built in model, &#039;&#039;PBMT&#039;&#039; or &#039;&#039;Phrase Based Machine Translation&#039;&#039;. This model is the previous generation of Google Translate, and is generally less preferred, but it can still be selected to be used over the newer model if so desired.&lt;br /&gt;
The third option for a model is to enter the model ID of an [[#Train_an_AutoML_model_for_fully_customized_machine_translation|AutoML]] model. AutoML models are based on the built in &#039;&#039;NMT&#039;&#039; model, but they have been custom “trained” or “fine-tuned” to a large data-set of internal company documents. This can result in better domain specific translation than the built in &#039;&#039;NMT&#039;&#039; model if used properly.&lt;br /&gt;
&lt;br /&gt;
==== Add QA Changes to Glossaries ====&lt;br /&gt;
Localyzer, when used in conjunction with Localyzer QA, has a Translation Memory feature, which can be enabled with this checkbox. See the [[#Automatically_update_glossaries_with_Translation_Memory|section on Translation Memory]] further down on this page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file. &lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;Access Level&#039;&#039; is for &#039;&#039;Group&#039;&#039; then the &#039;&#039;/var/lib/jenkins/Lingoport_Data/L10nStreamlining/&amp;lt;group name&amp;gt;/config/config_l10n_vendor.properties&#039;&#039; file will be created containing the vendor information otherwise the &#039;&#039;config_l10n_vendor.properties&#039;&#039; will not be created until it is used by a project.&lt;br /&gt;
&lt;br /&gt;
For more information on &#039;&#039;Access Level&#039;&#039; and linking this vendor to your project see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
== Customize translations with glossaries and AutoML ==&lt;br /&gt;
=== Set up guaranteed translations with glossaries ===&lt;br /&gt;
Glossaries are source-target sets of phrases or sentences that the machine translator will always consistently translate the same, regardless of context around the phrase or sentence. They can be useful for:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Do not translate (DNT) terms&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Product and/or brand names&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ambiguous words&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Unfortunately at this time, Google doesn’t provide any basic web interface with their cloud platform to add, update, or manage glossaries. But your department responsible for setting up the Google Translate service still has two options for managing their glossaries. Option one is to follow the steps outlined in Google’s [Creating and using glossaries (advanced)](https://cloud.google.com/translate/docs/advanced/glossary) documentation. Option two is to set up the initial glossary files, and then contact Lingoport support to take care of the rest.&lt;br /&gt;
&lt;br /&gt;
==== Preparing glossary files ====&lt;br /&gt;
Glossaries can be created out of files of either Translation Memory eXchange (TMX), Comma Separated Values (CSV), or Tab Separated Values (TSV) format. TMX is the most universal format for translation management systems, but CSV files can be easy to read and create as spreadsheets, so they each have their own advantages and disadvantages as file types.&lt;br /&gt;
&lt;br /&gt;
===== Unidirectional glossaries =====&lt;br /&gt;
Typically, glossaries are associated with just two locales, their source locale (the locale which translations are occurring from), and their target locale (the locale which translations are occurring to). These most basic forms of glossaries are known as unidirectional glossaries.&lt;br /&gt;
&lt;br /&gt;
For a CSV or a TSV file, there should be just two values per line/row: the first being the desired phrase in the source language, and the second being the desired phrase in the target language. What the locales actually are, shouldn’t be specified in the CSV or TSV file itself, as they are actually specified upon association of the file with the glossary itself.&lt;br /&gt;
&lt;br /&gt;
For a TMX file, it shouldn’t have to be written itself, but rather exported from a different/previous service. Make sure that the TMX file follows the standards of TMX Version 1.4. [https://cloud.google.com/translate/docs/advanced/glossary#translation_memory_exchange_tmx this section in Google’s documentation on glossaries] contains an example TMX file if needed.&lt;br /&gt;
&lt;br /&gt;
===== Equivalent terms set glossaries =====&lt;br /&gt;
If a glossary is needed in more than one source-target language set, either multiple versions of the unidirectional glossary can be created, or one single equivalent terms set glossary can accomplish the task as well. There are limits to the equivalent terms set glossaries however, such as they only support CSV files, so exporting or transferring files from another translation service might be a more complicated process than using unidirectional glossaries. But there are also advantages such as compacting many separate glossaries into one single glossary. A CSV file for an equivalent terms set glossary looks very similar to a file for a unidirectional glossary, except that it can contain as many entries/columns as the desired number of locales in the glossary, and the first row of the file is a headers row that specifies the the locales of the phrases in the columns below them with their corresponding ISO-639-1 or BCP-47 language code.&lt;br /&gt;
&lt;br /&gt;
=== Automatically update glossaries with Translation Memory ===&lt;br /&gt;
When using multiple products within the Localyzer family together, a Translation Memory feature emerges. It allows for the changes that are made to a translation in [[#LocalyzerQA|LocalyzerQA]] to be automatically added to the most relevant glossary. That way not only the specific translation(s) targeted by the post edit will be changed, but also all future occurrences of the phrase(s) as well. This is accomplished by automatically adding the phrases and corrections from LocalyzerQA to the first glossary in the list that has the proper source and target locales.&lt;br /&gt;
&lt;br /&gt;
==== Enabling Translation Memory ====&lt;br /&gt;
Turning on Translation Memory can be done from either Jenkins or from Localyzer Express, depending on which products from the Localyzer family you are using. From Jenkins, this is done in the Localyzer L10n Vendor Setup `Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System`. On Localyzer Express, this can be done from the custom machine translator configuration menu.&lt;br /&gt;
&lt;br /&gt;
Select the option “Add QA Changes to Glossaries” and Translation Memory will be enabled on all eligible glossaries.&lt;br /&gt;
&lt;br /&gt;
==== Dealing with duplicate phrases in Translation Memory ====&lt;br /&gt;
If you have had Translation Memory enabled for a while and have added a lot of phrases to it, you might start to come across emails with a message that reads something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.lingoport.translationmemory.google.pipeline.stage.UpdateGoogleTranslationMemoryStage: The file `some-glossary-name-sources.tmx` already contains translation memory for the source phrase(s) `[Some phrase in the source locale.]`. These phrases were not updated in the Translation Memory and instead were left the same. All other phrases were added to Translation Memory. To update the Translation Memory for a phrase that has already been added to this vendors Translation Memory, the original phrase must be manually removed from the Translation Memory. Please see https://wiki.lingoport.com/Google_Translate#Dealing_with_duplicate_phrases_in_Translation_Memory for more details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This message is nothing to worry about at all, it is simply just letting you know that the phrase already exists in the glossary which Translation Memory is trying to update. To avoid duplicating phrases in the glossary, Localyzer chose not to add the new source and target phrase pair, and instead leave the old pair intact. If the previous source and target phrases are desired to be kept, then nothing needs to be done, as Localyzer already took appropriate action. However, if you desire to remove the previous source and target phrases so that they can be replaced with new corrections, then this must be done manually.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Log in to the [https://console.cloud.google.com/ Google Cloud Console], and make sure the desired project is selected (top left of the screen).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the navigation hamburger menu in the top left corner of the page, and then select &#039;&#039;Storage&#039;&#039; (you might scroll the menu), and then select &#039;&#039;Browser&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:GoogleCloudStorageMenu.png|420px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Select the bucket named “{project id}-glossaries”.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Find the appropriate TSV, CSV, or TMX file associated with the glossary, and click on the download icon on the right side of the table. If you created the glossary by contacting Lingoport support, or by otherwise using Lingoport utilities, then the correct file will be named “{glossary name}-sources.{extension}”. If you created the glossary with your own methods, then the file will be named whatever you named it at the time.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File::GoogleCloudStorageDownload.png|800px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file and edit it in your favorite text editor. It is up to you if you want to delete the entry altogether, or simply manually modify the contents of the entry.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Repeat whatever process you originally went through to [[#Set_up_guaranteed_translations_with_glossaries|create the glossary]] in the first place, using the new file this time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Train an AutoML model for fully customized machine translation ===&lt;br /&gt;
Creating and managing AutoML models can be done by the department responsible for setting up the Google Translate service with ease thanks to the [https://console.cloud.google.com/translation/ AutoML Web Interface] that Google provides. This section will give a brief overview of how to add and manage AutoML models, though it should be noted that [https://cloud.google.com/translate/automl/docs/before-you-begin Google has a much more in depth documentation] on the subject if further inquiry is desired.&lt;br /&gt;
&lt;br /&gt;
==== Preparing training data ====&lt;br /&gt;
AutoML models can use Translation Memory eXchange (TMX) formatted data for training purposes, which is a universal format that most translation management systems should be able to export in. At least 1000 sentence pairs are required for training an AutoML model, though at least 5000 is recommended, and 15 million sentence pairs is the maximum. Google recommends keeping sentences to less than 200 words each for the best results.&lt;br /&gt;
&lt;br /&gt;
==== Creating a dataset ====&lt;br /&gt;
To create a dataset from the training data that you have prepared:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click the &#039;&#039;Create Dataset&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the &#039;&#039;Create Dataset&#039;&#039; dialog, enter a name for the dataset and select the source and target locales for the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Clicking &#039;&#039;Create&#039;&#039; will bring you to the &#039;&#039;Import&#039;&#039; dialog, where you can upload the training data that you prepared in the previous section, and finish creating the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Training a model ====&lt;br /&gt;
To train a model from the dataset that you have uploaded to Google Cloud:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click on the dataset to use in the model’s training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the &#039;&#039;Sentences&#039;&#039; tab at the top to review the dataset if desired, and the &#039;&#039;Train&#039;&#039; tab to start training the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click &#039;&#039;Start Training&#039;&#039; and enter a name for the model to start the training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/models/ &#039;&#039;Models&#039;&#039; page], you will find a list of model names and IDs (to be entered in the Jenkins configuration section), as well as their status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudStorageDownload.png&amp;diff=95767</id>
		<title>File:GoogleCloudStorageDownload.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudStorageDownload.png&amp;diff=95767"/>
		<updated>2021-12-29T19:14:35Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot showing how to download an object from Google Cloud Storage.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot showing how to download an object from Google Cloud Storage.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudStorageMenu.png&amp;diff=95766</id>
		<title>File:GoogleCloudStorageMenu.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudStorageMenu.png&amp;diff=95766"/>
		<updated>2021-12-29T19:13:25Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot showing how to access the storage browser on the Google Cloud Platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot showing how to access the storage browser on the Google Cloud Platform.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudManageKeys.png&amp;diff=95765</id>
		<title>File:GoogleCloudManageKeys.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudManageKeys.png&amp;diff=95765"/>
		<updated>2021-12-29T19:11:22Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot showing how to get to the &amp;quot;Manage Keys&amp;quot; interface on the Google Cloud Platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot showing how to get to the &amp;quot;Manage Keys&amp;quot; interface on the Google Cloud Platform.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudServiceAccountStep2.png&amp;diff=95764</id>
		<title>File:GoogleCloudServiceAccountStep2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudServiceAccountStep2.png&amp;diff=95764"/>
		<updated>2021-12-29T19:08:05Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the process to create a service account on the Google Cloud Platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the process to create a service account on the Google Cloud Platform.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudServiceAccountStep1.png&amp;diff=95763</id>
		<title>File:GoogleCloudServiceAccountStep1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudServiceAccountStep1.png&amp;diff=95763"/>
		<updated>2021-12-29T19:07:05Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the process to create a service account on the Google Cloud Platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the process to create a service account on the Google Cloud Platform.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudIAM.png&amp;diff=95762</id>
		<title>File:GoogleCloudIAM.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudIAM.png&amp;diff=95762"/>
		<updated>2021-12-29T19:03:29Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudAPIsLibrary.png&amp;diff=95761</id>
		<title>File:GoogleCloudAPIsLibrary.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudAPIsLibrary.png&amp;diff=95761"/>
		<updated>2021-12-29T19:01:14Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the navigation menu in the Google Cloud Platform with the APIs &amp;amp; Services Library options highlighted.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the navigation menu in the Google Cloud Platform with the APIs &amp;amp; Services Library options highlighted.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudBilling.png&amp;diff=95760</id>
		<title>File:GoogleCloudBilling.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudBilling.png&amp;diff=95760"/>
		<updated>2021-12-29T18:59:29Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: A screenshot of the Google Cloud navigation menu with the link to &amp;quot;billing&amp;quot; highlighted.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A screenshot of the Google Cloud navigation menu with the link to &amp;quot;billing&amp;quot; highlighted.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudNewProject.png&amp;diff=95759</id>
		<title>File:GoogleCloudNewProject.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudNewProject.png&amp;diff=95759"/>
		<updated>2021-12-29T18:54:45Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot of the interface used to create a new project on the Google Cloud Platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of the interface used to create a new project on the Google Cloud Platform.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleCloudProjectDropdown.png&amp;diff=95758</id>
		<title>File:GoogleCloudProjectDropdown.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleCloudProjectDropdown.png&amp;diff=95758"/>
		<updated>2021-12-29T18:53:03Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot of the dropdown menu to select the Google Cloud project.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of the dropdown menu to select the Google Cloud project.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Lingoport_Error_Codes&amp;diff=95537</id>
		<title>Lingoport Error Codes</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Lingoport_Error_Codes&amp;diff=95537"/>
		<updated>2021-07-15T18:08:36Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Add lingoport-tm-cli  to error codes for Lingoport jar files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Error codes for Lingoport jar files=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
!jar file&lt;br /&gt;
!lrm-cli&lt;br /&gt;
!lpcommon&lt;br /&gt;
!lrm-process&lt;br /&gt;
!lingoport-lingotek-cli&lt;br /&gt;
!lingoport-ftp-cli&lt;br /&gt;
!lingoport-ws-cli&lt;br /&gt;
!lrm-common&lt;br /&gt;
!lingoport-local-cli&lt;br /&gt;
!lingoport-mt-cli&lt;br /&gt;
!lingoport-tm-cli&lt;br /&gt;
|-&lt;br /&gt;
!Code Range&lt;br /&gt;
|100-1999&lt;br /&gt;
|2000-9999&lt;br /&gt;
|10000-14999&lt;br /&gt;
|15000-15999&lt;br /&gt;
|16000-16999&lt;br /&gt;
|17000-17999&lt;br /&gt;
|18000-18999&lt;br /&gt;
|19500-19999&lt;br /&gt;
|20000-20999&lt;br /&gt;
|30000-30999&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Microsoft_Translator&amp;diff=95369</id>
		<title>Microsoft Translator</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Microsoft_Translator&amp;diff=95369"/>
		<updated>2021-05-19T21:08:26Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: add documentation on the custom translator portal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localyzer integration with the Microsoft Azure Cognitive Services Translator ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Microsoft Translator ==&lt;br /&gt;
To set up the ability to machine translate your resource files using Microsoft Translator you will need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Microsoft Translator Vendor ===&lt;br /&gt;
&lt;br /&gt;
[[File:AddMicrosoftVendor.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Microsoft Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Microsoft Translator Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Microsoft Translator Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:MicrosoftGroupVendor.png]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Translator Credentials ===&lt;br /&gt;
All of the Microsoft Translator credential information should be available through the department responsible for setting up your Microsoft Azure Cognitive Services Translator.&lt;br /&gt;
&lt;br /&gt;
==== Subscription Key ====&lt;br /&gt;
The subscription key, also sometimes referred to as the API key or the credential key, is a key-code, not meant to be shared publicly, that grants access to the Microsoft Translator resource.&lt;br /&gt;
&lt;br /&gt;
==== Category ID ====&lt;br /&gt;
The category ID is an identifier that allows you to use the [[#Use_the_Custom_Translator_portal_for_dictionaries_and_trained_models|Custom Translator]] feature of Microsoft Translator for custom models or dictionaries. A category ID is not required, and the entry can be left blank in order to use Microsoft’s built in translator.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;Access Level&#039;&#039; is for &#039;&#039;Group&#039;&#039; then the &#039;&#039;/var/lib/jenkins/Lingoport_Data/L10nStreamlining/&amp;lt;group name&amp;gt;/config/config_l10n_vendor.properties&#039;&#039; file will be created containing the vendor information otherwise the &#039;&#039;config_l10n_vendor.properties&#039;&#039; will not be created until it is used by a project.&lt;br /&gt;
&lt;br /&gt;
For more information on &#039;&#039;Access Level&#039;&#039; and linking this vendor to your project see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
== Use the Custom Translator portal for dictionaries and trained models ==&lt;br /&gt;
The [https://portal.customtranslator.azure.ai Custom Translator portal] provides a web user interface for the department responsible for setting up the Microsoft Translator service to manage and customize the output of the machine translation. [[#Train_your_own_model|Custom trained fine-tuned models]] provide context sensitive customizations by fine-tuning one of Microsoft Translator’s base models to your company’s own pre existing translations, but require large amounts of data to train. [[#Train_a_custom_translator_with_a_dictionary|Dictionaries]] on the other hand can work with any size dataset, large or small, and work without context by forcing sentences or phrases to always have a desired translation.&lt;br /&gt;
&lt;br /&gt;
To use either of these features a workspace must be created from the Custom Translator portal, see [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/custom-translator/quickstart-build-deploy-custom-model Microsoft’s Custom Translator quickstart] for more details on workspaces. From this workspace, any number of projects can be created. Each project get’s a [[#Category_ID|Category ID]] associated with it which is used when configuring the vendor. One project can only have a single Custom Translator deployed on it at a time, so create multiple projects if you plan on having multiple Custom Translators deployed at the same time. Files for dictionaries or custom trained models can then be uploaded to a project for training.&lt;br /&gt;
&lt;br /&gt;
=== Train your own model ===&lt;br /&gt;
Training your own model, or rather fine-tuning one of Microsoft Translator’s built-in models to your company’s own pre existing translations can provide domain specific machine translation results that are also context sensitive and more natural sounding. This comes at the cost of requiring a large dataset to train the model on, Microsoft Translator requires at least 10,000 pairs of sentences to train a model. See [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/custom-translator/document-formats-naming-convention this list] from Microsoft’s documentation for a full rundown on supported file formats. We recommend using TMX files when possible as they are universal across many translation vendors.&lt;br /&gt;
&lt;br /&gt;
Upload the document(s) for training to the [https://portal.customtranslator.azure.ai/ Custom Translator portal] by clicking on the Documents tab and then the Upload files button. Fill in the relevant information in the upload dialog that pops up (if using TMX you can skip over the Parallel Data section), and then click on the Upload button.&lt;br /&gt;
&lt;br /&gt;
Once all the documents are uploaded, the model can be trained. Click on the Projects tab and select the project you want to train the model for. Use the checkboxes next to the documents that you have uploaded to select which ones will be used in the training of the model. Then click the Create model button to start the training process. Once the training has finished, the model can be deployed on that project.&lt;br /&gt;
&lt;br /&gt;
=== Train a Custom Translator with a dictionary ===&lt;br /&gt;
Using dictionaries is a great way to customize the machine translator to be more domain specific because they work for datasets of all different sizes, large or small. Dictionaries are files of sentence (or phrase) pairs, just like the files to train a model on, but they are specially noted as dictionaries upon upload. When a Custom Translator is trained using a dictionary file, the sentence or phrase pairs in that dictionary will be consistent guaranteed translations regardless of context.&lt;br /&gt;
&lt;br /&gt;
Custom translators can contain both custom models and dictionaries at once by selecting all of the training files as well as the dictionary files before training the Custom Translator. It is also possible to train a Custom Translator with just dictionary files, leaving out the custom model altogether. This results in a much faster (and therefore cheaper) training time for the Custom Translator, as well as allows for domain specific translation without the barrier of entry of a sentence pair minimum dataset. When a Custom Translator is trained with just dictionaries, it will use the Microsoft Translator base model for all translations that are not present in the dictionaries.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Microsoft_Translator&amp;diff=95368</id>
		<title>Microsoft Translator</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Microsoft_Translator&amp;diff=95368"/>
		<updated>2021-05-14T17:43:26Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localyzer integration with the Microsoft Azure Cognitive Services Translator ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Microsoft Translator ==&lt;br /&gt;
To set up the ability to machine translate your resource files using Microsoft Translator you will need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Microsoft Translator Vendor ===&lt;br /&gt;
&lt;br /&gt;
[[File:AddMicrosoftVendor.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Microsoft Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Microsoft Translator Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Microsoft Translator Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:MicrosoftGroupVendor.png]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Translator Credentials ===&lt;br /&gt;
All of the Microsoft Translator credential information should be available through the department responsible for setting up your Microsoft Azure Cognitive Services Translator.&lt;br /&gt;
&lt;br /&gt;
==== Subscription Key ====&lt;br /&gt;
The subscription key, also sometimes referred to as the API key or the credential key, is a key-code, not meant to be shared publicly, that grants access to the Microsoft Translator resource.&lt;br /&gt;
&lt;br /&gt;
==== Category ID ====&lt;br /&gt;
The category ID is an identifier that allows you to use the [[#Train_a_Custom_Translator_for_dictionaries_and_trained_models|Custom Translator]] feature of Microsoft Translator for custom models or dictionaries. A category ID is not required, and the entry can be left blank in order to use Microsoft’s built in translator.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;Access Level&#039;&#039; is for &#039;&#039;Group&#039;&#039; then the &#039;&#039;/var/lib/jenkins/Lingoport_Data/L10nStreamlining/&amp;lt;group name&amp;gt;/config/config_l10n_vendor.properties&#039;&#039; file will be created containing the vendor information otherwise the &#039;&#039;config_l10n_vendor.properties&#039;&#039; will not be created until it is used by a project.&lt;br /&gt;
&lt;br /&gt;
For more information on &#039;&#039;Access Level&#039;&#039; and linking this vendor to your project see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
== Train a Custom Translator for dictionaries and trained models ==&lt;br /&gt;
We recommend following Microsoft’s [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/custom-translator/quickstart-build-deploy-custom-model Quickstart Tutorial] on the subject to learn more about how to train and deploy a custom model for translation.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Microsoft_Translator&amp;diff=95367</id>
		<title>Microsoft Translator</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Microsoft_Translator&amp;diff=95367"/>
		<updated>2021-05-14T17:41:55Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Created page with &amp;quot;== Localyzer integration with the Microsoft Azure Cognitive Services Translator == === How the process works === For information on Machine Translation and how the process wor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localyzer integration with the Microsoft Azure Cognitive Services Translator ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Microsoft Translator ==&lt;br /&gt;
To set up the ability to machine translate your resource files using Microsoft Translator you will need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Microsoft Translator Vendor ===&lt;br /&gt;
&lt;br /&gt;
[[File:AddMicrosoftVendor.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Microsoft Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Microsoft Translator Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Microsoft Translator Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:MicrosoftGroupVendor.png]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Translator Credentials ===&lt;br /&gt;
All of the Microsoft Translator credential information should be available through the department responsible for setting up your Microsoft Azure Cognitive Services Translator.&lt;br /&gt;
&lt;br /&gt;
==== Subscription Key ====&lt;br /&gt;
The subscription key, also sometimes referred to as the API key or the credential key, is a key-code, not meant to be shared publicly, that grants access to the Microsoft Translator resource.&lt;br /&gt;
&lt;br /&gt;
==== Category ID ====&lt;br /&gt;
The category ID is an identifier that allows you to use the [[#Train_a_Custom_Translator_for_dictionaries_and_trained_models|Custom Translator]] feature of Microsoft Translator for custom models or dictionaries. A category ID is not required, and the entry can be left blank in order to use Microsoft’s built in translator.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file.&lt;br /&gt;
&lt;br /&gt;
== Train a Custom Translator for dictionaries and trained models ==&lt;br /&gt;
We recommend following Microsoft’s [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/custom-translator/quickstart-build-deploy-custom-model Quickstart Tutorial] on the subject to learn more about how to train and deploy a custom model for translation.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:MicrosoftGroupVendor.png&amp;diff=95366</id>
		<title>File:MicrosoftGroupVendor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:MicrosoftGroupVendor.png&amp;diff=95366"/>
		<updated>2021-05-14T17:41:08Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Prosenthal uploaded a new version of File:MicrosoftGroupVendor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot showing the user interface for creating and configuring a Microsoft Translator vendor.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:MicrosoftGroupVendor.png&amp;diff=95365</id>
		<title>File:MicrosoftGroupVendor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:MicrosoftGroupVendor.png&amp;diff=95365"/>
		<updated>2021-05-14T17:26:26Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot showing the user interface for creating and configuring a Microsoft Translator vendor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot showing the user interface for creating and configuring a Microsoft Translator vendor.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:AddMicrosoftVendor.png&amp;diff=95364</id>
		<title>File:AddMicrosoftVendor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:AddMicrosoftVendor.png&amp;diff=95364"/>
		<updated>2021-05-14T17:25:36Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot showing the location of the Add Microsoft Vendor Button in the Localyzer Jenkins server configuration.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot showing the location of the Add Microsoft Vendor Button in the Localyzer Jenkins server configuration.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95363</id>
		<title>Google Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95363"/>
		<updated>2021-05-14T17:03:23Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Attempt to fix some links in Google Vendor page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Localyzer integration with the Google Cloud Platform Translation Service ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Google Translate ==&lt;br /&gt;
To set up the ability to machine translate your resource files using Google Translate you’ll need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Google Translate Vendor ===&lt;br /&gt;
&lt;br /&gt;
[[File:AddGoogleVendor.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Google Translate Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Google Translate Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Google Translate Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:GoogleGroupVendor.png]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Google Translate Credentials ===&lt;br /&gt;
All of the Google Translate credential information should be available through the department responsible for setting up your Google Cloud Platform service. &lt;br /&gt;
&lt;br /&gt;
==== JSON Credential File Path ====&lt;br /&gt;
Services from a Google Cloud Platform Project, such as the Google Translate service, can be accessed securely using a [https://cloud.google.com/iam/docs/understanding-service-accounts/ Service Account Key]. These keys come in the form of a single credential file in JSON format.&lt;br /&gt;
The department responsible for setting up the Google Cloud Platform service can manage these service account keys from their [https://console.cloud.google.com/ Google Cloud Console]. From the home page, use the side menu to navigate to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IAM &amp;amp; Admin -&amp;gt; Service Accounts`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or go to https://console.cloud.google.com/iam-admin/serviceaccounts and select the Google Cloud project to manage service accounts for.&lt;br /&gt;
&lt;br /&gt;
Localyzer requires a service account with at least Cloud Translation API Admin and Storage Admin roles (note: the Owner role is the easiest to select in this scenario as it has permission for every Google Cloud operation, including those provided by the two other roles).&lt;br /&gt;
&lt;br /&gt;
If an appropriate service account has already been created for the Google Cloud project, clicking on the name of that service account, and then navigating to the Keys menu of that service account will provide a web interface to delete old or lost keys, or to create new keys associated with that service account and download the JSON credential file associated with that key.&lt;br /&gt;
&lt;br /&gt;
[[File:GoogleVendorServiceKeys.png]]&lt;br /&gt;
&lt;br /&gt;
In order for Localyzer to use Google Translate, the JSON credential file must be downloaded placed on the same system as the Lingoport Jenkins Server (typically in a location like /var/lib/jenkins/… because the jenkins user needs access to the file), and that location needs to be specified to Localyzer in this vendor setup process.&lt;br /&gt;
&lt;br /&gt;
==== Location ====&lt;br /&gt;
Google Cloud Platform requires Localyzer to let it know the translation requests are coming from one of two locations: &#039;&#039;US Central&#039;&#039;, or &#039;&#039;Global&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Currently, Google requires the &#039;&#039;US Central&#039;&#039; location in order to use the advanced translation features such as [[#Glossary_Names|glossaries]] or [[#Train_a_custom_AutoML_model_for_translation|AutoML models]]. It is for this reason that the &#039;&#039;Global&#039;&#039; location should only ever be selected if those advanced features are not required at all, the Jenkins server is outside of the US, and you require lower latency calls to Google Translate than the &#039;&#039;US Central&#039;&#039; location can offer.&lt;br /&gt;
&lt;br /&gt;
==== Glossary Names ====&lt;br /&gt;
Glossaries are an optional feature of the Google Cloud Platform Translation service that allows for phrases to have guaranteed translations, regardless of the phrase’s context or the translation algorithm’s decision. This is useful for preserving brand names, product names, and other translation memory.&lt;br /&gt;
&lt;br /&gt;
Glossaries are identified by their names given to them upon creation. Google unfortunately does not provide any user interface for the department responsible for configuring the Google Cloud project to manage glossaries, though [https://cloud.google.com/translate/docs/advanced/glossary there are still ways to do it].&lt;br /&gt;
&lt;br /&gt;
When configuring a Google Translate Vendor, multiple glossary names can be entered, separated by commas. Then when Localyzer uses Google Translate to translate your resources, the first glossary in the list that is compatible with the current source and target locales will be used.&lt;br /&gt;
&lt;br /&gt;
Currently, Google only supports the glossary feature with the &#039;&#039;US Central&#039;&#039; [[#Location|location]].&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
The model that is chosen determines the translation algorithm that is used. The Google Cloud Platform Translation service comes with two built in models that don’t require any configuration and work across all locales.&lt;br /&gt;
&lt;br /&gt;
The first model, &#039;&#039;NMT&#039;&#039; or &#039;&#039;Neural Machine Translation&#039;&#039;, is the default model for Google Translate. This is the preferred of the two built in models, it is newer and yields better results, though there might still be some rare edge cases where it still doesn’t work yet. In this scenario, the Google Cloud Platform Translation service will automatically fall back to the second built in model, &#039;&#039;PBMT&#039;&#039; or &#039;&#039;Phrase Based Machine Translation&#039;&#039;. This model is the previous generation of Google Translate, and is generally less preferred, but it can still be selected to be used over the newer model if so desired.&lt;br /&gt;
The third option for a model is to enter the model ID of an [[#Train_a_custom_AutoML_model_for_translation|AutoML]] model. AutoML models are based on the built in &#039;&#039;NMT&#039;&#039; model, but they have been custom “trained” or “fine-tuned” to a large data-set of internal company documents. This can result in better domain specific translation than the built in &#039;&#039;NMT&#039;&#039; model if used properly.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file. &lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;Access Level&#039;&#039; is for &#039;&#039;Group&#039;&#039; then the &#039;&#039;/var/lib/jenkins/Lingoport_Data/L10nStreamlining/&amp;lt;group name&amp;gt;/config/config_l10n_vendor.properties&#039;&#039; file will be created containing the vendor information otherwise the &#039;&#039;config_l10n_vendor.properties&#039;&#039; will not be created until it is used by a project.&lt;br /&gt;
&lt;br /&gt;
For more information on &#039;&#039;Access Level&#039;&#039; and linking this vendor to your project see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
== Train a custom AutoML model for translation ==&lt;br /&gt;
Creating and managing AutoML models can be done by the department responsible for setting up the Google Translate service with ease thanks to the [https://console.cloud.google.com/translation/ AutoML Web Interface] that Google provides. This section will give a brief overview of how to add and manage AutoML models, though it should be noted that [https://cloud.google.com/translate/automl/docs/before-you-begin Google has a much more in depth documentation] on the subject if further inquiry is desired.&lt;br /&gt;
&lt;br /&gt;
=== Preparing training data ===&lt;br /&gt;
AutoML models can use Translation Memory eXchange (TMX) formatted data for training purposes, which is a universal format that most translation management systems should be able to export in. At least 1000 sentence pairs are required for training an AutoML model, though at least 5000 is recommended, and 15 million sentence pairs is the maximum. Google recommends keeping sentences to less than 200 words each for the best results.&lt;br /&gt;
&lt;br /&gt;
=== Creating a dataset ===&lt;br /&gt;
To create a dataset from the training data that you have prepared:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click the &#039;&#039;Create Dataset&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the &#039;&#039;Create Dataset&#039;&#039; dialog, enter a name for the dataset and select the source and target locales for the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Clicking &#039;&#039;Create&#039;&#039; will bring you to the &#039;&#039;Import&#039;&#039; dialog, where you can upload the training data that you prepared in the previous section, and finish creating the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Training a model ===&lt;br /&gt;
To train a model from the dataset that you have uploaded to Google Cloud:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click on the dataset to use in the model’s training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the &#039;&#039;Sentences&#039;&#039; tab at the top to review the dataset if desired, and the &#039;&#039;Train&#039;&#039; tab to start training the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click &#039;&#039;Start Training&#039;&#039; and enter a name for the model to start the training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/models/ &#039;&#039;Models&#039;&#039; page], you will find a list of model names and IDs (to be entered in the Jenkins configuration section), as well as their status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95362</id>
		<title>Google Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Google_Translate&amp;diff=95362"/>
		<updated>2021-05-14T16:55:45Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Created page with &amp;quot; == Localyzer integration with the Google Cloud Platform Translation Service == === How the process works === For information on Machine Translation and how the process works...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Localyzer integration with the Google Cloud Platform Translation Service ==&lt;br /&gt;
=== How the process works ===&lt;br /&gt;
For information on Machine Translation and how the process works see [[Machine_Translation|Localyzer Integration with Machine Translation]].&lt;br /&gt;
&lt;br /&gt;
== Supported Localyzer File Types ==&lt;br /&gt;
Not all file types are supported for machine translation. For a list of supported types see [[Machine_Translation#Supported_File_Types|Supported File Types]].&lt;br /&gt;
&lt;br /&gt;
== Setting up your Localyzer group or project to use Google Translate ==&lt;br /&gt;
To set up the ability to machine translate your resource files using Google Translate you’ll need to have access to the Lingoport Jenkins Server. The vendor setup is located in the Jenkins System Configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Jenkins -&amp;gt; Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add Google Translate Vendor ===&lt;br /&gt;
&lt;br /&gt;
[[File:AddGoogleVendor.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Add Google Translate Vendor&#039;&#039; button can be found under the &#039;&#039;LRM L10n Vendor Setup&#039;&#039; section of the Jenkins Configure System page. After clicking on &#039;&#039;Add Google Translate Vendor&#039;&#039;, the &#039;&#039;Standard Info&#039;&#039; as well as the &#039;&#039;Google Translate Credentials&#039;&#039; field groups will be displayed.&lt;br /&gt;
&lt;br /&gt;
[[File:GoogleGroupVendor.png]]&lt;br /&gt;
&lt;br /&gt;
=== Standard Info ===&lt;br /&gt;
This is the information that is standard to all vendor types. &lt;br /&gt;
 &lt;br /&gt;
For more information on setting up the standard vendor info see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
=== Google Translate Credentials ===&lt;br /&gt;
All of the Google Translate credential information should be available through the department responsible for setting up your Google Cloud Platform service. &lt;br /&gt;
&lt;br /&gt;
==== JSON Credential File Path ====&lt;br /&gt;
Services from a Google Cloud Platform Project, such as the Google Translate service, can be accessed securely using a [https://cloud.google.com/iam/docs/understanding-service-accounts/ Service Account Key]. These keys come in the form of a single credential file in JSON format.&lt;br /&gt;
The department responsible for setting up the Google Cloud Platform service can manage these service account keys from their [https://console.cloud.google.com/ Google Cloud Console]. From the home page, use the side menu to navigate to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IAM &amp;amp; Admin -&amp;gt; Service Accounts`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or go to https://console.cloud.google.com/iam-admin/serviceaccounts and select the Google Cloud project to manage service accounts for.&lt;br /&gt;
&lt;br /&gt;
Localyzer requires a service account with at least Cloud Translation API Admin and Storage Admin roles (note: the Owner role is the easiest to select in this scenario as it has permission for every Google Cloud operation, including those provided by the two other roles).&lt;br /&gt;
&lt;br /&gt;
If an appropriate service account has already been created for the Google Cloud project, clicking on the name of that service account, and then navigating to the Keys menu of that service account will provide a web interface to delete old or lost keys, or to create new keys associated with that service account and download the JSON credential file associated with that key.&lt;br /&gt;
&lt;br /&gt;
[[File:GoogleVendorServiceKeys.png]]&lt;br /&gt;
&lt;br /&gt;
In order for Localyzer to use Google Translate, the JSON credential file must be downloaded placed on the same system as the Lingoport Jenkins Server (typically in a location like /var/lib/jenkins/… because the jenkins user needs access to the file), and that location needs to be specified to Localyzer in this vendor setup process.&lt;br /&gt;
&lt;br /&gt;
==== Location ====&lt;br /&gt;
Google Cloud Platform requires Localyzer to let it know the translation requests are coming from one of two locations: &#039;&#039;US Central&#039;&#039;, or &#039;&#039;Global&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Currently, Google requires the &#039;&#039;US Central&#039;&#039; location in order to use the advanced translation features such as [[Google_Translate#Glossary_Names|glossaries]] or [[Google_Translate#Train_A_Custom_Automl_Model_For_Translation|AutoML models]]. It is for this reason that the &#039;&#039;Global&#039;&#039; location should only ever be selected if those advanced features are not required at all, the Jenkins server is outside of the US, and you require lower latency calls to Google Translate than the &#039;&#039;US Central&#039;&#039; location can offer.&lt;br /&gt;
&lt;br /&gt;
==== Glossary Names ====&lt;br /&gt;
Glossaries are an optional feature of the Google Cloud Platform Translation service that allows for phrases to have guaranteed translations, regardless of the phrase’s context or the translation algorithm’s decision. This is useful for preserving brand names, product names, and other translation memory.&lt;br /&gt;
&lt;br /&gt;
Glossaries are identified by their names given to them upon creation. Google unfortunately does not provide any user interface for the department responsible for configuring the Google Cloud project to manage glossaries, though [https://cloud.google.com/translate/docs/advanced/glossary there are still ways to do it].&lt;br /&gt;
&lt;br /&gt;
When configuring a Google Translate Vendor, multiple glossary names can be entered, separated by commas. Then when Localyzer uses Google Translate to translate your resources, the first glossary in the list that is compatible with the current source and target locales will be used.&lt;br /&gt;
&lt;br /&gt;
Currently, Google only supports the glossary feature with the &#039;&#039;US Central&#039;&#039; [[Google_Translate#Location|location]].&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
The model that is chosen determines the translation algorithm that is used. The Google Cloud Platform Translation service comes with two built in models that don’t require any configuration and work across all locales.&lt;br /&gt;
&lt;br /&gt;
The first model, &#039;&#039;NMT&#039;&#039; or &#039;&#039;Neural Machine Translation&#039;&#039;, is the default model for Google Translate. This is the preferred of the two built in models, it is newer and yields better results, though there might still be some rare edge cases where it still doesn’t work yet. In this scenario, the Google Cloud Platform Translation service will automatically fall back to the second built in model, &#039;&#039;PBMT&#039;&#039; or &#039;&#039;Phrase Based Machine Translation&#039;&#039;. This model is the previous generation of Google Translate, and is generally less preferred, but it can still be selected to be used over the newer model if so desired.&lt;br /&gt;
The third option for a model is to enter the model ID of an [[Google_Translate#Train_A_Custom_Automl_Model_For_Translation|AutoML]] model. AutoML models are based on the built in &#039;&#039;NMT&#039;&#039; model, but they have been custom “trained” or “fine-tuned” to a large data-set of internal company documents. This can result in better domain specific translation than the built in &#039;&#039;NMT&#039;&#039; model if used properly.&lt;br /&gt;
&lt;br /&gt;
=== Test Connection ===&lt;br /&gt;
The &#039;&#039;Test Connection&#039;&#039; button is used to test the validity of the entered credentials. If the credentials are valid then the &#039;&#039;Network Access Test Succeeded!&#039;&#039; Message will be displayed, otherwise an error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Saving vendor info and linking the vendor to your project ===&lt;br /&gt;
When the &#039;&#039;Save&#039;&#039; button is clicked, the vendor information will be stored in the Jenkins &#039;&#039;com.lingoport.plugins.jenkinsgyzrlrmplugin.global.GlobalSettings.xml&#039;&#039; config file. &lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;Access Level&#039;&#039; is for &#039;&#039;Group&#039;&#039; then the &#039;&#039;/var/lib/jenkins/Lingoport_Data/L10nStreamlining/&amp;lt;group name&amp;gt;/config/config_l10n_vendor.properties&#039;&#039; file will be created containing the vendor information otherwise the &#039;&#039;config_l10n_vendor.properties&#039;&#039; will not be created until it is used by a project.&lt;br /&gt;
&lt;br /&gt;
For more information on &#039;&#039;Access Level&#039;&#039; and linking this vendor to your project see [[L10n_Vendors_and_Integration#Standard_Vendor_Info|Standard Vendor Info]].&lt;br /&gt;
&lt;br /&gt;
== Train a custom AutoML model for translation ==&lt;br /&gt;
Creating and managing AutoML models can be done by the department responsible for setting up the Google Translate service with ease thanks to the [https://console.cloud.google.com/translation/ AutoML Web Interface] that Google provides. This section will give a brief overview of how to add and manage AutoML models, though it should be noted that [https://cloud.google.com/translate/automl/docs/before-you-begin Google has a much more in depth documentation] on the subject if further inquiry is desired.&lt;br /&gt;
&lt;br /&gt;
=== Preparing training data ===&lt;br /&gt;
AutoML models can use Translation Memory eXchange (TMX) formatted data for training purposes, which is a universal format that most translation management systems should be able to export in. At least 1000 sentence pairs are required for training an AutoML model, though at least 5000 is recommended, and 15 million sentence pairs is the maximum. Google recommends keeping sentences to less than 200 words each for the best results.&lt;br /&gt;
&lt;br /&gt;
=== Creating a dataset ===&lt;br /&gt;
To create a dataset from the training data that you have prepared:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click the &#039;&#039;Create Dataset&#039;&#039; button.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the &#039;&#039;Create Dataset&#039;&#039; dialog, enter a name for the dataset and select the source and target locales for the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Clicking &#039;&#039;Create&#039;&#039; will bring you to the &#039;&#039;Import&#039;&#039; dialog, where you can upload the training data that you prepared in the previous section, and finish creating the dataset.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Training a model ===&lt;br /&gt;
To train a model from the dataset that you have uploaded to Google Cloud:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Visit the [https://console.cloud.google.com/translation/ AutoML Web Interface], and select the project to train the model for.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/datasets/ &#039;&#039;Datasets&#039;&#039; page], click on the dataset to use in the model’s training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the &#039;&#039;Sentences&#039;&#039; tab at the top to review the dataset if desired, and the &#039;&#039;Train&#039;&#039; tab to start training the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click &#039;&#039;Start Training&#039;&#039; and enter a name for the model to start the training process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Under the [https://console.cloud.google.com/translation/models/ &#039;&#039;Models&#039;&#039; page], you will find a list of model names and IDs (to be entered in the Jenkins configuration section), as well as their status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleVendorServiceKeys.png&amp;diff=95361</id>
		<title>File:GoogleVendorServiceKeys.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleVendorServiceKeys.png&amp;diff=95361"/>
		<updated>2021-05-14T16:31:10Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot showing the user interface for managing Service Account Keys for the Google Cloud Translate platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot showing the user interface for managing Service Account Keys for the Google Cloud Translate platform.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:GoogleGroupVendor.png&amp;diff=95360</id>
		<title>File:GoogleGroupVendor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:GoogleGroupVendor.png&amp;diff=95360"/>
		<updated>2021-05-14T16:29:34Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot showing the user interface for creating and configuring a Google Translate vendor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot showing the user interface for creating and configuring a Google Translate vendor.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=File:AddGoogleVendor.png&amp;diff=95359</id>
		<title>File:AddGoogleVendor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=File:AddGoogleVendor.png&amp;diff=95359"/>
		<updated>2021-05-14T16:28:29Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: Screenshot showing the location of the Add Google Vendor Button in the Localyzer Jenkins server configuration.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot showing the location of the Add Google Vendor Button in the Localyzer Jenkins server configuration.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Test_Page_Masnes&amp;diff=95358</id>
		<title>Test Page Masnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Test_Page_Masnes&amp;diff=95358"/>
		<updated>2021-05-13T18:04:15Z</updated>

		<summary type="html">&lt;p&gt;Prosenthal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;br /&gt;
&lt;br /&gt;
Michael confirming Peter&#039;s account can edit.&lt;/div&gt;</summary>
		<author><name>Prosenthal</name></author>
	</entry>
</feed>