translate kolibri

Post here questions, problems and suggestions in English language
  • Mhm, I'm afraid I'll not be able to translate this program, if you say, for example at the beginning "car" to eliza, she tells you "OH, DO YOU LIKE CARS", and I searched the word "car" in the source code, but I only found

    Code: Select all

    rep28a: db  "OH, DO YOU LIKE CARS?",0
    rep28b: db  "MY FAVORITE CAR IS A LAMBORGINI COUNTACH. WHAT IS YOUR FAVORITE CAR?",0
    rep28c: db  "MY FAVORITE CAR COMPANY IS FERRARI.  WHAT IS YOURS?",0		
    
    which are some replies that eliza is able to give if she talks about cars, I have no idea how she is able to determine how I've written the word car since there is apparently nothing for me to translate...

    OK, I have translated Freecell, there is only a bug as you can see in the image i uploaded, and I would prefer to fix it befor submitting the code.
    Attachments
    Schermata.png
    Schermata.png (924 Bytes)
    Viewed 4795 times
  • There is word "CAR" in "OH, DO YOU LIKE CARS?".
    About Freecell: it seems that you have to fix text output (like in C4).
    Btw, I hope someone (or I) will add instructions about new cool macros, which allows to use UTF-8 in source files.
  • In freecell.asm:
    Spoiler:

    Code: Select all

    ; ..................
    
        mov     eax, 4
    if lang eq it
        mov     ebx, 7 shl 16 + 22 + topbuttonsbarheight/2 - 4
    else		
        mov     ebx, 20 shl 16 + 22 + topbuttonsbarheight/2 - 4
    end if
        mov     ecx, [syscolors.work_button_text]
        mov     edx, new_game
        mov     esi, new_game_len
        mcall
    
    ; ..................
    
    ; <--- initialised data --->
    if lang eq ru
      title db 'Солитер',0
    
      new_game: db "Новая игра"
      new_game_len = $ - new_game
    
      exit: db "Выход"
      exit_len = $ - exit
    
      s: db "10"
    
    else if lang eq it
    
      title db 'Freecell',0
    
      new_game: db "Nuova partita"
      new_game_len = $ - new_game
    
      exit: db "Esci"
      exit_len = $ - exit
    
      s: db "10"
    
    
    else
    
      title db 'Freecell',0
    
      new_game: db "New game"
      new_game_len = $ - new_game
    
      exit: db "Exit"
      exit_len = $ - exit
    
      s: db "10"
    end if
    In build_it.bat:
    Spoiler:

    Code: Select all

    @echo lang fix it >lang.inc
    @fasm freecell.asm freecell
    @erase lang.inc
    @pause
  • SoUrcerer wrote:There is word "CAR" in "OH, DO YOU LIKE CARS?".
    Yes, this is one of the response of eliza, and I have translated it, the problem is that I ca not figure out where in the source code eliza reads what I've written and get the word car...


    @0CodErr
    thank you
  • how do you compile checkers? I get this output using the makefile

    Code: Select all

    g++ -c checkers.cpp
    In file included from checkers.cpp:250:0:
    player.h:53:27: error: default arguments are only permitted for function parameters
    checkers.cpp: In member function ‘int TPlayArray::OpenFile(const char*, int)’:
    checkers.cpp:529:37: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:530:48: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp: In constructor ‘TMainDraw::TMainDraw()’:
    checkers.cpp:797:57: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp: In member function ‘void TMainDraw::InitButton()’:
    checkers.cpp:854:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:855:31: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:856:33: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:858:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:859:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:861:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:865:33: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:867:32: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:871:40: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:873:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:874:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:875:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:876:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:877:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    checkers.cpp:880:31: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
    In file included from checkers.cpp:250:0:
    player.h: In instantiation of ‘tvalue TBaseCompPlayer<tvalue>::FindBMove(TBaseCompPlayer<tvalue>::Z&, int, TBaseCompPlayer<tvalue>::PMvv*, int, tvalue, tvalue) [with tvalue = long int]’:
    player.h:879:3:   required from ‘int TBaseCompPlayer<tvalue>::Move(TChPlayer::PMv&) [with tvalue = long int; TChPlayer::PMv = PlayWrite::PMv]’
    checkers.cpp:1352:1:   required from here
    player.h:789:25: error: too few arguments to function
    make: *** [checkers.o] Error 1
    
    and the compile.txt file is written (i think) in russian, so I'm not able to get further informations
  • 1. Kolibri
    You need Borland C++ and FASM 1.64 (NOT newer)
    cpp2asm.bat will compile C++ to tasm, then convert tasm to fasm.
    Then you need to add Kolibri header to f_checkers.asm

    2. Linux
    Type "make". It should works, but if not you have to fix it somehow.

    3. DOS/Windows
    You'll need Borland C++. You need to add checkers.cpp to project. In Windows you need to add win-chk.rc. For DOS you need to link it to egavga.bgi
    I don't sure if it is about cross-compiling, or "Windows", "Linux" and "Kolibri" are target OSes for this code, so I suggest to use first way. Obviously, it's for cross-compiling from DOS/Windows/DosBox.
  • If I were you I would have focused in translation system applications first of all.
  • Thanks for the translation, I forgot to mention, I use GNU/Linux, and I tried compiling it using make and I got all this warnings and some errors, I have no idea how to fix them.

    I can't crosscompile it if also windows is needed, since I do not have a windows license.
    If I were you I would have focused in translation system applications first of all.
    It's not that bad as idea, the problem is I have no idea about assembly, fasm, c-- and other languages (I have only programmed in C, delphi, java and a little of c++, and I've only done simple programs).

    I noticed that most of the games where "small" programs, only one source code file per program, with some exceptions of course.

    I'll give a look to the system applications.
  • edit:

    for example, I'm looking now at the source code of the browser (folder cmm/browser). It's written in c--, and I have no clue how to compile it (I remeber that I searched a compiler under debian or GNU/Linux, I've also found the homepage of the c-- project (http://www.cminusminus.org/), but I've not understood anything.
    Second problem, how should I include the multilanguage support? Using the lang.inc files as in the games?

    I also thought in c-- there would have been something like prntf, as in c and c++, i guess I'm wrong since I was not able to find anything, but, for example, in the file cmm/browser/include/menu_rmb.h, there is the following structure:

    Code: Select all

    char *ITEMS_LIST[]={
    //"Old HTMLv        F12",255,
    "View in Tinypad   F3",52,
    "WIN               F5",54,
    "DOS           Ctrl+D",04,
    "KOI           Ctrl+K",11,
    "UTF           Ctrl+U",21,
    "Line breaks ON"      ,03,
    "Free image cache"    ,02,
    //"TrueType fonts"      ,05,
    0}; 
    
    should I define another structure? or should I put an if-else inside the structure?


    Maybe there are some simpler system programs to translate, if someone knows them please let me know!
  • You have to use wine in order to compile C-- software with Sphinx C--. But I suggest you not to translate HTMLv - it's pretty complicated right now. Better look at /programs/system. Also, you'd better use new cool UTF macroses :3 Although I didn't tried them yet, and therefore can't tell you how to use them :(
  • Wine could be a good idea, I'll search something about it.
    You are right, I've already translated something under the folder /system, I've again a problem with the legth of the strings, like before, problem is, again, I have no idea how the code works, so please help me ;-)
    Attachments
    Schermata.png
    Schermata.png (3.62 KiB)
    Viewed 4856 times
  • o_O What is this? I know nothing about this program. But it seems that
    1) It is obsolete
    2) It is have something wrong with label positions - again
  • fedesco wrote:I have no idea how the code works, so please help me
    To make it easier to help you - you have to show your code here.

    P.S. This program was written by me, but for a long time is already possible to open and close the tray in KFM and KFAR.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • @SoUrcerer
    I've found this program in system/cd_tray, and the labels are wrong because in italian the words are longer, the english version of this program is fine.

    @Mario_r4
    The only code I changed where the labels adding an if-else structure with a lang variable, do you want me to post them?
    Problem is, I have no idea how the labels are defined (I'm not an assembly programmer), should I post source code of the whole program?
  • Who is online

    Users browsing this forum: No registered users and 8 guests