Class cold#neuter lacustrine#neuter aquaria
I want to avoid confusion, so localizations without translation of this were 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.
[hr] Now SpaceEngine is available on the Localizor - online game translation service. You can join it to update obsolete localizations. More info in the blog:
http://spaceengine.org/news/blog191113/
[hr] 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!
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.
Localization files are located in the data/locale/ folder, and have a name rus-gui.cfg, where rus is an abbreviation of the language. This abbreviation is used by SE to recognize other files, associated with this localization (currently rus-db.cfg, other type files may be added later). In this tutorial I will use abbreviation loc, but you must replace it with your own one. The localization files are the next:
[Required] File with translations of all text strings of the SE interface: data/locale/loc-gui.cfg
[Optional] Wiki database with translated objects names and descriptions data/locale/loc-db.cfg
[Optional] Wiki database with user-discovered objects and descriptions config/user-loc-db.cfg
[Optional] Wiki database with translated objects names and descriptions for addons addons/<addon-name>/locale/<name>-loc-db.cfg
The Russian localization (rus-gui.cfg) 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. All localization files are text files in the UTF-8 (without BOM) encoding.
The translation file loc-gui.cfg
First line in the translation file is a commentary (starts with //) with credits of its authors. Next are parameters used by SE to build the "choose language" menu:
InternationalName "Japanese" - international name of the language (must always be written in English)
LocalName "日本語" - endonym (self-name) of the language (must be written using that language)
FlagIndex 46 - index of the country flag image
Flag images are stored in the interface texture. Go to SpaceEngine/data/textures/common, open the file Skins.pak as zip archive, and extract the interface_mat.png file. At the bottom of the image you will see this:
Find the needed flag and count its index number. Indexes are starting from zero, counting from left to right and from top to down. So, for example, British flag index is 108, American - 109.
The next parameter is used to auto-switch to the language in Steam at the first launch:
LocNameSteam "japanese"
Steam client can report to SpaceEngine the language user prefer to use (it may not match the system language). SpaceEngine loads all *-gui.cfg files and scans through them to find match, and it match is found, selects the corresponding locale file. This auto-configures SE to user language at the first launch after installing or receiving update. The full list of languages reported by Steam is this:
ABBC3_SPOILER_SHOW2List of Steam languages
Use only exact words from this list. Not all SE languages and supported by Steam, and not all Steam languages are supported by SE. If your language is not in this list, leave LocNameSteam empty (LocNameSteam "").
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 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.
Code: Select all
// 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 ""
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:
Code: Select all
[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"
--------------------
In this case the text "Composición de los mares" must be shortened, for example as "Compos. de los mares" (and for consistency, the text in the previous line "Composición atmo." should be changed to "Compos. atmosferica").
Important notice: 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:
Code: Select all
"Type 'Kepler-444' and press Enter." "Entrez " Kepler-444 " et appuyez sur Entrée."
Code: Select all
"Type 'Kepler-444' and press Enter." "Entrez « Kepler-444 » et appuyez sur Entrée."
Code: Select all
[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"
--------------------
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 in the SpaceEngine's console:
Code: Select all
PrintTranslations "data/scripts/tutorials/tut-00-interface.se"
Code: Select all
[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
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:
Code: Select all
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"
Code: Select all
run CheckLog.se
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. These files are also in the UTF-8 (without BOM) encoding.
The Wiki database file loc-db.cfg
This is a database file for the built-in Wiki system. If the file is not introduced, Wiki will be empty. The file can be created by SpaceEngine itself, when user adds a description for some planet or other object. The format of this script may be changed significantly in the future.
This database can be used to make a short descriptions in your language of some known objects like Solar System planets and moons, stars, galaxies etc. The script consists of several entries of this format:
Code: Select all
RObject
{
LocName "Тритон"
Name "Triton"
Parent "Sol"
Pioneer "Уильям Лассел"
Date "1846.10.10"
Descr "Тритон - крупнейший спутник Нептуна, открытый английским астрономом Уильямом Ласселом 10 октября 1846 года. Седьмой по величине спутник Солнечной системы и единственный крупный спутник Солнечной системы с ретроградным движением по орбите. Из-за ретроградного движения и схожести состава с Плутоном считается захваченным из пояса Койпера.
Предполагается, что Тритон имеет массивное каменно-металлическое ядро, составляющее до 2/3 его общей массы, окружённое ледяной мантией с коркой водяного льда и слоем азотного льда на поверхности. Содержание водяного льда в составе Тритона оценивается от 15 до 35%. Тритон - один из немногих геологически активных спутников в Солнечной системе. О его сложной геологической истории свидетельствуют следы тектонической активности, замысловатый рельеф и многочисленные криовулканы, извергающие азот. Давление разреженной азотной атмосферы составляет менее 1/70000 от давления земной атмосферы на уровне моря."
}
LocName "Тритон" - a name of the object in your language, or name given to the object by its discoverer in the game.
Name "Triton" - internal (or catalog) name of the object.
Parent "Sol" - internal (or catalog) name of the object's parent, if it exist.
Pioneer "Уильям Лассел" - name of the player/discoverer.
Date "1846.10.10" - date/time of discovery. Can be in format "2012", "2012.09.03" or "2012.09.03 08:02:17".
Franchise "Star Wars" - name of the franchise/sci-fi universe, displayed in the Wiki for the object. Use only for mods/addons.
Descr "Тритон - крупнейший спутник Нептуна..." - description of the object. New lines and special BB-codes are allowed.
Description is not very long text shown in the Wiki window. It should be enclosed in the double quotes " ", and allows a new lines inside them. To use quotes inside the description, use angular quotes: «Mariner-4». Description allows using of the BB codes (type them without spaces):
ABBC3_SPOILER_SHOW2SpaceEngine Wiki BB codes