OpenPapyrus icon indicating copy to clipboard operation
OpenPapyrus copied to clipboard

What font does it support?

Open minhtri22 opened this issue 6 years ago • 65 comments

font I used windows 10 64bit

minhtri22 avatar Dec 26 '18 14:12 minhtri22

O! It is awfull :) We have an experimental iterface translated to english. And will include it in release in nearest time specialy for you as soon as you the first who have asked about it. Thank you for interisting. You are seeing now native russian interface in windows-1251 codepage.

papyrussolution avatar Dec 27 '18 05:12 papyrussolution

Thank you for your reply. Btw, is there any language packages to localize?

minhtri22 avatar Dec 27 '18 05:12 minhtri22

For those who need to display font correctly like me font-3

f-2 Enjoy!

minhtri22 avatar Dec 27 '18 09:12 minhtri22

ppifc_i_c_not_found Hello,

Compiling (GIT version) gives three errors. Can’t find files: ppifc_i.c and ppifc_i.h

My configuration: Windows 10, X86, Vs2017, MSI laptop

If Setting “Beta Use Unicode for worldwide language support” switch then it will give 772 compiling errors.

We have an experimental iterface translated to english. And will include it in release in nearest time specialy for you as soon as you the first who have asked about it.

Can I get the English translated version of Openpapurus? Maybe I can translate it to Dutch too :-)

Greetings Jan Marco

jmalkema avatar Apr 30 '19 06:04 jmalkema

Hello. Thank you for attention. I'll try to reproduce the problem and answer a bit later.

papyrussolution avatar Apr 30 '19 07:04 papyrussolution

I have put subdir \BASE\INIT_DL6\ into the repository. This problem has been resolved (do 'git pull'), But there will be probably other ones. Before building it'll be good to install OpenPapyrus-Server into directory OpenPapyrus\ppy and then OpenPapyrus-Client (both are in Releases). I'll write by the way short build-instruction in few days. It seems that the translation need to be forced :(

papyrussolution avatar Apr 30 '19 07:04 papyrussolution

Thanks, Compiled (X86) github version works :-) Openpapyrus_screendump_github_compiled_version_01

jmalkema avatar Apr 30 '19 10:04 jmalkema

