apps/mthive/configuration
This method returns the configuration of the MT Hive tool. This configuration contains the parameters needed to submit translation requests:
- List of translation options. Let's user choose the type of content such as "Medical", "Technical", "Marketing"...
- The available source and target languages for translation.
- Various translation options a user can choose from.
- The supported file formats such as Word, Excel, HTML, XML etc.
- The maximum file size.
- Options for requesting human post edits of machine translations.
- Etc.
All these parameters are freely configurable by the administrator of the Wordbee Translator platform (to which the user belongs).
URL
(GET) /api/apps/mthive/configuration
PARAMETERS
None.
RESULTS
The method returns a JSON object:
options | A JSON array of all available options. There is always at least one option. Example: Each array element is itself a JSON object containing full details. | object[] | |||||||||
welcomeText | The welcome text of the MT Hive configuration | string | |||||||||
welcomeTextIsHtml | Specifies if the welcome text is written with HTML markup | bool | |||||||||
peEnabled | Boolean. Specifies if user can request a human post editing (improvement) of a machine translation. | bool | |||||||||
peTermsUrl | Used when submitting post edit requests. If not null then this is the URL to view usage Terms & Conditions. Before a user requests a post edit of a machine translated file, the user must be asked to navigate to this URL. For example, in your user interface you would add a checkbox like: [ ] I have read and agree with the Terms & Conditions. If the property is null then the user does not need to accept any terms and conditions. | string? | |||||||||
peDeadlineMinLeadHours | Used when submitting post edit requests. If the user selects a deadline it must be at least this number of hours into the future. | int | |||||||||
peDeadlineMandatory | Used when submitting post edit requests. If not null then the user must choose a deadline for the work. If null then the choice of a deadline is optional. | bool | |||||||||
preferences | An object containing information about the last execution by the user. It has the following attributes :
This object can be null if the user hasn't executed a MTHive request | object? |
Each option is a JSON object with these properties:
option | The option (0, 1, ...) for which this JSON contains the configuration. It is the index of this object in the options array (see above). | int |
name | The title of the option. This should be displayed to the user. | string |
locales | Specifies the available languages. See description further down. | object[] |
maxFileSizeMB | The maximum file size in megabytes for translation requests. You should always prevent a user to submit any files exceeding this limit. The API itself will also check the limit. | int |
formats | Specifies the supported file formats. See description further down. | object[] |
Locales node
The "locales" node contains these properties:
all | A JSON array with all language codes and print names. Use this information to display language names. Example:
| object[] | |
anytoany | Indicates how source and target language combinations are stored in this JSON.
In both cases, the language selector would look the same: | bool | |
src trg | Applies if "anytoany" is true. Both "src" and "trg" are the supported source and target language codes, respectively. And the user can translate from any source into any target language. Example:
| string string | |
srctrg | Applies if "anytoany" is false. Example:
Here the user can choose from two source languages: English (en) and German (de). English can be translated into French and German. German can be translated into English. No other combinations are permitted. | object[] |
Formats node
The "formats" node is a JSON array. Each element describes one file format (Word, HTML..) that can be translated:
name | Print name of the format, such as "Adobe Indesign", "Web page", etc. | string | |
ext | An array of possible file extensions. Example:
This record refers to Adobe Indesign files. | string[] | |
foptions | A list of format options. When translating a specific file a user may be given a choice how this file shall be handled. For example, the administrator may propose multiple options like:
There is always at least one option. With just one, no need to ask the user to make a choice. Example with two options:
The foption value must be included with translation requests. | object[] |
REMARKS
Let us discuss how you use the file options.
Imagine the user wants to translate "sample.pot". You would proceed as follows:
- Fetch the configuration and display a pick list for the translation options (if more than one). Preselect the pick list item with index option.
- Populate the language pick lists from the configuratio JSON. It is nice to preselect the last user choice!
- Look up all records in the formats array that support the ".pot" extension. Usually this will yield just one, but in rare cases a file format may be ambiguous!
- Compile all foption/name items from the formats selection.
- If there is more than one item, you need to propose a choice to the user. Example:
- "PO/POT files - Default"
- "Microsoft Powerpoint - All text"
- "Microsoft Powerpoint - All text except red"
As you can see, the ".pot" extension can be both a PO/POT file or a Powerpoint template file.
EXAMPLES
The example below contains a configuration with a single option:
{
"options": [
{
"option": 0,
"name": "Fast translation",
"locales": {
"all": [
{
"v": "af",
"t": "Afrikaans"
},
{
"v": "ar",
"t": "Arabic"
},
{
"v": "be",
"t": "Belarusian"
}
],
"anytoany": true,
"src": [
"af",
"ar",
"be"
],
"trg": [
"af",
"ar",
"be",
"bg",
"ca"
]
},
"maxFileSizeMB": 20,
"formats": [
{
"name": "Adobe Indesign",
"ext": [
".indd",
".idml"
],
"foptions": [
{
"foption": 38,
"name": "Default"
}
]
},
{
"name": "Adobe Photoshop",
"ext": [
".psd"
],
"foptions": [
{
"foption": 44,
"name": "Default"
}
]
},
{
"name": "Microsoft Powerpoint",
"ext": [
".ppt",
".pot",
".pps",
".pptx",
".pptm",
".potx",
".potm",
".ppsx",
".ppsm"
],
"foptions": [
{
"foption": 33,
"name": "Default"
}
]
}
]
}
],
"peTermsUrl": null,
"peDeadlineMinLeadHours": 12,
"peDeadlineMandatory": true,
"preferences": {
"profile": 2,
"src": "en",
"trg": "fr"
}
}