Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Promjena u regional settings (language) iz koda?

[es] :: Pascal / Delphi / Kylix :: Promjena u regional settings (language) iz koda?

[ Pregleda: 4275 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Promjena u regional settings (language) iz koda?04.06.2006. u 09:09 - pre 217 meseci
Bilo je sličnih tema, pretraživao sam...

Može li se iz koda promijeniti "language for non unicode programs" u Control Panelu,
ne na nivou sistema, nego samo za moj program, naravno bez restarta sistema,
jer je to čini mi se neophodno kad se inače mijenja u Control Panelu.
Znači, da nekako "zavaram" moj program i da on koristi sva podešavanja kao da je
podešen drugi language, a kad se program zatvori da u sistemu nema izmjena.
Pozdrav
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 09:44 - pre 217 meseci
Potraži AppLocale Utility na netu. Možda se problem koji imaš može rešiti na drugi način, pa bi bilo dobro da objasniš zašto ti zapravo ta opcija treba.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 11:10 - pre 217 meseci
Nisam se nadao ovako brzom odgovoru, sad ću da skinem AppLocale Utility
pa da probam, a evo i da pojasnim:

Osnovno je da dobijem na primjer ćirilični interfejs svog programa
(ili za bilo koju drugu regiju), a da korisnik ne mora ništa sam
da podešava u Regional Settings. Pored ovoga čini mi se da ovo rješava i
nekakve druge moguće probleme što se tiče lokalizacije programa...
Ako ko ima nekakvo drugačije univerzalno rješenje bio bih zahvalan.


 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 11:32 - pre 217 meseci
Oslanjanje na podesavanja u Regional Settings-u nije bas najbolje resenje. Mi smo u firmi imali dva programa od kojih je jedan zahtevao americka podesavanja, a drugi srpska. Prilicno je smaralo to sto sam morao na jednom racunaru da pokrenem jedan, a na drugom drugi program da bih mogao istovremeno da radim u oba.

Zasto ne koristis unicode kontrole, a datum, vreme, realne brojeve i slicno prevodi sa svojim podesavanjima koje korisnik moze da bira u opcijama programa (naravno, to moras da napravis)?
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 12:08 - pre 217 meseci
Citat:
Srki_82: Oslanjanje na podesavanja u Regional Settings-u nije bas najbolje resenje. Mi smo u firmi imali dva programa od kojih je jedan zahtevao americka podesavanja, a drugi srpska. Prilicno je smaralo to sto sam morao na jednom racunaru da pokrenem jedan, a na drugom drugi program da bih mogao istovremeno da radim u oba.

Zato sam i napomenuo da ja ne želim da mijenjam Regional Settings kompletnog sistema
i da ga držim takvog dok meni treba, pa da ga kasnije vraćam na prethodna podešavanja,
nego da samo kad pokrenem moj program da on učita potrebne resurse sistema kao da je
sistem podešen za neku drugu regiju (što bi korisnik mogao sam da odabere u programu).
Znači, kad se pređe sa mog programa na bilo koji drugi koji je u isto vrijeme aktivan da za
taj drugi program i dalje važe ona početna podešavanja u Regional Settings (koja ja u suštini
i ne mijenjam).
Tako bi program bio totalno nezavisan od regionalnih podešavanja i ne bi ništa
razdesio na sistemu gdje je pokrenut.
Citat:
Srki_82: Zasto ne koristis unicode kontrole, a datum, vreme, realne brojeve i slicno prevodi sa svojim podesavanjima koje korisnik moze da bira u opcijama programa (naravno, to moras da napravis)?

Pokušavam ovo da uradim ne koristeći nikakve dodatne kontrole, a ako baš ne može,
moraću njih da koristim.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 15:23 - pre 217 meseci
AppLocale Utility odrađuje baš ono što mi treba. Programčić je malen,
koristi par dll-ova (koliko sam na brzinu vidio) i može postaviti više prečica
sa podešenim različitim lokalizacijama za isti program koji se tako mogu
koristiti istovremeno.
Ne mijenja ništa u Regional Settings.

E, sad, da ne bi bilo sve idealno:
1. kad preko AppLocale pokrenem program on odreže neke stvari,
na primjer, od Form ostane sam F, nekakav tekst u TEdit odreže i
ostavi samo prvo slovo... (ovo bi se možda i moglo riješiti ponovnim
učitavanjem naziva, ali ne znam gdje sve odreže i pri kojim uslovima,
kako se ponaša u radu sa bazama podataka...)
2. trebalo bi nekako automatski izvršiti sinhronizaciju, tako da kad se
program pokrene preko prečice, da automatski prepozna kako ga je u stvari
AppLocale pokrenuo i sam učita određene lokalne nazive i ostalo
3. kod svakog korisnika bi trebalo instalirati ovaj Utility

Čini mi se da bi se ovo što radi AppLocale moglo ugraditi u program, pa samo po
potrebi isporučivati potrebne dll-ove, samo kako?

@savkic
Jesi li i ti imao ovakvih problema, ako uopšte koristiš AppLocale
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 15:30 - pre 217 meseci
Sve osim language for non unicode programs mozes da podesis iz programa. Pogledaj samo funkcije za prevodjenje iz datuma u string na primer... postoji verzija u kojoj mozes sam da navedes format na osnovu kojeg zelis da se vrsi prevodjenje tako da podesavanje u regional settings ne utice na tvoj program. Sve funkcije za prevodjenje u string i iz stringa imaju tu mogucnost.

Za jezik koji ce tvoj program koristiti mora unapred pre pokretanja programa da se podese opcije u control panelu tako da tvoj program ne moze to sam da uradi. Jedno resenje ti je da koristis srpske fontove kao sto su Yu Times New Roman ili tako neki (ovo radi na svim Win), a drugo je da koristis unicode komponente (ovo radi samo na unicode Win... 2000, 2003, XP, Vista... mozda jos neki).
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 17:14 - pre 217 meseci
Citat:
Srki_82: Za jezik koji ce tvoj program koristiti mora unapred pre pokretanja programa da se podese opcije u control panelu tako da tvoj program ne moze to sam da uradi.

Ne znam da li si probao AppLocale Utility, ali on ne mijenja ništa u Control Panelu, a tvoj program
radi kao da je baš to urađeno (na druge programe uopšte nema uticaja, ako nisu pokrenuti pomoću
AppLocale).
Ako pogledaš osobine za prečicu koju AppLocale napravi za tvoj program, za Target polje
otprilike upiše ovako nešto:

c:\Windows\AppPatch\AppLoc.exe "c:\Proba\MojProgram.exe" "/L0c1a"

ako se odabere srpski (ćirilica) kao parametar, što znači da AppLoc pokreće MojProgram
i valjda mu na neki način dodjeljuje language (ovo su samo moja nagađanja, na prvu loptu...).
Zatim, kad se MojProgram pokrene, AppLoc se automatski gasi.
Znači da ipak postoji nekakva mogućnost da se kontroliše i "language for non unicode programs"
koji će program da koristi, nema veze, može i prije pokretanja.
E, meni bi trebalo nešto tako da se može dobiti iz koda, nešto kao klon ovom programu, da mogu
to da sjedinim po mogućnosti u jedan program.
Usput, nisam primijetio bilo kakvo povećano zauzimanje resursa...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 17:41 - pre 217 meseci
> Osnovno je da dobijem na primjer ćirilični interfejs svog programa
> (ili za bilo koju drugu regiju), a da korisnik ne mora ništa sam
> da podešava u Regional Settings. Pored ovoga čini mi se da ovo rješava i
> nekakve druge moguće probleme što se tiče lokalizacije programa...
> Ako ko ima nekakvo drugačije univerzalno rješenje bio bih zahvalan.

Koji Delphi koristiš, kako praviš menije (TMenu, TPopupMenu ili...), koji font koristiš za edit kontrole i na kojim sistemima će se tvoj program izvršavati?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 18:17 - pre 217 meseci
[qoute]Deo teksta sa http://www.microsoft.com/globaldev/tools/apploc.mspx

Application developers should not consider AppLocale as an alternative to migrate their product to Unicode. Today, with Microsoft Layer for Unicode (MSLU), creating pure Unicode applications that can also be deployed on non-Unicode platforms - such as Windows 98 - has been made possible.[/quote]

Cak i Microsoft koji je napravio AppLocale preporucuje da se ovaj program ne koristi, nego da se koriste Unicode kontrole, ali ti radi kako mislis da je najbolje.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 18:31 - pre 217 meseci
Nasao sam sta tacno AppLocale radi i sta ne radi kako treba

Citat:
AppLocale is based on the new application compatibility technology introduced in Windows XP. It can only be installed on Windows XP (Home or Pro) or Windows 2003 Server. Please note that AppLocale setup requires administrator rights to the system since some system component files are being installed.

The AppLocale setup program installs the following files on your system under %SystemRoot%\AppPatch directory:

- readme.rtf This file
- apploc.exe The AppLocale applet used to launch the target application
- alres***.dll The localized resource files for the AppLocale applet
- alLayer.dll AppLocale specific application compatibility engine
- .Custom\{deb7008b-681e-4a4a-8aae-cc833e8216ce}.sdb AppLocale engine application database

Because of the nature of AppLocale’s implementation and because each application is unique in the way it handles text data, AppLocale might cause application-specific side-effects and limitations that the user would not experience once the "system locale" is properly set. Some of these application-specific side-effects and limitations may be:

- Setup programs: for some for setup programs that require a reboot, it is strongly suggested to properly set the system locale to match the language of the target application during the installation.

- Server application: non-Unicode server applications have not been tested and are not supported by AppLocale.

- 16-bit application are not supported by AppLocale.

- Input Method Editors (IME) might not properly function in some private or owner drawn edit controls.

- File system support: creating localized file names or installing applications in localized folder names that do not match your system locale might result in broken functionality.

- Even after applying AppLocale some of the application’s user interface might not render properly. This should not cause any functionality breaking and it is related to the application’s specific way of handling non-Unicode data.

- Running Unicode applications or applications that handle their own character encoding conversions (e.g. Internet Explorer) in AppLocale compatibility mode might result in unexpected results and breaking functionality.


Kao sto vidis, AppLocale pravi dodatni sloj izmedju sistema i tvog programa i tako radi emulaciju koja je potrebna da bi tvoja non-Unicode aplikacija radila u code-page koji je potreban. Mislim da tako nesto bas i ne mozes da ubacis u svoj program bez upotrebe Unicode (svakako moras da prevedes Unicode podatke koje ti salje sistem na non-Unicode za svoje kontrole) pa je svakako jednostavnije da samo iskoristis Unicode kontrole.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 18:34 - pre 217 meseci
Citat:
savkic:
Koji Delphi koristiš, kako praviš menije (TMenu, TPopupMenu ili...), koji font koristiš za edit kontrole i na kojim sistemima će se tvoj program izvršavati?

Koristim D2005, menije pravim u vrijeme dizajniranja, font može biti npr. Tahoma, a bilo bi dobro da se
lokalizovane verzije mogu koristiti na svim Windows sistemima. Naravno znam da negdje treba držati i
prevode...
Citat:
Srki_82: Deo teksta sa http://www.microsoft.com/globaldev/tools/apploc.mspx

Application developers should not consider AppLocale as an alternative to migrate their product to Unicode. Today, with Microsoft Layer for Unicode (MSLU), creating pure Unicode applications that can also be deployed on non-Unicode platforms - such as Windows 98 - has been made possible.

Cak i Microsoft koji je napravio AppLocale preporucuje da se ovaj program ne koristi, nego da se koriste Unicode kontrole, ali ti radi kako mislis da je najbolje.

Znam za ovo i u potpunosti se slažem (ipak ne mogu sam protiv Microsofta ),
ali pokušavam da sa što manje rada i promjena omogućim lokalizaciju za neke
stare programe. Mislio sam da će najbrže tako ići, a i da ne koristim taj programčić.
U svakom slučaju, hvala vam na pomoći.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 19:58 - pre 217 meseci
Stvarno ne znam zasto ne koristis UTF-8 kontrole (TNT kontrole)? Da li imas neki poseban razlog ili ne? I ja sam ih prvo izbegavao, a onda sam skontao da su one najbezbolnije resenje barem sto se korisnika tice, a oni su valjda najvazniji
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?04.06.2006. u 20:54 - pre 217 meseci
Citat:
JaHvram: Stvarno ne znam zasto ne koristis UTF-8 kontrole (TNT kontrole)? Da li imas neki poseban razlog ili ne? I ja sam ih prvo izbegavao, a onda sam skontao da su one najbezbolnije resenje barem sto se korisnika tice, a oni su valjda najvazniji ;)

