Jump to content

Community Translation - Ukrainian Language Add-On


Lilly Blanche

Recommended Posts

Well, it seems that once I got that glow right, it wasn't too hard to do the full VCR font as well!

vcr.png

This means there are no restrictions on the "mission accomplished/mission failed" text anymore :D

 

Oh, another note: there are land areas in the text_XXX file which are in "square miles" (SQ. MI.). If you want those in KM², just look in the French or German strings file ;)

Link to comment
Share on other sites

Wow! That looks beautiful! :D

I will have to go ahead and change the actual victory text now, though :D

 

I can't thank you enough for helping me so much, this is incredibly kind of you! :)

THANKS! :D

Oh, I totally missed the difference in square miles and kilometers... whoops, gonna correct that as soon as possible!

 

So, now when the fonts are done, I'd like to start testing my translation to see if I can spot any mistakes (like the miles / kilometers thing) and / or inconsistencies. What is the easiest way for me to put all this stuff in the game? :)

Link to comment
Share on other sites

Well... as I said, my guide was kind of ahead of things with the ini format, though that isn't too much of a problem. The main issue that currently exists with using an ini for the text_xxx stuff is that the entries read from ini can't start with spaces; the game's ini read system trims those off automatically. For some things, like the "select transmission" (new game) screen, it might be necessary to use spaces to align the text correctly, and, well, that doesn't work.

 

No, wait... actually, if you need to do that, there might be a sneaky way around it, but you'll need to update the fonts for it. If you want to start an entry in the text_XXX with spaces... start it with one of the characters from the KOI8-U encoding that is empty in the font (it's easy to find in the font editor, and you can just copy the character from there with ctrl+c and paste it in Editpad Pro, as long as both are set to KOI8-U). The game's read method won't trim beyond that character, and it'll show up as 0x0 pixels ingame, so that could work :)

(I added filler characters in the fonts I gave you before, so it'll give some pixel mess with those. But it'll work with the ones I attached now.)

 

For the rest... the guide details how to make your lang_XXX.ini. All of that stuff should work as described. Do you know how to handle the game's .mix files? You'll need to use "XCC Mix Editor" from the XCC Utilities to put everything in a .mix file.

 

There's one thing that seems to be missing from that guide (I really need to update it to include more detailed font support), and that's the uppercase rules for special characters. This is basically just all the characters of the 128-255 character range of that text encoding, but converted to upper case, so the game's function that converts text to uppercase works on the special characters.

 

I'll spare you the process for generating this. Just open your lang_ukr.ini in Editpad Pro, set the text encoding to KOI8-U, and then paste these lines at the end of it:

 

; Upper case table for char set KOI8-U (Ukranian)
CapsSpecialChars=─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■•√≈≤≥ ⌡°²·÷═║╒ЁЄ╔ІЇ╗╘╙╚╛Ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©ЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ

 

Make sure to always leave an empty line at the end of every ini file you make / edit, otherwise the game's ini read system can't read the last line.

 

As for the buttons and icons, I just converted the icons font image to an actual .fnt file. It is meant to be viewed in the font editor with the included palette "TD VCR" (palette can be changed in the dropdown at the right side). When the font is loaded, you can type the text you need into the text box at the bottom, and the preview pane next to it will show the image to paste on the icon. You can right-click the preview image and select "Copy" to get the image on the clipboard. Sadly, the Windows clipboard can't handle transparent images, so you'll need to clear the background color yourself before pasting it on the icon. And if the text doesn't quite fit you can always make the letters a bit thinner.

 

I haven't added anything for KOI8-U into it though, but you can always do that yourself if you want. Just remember that the font is supposed to be 5 characters high, and the extra space above and below in the font is purely to allow accents on letters.

 

This icons font obviously isn't part of the files you need to put in the package; it's just a tool to make the icons text ;)

Link to comment
Share on other sites

Aaaaaaaaaand... it's broken XD

 

So, I've created a .mix file using the tool provided with the XCC utilities, with all the files attached to this post, told the game to load this particular language file, launched the game and got a black screen staring back at me. Pressing anything results in CTD. A wild guess suggests I did something wrong here? :D

 

 

