Ultimate space simulation software

 
User avatar
SpaceEngineer
Author of SpaceEngine
Author of SpaceEngine
Topic Author
Posts: 992
Joined: 17 May 2016
Location: Saint-Petersburg
Contact:

Localizations

08 Jun 2019 04:53

I recreate the thread from the old forum here, with a list of SE localizations and their completeness. In the Steam release, I removed localizations with poor completeness, and those which does not have translation of planet classes. This is because SE will display frustrating text like

Class  cold#neuter lacustrine#neuter aquaria

I want to avoid confusion, so localizations without translation of this are removed. To those who want to participate, here is the zip archive with updated localizations: you can download it, extract the needed one, update and share it here. I will update the archive, and include the completed localization to the release.




List of completed localizations

Included to the Steam release; some doesn't have translations of tutorials, but this is permissible. I hope they will be 100% completed soon!

LanguageFileTranslationsTranslationsScriptNote
Englisheng-gui.cfg100%100%
Russainrus-gui.cfg100%100%
Frenchfra-gui.cfg100%100%
Germanrus-gui.cfg100%100%
Italianita-gui.cfg100%100%
Spanishesp-gui.cfg100%100%
Catalancat-gui.cfg99.07%100%
Polishpol-gui.cfg100%100%
Croatiancro-gui.cfg93.41%1%No tutorials
Czechcze-gui.cfg93.41%1%No tutorials
Finnishfin-gui.cfg100%1%No tutorials
Dutchned-gui.cfg100%1%No tutorials
Swedishswe-gui.cfg100%1%No tutorials
Serbiansrb-gui.cfg100%1%No tutorials

List of uncompleted localizations, or localizations with missing planet classes

Excluded from the Steam release: no translation of planet classes and/or main menu, outdated GUI translation (less than 90% complete). These 2% are the most important, because they are new strings added to 0.990, and lack of their translation is very noticeable in GUI.

Download zip archive with outdated localization, if you want to participate and update your localization. Share the updated file in this thread.

LanguageFileTranslationsTranslationsScriptNote
Hungarianhun-gui.cfg68.19%0%No menu, no tutorials, no planet classes
Indonesianind-gui.cfg50.00%0%No menu, no tutorials, no planet classes
Norwegiannor-gui.cfg62.03%0%No menu, no tutorials, no planet classes
Portuguese Portugueseptpt-gui.cfg86.87%0%No menu, no tutorials, no planet classes
Brazilian Portugueseptbr-gui.cfg79.07%0%No menu, no tutorials, no planet classes
Romanianro-gui.cfg49.73%0%No menu, no tutorials, no planet classes
Slovaksk-gui.cfg86.87%0%No menu, no tutorials, no planet classes
Turkishtur-gui.cfg49.29%0%No menu, no tutorials, no planet classes





How to make localization

Localization files are located in the data/locale/ folder, and have a name rus-gui.cfg, where rus is a shorten name of the language. It is displayed in SE interface, in the settings/general menu. The Russian localization is always up-to-date, so you can use it as a template to create a brand new localization, or refer with it to check out an existing one. The localization file is a text file in ANSI encoding. Don't save it to Unicode, it will not work! This mean what translation to Asian languages is impossible for now: ANSI supports only 255 characters, and some of them are reserved. The first line in the file reflects which ANSI code page it uses, you should switch your text editor to that code page before editing (Notepad++ supports this):

FontConfig "win1251.cfg"


It also defines which font will be used in SE. Currently SE have fonts for Windows 1250, 1251, 1252 and 1254. You can create a font for another code page, but this is a different topic.

Next parameters in the file are used for SE planet classification. Some languages have noun genders, if your language doesn't have those, set all GenderXXX parameters to "neuter".

PlanetClassOrderXXX parameters specifies in which order class names will be displayed.

ClassNameAdjectiveSeparator parameter specifies if adjectives (temperate, marine etc) should be separated with comma or some conjunction. Some languages requires comma - when use ",". Some languages requires conjunction - for example, in French " et" should be used (with space!). Use empty string "" to disable separation.

ClassNameNounSeparator - the same for the noun (terra, superaquaria etc). It will be separated with provided comma or conjunction form both sides, if being placed in the middle of the classname string, or from one side, if being placed at the beginning or at the end. Use empty string "" to disable separation.

// Gender of a planet class words. Used to generate a planet class description strings.
// Possible values: "masculine", "feminine", "neuter"
GenderPlanet "feminine"
GenderAsteroid "masculine"
GenderTerra "feminine"
GenderCarbonia "feminine"
GenderFerria "feminine"
GenderAquaria "feminine"
GenderIceGiant "masculine"
GenderGasGiant "masculine"
GenderHeliumGiant "masculine"
GenderEarth "feminine"
GenderTitan "masculine"
GenderNeptune "masculine"
GenderJupiter "masculine"
GenderChthonia "feminine"