Ma nemam nikakav poseban razlog da ne koristim TNT kontrole, svi kažu da su dobre,
gore sam objasnio da bi u neke starije programe trebalo samo dodati mogućnost lokalizacije.
Oni se kao takvi neće dalje razvijati, pa mi je izmjena svih postojećih komponenti
malo veći posao. Ono mi se učinilo najjednostavnije i najbrže.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Promjena u regional settings (language) iz koda?05.06.2006. u 00:19 - pre 217 meseci
> Koristim D2005, menije pravim u vrijeme dizajniranja, font može biti npr. Tahoma, a bilo bi dobro da se
> lokalizovane verzije mogu koristiti na svim Windows sistemima. Naravno znam da negdje treba držati i prevode...

Koliko vidim tebi onda promena "Language for..." ne treba, naročito što ima smisla samo na XPu i 2003 (delom i 2000). Nisi odgovorio kako praviš menije, koje komponente koristiš? Tvoj program može korektno prikazivati i unositi tekst čak i ako ne koristi unicode komponente ili radi sa unicode tekstom. Rešenje je izbor odgovarajućeg fonta (Arial, Verdana, Tahoma...) i charseta koji je dostupan na svim verzijama Windowsa i to nezavisno od podešavanja lokalnog računara. Ako menije praviš preko TMainMenu komponente tj. windows built-in menija, problem je što po menije crta sa sistemskim definisanim fontom što često pravi probleme sa našim slovima. Rešenje je da se radi custom drawing, nije jednostavno (lakše je ako se direktno izmeni Menus.pas) ali je ostvarivo. Pošto koristiš D2005 onda imaš i drugo rešenje koje ti dozvoljava izbor fonta i charseta za menije a to je TActionMainMenuBar komponenta. Problem je što ne radi dobro sa našim slovima kao accel karakterima ali se to može srediti sa nešto izmena. Takođe, ima i drugih meni komponenti koje dozvoljavaju izbor fonta, neke su komercijalne ali ima i besplatnih. Što se tiče unosa teksta i standardne TEdit kontrole su sasvim dovoljne, može se uneti i font (npr. Arial) i charset što je dovoljno za normalan unos teksta. Kod buttona je situacija nešto drugačija (mislim na TButton), iako imaju font ne rade korektno sa našim slovima, rešenje je ili custom iscrtavanje ili neka druga komponenta (TSpedButton recimo). Prikaz teksta u caption (title) liniji prozora zavisi od podešavanja u sistemu ali je i to rešivo, treba uraditi custom iscrtavanje nonclient dela, nije tako lako ali je veoma zanimljiv zadatak (barem je meni tako bilo).


 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?05.06.2006. u 02:54 - pre 217 meseci