Link to comment
Share on other sites

Ah, one VERY important detail: when you open XCC Mix Editor (make sure you have the right tool; they all have similar names), the first thing you should do after making a .mix file is setting it to the "Tiberian Dawn" type (there's an "options" button). Otherwise the game hangs because the .mix format isn't what it expects.

 

It is also very important to do this before putting any files in it, since filenames are converted to a 4-byte hash value in mix files, and XCC Editor doesn't do this when saving but when you drop the files in there, and the different game types use different calculation methods to make these hash values.

 

I don't have much time right now, so I can't check the files, but I'll take a look at them in the evening.

Link to comment
Share on other sites

Yes, that was the issue! I got it all working now!

 

However, I've spotted a much more serious issue: the game crashes to desktop with the following error - "The instruction at 0049c5ab referenced memory at 000000000. The memory could not be read from. Click on OK to terminate the application" - during the singleplayer SELECT THE TERRITORY TO ATTACK screen. Right here, to be precise:

 

CRASH.jpg

 

Also, it looks like there are some weird artifacts from the lines that have already vanished, you can see that at the top. Is there a limit on how long the text can be as far as this particular screen is concerned? Could this be the reason it crashes?

 

UPDATE:

 

Found the reason why it was crashing. I used the "text_xxx.ini" file for translation, not "text_eng.ini", and it looks like that's the problem. The game doesn't use the original text entries for strings missed in "text_xxx", it crashes instead. So, I'll have to re-do everything using "text_eng.ini" as a basis to prevent such crashes, it seems! :D

Link to comment
Share on other sites

Hmm, strange. It should take the internal English strings file as basis below everything anyway. I'll check what that crash address is.

 

And yeah, I can't really do much about the artifacts. I think there is some method to calculate the length of the font, but either it doesn't use it there, or it does it wrong somehow. You'll just have to shorten the strings to fit in there :(

 

I'll do some testing, see what I can find.

Link to comment
Share on other sites

I'm now using the "lang_eng.ini" as a basis for my translation, and everything seems to be working alright! I've shortened the text that appears on the territory select screen, and it looks good as well, there's no real need to do anything about it :)

 

What I do have to ask is - I don't quite get how the briefings work. For example, there are numerous duplicates of briefings in the text file. I assume that's because you can select different territories / entrance points in singleplayer. But the thing is - sometimes, when selecting option A (for instance, during the NOD second mission), the briefing displays in its entirety, but when picking option B, only the first sentence is displayed, and it's randomly cut off. I'm talking about the mission text you can access once you're in the game, from the same menu that allows you to re-watch the corresponding cinematic. Have you ever encountered anything like this before? 

Link to comment
Share on other sites

On 2017-4-9 at 9:31 PM, Lilly Blanche said:

I'm now using the "lang_eng.ini" as a basis for my translation, and everything seems to be working alright!

To make it into a language pack you will need to use lang_ukr.ini; that's just how the language addon system works. But it doesn't matter; I found the real cause of your crash. Sorry, I totally misunderstood what you were saying here XD

There are lines missing in your text_ukr.ini file. That's okay, though. For those missing lines, it tries to fall back to the strings file loaded by the game. Normally this is conquer.eng, however, here's the problem: you set "StringsExt=UKR" in your lang_ukr.ini, which changes that to try to load "conquer.ukr" as strings file. Since that file does not exist, all fallback text fails, and that crashes the game there. The thing it crashed on were the numbers that were skipped in the mission area information of lang_XXX.ini.

The solution is simply to remove the "StringsExt=" line, which will make it default to the normal English strings file. That is the only thing you need to do to fix that crash.

Quote

What I do have to ask is - I don't quite get how the briefings work. For example, there are numerous duplicates of briefings in the text file. I assume that's because you can select different territories / entrance points in singleplayer. But the thing is - sometimes, when selecting option A (for instance, during the NOD second mission), the briefing displays in its entirety, but when picking option B, only the first sentence is displayed, and it's randomly cut off. I'm talking about the mission text you can access once you're in the game, from the same menu that allows you to re-watch the corresponding cinematic. Have you ever encountered anything like this before?

Very strange. I'll test this.

Quote

I've shortened the text that appears on the territory select screen, and it looks good as well, there's no real need to do anything about it :)