// Order of planet classification words. Start with 0, all values must be provided.
PlanetClassOrderTemp 0 // temperature class word: "cold", "temperate", "hot" etc
PlanetClassOrderAtmo 1 // atmosphere class word: "airless", "hypobaric" etc [if enabled]
PlanetClassOrderVol  2 // volatiles class word: "arid", "marine" etc [and "airless" if atmo class is disabled]
PlanetClassOrderBulk 3 // bulk class word: "terra", "carbonia", "jupiter" etc
PlanetClassOrderLife 4 // life class word: "with life"

// Separate planet classification adjectives with this word (use "," or " et" (with space!) or whatever or leave it blank "").
ClassNameAdjectiveSeparator ""

// Separate planet classification noun and adjectives with this word (use "," or " et" (with space!) or whatever or leave it blank "").
ClassNameNounSeparator ""



The rest of the file consists of two huge blocks - Translations { } and ScriptTranslations { }.  Note that text strings in them are enclosured in the brackets { }, this is mandatory! Those blocks contains pairs of strings "English text" "Translated text", one pair per line. The Translations { } section is the basic SE interface text, the ScriptTranslations { } are used in the main menu and tutorials. Every time you testing the file in SE, look at the log file (system/log.se) for possible errors. This is very useful to get a list of string which have missing translations (only for Translations { } section). The log will say, for example:

[MT] Loading script "data/locale/cat-gui.cfg"
[MT] 1807 localization strings loaded
[MT] 397 custom localization strings loaded
[MT] WARNING: loc.SetLocalization(): Translation not found for some strings:
--------------------
"single"
"km/h"
"mph"
"kn"
"This feature is provided only in the PRO version. Would you like to open the DLC purchasing menu?"
"Steam overlay is disabled for this application. Enable it or use the Steam client or website to buy the DLC."
"ultra"
"custom"
"3D stones"
"Landscape max res. (VR)"
"Landscape loading speed"
"Landscape loading speed (VR)"
"Volumetric objects resolution"
"While moving"
"While stationary"
"Impostors"
"Updating BBox"
--------------------


You may simply copy these string to the Translations { } section and add translations. You may want to shorten/rephrase some text to make it look better. Always shorten the text which does not fit the GUI buttons, or displaces the top-left onscreen information table.

The double-quote character " is the string delimiter, you can't use it inside the string. This is one of the most common errors. For example, this is incorrect and will break out the whole localization:

"Type 'Kepler-444' and press Enter." "Entrez " Kepler-444 " et appuyez sur Entrée."


Important notice: because " is the string delimiter, SE will load "Entrez " as the translation to the English string, the Kepler-444 text will be a syntax error, and the " et appuyez sur Entrée." will be loaded as English string which needed a localization. This is certainly not what you want. The correct way to to this is using single quote ' or angular quotes « » :

"Type 'Kepler-444' and press Enter." "Entrez « Kepler-444 » et appuyez sur Entrée."


Always check the log file until your localization will have no errors. Sometimes the log will also display this:

[MT] WARNING: loc.SetLocalization(): Unknown translation strings found. Possible reasons:
* Obsolete translations (they should be removed from the localization file).
* Duplicated translations (search thought the localization file for duplicates).
* A lot of these strings may indicate a syntax error in the localization file (missing ").
* Swapped languages may indicate an English string with missing translation for it.
--------------------
Line 1318: "Loading speed" "Veloc. cаrrega"
Line 1319: "Loading speed (VR)" "Veloc. cаrrega (RV)"
Line 1811: "This feature is provided only in the PRO version" "Aquesta caracterнstica nomйs estа disponible a la versiу PRO"
Line 606: "simple" "simple"
--------------------


If there are obsolete translation strings, you should delete them. If there are none, then you probably miss " somewhere.

The TranslationsScript { } section is not easy to check. SE does not type missing strings to the log file, because it have no idea which scripts you may run. Each addon may have its own locale file with translations for some addon's scripts. To check out strings which may require translation, SE has a console command PrintTranslations. For example, to check translations in the first tutorial script, type this to the console in SE:

PrintTranslations "data/scripts/tutorials/tut-00-interface.se"


SE will load all strings which are used in the ShowMessage and WaitMessage commands in that script (which must be in English) and look for translations in your locale file. In order to make this command work correctly, switch language to English and back to your one. The log will have output similar to this:

[MT] Loading script "data/scripts/tutorials/tut-00-interface.se"
[MT] data/scripts/tutorials/tut-00-interface.se
-----------------------------------------
"Welcome to SpaceEngine![BR][BR]This tutorial will introduce you to SpaceEngine's interface." "Добро пожаловать в SpaceEngine! Этот урок познакомит Вас с интерфейсом SpaceEngine."
<--- (a lot of strings here) --->
"Click the gear icon. It opens the Settings menu." "NO TRANSLATION"
<--- (a lot of strings here) --->
-----------------------------------------
[MT] Total: 23
[MT] Translated: 22
[MT] Non-translated: 1


If Non-translated is not zero, look for "NO TRANSLATION" text - it is typed next to the string which have no translation. Copy it to your locale file and translate.

To check all tutorials, there is a help script provided. Go to the data/scripts/ folder and open the CheckLoc.se in notepad. It is a simple script which just run the PrintTranslations command for all tutorials:

SetLocale "eng"
SetLocale "rus"
PrintTranslations "data/scripts/tutorials/tut-00-interface.se"
PrintTranslations "data/scripts/tutorials/tut-01-basic-mov.se"
PrintTranslations "data/scripts/tutorials/tut-02-free-mov.se"
PrintTranslations "data/scripts/tutorials/tut-03-time-control.se"
PrintTranslations "data/scripts/tutorials/tut-04-camera.se"
PrintTranslations "data/scripts/tutorials/tut-05-univ-map.se"
PrintTranslations "data/scripts/tutorials/tut-06-system-chart.se"
PrintTranslations "data/scripts/tutorials/tut-07-star-browser.se"


Change the language in the second command to your one, save, and type in SE console:

run CheckLog.se


After that, inspect the log file for missing translations. The rest of the TranslationsScript { } section (translation of the main menu and credits file) should be typed manually, you can look the rus-gui.cfg for full list of needed strings, as it is always up-to-date.

The locale folder have also files named like rus-db.cfg - they are local databases of translated planets/stars/galaxies names and descriptions. You can edit them manually or right in SE Wiki window ("i" button). This file is not mandatory, but it's always good to have translated names and descriptions for the most famous space objects like Earth, Saturn or Milky Way.
 
User avatar
MxDem
Observer
Observer
Posts: 17
Joined: 05 Jun 2019
Location: Mexico
Contact:

Localizations

09 Jun 2019 12:08

Menu, classes and translations done. Working on Tutorial.

Also, previous person who worked on esp-db.cfg took info from Wikipedia, not a direct translation of the provided text in the original db. Should it be translated instead or is the general info just fine? Attached file anyway in the meantime. Seems to be missing some newer entries at first glance 

Edit: Added Adjective separator
Attachments
esp-db.cfg
(636.66 KiB) Downloaded 43 times
esp-gui.cfg
(170.75 KiB) Downloaded 41 times
 
User avatar
SpaceEngineer
Author of SpaceEngine
Author of SpaceEngine
Topic Author
Posts: 992
Joined: 17 May 2016
Location: Saint-Petersburg
Contact:

Localizations

09 Jun 2019 13:50

English text is also taken from Wikipedia, and not very well structured. Direct copy of Wikipedia text is not good. When I implemented this feature, I thought what community will like it and quickly fill the database with a good, not long and hi-quality descriptions. I was mistaken... Quality control is what this feature lacks (sometimes GUI translation too).
 
User avatar
MxDem
Observer
Observer
Posts: 17
Joined: 05 Jun 2019
Location: Mexico
Contact:

Localizations

09 Jun 2019 13:56

Well, it is a time consuming and very complex task. Some terms I spent hours thinking on how to translate them. Freelance people will hardly put too much work into it, even if they're motivated. 

I'm almost done with the Tutorials, completing esp-gui.cfg in Spanish. And I'll look into esp-db.cfg tomorrow, again I've been working on this for many hours now and I need to rest. But I'll keep working on it to keep it updated, even after release.
 
User avatar
SpaceEngineer
Author of SpaceEngine
Author of SpaceEngine
Topic Author
Posts: 992
Joined: 17 May 2016
Location: Saint-Petersburg
Contact:

Localizations

09 Jun 2019 14:13

Thank you!
 
User avatar
Frostbreath
Space Tourist
Space Tourist
Posts: 29
Joined: 10 Dec 2016
Location: Utrecht, Netherlands
Contact:

Localizations

10 Jun 2019 01:11

Update for the Dutch SE players: Dutch translation is being completed as we speak!
SpaceEngine translator for Dutch.
Amateur astronomer. Professional snowman. Owner of a Celestron C8 telescope.
PC specs:
Processor: Intel i7-7700k
GPU: Nvidia GeForce RTX-2060
RAM: 16GB
 
User avatar
JackDole
Star Engineer
Star Engineer
Posts: 1453
Joined: 02 Nov 2016
Location: Terra

Localizations

10 Jun 2019 12:48

In some '-db.cfg' the line 'Parent "Solar System"' must be inserted, so that the informations about the sun is displayed in the Wiki!
RObject
{
    LocName "Sun"
    Name    "Sol"
    Parent  "Solar System"

For example in the English and French file.
JackDole's Universe: http://forum.spaceengine.org/viewtopic.php?f=3&t=71
JackDole's Archive: http://forum.spaceengine.org/viewtopic.php?f=3&t=419
JackDole: Mega structures ... http://old.spaceengine.org/forum/17-3252-1 (Old forum)
 
User avatar
SpaceEngineer
Author of SpaceEngine
Author of SpaceEngine
Topic Author
Posts: 992
Joined: 17 May 2016
Location: Saint-Petersburg
Contact:

Localizations

10 Jun 2019 13:33

Thanks JackDole, fixed! Also fixed in Dutch and Spanish db.
 
SnekkestSnek
Observer
Observer
Posts: 2
Joined: 28 Apr 2019

Localizations

10 Jun 2019 17:04

I'll try to fix polish translation. I just need time, I am not the best in all honesty and I want it to be a quality translation.
 
emav
Observer
Observer
Posts: 2
Joined: 04 Jul 2019

Localizations

04 Jul 2019 12:28

If no one has taken up the Greek translation, I would be happy to work on it.

I understand that I need to create the .png and .cfg files for win1253 first. Are there any specifications that should be observed regarding theses files?
 
User avatar
SpaceEngineer
Author of SpaceEngine
Author of SpaceEngine
Topic Author
Posts: 992
Joined: 17 May 2016
Location: Saint-Petersburg
Contact:

Localizations

04 Jul 2019 13:17

emav wrote:
Source of the post If no one has taken up the Greek translation, I would be happy to work on it.

I understand that I need to create the .png and .cfg files for win1253 first. Are there any specifications that should be observed regarding theses files?

I am working on Chinese support now, and will change the font system completely. It will be probably ttf font, so you don't need to create the font texture yourself.
But for now, you may start translating the rus-gui.cfg (as it is up-to-date). I estimate what first beta with Unicode support and ttf fonts will be ready in 2 weeks.
 
emav
Observer
Observer
Posts: 2
Joined: 04 Jul 2019

Localizations

04 Jul 2019 14:20

Great news! So, I'll just switch to your public beta on steam and, hopefully, I will be able to test my utf-8 encoded translation in a couple of weeks.

I'll keep you updated on my progress.
 
User avatar
Julian
Explorer
Explorer
Posts: 187
Joined: 17 Dec 2016
Location: Bellevue, Washington, USA

Localizations

09 Jul 2019 05:56

Comments on a couple of text strings in the English version: first, the 0.990 changelog says "The system architecture mode: 2D map of a system hierarchy," but "system hierarchy" or "system structure" would be a better name for this mode in the chart view than "system architecture". Second, the info box for procedural objects says "Procedural (generated) object", but "Procedurally generated object" would sound better in English.
 
User avatar
SpaceEngineer
Author of SpaceEngine
Author of SpaceEngine
Topic Author
Posts: 992
Joined: 17 May 2016
Location: Saint-Petersburg
Contact:

Localizations

12 Jul 2019 05:58

I uploaded a test build with Unicode support and initial Chinese and Japanese (outdated) localizations. If you want to use is, switch to this beta branch in SpaceEngine's properties in Steam client (right-click on SE in your library, choose "Properties", navigate to BETA VERSIONS tab):

Enter the password: seUnicode990

Steam will say what closed beta branch "test-unicode" is now available. Choose it in the drop-down menu above, and Steam will download the update.

Changelog:

Build 0.990.37.1670
- While exporting planet textures, clouds transparency is not saved into a separate file
- Ability to specify custom subfolder to save video file/frames in the video capture dialog
- Fixed bug when some terrain node textures didn't generated
- Fixed bug with terrain not generating while recording video
- Opposition effect on planetary rings; parameters are added to planet scripts and editor
- Unicode support:
-- All localizations updated to UTF-8 encoding
-- Texture fonts replaced with ttf fonts
-- Added traditional and simplified Chinese localizations
-- In language selection menu, country flags and full names of localizations are displayed

This test build includes Chinese localizations (simplified and traditional) by xingqiu and Freeman, 100% complete with tutorlials, and old Japanese localization by alpha0106 (from old SE forum), very outdated. Other localizations requires small update, few new string were added.

The Unicode support is WIP. Some interface elements are displaced, text inputting/editing works only with English. Don't try to edit descriptions in Wiki, it may break out the db file!

All localization files were converted to UTF-8 encoding. Please check if everything is okay with your language. Please use new files from this build, if you willing to make an update.

Some parameter were changed in loc-gui.cfg files. They now does not needs FontConfig parameter, and font textures were removed and replaced with ttf fonts (Nono Sans and DejaVu Sans). SpaceEngine now uses the FreeType library to generate font texture on the fly. You can open the console and type ExportFont, then navigate to export folder and see the currently used texture. All languages except Chinese easily fits into 512x512 texture, but for Chinese SE resizes texture up to 1536x1024.

Other new features are these parameters in the loc-gui.cfg:

InternationalName   "Russian"
LocalName           "Русский"
FlagIndex           79
LocNameSteam        "russian"


SE now displays native name of language, international (English) name and country flag, these parameter are needed for that:

scr00009.jpg


Flag icons are in data/textures/common/interface_mod.png, if you want to add a flag to a new localization, determine the icon's index and enter it as FlagIndex in the cfg. Flag icons are numbered starting from 0, left to right and row by row.

The parameter LocNameSteam is needed for auto-switch to user's system locale. The Steam interface returns the current user's locale name, and SE compares it with LocNameSteam in all locale files. If match is found match, SE switches to that localization. Full list of strings which Steam can report (Steam does not support all languages which SE have):

► Show Spoiler
 
User avatar
SCP-10492
Space Tourist
Space Tourist
Posts: 39
Joined: 18 May 2019
Location: Earth

Localizations

12 Jul 2019 07:30

SpaceEngineer wrote:
I uploaded a test build with Unicode support and initial Chinese and Japanese (outdated) localizations. If you want to use is, switch to this beta branch in SpaceEngine's properties in Steam client (right-click on SE in your library, choose "Properties", navigate to BETA VERSIONS tab):

Enter the password: seUnicode990

Steam will say what closed beta branch "test-unicode" is now available. Choose it in the drop-down menu above, and Steam will download the update.

Changelog:

Build 0.990.37.1670
- While exporting planet textures, clouds transparency is not saved into a separate file
- Ability to specify custom subfolder to save video file/frames in the video capture dialog
- Fixed bug when some terrain node textures didn't generated
- Fixed bug with terrain not generating while recording video
- Opposition effect on planetary rings; parameters are added to planet scripts and editor
- Unicode support:
-- All localizations updated to UTF-8 encoding
-- Texture fonts replaced with ttf fonts
-- Added traditional and simplified Chinese localizations
-- In language selection menu, country flags and full names of localizations are displayed

This test build includes Chinese localizations (simplified and traditional) by xingqiu and Freeman, 100% complete with tutorlials, and old Japanese localization by alpha0106 (from old SE forum), very outdated. Other localizations requires small update, few new string were added.

The Unicode support is WIP. Some interface elements are displaced, text inputting/editing works only with English. Don't try to edit descriptions in Wiki, it may break out the db file!

All localization files were converted to UTF-8 encoding. Please check if everything is okay with your language. Please use new files from this build, if you willing to make an update.

Some parameter were changed in loc-gui.cfg files. They now does not needs FontConfig parameter, and font textures were removed and replaced with ttf fonts (Nono Sans and DejaVu Sans). SpaceEngine now uses the FreeType library to generate font texture on the fly. You can open the console and type ExportFont, then navigate to export folder and see the currently used texture. All languages except Chinese easily fits into 512x512 texture, but for Chinese SE resizes texture up to 1536x1024.

Other new features are these parameters in the loc-gui.cfg:

InternationalName   "Russian"
LocalName           "Русский"
FlagIndex           79
LocNameSteam        "russian"


SE now displays native name of language, international (English) name and country flag, these parameter are needed for that:

scr00009.jpg

Flag icons are in data/textures/common/interface_mod.png, if you want to add a flag to a new localization, determine the icon's index and enter it as FlagIndex in the cfg. Flag icons are numbered starting from 0, left to right and row by row.

The parameter LocNameSteam is needed for auto-switch to user's system locale. The Steam interface returns the current user's locale name, and SE compares it with LocNameSteam in all locale files. If match is found match, SE switches to that localization. Full list of strings which Steam can report (Steam does not support all languages which SE have):

► Show Spoiler

I found some mistakes in the new language. Can I modify it?
Does anybody really look at this?

Who is online

Users browsing this forum: Google [Bot] and 1 guest