Pozdrav,

mozda bi ti pomogla sledeca varijanta. Naime, nadjes font koji ima nasa slova i da su na tastaturi pozicije tih slova jednake kao kad je, recimo XP u pitanju, ukljucen SERBIAN LATIN u Language Bar-u. Naravno, kad isporucujes program tad moras i taj font jer ne znas da li karajnji korisnik ima instaliran taj font.
Sta se javlja kao problem?! Tu varijantu sam probao sa TimesRoman fontom, koji, ima nasa slova ali raspored na tastaturi je drugaciji od rasporeda kad je ukljucen Serbian Latin, recimo. Drugi problem, je taj sto bi morao napraviti program koji ce instalacijom tvog programa instalirati i taj font u fontove, tako da ce ga korisnik automatski dobiti i tvoj program ce funkcionisati.

Dakle, rezime, u ovoj mojoj varijanti treba resiti dva problema:

1) naci font da se poklapa sa rasporedom kad je u Language Bar-u ukljucen Serbian Latin ili Serbian Cirilic i postaviti ga za sve komponente koje to trebaju?!
2) napraviti program koji ce instalacijom tvog programa instalirati i font. Ili, ako vec postoji takav program, pomocu njega to odraditi?!
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Promjena u regional settings (language) iz koda?05.06.2006. u 21:03 - pre 217 meseci
Citat:
delalt: Ma nemam nikakav poseban razlog da ne koristim TNT kontrole, svi kažu da su dobre,
gore sam objasnio da bi u neke starije programe trebalo samo dodati mogućnost lokalizacije.
Oni se kao takvi neće dalje razvijati, pa mi je izmjena svih postojećih komponenti
malo veći posao. Ono mi se učinilo najjednostavnije i najbrže.