I found another few that need adapting:

256 - Short version of "join game" to put on the button in the Network Game menu. Should just be "join".
583 - "total score" clips over the score value. You could just say "score:" or "total:" or something.

Link to comment
Share on other sites

I found out what caused your mission briefing problems.

There is something wrong with your line breaks in the mission briefings file. It seems to use byte sequence 0D 0D 0A as line breaks, with occasionally even just 0D 0D. Specifically, I found the 0D 0D one behind the first line of that Nod 2B briefing, which is probably what makes it break off there; the game expects a sequence of 0D 0A as line breaks, which is the standard Windows bytes sequence for a new line.  What did you edit that with?

In Editpad Pro, when you open the file, you will see "Mixed" at the bottom where it shows the line break style. Change that to "windows (CRLF)", and then clean up the empty lines. (You can search and replace 2 line breaks by 1 line break in Editpad Pro by entering them in the search and replace fields with [ctrl]+[enter])

 

One more note on the briefings file: the "funpark" in the name of the dinosaur missions, and the "PATSUX" in the name of one of the Playstation missions, refer to secret codes that were originally used in the game to unlock these secret missions. So don't try to translate those; just keep them in. People who remember the original secret codes will know what they mean :)

Link to comment
Share on other sites

We might even go as far as to translate and dub the cutscenes, but only after the initial full text and unit / EVA translation is done and released.

I think I have transcripts of those missions lying around somewhere, from when the Spanish subtitles pack was made... that could help you. I'll see if I can find them ;)

Link to comment
Share on other sites

What I did was I took the "lang_eng.ini", renamed it "lang_ukr.ini", and re-translated everything that's in it yesterday, then put it into my .mix file. Turned out, there were more lines missing from the "lang_xxx.ini" I used as a basis before - some names, songs, etc. Now, I will remove the StringsExt=UKR line, but I assume I can keep using this new, bigger "lang_ukr.ini", right? Please say "yes" XD

 

Thank you, the issues with text being too long with both "total score" and "join" have already been addressed. Unfortunately, there's also a similar issue with one of the "load game" buttons (I think it's the one that pops up in the in-game load menu), the word "завантажити" barely fits the button, yet there's no way to shorten it without it looking bad. I'll see what I can come up with. It's a very, very small issue though.

 

Oh, so that's the problem with briefings. Hmm. That's really interesting, because I edited the file with EditPad Pro, and did the exact same thing I did while translating the main file... meaning, nothing, aside from changing the encoding to KOI8-U. I will do as you say and see if it works! :D

 

Ah, I see. I had no idea about this since I've never played those versions! I will put those names back in! :)

 

The transcripts would be great to have indeed! :D

 

UPDATE

Checked the briefing file, corrected the issue, seems to be working as intended now! :)

Link to comment
Share on other sites

I've started editing the "SELL", "REPAIR", "MAP", "ON HOLD", "PRIMARY" and "READY" images using SHP Builder. I've got the images ready, but when I import them back into the SHP Builder and then put them into the game, this is what it looks like:

 

Example.jpg

 

As you can see, it's not quite right. Would you happen to have any suggestions as to what's the best way to do this in order to avoid this kind of errors?

Link to comment
Share on other sites

On 2017-4-10 at 1:19 PM, Lilly Blanche said:

What I did was I took the "lang_eng.ini", renamed it "lang_ukr.ini", and re-translated everything that's in it yesterday, then put it into my .mix file. Turned out, there were more lines missing from the "lang_xxx.ini" I used as a basis before - some names, songs, etc. Now, I will remove the StringsExt=UKR line, but I assume I can keep using this new, bigger "lang_ukr.ini", right? Please say "yes" XD