There was the solving of this problem above (https://github.com/papyrussolution/OpenPapyrus/issues/6#issuecomment-450111694).

papyrussolution avatar Apr 30 '19 11:04 papyrussolution

There was the solving of this problem above (#6 (comment)).

If I want to compile with "Beta_Use_Unicode UTF8 for worldwide language support" I get errors:

Screendumpvs2017_with_beta_use_unicode_on_for_worldwide_language_support

Is work around to compile without Beta_Use_Unicode_UTF8 and put Beta_Use_Unicode_UTF8 on, reboot computer. Then execute program?

jmalkema avatar Apr 30 '19 12:04 jmalkema

This is the result from compile without Beta_Use_Unicode_UTF8 and I selected button Beta_Use_Unicode_UTF8 after compile/link, reboot computer. After reboot I execute the program (ppw.exe).

openpapyrus_with_beta_unicode_set_for_worldwide_language_support

jmalkema avatar Apr 30 '19 16:04 jmalkema

изображение

papyrussolution avatar May 01 '19 06:05 papyrussolution

изображение

papyrussolution avatar May 01 '19 06:05 papyrussolution

These 2 pictures are to resolve problem with list font

papyrussolution avatar May 01 '19 06:05 papyrussolution

What are your international settings (language)? I'll try to reproduce the problem at my comp.

papyrussolution avatar May 01 '19 06:05 papyrussolution

These 2 pictures are to resolve problem with list font

I can't find the windows of the two pictures. I can't read Russian language.

What are your international settings (language)? I'll try to reproduce the problem at my comp. russian_language_selection

I can install Russian (Windows 10) language package. Would that solve the problem?

jmalkema avatar May 01 '19 13:05 jmalkema

I put compiler (language) switch as POC: sdate_language_specification N.B. I use Google translate.

jmalkema avatar May 02 '19 10:05 jmalkema

Good day. I shall launch this night autotranslation to english and netherland languages. It'll translate the big deal of text. If all be ok then tomorrow or the second day i put results to github and you will be able to test it. This action does not allow to use system by foreign people directly, but will be the first real step toward this.

papyrussolution avatar May 02 '19 11:05 papyrussolution

Hey guys, long time not come back with this project. How about it so far?

minhtri22 avatar May 07 '19 07:05 minhtri22

Good evening.

I shall launch this night autotranslation to english and netherland languages.

Perfect.

t'll translate the big deal of text.

Excellent.

If all be ok then tomorrow or the second day i put results to github and you will be able to test it.

Are languages translations Ok? 

Greetings Jan Marco

jmalkema avatar May 09 '19 19:05 jmalkema

Hello, jmalkema and minhtri22! I had done it. Translation to en and nl works. But the quality of the translation is very very poor :( That is for experimental purpose only. To run with use the command line option /uilang:en or /uilang:nl (ppw.exe /uilang:en) Release with this option isn't still assembled (codes are there - in github), but will be ready at sunday night.

papyrussolution avatar May 10 '19 06:05 papyrussolution

I had done it. Translation to en and nl works.

I am very happy with the result. :-)

But the quality of the translation is very very poor :(

I think there are two aspects:

  1. I think there is static Russian text code still. How to change these static code in desired langues.
  2. Improve manual the (automatic) translated langues texts.

That is for experimental purpose only.

I like to do experimental tests.

To run with use the command line option /uilang:en or /uilang:nl (ppw.exe /uilang:en)

Both (ppw.exe /uilang:en) and (ppw.exe /uilang:nl) works. :-) openpapyrus_screendump_nederlands_01

jmalkema avatar May 10 '19 13:05 jmalkema

I selected button Beta_Use_Unicode_UTF8 -> reboot computer -> I get the compile errors on (the next) source lines:

sdate.cpp: static const char * monthNames[NUM_MONTHES] = { static const char * P_WeekDays = { pBuf[2] = '�'; rBuf.Trim(2).CatChar('�');

stype.cpp // {MKSTYPE(S_UINT, 1), "uint8,uchar", "����� ��� �����"}, // {MKSTYPE(S_UINT, 2), "uint16,unsigned short", "����� ��� �����"}, // {MKSTYPE(S_UINT, 4), "uint32,ulong,uint,unsigned long,unsigned int", "����� ��� �����"}, // {MKSTYPE(S_FLOAT, 4), "float", "�����"}, // {MKSTYPE(S_FLOAT, 8), "real,double,N", "�����"}, // {MKSTYPE(S_FLOAT, 10), "long double", "�����"}, // {T_DATE, "date,LDATE,D", "����"}, // {T_TIME, "time,LTIME,T", "�����"}, // {T_BOOL, "boolean,bool,logical", "����������"}

sc_ggrp.cpp WaitPercent(pFn, ++recno, numrecs, "������� ����������� �������� �����");

sc_order.cpp //WaitPercent(pFn, recno+1, stat.NumRecs, "������ ����������"); //WaitPercent(pFn, recno+1, stat.NumRecs, "������ ����� ����������"); //WaitPercent(pFn, recno+1, stat.NumRecs, "������ ��������������");

sc_cli.cpp WaitPercent(pFn, recno, numrecs, "������� ����������� ��������"); //WaitPercent(pFn, recno+1, stat.NumRecs, "������ ����� ��������������"); //WaitPercent(pFn, i+1, TempList.getCount(), "������� �������� ����������");

sc_todo.cpp WaitPercent(pFn, i+1, IdAsscList.getCount(), "������� ������� ����������"); //WaitPercent(pFn, recno, numrecs, "������� ���������� ������");

sc_goods.cpp //WaitPercent(pFn, recno, numrecs, "������� ����������� �������"); WaitPercent(pFn, recno, numrecs, "������� ����������� �������");

stcp.cpp temp_buf.Z().Cat("������� �����").Space().CatChar('<').Cat("[email protected]").CatChar('>').Transf(CTRANSF_OUTER_TO_UTF8); //temp_buf.Z().Cat("������� �����").Space().CatChar('<').Cat("[email protected]").CatChar('>'); //temp_buf.Comma().Cat("������� �������").Space().CatChar('<').Cat("[email protected]").CatChar('>'); //temp_buf.Z().Cat("�������� ������ ��� �������� ������������ ������������ ���������. ���!").Transf(CTRANSF_OUTER_TO_UTF8);

Amc100.cpp // buf[1] = '�'; // buf[2] = '�'; // buf[3] = '�'; // buf[4] = ' ';

Nmbtotxt.cpp static const char * zero_word = "����";

Synccash.cpp // THROW(ArrAdd(Arr_In, DVCPARAM_TEXT, (flags & PRNCHK_RETURN) ? "������� �������" : "�������"));

palmexch.cpp //WaitPercent(pFn, crecno+1, stat.NumRecs, "������ ������ ������");

ie_goods.cpp // TempBuf.ReplaceChar('�', '�'); // TempBuf.ReplaceChar('�', '�');

BnkSberbank.cpp // {SBRBNK_ERR_99, "��������� ������� � ��������, ���� ���������� ������� ��������� ���-����"}, // {SBRBNK_ERR_361, "��������� ������� � ����� �����. ��� �� ��������. ���� ���������� ������� ����� �������"}, // {SBRBNK_ERR_362, "��������� ������� � ����� �����. ��� �� ��������. ���� ���������� ������� ����� �������"}, // {SBRBNK_ERR_363, "��������� ������� � ����� �����. ��� �� ��������. ���� ���������� ������� ����� �������"}, // {SBRBNK_ERR_364, "��������� ������� � ����� �����. ��� �� ��������. ���� ���������� ������� ����� �������"}, // {SBRBNK_ERR_403, "������ ������ ��� ����� ���� (��������)"}, // {SBRBNK_ERR_518, "�� ��������� ����������� �������� ����"}, // {SBRBNK_ERR_521, "�� ����� ������������ ������� (��������)"}, // {SBRBNK_ERR_2000, "�������� �������� �������� ������� ������. ������ ��������� ������� � �� ��������� ��������������� ������ ������, � �� ��������� ��� ��� ��������� ������"}, // {SBRBNK_ERR_2002, "������ ������� ����� ������ ���. ����� �������"}, // {SBRBNK_ERR_4100, "��� ����� � ������ ��� ��������� ��������. ��������, �� ��������� ������� ����� �������� ���� ������� � ��������� ��� ��������� ��������"}, // {SBRBNK_ERR_4101, "����� ��������� �� ����������������"}, // {SBRBNK_ERR_4102, "����� ��������� �� ����������������"}, // {SBRBNK_ERR_4103, "������ ������ � ����� �����"}, // {SBRBNK_ERR_4104, "������ ������ � ����� �����"}, // {SBRBNK_ERR_4108, "����������� ������ ��� �������� ����� �����"}, // {SBRBNK_ERR_4110, "��������� ���������������� ����� ��������� (��������)"}, // {SBRBNK_ERR_4115, "������ ���� ��� ����� ���� ��������"}, // {SBRBNK_ERR_4116, "������� �������� 4 ��������� ����� ������ �����"}, // {SBRBNK_ERR_4117, "������ ��������� �� ����� ����"}, // {SBRBNK_ERR_4119, "��� ����� � ������"}, // {SBRBNK_ERR_4120, "� ������� ��� ����� KLK"}, // {SBRBNK_ERR_4121, "������ �������� ��������� ���������"}, // {SBRBNK_ERR_4122, "������ ����� ������"}, // {SBRBNK_ERR_4123, "�� ��������� ��� ��������� ������"}, // {SBRBNK_ERR_4124, "�� ��������� ��� ������-������"}, // {SBRBNK_ERR_4125, "�� ����� ���� ���, � ��������� ���� ��������� ������"}, // {SBRBNK_ERR_4131, "���������� ��� ������� ��-2, �� � ������� ��������� ��������� ���������� ������ ��� ������� (��������� ��� �������� �����)"}, // {SBRBNK_ERR_4132, "�������� ��������� ������"}, // {SBRBNK_ERR_4134, "������� ����� �� ����������� ������ ������ �� ���������"}, // {SBRBNK_ERR_4135, "��� SAM-����� ��� ���������� ������ (��������)"}, // {SBRBNK_ERR_4136, "��������� ����� ������ ������ �������� � �������"}, // {SBRBNK_ERR_4137, "������ ��� ��������� ����� ������ ����"}, // {SBRBNK_ERR_4139, "� ���������� ��������� ��� �� ������ �������� �����, ���������� ��� ��������� ��������"}, // {SBRBNK_ERR_4140, "������� ������� ����� ��� ��� ����������� � ������� SUSPEND �� �������� ���������"}, // {SBRBNK_ERR_4143, "�� ��������� ������� ������ ����-����"}, // {SBRBNK_ERR_4144, "�������� ������ ����-����� �� ���������"}, // {SBRBNK_ERR_4145, "�������� ������ ����-����� �� ���������"}, // {SBRBNK_ERR_4146, "�������� ������ ����-����� �� ���������"}, // {SBRBNK_ERR_4147, "�������� ������ ����-����� �� ���������"}, // {SBRBNK_ERR_4148, "����� � ����-�����"}, // {SBRBNK_ERR_4149, "�� ����� ��� ������� ���������"},

// {SBRBNK_ERR_4203, "�� ��������� ��� �������� ��� ��������� ��� ��������� ��������"}, // {SBRBNK_ERR_4208, "������ ��������� ��������: �� ������� �� ����������� �����-���� ������ ��� ������� ���������"},

// {SBRBNK_ERR_4300, "������������ ���������� ��� ������� ������ sb_pilot. � ��������� ������ ������� �� ��� ��������� ���������"}, // {SBRBNK_ERR_4301, "�������� ��������� �������� � UPOS ������������ ��� ��������"}, // {SBRBNK_ERR_4302, "�������� ��������� �������� � UPOS ������������ ��� �����"}, // {SBRBNK_ERR_4303, "��� �����, ���������� �� �������� ���������, �� �������� � ���������� UPOS"},

// {SBRBNK_ERR_4306, "���������� sb_kernel.dll �� ���� ����������������"}, // {SBRBNK_ERR_4309, "�������� ������"}, // {SBRBNK_ERR_4310, "�������� ��������� �������� � UPOS ������������ ����2"},

// {SBRBNK_ERR_4314, "�������� ��������� �������� ��� �������� ������� �� ������������� �����, � ��������� ���� ����� ��������"}, // {SBRBNK_ERR_4332, "������ ������ �� ���������"}, // {SBRBNK_ERR_4333, "����������� ����������� ����� ����������"},

// {SBRBNK_ERR_4335, "����� �� ������� ��� �������� ����� �����"}, // {SBRBNK_ERR_4336, "�� �������� ��������� ������� �������� ��� ������"}, // {SBRBNK_ERR_4338, "������� �������� �� ����� ��������, �� ��������� ����� �������� �� �������"}, // {SBRBNK_ERR_4339, "������� ������������ �������� �� ����� ��������"}, // {SBRBNK_ERR_4340, "������ ���������� ���������� ����� ��������"}, // {SBRBNK_ERR_4341, "������� �������� �� ����� ��������, �� ��������� ����� ������� ����, ���� �� ��������� �������"}, // {SBRBNK_ERR_4404, "�������� ������� ������ �����"}, // {SBRBNK_ERR_4407, "�������� ������� ������ �����"}, // {SBRBNK_ERR_4419, "�� ������� ���������� ������������ ������"}, // {SBRBNK_ERR_4441, "�������� ������� ������ �����"},

// {SBRBNK_ERR_4451, "�� ����� ������������ �������"}, // {SBRBNK_ERR_4454, "����� ����������"},

// {SBRBNK_ERR_4457, "�������� �� ��������� �� ��������, ��������� � ������"}, // {SBRBNK_ERR_4458, "�������� �� ��������� �� ��������, ��������� � ���������� ���������"}, // {SBRBNK_ERR_4468, "�� ������� ���������� ������������ ������"}, // {SBRBNK_ERR_4475, "������ ������ ������ ��� ����� ����, � ������ �� ������������"}, // {SBRBNK_ERR_4496, "�������� ��������� ���������"}, // {SBRBNK_ERR_4497, "�� ������� ���������� ������������ ������"}, // {SBRBNK_ERR_4498, "�������� ��������� ���������"},

// {SBRBNK_ERR_5000, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5001, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5002, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5003, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5004, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5005, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5006, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5007, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5008, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5009, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5010, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5011, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5012, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5013, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5014, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5015, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5016, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5017, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"}, // {SBRBNK_ERR_5018, " �������� ��������� ��������� ��� �������� ������ �� ���� �����"},

ReversK2.cpp static PPDrvSession::TextTableEntry _ErrMsgTab[] = { NULL, // { K2ERR_OPENPORTFAILED, "������ �������� �����" }, // { K2ERR_WRITEPORTFAILED, "������ ������ � ����" }, // { K2ERR_CONTROLPORTFAILED, "������ �������� ������������ ���� � ����" }, // { K2ERR_MEMERR, "������ ��������� ������" }, // { K2ERR_GETADDRFAILED, "������ ��������� ������ �����������" } };

ppdrvapi.cpp { ; //DefineErrText(PPBaseDriver::serrNotInited, "��������� �������� �� ���������������"); //DefineErrText(PPBaseDriver::serrInvCommand, "������������ �������"); // DefineErrText(PPBaseDriver::serrNoMem, "������������ ������"); // DefineErrText(PPBaseDriver::serrNotEnoughRetBufLen, "������������ ������ ������ ������������� ����������"); }

ImpExpExite.cpp //#define ELEMENT_NAME_�516 "C516" ErrMessage ErrMsg[] = { /* {IEERR_SYMBNOTFOUND, "������ �� ������"}, {IEERR_NODATA, "������ �� ��������"}, {IEERR_NOSESS, "������ � ����� ������� ���"}, {IEERR_ONLYBILLS, "Dll ����� �������� ������ � �����������"}, {IEERR_NOOBJID, "������� � ����� ��������������� ���"}, {IEERR_IMPEXPCLSNOTINTD, "������ ��� �������/�������� �� ���������������"}, {IEERR_FTP, "������ FTP"}, {IEERR_IMPFILENOTFOUND, "���� ������� �� ������: "}, {IEERR_INVMESSAGEYTYPE, "�������� ��� ���������. ��������� "}, {IEERR_NOCFGFORGLN, "��� ������ ���� �������� ��� �������� ������������ ��� ������������ � GLN "}, {IEERR_NULLWRIEXMLPTR, "������� xmlWriter"}, {IEERR_NULLREADXMLPTR, "������� xmlReader"}, {IEERR_XMLWRITE, "������ ������ � xml-����"}, {IEERR_XMLREAD, "������ ������ �� xml-�����"}, {IEERR_TOOMUCHGOODS, "����� �������, ���������� � ����� �������, ������ ��������� �� ����������"}, {IEERR_MSGSYMBNOTFOUND, "������ �� ������ (������ ���� �������� �������/��������)"}, {IEERR_ONLYIMPMSGTYPES, "�������� ������� �������� ������ � ������ ������ ORDRSP, DESADV � APERAK"}, {IEERR_ONLYEXPMSGTYPES, "�������� �������� �������� ������ � ������ ������ ORDER, RECADV"}, {IEERR_NOEXPPATH, "�� ���������� ���������� ��� ����� ��������"}, {IEERR_TTNNEEDED, "�������� �� ������. ���������� ������� ���. ��������: "}*/

EmMarine.cpp static PPDrvSession::TextTableEntry _ErrMsgTab[] = { { RDRERR_OPENPORTFAILED, "������ �������� �����" }, { RDRERR_WRITEPORTFAILED, "������ ������ � ����" }, { RDRERR_READPORTFAILED, "������ ������ �� �����" }, { RDRERR_NOREPLY, "���������� �� ��������" }, { RDRERR_INVREPLY, "�������� ����� ����������" } };

ImpExpLeraData.cpp #define ELEMENT_NAME_�516 "C516" ErrMessage ErrMsg[] = { {IEERR_SYMBNOTFOUND, "������ �� ������"}, {IEERR_NODATA, "������ �� ��������"}, {IEERR_NOSESS, "������ � ����� ������� ���"}, {IEERR_ONLYBILLS, "Dll ����� �������� ������ � �����������"}, {IEERR_NOOBJID, "������� � ����� ��������������� ���"}, {IEERR_IMPEXPCLSNOTINTD, "������ ��� �������/�������� �� ���������������"}, {IEERR_FTP, "������ FTP"}, {IEERR_IMPFILENOTFOUND, "���� ������� �� ������: "}, {IEERR_INVMESSAGEYTYPE, "�������� ��� ���������. ��������� "}, {IEERR_NOCFGFORGLN, "��� ������ ���� �������� ��� �������� ������������ ��� ������������ � GLN "}, {IEERR_NULLWRIEXMLPTR, "������� xmlWriter"}, {IEERR_NULLREADXMLPTR, "������� xmlReader"}, {IEERR_XMLWRITE, "������ ������ � xml-����"}, {IEERR_XMLREAD, "������ ������ �� xml-�����"}, {IEERR_TOOMUCHGOODS, "����� �������, ���������� � ����� �������, ������ ��������� �� ����������"}, {IEERR_MSGSYMBNOTFOUND, "������ �� ������ (������ ���� �������� �������/��������): "}, {IEERR_ONLYIMPMSGTYPES, "�������� ������� �������� ������ � ������ ������ ORDRSP, DESADV � APERAK"}, {IEERR_ONLYEXPMSGTYPES, "�������� �������� �������� ������ � ������ ������ ORDER, RECADV"}, {IEERR_NOEXPPATH, "�� ���������� ���������� ��� ����� ��������"}, {IEERR_TTNNEEDED, "�������� �� ������. ���������� ������� ���. ��������: "}, {IEERR_PAYFIRST, "������ � ����������� LeraData �������� ����������"} };

xmlTextWriterStartElement(P_XmlWriter, (const xmlChar *)ELEMENT_NAME_�516); xmlTextWriterStartElement(P_XmlWriter, (const xmlChar *)ELEMENT_NAME_�516);

BnkIngenicoSPDH.cpp ErrMessage ErrMsg[] = { //{INGVTB_NOTENOUGHPARAM, "�� ���������� ���������� ��� ������ ����������"}, //{INGVTB_UNCNKOWNCOMMAND, "�������� ����������� �������"}, //{INGVTB_NOTINITED, "������ �������������"}, //{INGVTB_NOTCONNECTED, "���������� �� �����������"}, //{INGVTB_NOTENOUGHMEM, "�� ����������� ������ ��������� ������"}, //{INGVTB_DLLFILENOTFOUND, "���� arccom.dll �� ������"}, //{INGVTB_INIFILENOTFOUND, "���� cashreg.ini �� ������"}, //{INGVTB_CHECKFILENOTFOUND, "���� check.out �� ������"}, //{INGVTB_NODLLPATH, "�� ������ ���� � ����� arccom.dll"} };

prcpan.cpp else if(tb.Cmp("PRCREST", 0) == 0 || tb.Cmp("���", 0) == 0 || tb.Transf(CTRANSF_INNER_TO_OUTER).Cmp("���", 0) == 0)

		else if(tb.Cmp("PRCFONT", 0) == 0 || tb.Cmp("�����", 0) == 0 || tb.Transf(CTRANSF_INNER_TO_OUTER).Cmp("�����", 0) == 0)
		

txtanlz.cpp context_buf.Z().CatChar('@').CatEq("kws", wb_rec.Symb).Semicol().CatEq("locn", "���������");

pptest.cpp (msg_buf = "��������� �������� ����������").Transf(CTRANSF_OUTER_TO_INNER);

sartre_imp if(temp_buf.NotEmpty()) { if(temp_buf == "�����") rForm.SetTag(SRWG_ADJCMP, prev_compr = SRADJCMP_COMPARATIVE); else { .. else if(temp_buf == "����") rForm.SetTag(SRWG_ADVERBCAT, SRADVCAT_INTERROGATIVE); else if(temp_buf == "�����") rForm.SetTag(SRWG_ADVERBCAT, SRADVCAT_RELATIVE); else if(temp_buf == "������") rForm.SetTag(SRWG_ADVERBCAT, SRADVCAT_POINTING); else if(temp_buf == "0") rForm.SetTag(SRWG_INVARIABLE, 1); else if(temp_buf == "���") rForm.SetTag(SRWG_LOCAT, 1); else if(temp_buf == "���") rForm.SetTag(SRWG_ERROR, 1);

tsessdlg.cpp const char * p_days_word[] = { "days", "day", "d", "����", "����", "�", "�����", "�����", "���" };

Objvatbk.cpp SXml::WNode n(pWriter, "������"); n.PutAttrib("�����", inn); // SXml::WNode n(pWriter, "������"); // n.PutAttrib("�����", inn); // n.PutAttrib("���", kpp); p_ledger_title = "����������"; p_ledger_line_title = "��������"; p_ledger_title = "���������"; p_ledger_line_title = "���������"; // SXml::WNode n_file(p_writer, "����"); // n_file.PutAttrib("������", id_file); n_file.PutAttrib("��������", left); n_file.PutAttrib("��������", "5.06"); // @v10.4.2 "5.04"-->"5.06"

const FiasAbbrEntry _FiasAbbrList[] = { { 1, "���������� �������", "����", 102, 0 }, { 1, "����", "����", 104, 0 }, { 1, "�������", "���", 105, 0 }, { 1, "�����", "�����", 107, 0 }, ..

ImpExpExite.cpp xmlTextWriterStartElement(P_XmlWriter, (const xmlChar *)ELEMENT_NAME_�516); //xmlTextWriterStartElement(P_XmlWriter, (const xmlChar *)ELEMENT_NAME_�516); //xmlTextWriterStartElement(P_XmlWriter, (const xmlChar *)ELEMENT_NAME_�516);

ImpExpKorus.cpp #define IEERR_WEBSERV�ERR 7 // ������ ���-�������. � ���� ������ ��������� �������� ���� WebSrevcErr

ErrMessage ErrMsg[] = {
{IEERR_SYMBNOTFOUND,		"������ �� ������"},
{IEERR_NODATA,				"������ �� ��������"},
{IEERR_NOSESS,				"������ � ����� ������� ���"},

. .

ImpExpLeraData.cpp xmlTextWriterStartElement(P_XmlWriter, (const xmlChar *)ELEMENT_NAME_�516);

jmalkema avatar May 10 '19 13:05 jmalkema

I'll convert this file to utf-8 (there is a number of source file in the project have been still not converted because of inner native strings).

papyrussolution avatar May 10 '19 14:05 papyrussolution

List of 27 files who have "utf-8" issues:

1:Amc100.cpp 2:BnkIngenicoSPDH.cpp 3:BnkSberbank.cpp 4:EmMarine.cpp 5:ie_goods.cpp 6:ImpExpExite.cpp 7:ImpExpKorus.cpp 8:ImpExpLeraData.cpp 9:Nmbtotxt.cpp 10:Objvatbk.cpp 11:palmexch.cpp 12:ppdrvapi.cpp 13:pptest.cpp 14:prcpan.cpp 15:ReversK2.cpp 16:sartre_imp 17:sc_cli.cpp 18:sc_ggrp.cpp 19:sc_goods.cpp 20:sc_order.cpp 21:sc_todo.cpp 22:sdate.cpp 23:stcp.cpp 24:stype.cpp 25:Synccash.cpp 26:tsessdlg.cpp 27:txtanlz.cpp

jmalkema avatar May 10 '19 19:05 jmalkema

Thanks. I'll help.

papyrussolution avatar May 11 '19 07:05 papyrussolution

There are Russion texts in ppw.rc file still:

Configuratie-ini-bestand

I looked for possible solutions. Maybe there are others :-)

A satellite DLL is a resource-only DLL that contains an application's resources localized for a particular language.

Creating a Resource-Only DLL A resource-only DLL is a DLL that contains nothing but resources, such as icons, bitmaps, strings, and dialog boxes. Using a resource-only DLL is a good way to share the same set of resources among multiple programs. It is also a good way to provide an application with resources localized for multiple languages (see Localized Resources in MFC Applications: Satellite DLLs). To create a resource-only DLL, you create a new Win32 DLL (non-MFC) project and add your resources to the project. The application that uses the resource-only DLL should call LoadLibrary to explicitly link to the DLL. To access the resources, call the generic functions FindResource and LoadResource, which work on any kind of resource, or call one of the following resource-specific functions: • FormatMessage • LoadAccelerators • LoadBitmap • LoadCursor • LoadIcon • LoadMenu • LoadString

Every language Dutch, English, Russian, Chinese, etc. has its own language dll.

I googled for "GetSystemDefaultUILanguage":

For MUI (Multiple User Interface) OS, a user can update his OS user language in Control Panel, Region and language options, Language. Following code is partially copied from VC7.1 appcore.cpp. It detects UI language, and stores a language list for loading later. LANGID CMultiLanguage::DetectUILanguage()

While the above code works for MUI OS, a user may change the default locale, not the UI language. The following code detects the user default language, not the UI language. LANGID CMultiLanguage::DetectLangID()

Use of CMultiLanguage::DetectUILanguage() and/or CMultiLanguage::DetectLangID() could help to auto detect the used (system/user/console) language. N.B. Maybe not need to give console parameter "/uilang:??".

Next gives link to Tortoisegit:

I will look to Tortoisegit. Maybe they have solved the languages problem in a feasible solution.

Greeting Jan Marco

jmalkema avatar May 12 '19 09:05 jmalkema

Hello, Jan. I haven't cope with all the list of files you post yesterday. But big deal of it is now done (the rested part i'll finish next week): removed 1:Amc100.cpp done 2:BnkIngenicoSPDH.cpp done 3:BnkSberbank.cpp done 4:EmMarine.cpp 5:ie_goods.cpp 6:ImpExpExite.cpp 7:ImpExpKorus.cpp 8:ImpExpLeraData.cpp done 9:Nmbtotxt.cpp 10:Objvatbk.cpp 11:palmexch.cpp done 12:ppdrvapi.cpp 13:pptest.cpp done 14:prcpan.cpp done 15:ReversK2.cpp done 16:sartre_imp 17:sc_cli.cpp 18:sc_ggrp.cpp 19:sc_goods.cpp 20:sc_order.cpp 21:sc_todo.cpp done 22:sdate.cpp done 23:stcp.cpp done 24:stype.cpp 25:Synccash.cpp 26:tsessdlg.cpp done 27:txtanlz.cpp

papyrussolution avatar May 12 '19 16:05 papyrussolution

Now about what connect with resources. The main deal of text is stored in \Src\Rsrc\Str\ppstr2.txt. This file is translated to other languages. I extracted existed russian strings from ppw.rc and will do my best to substitute them to meta-symbols (as it has been done for the most other strings). There are a bit more than 3000 such items.

papyrussolution avatar May 12 '19 16:05 papyrussolution

I haven't cope with all the list of files you post yesterday. But big deal of it is now done (the rested part i'll finish next week):

Perfect :-)

Now about what connect with resources. The main deal of text is stored in \Src\Rsrc\Str\ppstr2.txt. This file is translated to other languages. I extracted existed russian strings from ppw.rc and will do my best to substitute them to meta-symbols (as it has been done for the most other strings). There are a bit more than 3000 such items.

Your program is very rich of code and third party libraries . :-)

Make language in resoure files dynamic will take some time.

I am studing ppstr.txt code file a bit:

// PPSTR2.H // This file was generated by SC2C.EXE from 'D:\pinnode\server\OpenPapyrus\Src\Rsrc\Str\ppstr2.txt'

In holland you have same type of companies and same type of workers. Every Group( /set) could have different (popup) menu structure. Like farmers, carpenters, barbiers, etc.

Database Driven Dynamic Menu Control” for example, could help to customize main gui program to specific group of users:

Database Driven Dynamic Menu Control

Maybe you have advise about how best to customize to users (groups)?

jmalkema avatar May 17 '19 12:05 jmalkema

I (test) executed OpenCapyrus with and without 'Beta_Use_Unicode_UTF8' option switch. I looked to Productie -> MRP-tabel:

MRP_screens

There is a language issue with months names and weekdays I think also:

static const char * monthNames[NUM_MONTHES] = { //"Январ[ь|я]", "Феврал[ь|я]", "Март[|а]", "Апрел[ь|я]", "Ма[й|я]", "Июн[ь|я]","Июл[ь|я]", "Август[|а]", "Сентябр[ь|я]", "Октябр[ь|я]", "Ноябр[ь|я]", "Декабр[ь|я]" #ifdef USE_DUTCH_LANGUAGE "Januari[s|i]", "Februari[s|i]", "Maart[|a]", "April[s|i]", "Mei[y|i]" , "Juni[s|i]", "Juli[s|i]", "Augustus[|a]", "September[s|i]", "Oktober[s|i]", "November[s|i]", "December[s|i]" #elif USE_RUSSIAN_LANGUAGE "Январ[ь|я]", "Феврал[ь|я]", "Март[|а]", "Апрел[ь|я]", "Ма[й|я]", "Июн[ь|я]","Июл[ь|я]", "Август[|а]", "Сентябр[ь|я]", "Октябр[ь|я]", "Ноябр[ь|я]", "Декабр[ь|я]" #else "January[s|i]", "February[s|i]", "March[|a]", "April[s|i]", "May[y|i]" , "June[s|i]", "July[s|i]" , "August[|a]" , "September[s|i]", "October[s|i]", "November[s|i]", "December[s|i]" #endif };

static const char * P_WeekDays = { //"Monday,Mo,Понедельник,Пнд;Tuesday,Tu,Вторник,Вт;Wednesday,We,Среда,Ср;Thursday,Th,Четверг,Чтв;Friday,Fr,Пятница,Птн;Saturday,Sa,Суббота,Сбт;Sunday,Su,Воскресенье,Вскр" #ifdef USE_DUTCH_LANGUAGE "Monday,Mo,Maandag,Ma;Tuesday,Tu,Dinsdag,Di;Wednesday,We,Woensdag,Wo;Thursday,Th,Donderdag,Do;Friday,Fr,Vrijdag,Vr;Saturday,Sa,Zaterdag,Za;Sunday,Su,Zondag,Zo" #elif USE_RUSSIAN_LANGUAGE "Monday,Mo,Понедельник,Пнд;Tuesday,Tu,Вторник,Вт;Wednesday,We,Среда,Ср;Thursday,Th,Четверг,Чтв;Friday,Fr,Пятница,Птн;Saturday,Sa,Суббота,Сбт;Sunday,Su,Воскресенье,Вскр" #else //English "Monday,Mo,Monday,Mo;Tuesday,Tu,Tuesday,Tu;Wednesday,We,Wednesday,We;Thursday,Th,Thursday,Th;Friday,Fr,Friday,Fr;Saturday,Sa,Saturday,Sa;Sunday,Su,Sunday,Su" #endif };

jmalkema avatar May 17 '19 17:05 jmalkema