Evo jedne lude ideje, a možda i uspe. Instaliraš TNT kontrole, i samo u svim .pas i .dfm fajlovima, u deklaraciji komponenata, odradiš replace i svako TLabel zameniš sa TTntLabel i tako za sve tipove kontrola :)
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Promjena u regional settings (language) iz koda?05.06.2006. u 22:34 - pre 217 meseci
Hehe... to je toliko ludo da cak moze i da uspe :) Samo mora da odradi zamenu i gde je radio typecast iz jednog tipa u tip neke VCL kontrole. U sustini Find and Replace all bi trebalo da odradi posao :)
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.117.*



+2 Profil

icon Re: Promjena u regional settings (language) iz koda?05.06.2006. u 23:32 - pre 217 meseci
Mozda malo bezbolnije:
GExperts ima expert "Replace Component"
Citat iz helpa:
Citat:

This expert does everything it can to preserve and map properties and can handle all of the basic types such as integers, strings, and enums. It can also handle many more complex properties such as component references, TStrings, TFields, properties that support calling TPersistent.Assign between each other (such as TFont/TBitmap), and conversions between properties of slightly differing but largely compatible types such as TStrings to a string and conversions between various ordinal types, within the limitations of the RTTI GetPropValue and SetPropValue functions. You will generally be able to map from ordinals to floats to strings, for example, but mapping from strings to integers might raise errors if the string does not represent an integer.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Promjena u regional settings (language) iz koda?06.06.2006. u 19:08 - pre 217 meseci
Citat:
JaHvram: Evo jedne lude ideje, a možda i uspe. Instaliraš TNT kontrole, i samo u svim .pas i .dfm fajlovima, u deklaraciji komponenata, odradiš replace i svako TLabel zameniš sa TTntLabel i tako za sve tipove kontrola :)