lol, sure. There's no real problem with adding these values, it just takes up a bit more space. I made the lang_XXX so things that shouldn't really be translated were left out. Though you can translate those song names if you want, of course. I just don't think it's necessary.

I've had bad experiences with SHP builder. I always use XCC Mixer as conversion tool (Copy a SHP file as png to get multiple frames, select the first of those frames and select "copy as SHP" to convert all the frames together to C&C1-type SHP file).

Note that it's advised to edit graphics with a palette where you change the first palette colour from black to magenta (FF00FF) so that you can see the difference between transparency and real black.

Again though, I can't really check what goes wrong unless you attach the file ;)

[edit]

By the way, when you use the font editor to make the text for these buttons, make sure to select the correct palette from the palettes dropdown. It seems you made this with the 12grdukr font, but you never changed the palette to "TD 12grngrd"; your text has the default rainbow colours instead of the green fade it should actually have  :D

Link to comment
Share on other sites

On the note of SHP editing and palettes... yeah, there re definitely some hints I can give you for that.

To start, here's an introduction to C&C modding. It should contain the basics of how C&C graphics work. Do note that the purple palette that are used in that guide are specifically for editing units and structures whose colours change to the side that owns them. Sidebar graphics don't change like that, though, so using the purple coloured palette for editing sidebar stuff just removes a normally-usable range of yellow colours from your palette.

Now, more into detail... this shows an overview of the colours that have special functions:

posted image

  • First colour: as I said, this is the transparency colour. Change it to something that's not black, and easily recognizable, or you will mix it up with black and get holes in your graphics, or black boxes around stuff you wanted transparent. I always use FF00FF Magenta or FF0080 Deep Pink for it.
  • Third row: animated water colours. Stay away from them unless you want it to animate.
  • Row 4-5-6-7: differences between Desert and Temperate palettes. Never use those in graphics that should be globally usable.
  • Row 12: this is the range that is used on units and structures as team-changing colour. As I mentioned, though, this is not important for the language pack graphics.
  • Row 15-16: Same as before; differences between Desert and Temperate palettes. The last row is specifically used for generating the shadows in the game.
  • Very last colour on the palette: This colour will constantly fade from white to gray and back to white. It is the colour that should be used for the "on hold"/"Ready" text on icons. Make sure you do not keep this white, as it is by default, or you will get random blinking white pixels in your graphics.

On the note of icons, specifically: there is one set of icons per theater, which means these theater-specific rows can perfectly be used on them. I think the palette on the PNG files in the translation pack is already edited to "remove" the dangerous colours, though.

[edit]

Okay, so the blank icons are not fixed, and not even png. Augh. I really need to update all of this...

[edit again]

Updated the icons in blank_icons.rar. I'm going to do some serious cleaning up in there very soon...

[yet another edit]

This might help you:

http://nyerguds.arsaneus-design.com/cnc95upd/cc95p106/language/sidebar_edit_palettes.rar

The .mix file can be dropped in your C&C folder where XCC Mixer will find it; then you can use the palettes in there to convert graphics, by selecting them from the Ctrl+P menu in XCC Mixer. The images in there show which colours are removed and which colours remain on each one, and the bare .pal files, well, they can probably be used in OS SHP Editor, I guess. Though I personally don't use it; it has a history of handling C&C1 SHP format very poorly.

Link to comment
Share on other sites

That's a lot of very useful information, thank you so much! :D

 

I've managed to take care of the Repair, Sell and Map buttons, as well as the Primary, On hold and Ready text using the method you've described. It turns out, XCC Mixer is a MUCH better tool for this! :)

 

READY.jpg

 

