A Translation Memory (TM) is a database that stores translation units, which are segments of source text paired with their corresponding translations in different languages. It improves and speeds up the translation process by providing suggestions for identical or similar strings in your projects. A project TM is created automatically for each Crowdin project, and each translation made within the project is automatically added to this TM.
In addition to the project TMs that are automatically created with each project, you can create separate TMs and populate them with content by uploading your existing TMs in TMX, XLSX, or CSV formats. These TMs can then be assigned to the relevant projects as needed.
创建翻译记忆库的步骤如下:
For cases when you need to create a TM based on the translated Crowdin project, we recommend using the Translation Memory Generator app.
You can create translation units from scratch, edit and delete existing translation units or segments of a particular TM or all available TMs.
To create a translation unit, follow these steps:
Once you open a translation memory, you can view and filter its translation units and segments using either the Translation Units or Segments pages.
On the Translation Units page, you can view TM content grouped as translation units (one translation unit per row, each segment displayed in a separate language column).
On the Segments page, you can view TM content as individual segments (one segment per row) with the following details:
By default, all translation units and segments are displayed in the Translation Units and Segments pages. To filter the translation units or segments displayed, click and use the available filter option:
To sort translation units or segments, click Sort by and select one of the available options:
You can edit both the source and translation parts of the existing translation unit.
To edit a translation unit, follow these steps:
In addition to editing translation units via the Translation Memories page, read more about Editing TM Suggestions in the Editor.
You can easily find and replace translations in segments within a selected TM using the Find & Replace feature.
To replace current translations with the new ones, follow these steps:
You can delete one, multiple, or all the translation units or segments at once.
To delete all the translation units from TM, follow these steps:
To delete all the segments from TM for only one particular language, follow these steps:
When dealing with the removal of translation units and translations, there could be three possible outcomes:
For cases when you need to clean your TM from duplicates and outdated translation units, we recommend using the TM Cleaner app.
若要下载或上传翻译记忆,请遵循以下步骤:
The project owner and managers can download and upload TM in the following file formats: TMX, XLSX, or CSV.
如果使用 CSV 或 XLS/XLSX 文件格式上传翻译记忆库,请在配置对话框中将对应语言的列匹配起来。
一旦您以 CSV 或 XLSX 格式上传翻译记忆库文件,系统会根据第一行指定的列名称自动检测文件架构。 The identification is performed in a case-insensitive manner. Columns that weren’t detected automatically will be left as Not chosen for manual configuration. 当您上传包含多种语言的翻译记忆库电子表格时,自动列识别会特别有用。
为了充分利用自动列识别功能,我们建议您使用以下值命名 CSV 或 XLSX 翻译记忆库文件中的语言列:
要重新检测翻译记忆库文件架构,请单击检测配置。
When downloading a TM from Crowdin in TMX format, you can get some additional metadata that might be useful for different usage scenarios with offline tools.
以 TMX 格式下载的翻译记忆提供的其他翻译记忆属性:
x-crowdin-metadata
– String identifier hash. creationid
– Translation author’s full name and username in Crowdin. creationdate
– Translation creation date. changeid
– Full name and username of the person who updated a translation. changedate
– Translation update date. usagecount
– Translation suggestion’s number of usages in Crowdin. lastusagedate
– The last date a translation suggestion was used in Crowdin.
Often translation vendors that work in Crowdin export TMs from projects to manage them for their clients in various desktop applications (e.g., for cleaning TMs from irrelevant translations and further reimport back to Crowdin). 上面列出的翻译记忆属性允许根据不同的标准更好地导航和筛选翻译记忆句段。 Also, you might use cleaned and refreshed TMs to train MT engines only on product-specific data to ensure a higher quality of translations as a result.
To assign a TM to your project, follow these steps:
When you assign a few TMs to the project, you can set the needed priority for each of them. As a result, TM suggestions from the TM with the higher priority will be displayed in the first place.
The default TM priority value is set to 1. A higher number has a higher priority (for example, 5 has a higher priority than 1). For example, if you assigned four TMs to your project, you can set the priority of 4 to the most important TM, the one that should be used in the first place. And respectively set lower priorities to other TMs.
To set the priority for TMs, follow these steps:
To change your project’s default TM, follow these steps:
Using the shared TMs, you can pre-translate any of the projects you own. Also, TM suggestions from all TMs will appear in the Editor.
To share TMs between all of the projects you own, follow these steps:
Pre-translation via TM allows you to leverage a minimum of 100% and Perfect matches. Read more about how TM matches are calculated.
You can set up the Pre-translation to be performed automatically when new files are uploaded. This feature can be enabled and configured in the project Settings > Translation Memories.
Read more about Automated Pre-translation via TM.
During the pre-translation via TM, the system considers multiple parameters to select the most relevant TM suggestion. If the system finds only one suitable TM suggestion for a string, it will be applied during the pre-translation via TM. If the system finds two or more TM suggestions for one string, they will be sorted based on multiple parameters and applies the most suitable one.
The following parameters are listed in the order the system uses them to decide which TM suggestion works better. If the decision can’t be made using the first parameter (i.e., two TM suggestions with 100% match), the system will use the next parameter until the decision is made.
To better understand how TM suggestions are prioritized during the pre-translation via TM, let’s go through a few hypothetical scenarios. Let’s imagine you have an untranslated string in your project with the following source text Welcome!
. Once you run the pre-translation via TM, the system starts to search for TM suggestions in your TMs.
Welcome
and Welcome!
. The translation from the Welcome!
TM suggestion will be used since it has a higher TM match.Welcome!
and Welcome!
. Both have the same source text, so the system checks whether the auto-substitution was used to improve these TM suggestions and picks the one that wasn’t improved by the auto-substitution.Welcome!
and Welcome!
. Both have the same source text, and both weren’t improved by the auto-substitution. Then the system checks the priority of the TMs these TM suggestions are stored in and picks the one stored in the TM with higher priority.Welcome!
and Welcome!
. Both have the same source text, both weren’t improved by the auto-substitution, and both are stored in the TMs with the same priority. Then the system checks the source languages of the TM suggestions and picks the one that uses the primary language.Welcome!
and Welcome!
. Both have the same source text, both weren’t improved by the auto-substitution, both are stored in the TMs with the same priority, and both use primary source languages. Then the system checks the TM suggestion creation date and picks the one with the latest date.In rarer cases, there could be a situation when two or more TM suggestions are identical based on all the parameters listed above. In this case, the system picks the first one among identical.
Crowdin calculates the TM match by comparing the source string to be translated and TM’s existing segments.
There are three main types of TM matches:
If the calculations for Perfect and 100% TM match is relatively straightforward, the fuzzy matches’ calculation may not be so obvious.
There are multiple different factors that affect the calculation of fuzzy matches, for example: