Does BUG need a translator?

I have committed the German and French translations provided by The Doc and Falc, respectively. Thanks for your help!
 
Oops, I missed a merge-conflict indicator. Fixed.

@Alerum - It seemed there were two sets of source help HTML files. Can they be made into one, or are they different in (not so) subtle ways?
 
There is one help file for BUG and one for BAT. The BAT help file contains all the BUG help files, as well as additional ones for BAT. Both are going to have to have some updating prior to the next release. IIRC the source for BAT doesn't have BUG help in it by default, and it has to be merged prior to compiling. The only other things I have up there is the online help file, which is the same thing as the .chm, but formated for online use.

BTW - Just a friendly reminder about having a link in the options screen to pull up the help files automatically.:)
 
I was referring to the "online" versus chm help source files, not BAT, but you mentioned those as well. So the formating is a little different? Cool.

Thanks for the reminder. I added it to the Features tracker so I won't forget.
 
Unfortunately, I've seen both cases occur although the width of the advisor isn't fully utilized.

Hi! I'm the one who made CDA pages :)

With my screen resolution (1280x1024), and with Italian version (even if now that we have changed almost all the text with icons, the language is no more so important), it doesn't happen at all, because all the column widths has been optimized for it :mischief:

But the good thing of CDA is the starting "C"... it is customizable, so you can increase or decrease the width of each column in each page to fit your desires. :goodjob:

Edit:
I see that you followed my advise before I gave it to you: amazing! :DD
 
That's exactly what I'll do. One bummer is that there is no master list of languages in Civ4 like you can get the list of all terrain types. Thus I will have to hard-code language 0 as English and 2 as German. No big deal, as I don't expect Firaxis to change the list or order any time soon. :)

The file is loaded when the screen is opened for the first time, btw.

But the language can't be read directly from the CivilizationIV.ini, where it is alrerady linked to a number? I fear this is a stupid question... :blush:
 
I got 820. Do I hear 840? Going once. Going twice. Sold for 820 to the gentleman in the white coat! :p

Edit: OMG I just clicked on your NOOOOO link. :lol: Nice!

Can i have some more? ;P
That 840 will be ok... or maybe 10 more... ;P

Ok, I managed to find words even for the 820, but if later (not a priority) you can give me 850, I'll be able to use better words :)

It is more important to get rid of that ugly vertical scrolling bar of which I speak in the bug list on SF... that is really stupid :D
 
But the language can't be read directly from the CivilizationIV.ini, where it is alrerady linked to a number?

The language is exposed in Python using

PHP:
CyGame().getCurrentLanguage()
This returns an int. Geez, I looked for the code that sets which item is selected in the language dropdown on the options screen, but did I bother to look for the code that puts those options into the dropdown in the first place? My oh my, somebody shoot me. :blush:

PHP:
		for i in range(CvGameText().getNumLanguages()):
			szKey = "TXT_KEY_LANGUAGE_%d" % i
			aszDropdownElements = aszDropdownElements + (localText.getText(szKey, ()),)
Looks like they are stored in the XML files. So I can just stuff the text into "CustomDomAdv_XXX.txt". That means the language name will be in the language itself. That might be a problem (international characters in filenames).

Instead, I'll just create tags in our own XML file using the ISO language codes: EN, FR, DE, IT, SP. Easy-peasy. That way I'll just let Civ4 translate the filename, in a sense, using the user's chosen language. Muy bien!
 
EF I gotta know... when did you start hacking BBSes?:p You think to much like a hacker to have learned legitly.:p So Elite d00d.:p

Sorry, don't know where that came from. Since the language is pulled from python, why couldn't we include "TXT_KEY_LANGUAGE_Russian?:p
 
Actually, I ran my own BBS back in '86/'87. I started coding in '82 on an Apple //e. Ahhh, those were the days. Learning assembly language out of a book . . .

Back then, coding on the Motorola 6502 microprocessor was a dream. Really, it was like a truly awful bad dream where monsters were chasing you, and you weren't wearing any pants.

Code:
DAMAGE_PER_HIT:
  0x0A                   ; 10 points per hit

HEALTH:
  0x64                   ; start with 100 health

GOT_HIT:
  ...
  PHA                    ; # of hits
  JSR   DO_DAMAGE
  PLA                    ; clear parameter
  ...