(I know the "Primary" text looks a bit off, I'll make sure it fits nicely later on)

 

Now, I'll start making sidebar icons. This is gonna be one hell of ride, I can already feel it :D

I've also received most of the audio files from the voice actors, gonna start working on that as well.

Link to comment
Share on other sites

Well, since you apparently got the SHP conversion part right, for the icons it'll just be, take the icons in the rar file, type the text in the font editor preview, copy it out, remove the background colour, and paste it on the icons.

Except of course the whole annoying "make it fit" part, but that's 50% abbreviating and 50% cutting letters down to narrower size :P

Link to comment
Share on other sites

Aaaaand it's done. I've just finished both the Desert and the Temperate icons. Our alphabet looks interesting, I'll give it that, but man, I so wish we used Latin at the moment. I had to write every single letter pixel by pixel on every single icon, and because I felt extra stupid today, I had to do it twice. I really hope people appreciate this in the end, otherwise I'll make them appreciate it by force XD

 

Now... I already know how to convert these images to SHP files, but I assume there's more than that to putting them in-game. What would my next steps be?

Link to comment
Share on other sites

On the videos front... I recovered a load of information from both the Spanish and Italian projects (though both were only interested in subtitling), with even some feedback of the guy who made the only encoder for VQA videos which we have.

PPM: VQA Encoder release and feedback thread

CNCNZ: Translating TD videos to Spanish (with some interesting notes from UGordan, who made the VQA Encoder)

OldGamesItalia: discussion on VQA conversion issues (they set up a new forum section just for this C&C translation project. Great people! :cncsmirk:)

SomethingAwful forums archive: C&C playthrough - The guy who made this playthrough seems to have transcribed all briefings he got. Though I didn't check if they're all 100% correct, and, given C&C's branching missions system, this isn't 100% complete, since it just covers the missions he actually played. Nope, he played them all.

I attached the fixed briefings of the stuff discussed in the CNCNZ thread.

Sadly, there doesn't seem to be any way to just replace the audio of the VQA files. I mean, maybe it's theoretically possible, but there are no tools that can do it. So you'll have to reconvert all the videos, and that gives some issues since the encoder we got is more primitive than the original. More info on that can be found in the CNCNZ, PPM and OldGamesItalia threads.

Note that a lot of information in there is specific to subtitling, not dubbing. But since the videos need to be reconverted to replace the audio, the colour palettes problem will still remain.

Link to comment
Share on other sites

On 2017-4-12 at 8:24 PM, Iran said:

Don't Romanians or Serbians use both Cyrillic and Latin?

I dunno. But there's no guarantee it's the same Cyrillic and Latin characters. And I don't recall doing a Romanian or Serbian translation, anyway, so how exactly is that relevant?

Anyway, we got the KOI8-U fonts now. Which also means other Cyrillic derivatives we might tackle in the future can simply copy most of the symbols from those; my font editor supports copying and pasting of whole symbols :cncsmirk:

Link to comment
Share on other sites

On 2017-4-12 at 7:17 PM, Lilly Blanche said:

Aaaaand it's done. I've just finished both the Desert and the Temperate icons. Our alphabet looks interesting, I'll give it that, but man, I so wish we used Latin at the moment. I had to write every single letter pixel by pixel on every single icon, and because I felt extra stupid today, I had to do it twice.

Um.. wouldn't it have been easier then to just use the font editor to edit those Cyrillic letters into the font I gave? Then you could've just reused them easily, using the preview pane.

Quote
Now... I already know how to convert these images to SHP files, but I assume there's more than that to putting them in-game. What would my next steps be?

That should be in the guide. The following needs to be done for the Desert and Temperate icons separately:

  • Make a new folder for your SHP files. I advise naming it like the thearer, like I did with the png folders.
  • In XCC Mixer, browse one file browser to the place where your png images are, and the other to the new folder you created.
  • Select all your png files together, right click, "Copy as SHP". This works in bulk with all those files together, yes. One click, all converted :)
    If they're still paletted, this should work fine. If not, you have to go into the menu and go to View -> Palet -> make sure "Use for conversion" is enabled. Then press [Ctrl]+P and select the "palette_cameo_desert.pal" (or "palette_cameo_temperate.pal" if it's the temperate icons) from "sidebar_edit_palettes.mix". Any files you convert now that don't have a palette will adapt to that chosen palette.
  • Now the tricky part... rename all the files in that folder from ".shp" to the extension of the theater they're for (so .tem or .des)
    The fastest way to do this is using the command prompt. Hold [shift] and right-click the folder your shp files are in, and you should see the option "open command prompt here" appear. Click it and the console window will appear, set in that folder. In the console, just type
    ren *.shp *.des
    ...and press [enter], and it'll rename all ".shp" files to ".des". Once the command finishes, just close the console. If the files list in your Explorer window doesn't show the new extensions, press F5 to refresh it.

