Localization
A little over a week ago Ripticus asked about localization (translation) to French. I've done the work over the years to prepare the software for localization so I started looking into what it would take to go to the next level. At that point I got swept away by the current for a solid week.
I use the Qt system of objects to develop all Hazeron C++ code, which is most everything. Qt has a way of tagging strings to be translated, like this tr("Translate this string"). For years (decades) I have been putting these tr tags in my code, knowing some day they would be needed. It would be a daunting task to go in after the fact and put them in, on a project as large as this.
The tools for extracting and processing the strings to be translated are very nice. They also revealed a few things that needed attention, if only due to my learning more about how the tr tags are used.
A tremendous number of strings were touched throughout the code. Please alert me if you see anything broken about the words you see, anywhere and everywhere. Many of these changes involved separating ugly chunks of html code from the text that needed translating. That means html errors could also be introduced in things like mail and reports.
Here are some minor changes you might notice in the user interface.
The French translation should be completed in a month. As I keep making minor changes, I expect a final update round just before the actual release, the date for which has not been decided. I still have a number of bugs to fix.
Xian Lost the Ring
During the Dangerous Exchange story, Xian drops a ring. It is easily lost.
Xian now announces verbally when she drops the ring, so the player knows what happened to it and where to look for it.
Sector Name Field
Xian tells you what sector to find Dr. Millton. Unfortunately the sector name field did not get parsed properly so it just appears like this [sec.name].
Fixed.
Autosave
Autosave grabs the user interface until it is completed, which takes a bit.
Autosave now has a setting to turn it on and off.
Autosave now announces the beginning of Autosave three seconds before it actually starts. This gives a player enough time to free the mouse if they are quick about it.
Dark Matter Death
I don't recall if I said that death by dark matter no longer happens when an officer takes his ship into unexplored space. In the solo game you can send officer commanded ships into unexplored space.
Dark matter death was originally implemented to keep server load down. Now you can grid search the galaxy with officer controlled ships if you want.
It still destroys things like empty vehicles, items, and npc's that drift from one solar system to another.
Atlantis Lost
The Lost Atlantis scenario starts me on an empty world with no ship.
Fixed an error introduced when I cleaned up the game startup data file. The blueprint id of the Atlantis changed. I overlooked making the appropriate change to the Lost Atlantis startup scenario init code.
Steam Achievements and Stats
Steam achievements and stats work together. Some achievements are tied to stats so I update a stat and the achievement is granted when a certain number is reached.
I hired an artist to make the graphic images for the achievements that appear on Steam. He isn't done yet so the graphic is just blank on Steam for all achievements. It will appear normally once the graphics are uploaded to Steam.
I came up with a list of eight achievements initially. I can add more later. This is a good basic start.
A little over a week ago Ripticus asked about localization (translation) to French. I've done the work over the years to prepare the software for localization so I started looking into what it would take to go to the next level. At that point I got swept away by the current for a solid week.
I use the Qt system of objects to develop all Hazeron C++ code, which is most everything. Qt has a way of tagging strings to be translated, like this tr("Translate this string"). For years (decades) I have been putting these tr tags in my code, knowing some day they would be needed. It would be a daunting task to go in after the fact and put them in, on a project as large as this.
The tools for extracting and processing the strings to be translated are very nice. They also revealed a few things that needed attention, if only due to my learning more about how the tr tags are used.
A tremendous number of strings were touched throughout the code. Please alert me if you see anything broken about the words you see, anywhere and everywhere. Many of these changes involved separating ugly chunks of html code from the text that needed translating. That means html errors could also be introduced in things like mail and reports.
Here are some minor changes you might notice in the user interface.
- System - The word "system" is used to mean a system of a spacecraft or a solar system. Almost every case of the use of the word system was changed to be either "subsystem" or "solar system" as appropriate.
- Station - The word "station" is used to mean a control station or a space station. Almost every case of the use of the word station was changed to be either "control station" or "space station".
- Fire Control - The term "fire control station" has always bugged me. This was changed to "Weapon Station" pretty much everywhere. It is listed as "Bay Weapon" in the skills list.
The French translation should be completed in a month. As I keep making minor changes, I expect a final update round just before the actual release, the date for which has not been decided. I still have a number of bugs to fix.
Xian Lost the Ring
During the Dangerous Exchange story, Xian drops a ring. It is easily lost.
Xian now announces verbally when she drops the ring, so the player knows what happened to it and where to look for it.
Sector Name Field
Xian tells you what sector to find Dr. Millton. Unfortunately the sector name field did not get parsed properly so it just appears like this [sec.name].
Fixed.
Autosave
Autosave grabs the user interface until it is completed, which takes a bit.
Autosave now has a setting to turn it on and off.
Autosave now announces the beginning of Autosave three seconds before it actually starts. This gives a player enough time to free the mouse if they are quick about it.
Dark Matter Death
I don't recall if I said that death by dark matter no longer happens when an officer takes his ship into unexplored space. In the solo game you can send officer commanded ships into unexplored space.
Dark matter death was originally implemented to keep server load down. Now you can grid search the galaxy with officer controlled ships if you want.
It still destroys things like empty vehicles, items, and npc's that drift from one solar system to another.
Atlantis Lost
The Lost Atlantis scenario starts me on an empty world with no ship.
Fixed an error introduced when I cleaned up the game startup data file. The blueprint id of the Atlantis changed. I overlooked making the appropriate change to the Lost Atlantis startup scenario init code.
Steam Achievements and Stats
Steam achievements and stats work together. Some achievements are tied to stats so I update a stat and the achievement is granted when a certain number is reached.
I hired an artist to make the graphic images for the achievements that appear on Steam. He isn't done yet so the graphic is just blank on Steam for all achievements. It will appear normally once the graphics are uploaded to Steam.
I came up with a list of eight achievements initially. I can add more later. This is a good basic start.
- Astronaut - For orbiting a world for the first time.
- Interstellar Astronaut - For orbiting a world in a solar system other than your home world solar system.
- Intergalactic Astronaut - For orbiting a world in a galaxy other than the one containing your home solar system.
- Colonizer - For building a city on a world other than your home world.
- Journeyman Colonizer - For building cities on ten worlds other than your home world.
- Master Colonizer - For building cities on one hundred worlds other than your home world.
- Starship Architect - For designing a starship and publishing it to the Steam Workshop.
- Building Architect - For designing a building and publishing it to the Steam Workshop.