Baš si se dobro ovog sjetio, nisam stigao još da probam, a moglo bi da funkcioniše.
Jedino moze biti opet problem sa podacima iz baza podataka koje nisu UTF...
A ne znam kako se TNT ponaša na starijim Windows-ima koji se još koriste?

Malo sam probavao onaj Utility, da radi kako je zamišljeno, bio bi odličan.
Kako sam uspio da vidim, i on pomalo zavisi od trenutnog podešavanja u Regional Settings.
Na primjer, kad se moj program starta pomoću njega, u naslovu prikaže samo kvadratiće,
a trebao bi ćirilicu (dok su na primjer labele ili dugmadi ispisani ćirilicom...).
Kad onda baš promijenim "language for..." i naravno napravim restart sistema, onda je i u
naslovu ćirilica. Naslov ne bi bio problem, ali opet nisam siguran kako će raditi sa bazama podataka???
Citat:
loshmiscg:
1) naci font da se poklapa sa rasporedom kad je u Language Bar-u ukljucen Serbian Latin ili Serbian Cirilic i postaviti ga za sve komponente koje to trebaju?!
2) napraviti program koji ce instalacijom tvog programa instalirati i font. Ili, ako vec postoji takav program, pomocu njega to odraditi?!

Ovo za font, pitanje za one koji imaju instaliran prevod na XP-u (ali ćirilični), koji font tada sistem koristi?

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Promjena u regional settings (language) iz koda?

[ Pregleda: 4275 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.