When this is done, there's just one more step to go. There are two more theaters that need icons, but their palette is thankfully the same as that of Temperate, so we can just use copies of those icons. So make two copies of your folder with .tem files, and use the same method to rename them to respectively ".win" and ".sno".

Then, put each batch of icons in the correct theater mixfile (dese/temp/wint/snow + "iukr.mix"), and add the icons mixfile line into your language control file:

MIXIcnh=iukr.mix

That's it. Make sure to include the icon mixfiles in your tests from now on, because I think the game will crash if you add that line in the language ini but it can't actually find the icons.

[edit]

By the way, I figured out what made the briefings mess up before. The file with my original briefings already contained those line break errors. I'm in the process of rewriting the entire translation guide and updating all the included files, so problems like this will no longer occur in future translation.

I am very grateful to you for being my guinea pig beta tester for this whole process :D

Link to comment
Share on other sites

I finished rewriting the translation guide. The document is totally rewritten in RTF format, with specific added pointers on conversion and editing based on the experiences we've had here.

It now also includes all required files and tools (except XCC Mixer), in folders prefixed with the chapter numbers from the document.

http://nyerguds.arsaneus-design.com/cnc95upd/cc95p106/language/adding_a_language_2017.zip

There are a few extras in there which we haven't covered here, like the multiplayer score WSA, and the attract.cps file. I also included detailed information on the EVA and unit voices.

Link to comment
Share on other sites

The new guide is great! Glad to have served as a test subject - everything to further our progress as a species :D

 

I also appreciate all the additional information regarding video editing! :)

 

I'm still trying to take care of the sidebar icons. Everything works great in the first couple of GDI and NOD missions - the icons look correct. However, nearly every single multiplayer map I've tried makes them look like this:

 

ERROR.jpg

 

I followed your instructions to the letter, so... I've got no idea what went wrong here O_o

 

Perhaps you could try to convert my images on your end? I'll handle the renaming and packing myself, it's just the conversion that could have gone wrong here, as far as I can tell. Why? No idea! I'm attaching the images to this post.

 

Iran

 

Romanians use Latin. People in the so-called "Transnistria" use Cyrillic alphabet to write in Romanian, which looks... weird. Imagine Spanish written in Cyrillic. Croatian mostly uses Latin, Serbian mostly uses Cyrillic, although I suspect both Croatian and Serbian speakers are capable of using Latin and Cyrillic equally well.

Link to comment
Share on other sites

Note in advance: you can get good screenshots in C&C95 (thanks to cnc-ddraw, which is installed as part of the 1.06 patch) simply by pressing ctrl+s ingame. It's always handier if the screenshots you post are not jpg, since it blurs out small details. And you can just attach the screenshots to the forum here :)

As for your icons, they seem pretty damaged. About half of them have their colour palette optimised (which destroys the indexing the game needs), and the other half is converted to high colour.

This is probably caused by the program you used to edit them. What do you use? I advise using Gimp, though you have to put the user interface in Gimp to single-window mode, or it's a mess of little floating windows.

By the way, the original font for the icons has a black shadow at the right side of it. Your icons are missing that.

I could do them for you, but then I do need one thing: a text file in which you put the name of each icon (well, the part before the "icnh" will do), and the text you put on that icon, including how you abbreviated it (like, "cycl Метал. паркан"). With that I can probably finish them in about an hour using the font editor's previewer and Gimp. I'd just type them myself, but, you know, my keyboard doesn't have those symbols :P
(I could look them all up by looking up the English names in the English strings file, then going to that number in your version, and then checking how you abbreviated them on the actual icons, but that would take a really long time :boring:)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...