Language Translation Guide
Omniscope is capable of supporting potentially all the languages of the world. To see the available languages, go to the Settings > Language menu, also shown on the Welcome screen. Some of the languages may not yet be completely edited for new features and may have auto-translated phrases.You can easily switch languages without reinstalling Omniscope, although restarting Omniscope is necessary.
Note: only verified translations more than 90% human-edited will be shown. To see other unverified or incomplete languages containing auto-translations yet to be edited, you must first enable experimental features from Settings > Advanced (Application Wide) > Show experimental features.
Anyone can contribute new and improved translations. You can make minor corrections, create country-specific language variants and use your local translation file, or add an entirely new language, using only Omniscope. You can do this privately or you can send your translations/edits back to Visokio for inclusion.
We offer Translators free 3-month Omniscope Desktop license keys, extendable by another 3 months following successful translation of the current release candidate. If you would like to participate in our Translators/Editors program, please contact us.
Translation Process
(Please scroll down to see some example use cases/guidelines.)
Editing translations:
- Start Omniscope and choose Settings > Language > Edit translations.
- The IOK file containing English phrases and all the existing translations will open.
- Make your changes to the IOK file, being careful to follow the guidelines below.
- Save the IOK file to its current location, by choosing Save (and not Save as) from the File menu.
- Restart Omniscope to see your changes.
Previewing your work:
- Start Omniscope and switch to the language you have edited using Settings > Language. If prompted, restart Omniscope.
- Make sure that Settings > Language > Use local translations file is selected.
- You should see translations you have made appear in the Omniscope user interface.
Submitting translations back to Visokio:
- Start Omniscope and choose Settings > Language > Submit edited translations.
- You will be shown the location of the exported locally edited languages IOK file.
- Send this file as an attachment in an email to us.
- Keep a backup of this file somewhere safe, and not in the location above, since later on you will delete this.
- Please provide clear details of which columns or rows you have made changes to, and which version/build of Omniscope you are working with.
Doing further translations:
- After you have submitted translations to Visokio, do not do any further translation work until you hear from us. We will incorporate your translations into an new build of Omniscope and let you know which release will include your translations.
- Install the newest build of Omniscope containing your work to date.
- Start Omniscope and choose Settings > Language > Edit translations.
- At the prompt, choose to Replace with latest. This will delete your previous file (only do this if you have a backup as above) and create a new local file based upon the new build of Omniscope.
- Continue as per Step 2 of "Editing translations", above.
Please respect the Languages IOK file structure
- Each record (row) is a unique word or phrase from that version/build of Omniscope
- The Count field contains the number of locations the phrase occurs in the Visokio codebase, and can be used as a blunt indication of how prevalent that phrase is for prioritisation. Do not edit this field
- The Location code is for internal use. Do not edit this field
- The Location keywords field gives a few keywords as to the location of the phrase. You can sort by this field to group similar phrases. Do not edit this field
- The Comments field is a place for finding clarifications of the English phrase, or for putting general questions for returning to Visokio. If you put questions in this field, be sure to let us know to check it when you send the file back.
- The En field contains the original English version of the phrase, which is used as a unique key, and is case sensitive. Do not edit this field
- Other fields with two-letter names (e.g. Es) contain a "default" translation. The field name matches exactly the appropriate 2-letter "ISO 639-1" language code. For example, the field Es contains the default translation for all Spanish countries.
- Fields with "xx_YY" names (e.g. en_US) contain country-specific language translations. The "xx" part of the field name is the same 2-letter language code above, which must match an "xx" field, and the "YY" part is the appropriate 2-letter "ISO 3166-1 alpha-2" country code For example, the field is mostly blank, except for where the En column contains a non-US spelling of a word such as "colour" / "color". Where the En value is correct for US English, the en_US value is left blank.
- For many languages, only the "xx" field is necessary, and the "xx_YY" field is entirely blank. For example, current translations of Spanish have no regional/country specific variations. However, the "xx_YY" field must be present for the language to appear in the language menu.
- We have used Google Translate and Omniscope 2.6's DataManager to automatically translate some of the phrases in Omniscope. This is surprisingly effective and, while it needs some reviewing and changes, is much better than no translation at all. To manage this process, we have introduced a further status column for every language. For example, the "Es status" column contains comments about the values in the "Es" field. This currently is blank, aside from auto-translated cells which are commented here as "auto-translated". If you review an auto-translated phrase and find it acceptable or correct it, please remove this comment.
- Chinese is a special case. With Chinese, "zh" is an empty field. Simplified Chinese is in "zh_CN" and Traditional Chinese in "zh_TW". While this normally means Chinese as written in Mainland China, or Chinese as written in Taiwan, this is used in Omniscope to mean generic Simplified Chinese and generic Traditional Chinese. There are separate "zh_CN status" and "zh_TW status" fields.
- Cells containing phrases can span several lines and include blank lines. When looking at a value in either the En column or the language you are translating, if the text is being truncated, hover your mouse over the cell to see the full text. A tiny "..." will appear to indicate this. Be sure to check this so as not to accidentally omit some of the translation.
Translation Guidelines
Case A: Corrections to existing translated text
- Note:This is not possible for "en" field. If you spot errors in the English which are due to regional differences, use the en_GB and en_US fields for these (or add further country fields). If the error is in the En field itself, please let us know the exact phrase.
For example, you are correcting the Spanish in the "Es" field, which might have been machine-translated. Edit the cells in the Es column directly, making sure you preserve text inside {curly} brackets and html tags inside <angular> brackets.
Make sure the status column is showing. For our example, this would be called "Es status". For each cell you correct, remove the "Auto-generated" text from the status column, if it exists. If there are any comments you wish to add, put them in the status field.
Case B: Translating a language for the first time
Note: If you are planning a full translation of a completely new language, please contact us first, since we may be able to auto-generate a machine translation of the language, as a better starting point than a blank column. You create a translation for a language used in the country of origin (the "mother country" for the language). For example, UK English, Spanish from Spain, French from France (as opposed to American English, Mexican Spanish, etc.).You need to create 2 columns:
- The name of the first column will be appropriate 2-character code for the language. So for Spanish the name of the field would be "es". This field will contain the default language translations for all local variants.
- You create a second "xx_YY" column where "xx" is the same 2-character language code as above and "YY" is the 2-character country code. So for Spanish of Spain it would be "es_ES".
This column will always be empty, because the "es" column will contain all default Spanish translations. You must create this blank "es_ES" column so it becomes available in the Omniscope/FeatureFinder Languages menu. You would only populate "es_ES" for particular phrases if you were making a distinction between, for example, Spanish in Mexico, and Spanish in Spain. Edit the first column (e.g. "es"), adding translations. If you leave blank cells or cells containing "=" or "?", Omniscope/FeatureFinder will use the English text.
Case C: Adding country-specific text to already-translated "mother" language
For example, we have already translated into Spanish (Spain), and you want to translate local variations for Mexican Spanish.
In this case the default language column (named using the 2-character language code) already exists (e.g. "es" for spanish). Following the above example, to add translations for Mexican Spanish you would create the column "es_MX" and translate just those phrases that are different in Mexico. Where the default Spanish translation is sufficient the cell can be left blank.
General notes and rules
- If a word or sentence doesn´t need to be translated (e.g. "OK") you can leave the cell blank. You may choose to enter "=" instead to indicate that the text is definitely the same.
- Note: When Omniscope looks up a translation, it first checks for a field such as "es_MX" (if you are in Spanish Mexico). If the field does not exist or contains a blank, "=" or "?", Omniscope then looks for a field such as "es" (if you are in a Spanish speaking locale). If that field does not exist or contains a blank, "=" or "?", Omniscope then uses the original English phrase.
- In case of doubt enter just ? and we´ll explain further when you submit your changes. Don´t enter: "? I don´t understand .." as it will be taken as a translated text
- When first translating into a new language the file can be ordered by "count" field (which contains the # of times a text appears in the application) and start translating those texts which higher count.
- All non-alphabetic text and upper/lower case has to be preserved in the translations. e.g. "english: (Number)..." must be translated as "spanish: (Numero)..." and not "Spanish (numero)".
- Some phrases contain numbered or named parameters. For example, "{0} files named '{1}' were found" might appear to the user as "3 files named 'joe' were found". When translating, you can may move the parameter order around to suit the language, but do not translate anything inside {} brackets
- Some phrases contain embedded HTML tags such as "<html>" and "<b>". You must preserve the text between the "<" and ">" characters.
- Many times you will find something like "<b>Concatenate</b>". If the sentence is "<b>Concatenate</b> is used to ..." and in your language the word concatenate has to be "moved" to a different place then the surrounding "<b>" and "</b>" must also be moved. e.g: "Use <b>Concatenate</b> to ..."
- The same can be applied for "<i>some text</i>" and other pairs of HTML tags.
- The <b> can be more complex like: "<b style='color: #880000'>File does not exist" in this case the whole <b style='color: #880000'> will be treated like a single <b> and whaever is between < and > is not translated.
- <br> means new line (in html) so it must be placed more or less in the same places where found in english.
- Don´t translate: </font>
Notes on English terminology
- "Data source" means the data source is where the original data was imported from, such as a database or an Excel file. The "Refresh from source" option retrieves and updates data from the original file or database.
- "Slide" means a PowerPoint slide. A "slider" is one of the formats for Sidebar filter devices. The term "slider" has nothing to do with a PowerPoint slide.
- "Feeds" are continuously-updating sources of data. "Merging feeds" require matching values to be present in the Omniscope data set to import related feed data.
- "Paning" means sub-dividing a view display into similar sub-views showing subsets of the data in the file....from the English window (panes).
There is a Forum section where you can query the meaning/clarity of the terms you find in Omniscope:
http://forums.visokio.com/categories/translation
You must be registered on the Forum and logged in to see these discussions.