DO_DAMAGE:
  PLA                    ; ooh, parameter passing
  BEQ   DONE             ; no hits
  TAX
  LDA   HEALTH
CALC_DAMAGE:
  SEC
  SBC   DAMAGE_PER_HIT   ; that's right, no multiply operation!
  BEQ   DIED             ; died if == 0
  BCC   DIED             ; or < 0
  DEX                    ; loop
  BNE   CALC_DAMAGE
  STA   HEALTH
DONE:
  RTS

DIED:
  ...
Ya baby! Code was so legible back then, not like this crap we have in today's languages built for pansies! :lol:

PHP:
health -= numHits * DAMAGE_PER_HIT
if health <= 0:
  print "You died"
Weee! That was fun. :)

To answer your question, Alerum, I'll simply ask the game to give me the translation for the key TXT_KEY_CDA_FILENAME, and use the result as the name of the file. The thing is, I cannot get the English word "French" when the user has French selected as their language. Instead, I'll get Français, and I don't know how Python or Windows or SVN will like having a file name with a cedilla in it. I'd rather it just be "FR" and know it will work.

Edit: BTW, for the curious, here's the direct equivalent Python code to the assembly above. Note that you would never code like this in Python.

PHP:
DAMAGE_PER_HIT = 10
actualHealth = 100

  ...
  doDamage(numHits)
  ...

def doDamage(numHits):
  if numHits != 0:
    health = actualHealth
    while numHits != 0:
      health -= DAMAGE_PER_HIT
      if health == 0:
        died()
      if health < 0:
        died()
      numHits -= 1
    actualHealth = health
 
I ran my BBS (First on Wildcat! then on WWIV) in 92-95.;) And yes, coding back them seemed easier to me then now. Maybe it was because I used basic.:p Nothing wrong with GOTO or IF IMNSHO.:p Hex Values... wow, I haven't seen those in years.:p I used to hack games using a program called Game Wizard that would allow you to edit hex values in memory, then save them to a save game file.:) Nothing like having a level 12 Human Knight become a Level 32767 Elf Wizard. I started in 84 on a Comm64, then went to a PC in 88.... I was only 10 at the time though, so it was a bit of a learning curve for me... "load *.*, 8, 1" was a bit of a change from DOS 3.2... what the hell is a directory?!?! The first language I played around with was probably .bat files, that went to basic, and a bit of C++... then I stopped playing around with code, and was hooked on The Sierra Network. Wish I would have played aorund with coding a bit more... I'd rather have your job then mine.:p

Windows and SVN will handle the unsual character set. (I have file names in arabic on my Vista machine, without a hitch) but no idea on Python. SVN will handle anything you throw at it basically.
 
My friend had a C64 -- cool machine. :) Such fond memories of that time...

Granted that SVN should handle the crazy characters, it's easier to use ISO codes, and they are a standard. I'll start with that and we'll go from there. We could use English names or the actual foreign names.

Python can do Unicode, but it also does ASCII, and I'm not familiar with the rules yet. Some of the foreign characters in the XMLs I pasted in from Babelfish whereas Firaxis entered them all using the &#xxx; XML entity. Both work in Civ4, but that's in the file. I don't know what Python will do with a filename.
 
:gripe: will you guys please speak in english!!!
 
la, ya ma3feen. bass yala!!!

Next time I won't be so nice to transliterate it.:p

When did you start playing around with PCs Ruff? Are you an old-schooler nerd type, or did you jump on board post-96?
 
ahh leet - what a stupid invention. Anyway ... PCs and me ... ages ago. My first exposure to a program language was my older brother showing me a bit of code he was working on ...

Code:
x = x + 1

... and I, with my strong maths background, couldn't make sense of it ... I was approaching it from an algebra point of view. That is funny in hindsight.
 
Hmm, I didn't really think about it at the time, but I actually learned to program BASIC before I took Algebra. That probably helped a lot in my case. Math was always pretty easy, even before coding. But I remember people having a much harder time dealing with variables than I did. Now I know why -- I already knew about them.

But ya, "x = x + 1? No it doesn't! That's impossible." :) Reminds me of those math "tricks" that allow you to prove that 1 = 2 and such.
 
Back
Top Bottom