Français
Forum

Multilanguage dans DLL

 
- page 1 -



Stephan
Sonneborn
allô zusammen,

hat quelqu'un de Euch Erfahrungen avec Multilanguage-DLL? j'ai dans einem Programme cela bisher avec komplett unterschiedlichen DLL gelöst (alors une avec Texten dans allemande, une dans englisch, une dans ...) c'est de qui Verwaltung her très aufwendig.
dans den DLL peux on oui une Discours mitgeben. comment peux je qui ensuite im Programme zuordnen? je denke, cela wird Windows automatisch faire: un englisches Windows wird ensuite qui englischen Textes lesen. mais il y a oui seul pour englisch x verschiedene Paramètres de langue, quelle sollte on dans qui DLL se mettre?

peux on aussi dans einem deutschen Windows englische Textes verwenden?

82 kB
Hochgeladen:04.10.2011
Downloadcounter203
Download
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
04.10.2011  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »


Andreas
Miethe


cela Umstellen sur une autre Discours ist eigentlich droite simpel.
après ist cela magasin qui Resourcen toujours juste, égal quelle Discours.

ici la fois un Beispiel (funktioniert seulement sur NT-Systemen )

Télécharger

530 kB
Hochgeladen:15.10.2011
Downloadcounter272
Download
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.10.2011  
 



oui, Multi-Language-Cordes auslesen allez z.B. avec qui API FindResourceEx. une weitere Possibilité (Enum) zeigt cette Code de mir: [...] 

avec dem LemonEd besteht depuis neuem qui Possibilité, aussi multi-language-Cordes direct dans qui eigene Exe einzubauen, per RC-Script ou bien kompiliert comme RES.
 
04.10.2011  
 




Stephan
Sonneborn
allô Frank,

merci pour Votre Antwort et Dein Beispiel. avec cela muss je mich la fois quelque chose genauer beschäftigen...

Ist es car grundsätzlich so, dass on qui Cordes ensuite einmal avec dem englischen Sprachcode et einmal avec dem deutschen Sprachcode sous einer ID dans qui DLL enlever peux?
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
05.10.2011  
 



je denke oui, gemacht habe je es selber encore pas. mais Versioninfos et Icônes J'ai eu testweise dans mehreren Sprachen incorporé, cela klappt einwandfrei. Pour meinen Editor J'ai eu getestet, eines qui XProfanicons trop ersetzen et mich gewundert, dass il dans qui Exe doch toujours cela originale Icon angezeigt hat. jusqu'à mir aufgefallen ist, dass chez Nichtangabe einer Language im Scriptfile allemande  incorporé wird, au cours de cela Profanicon neutral  incorporé ist. Hatte ensuite nachgesehen et cela Icon doppelt vorgefunden. comme je comme Discours ensuite neutral pris hatte, klappte es richtig et cela Icon wurde ersetzt.
So wird cela aussi avec den Stringresourcen son, sonst serait qui ganze Language-Unterscheidung oui sinnlos son. tu peux qui Textes dans vielen Sprachen gleichzeitig einbauen et beim Abrufen später avec qui Language-ID bestimmen, dans quel Discours qui String geladen wird.
 
05.10.2011  
 




H.Brill
ca va ici seulement tout autor, Menüeinträge ou bien Buttons sur qui
jeweilige Discours trop changement ?
si cela pas trop viele Einträge sommes, serait je es simple
avec Bereichen# et Franks XProfan_Datengenerator faire.
On peut une Menüeintrag zur Commutateur allemande/Englisch
faire. Weil es mich aussi intéressé, habe je la fois une allemande.txt
et une Englisch.txt avec dem Editor angelegt et dem Generator
traduit. Les cordes bekommt on oui léger wieder :
KompilierenMarqueSéparation
Cls
Declare Deutsch#, Englisch#,Eintrag$, position%, pos2%
Dim Deutsch#,32
Dim Englisch#,24
Clear Deutsch#
Clear Englisch#
Long Deutsch#,0=1702125892,1725332585,1852141158,1701860220,1701340009,1232891506,225404526,10
Long Englisch#,0=1701603654,1701859196,1632861294,1216111990,1869376613,2573
Print String$(Deutsch#,0)
Print String$(Englisch#, 0)
Waitkey
Dispose Deutsch#, Englisch#
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
06.10.2011  
 



le tort ist mais, dass qui Texe so pas plus léger editierbar sommes...

Hab cela la fois getestet, c'est ne...aucune Problem, Cordes multilingue dans qui eigene Exe einzubauen. mon Testscript (RC) hierzu:

LANGUAGE 0, SUBLANG_NEUTRAL
STRINGTABLE
{
1000, "Good morning"
1001, "How sont you?"
}

LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
STRINGTABLE
{
1000, "Guten Morgen"
1001, "Wie ca va dir?"
}

21 kB
Hochgeladen:06.10.2011
Downloadcounter123
Download
 
06.10.2011  
 




Stephan
Sonneborn
je bouton mich la fois lente ran:
si je une bestimmte Discours einstellen veux, muss je mittels FindResourceEx cela Handle sur qui DLL, une aiguille sur den ResourcenTyp, une aiguille sur qui ID dedans des Resourcentyps et qui Discours mitgeben.
alors en tout 4 paramètre:
KompilierenMarqueSéparation
DEF FindResourceEx(4) !"System-Dll-Name2.dll", "FindResoureceEx"
>

mais dans quel System-DLL finde je qui FindResourceEx-Funktion?

Um qui Discours comme ID trop transfert, pouvoir qui Funktion MakeLangID() aus den Klartexten (z.B. "LANG_GERMAN" et "SUBLANG_GERMAN") une ID.
KompilierenMarqueSéparation
DEF MakeLangID(2) !"System-Dll-Name2.dll", "MakeLangID"
>

aussi stellt sich qui Frage: quelle System-DLL stellt qui MakeLangID zur Disposition?
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
09.10.2011  
 




Detlef
Jagolski
dans qui Kernel32.
KompilierenMarqueSéparation
Def FindResourceEx(4) !"KERNEL32","FindResourceExA"
>

Aus qui API Aider:

The MAKELANGID macro creates a language identifier à partir de a primary language identifier and a sublanguage identifier.

WORD MAKELANGID(

USHORT usPrimaryLanguage,// primary language identifier
USHORT usSubLanguage// sublanguage identifier
);

Paramètres

usPrimaryLanguage

Specifies le primary language identifier. This paramètre can être one of le following values:

LANG_AFRIKAANSLANG_ICELANDIC
LANG_ALBANIANLANG_INDONESIAN
LANG_ARABICLANG_ITALIAN
LANG_BASQUELANG_JAPANESE
LANG_BELARUSIANLANG_KOREAN
LANG_BULGARIANLANG_LATVIAN
LANG_CATALANLANG_LITHUANIAN
LANG_CHINESELANG_NEUTRAL
LANG_CROATIANLANG_NORWEGIAN
LANG_CZECHLANG_POLISH
LANG_DANISHLANG_PORTUGUESE
LANG_DUTCHLANG_ROMANIAN
LANG_ENGLISHLANG_RUSSIAN
LANG_ESTONIANLANG_SERBIAN
LANG_FAEROESELANG_SLOVAK
LANG_FARSILANG_SLOVENIAN
LANG_FINNISHLANG_SPANISH
LANG_FRENCHLANG_SWEDISH
LANG_GERMANLANG_THAI
LANG_GREEKLANG_TURKISH
LANG_HEBREWLANG_UKRANIAN
LANG_HUNGARIANLANG_VIETNAMESE

For a user-defined language, usPrimaryLanguage can être a value dans le la gamine 0x0200 to 0x03FF. All other values sont reserved for system use.

usSubLanguage

Specifies le sublanguage identifier. This paramètre can être one of le following values:

SUBLANG_ARABIC_SAUDI_ARABIASUBLANG_GERMAN
SUBLANG_ARABIC_IRAQSUBLANG_GERMAN_SWISS
SUBLANG_ARABIC_EGYPTSUBLANG_GERMAN_AUSTRIAN
SUBLANG_ARABIC_LIBYASUBLANG_GERMAN_LUXEMBOURG
SUBLANG_ARABIC_ALGERIASUBLANG_GERMAN_LIECHTENSTEIN
SUBLANG_ARABIC_MOROCCOSUBLANG_ITALIAN
SUBLANG_ARABIC_TUNISIASUBLANG_ITALIAN_SWISS
SUBLANG_ARABIC_OMANSUBLANG_KOREAN
SUBLANG_ARABIC_YEMENSUBLANG_KOREAN_JOHAB
SUBLANG_ARABIC_SYRIASUBLANG_NEUTRAL
SUBLANG_ARABIC_JORDANSUBLANG_NORWEGIAN_BOKMAL
SUBLANG_ARABIC_LEBANONSUBLANG_NORWEGIAN_NYNORSK
SUBLANG_ARABIC_KUWAITSUBLANG_PORTUGUESE
SUBLANG_ARABIC_UAESUBLANG_PORTUGUESE_BRAZILIAN
SUBLANG_ARABIC_BAHRAINSUBLANG_SERBIAN_LATIN
SUBLANG_ARABIC_QATARSUBLANG_SERBIAN_CYRILLIC
SUBLANG_CHINESE_TRADITIONALSUBLANG_SPANISH
SUBLANG_CHINESE_SIMPLIFIEDSUBLANG_SPANISH_MEXICAN
SUBLANG_CHINESE_HONGKONGSUBLANG_SPANISH_MODERN
SUBLANG_CHINESE_SINGAPORESUBLANG_SPANISH_GUATEMALA
SUBLANG_DEFAULTSUBLANG_SPANISH_COSTA_RICA
SUBLANG_DUTCHSUBLANG_SPANISH_PANAMA
SUBLANG_DUTCH_BELGIANSUBLANG_SPANISH_DOMINICAN_
REPUBLIC
SUBLANG_ENGLISH_USSUBLANG_SPANISH_VENEZUELA
SUBLANG_ENGLISH_UKSUBLANG_SPANISH_COLOMBIA
SUBLANG_ENGLISH_AUSSUBLANG_SPANISH_PERU
SUBLANG_ENGLISH_CANSUBLANG_SPANISH_ARGENTINA
SUBLANG_ENGLISH_NZSUBLANG_SPANISH_ECUADOR
SUBLANG_ENGLISH_EIRESUBLANG_SPANISH_CHILE
SUBLANG_ENGLISH_SOUTH_
AFRICASUBLANG_SPANISH_URUGUAY
SUBLANG_ENGLISH_JAMAICASUBLANG_SPANISH_PARAGUAY
SUBLANG_ENGLISH_CARIBBEANSUBLANG_SPANISH_BOLIVIA
SUBLANG_ENGLISH_BELIZESUBLANG_SPANISH_EL_SALVADOR
SUBLANG_ENGLISH_TRINIDADSUBLANG_SPANISH_HONDURAS
SUBLANG_FRENCHSUBLANG_SPANISH_NICARAGUA
SUBLANG_FRENCH_BELGIANSUBLANG_SPANISH_PUERTO_RICO
SUBLANG_FRENCH_CANADIANSUBLANG_SWEDISH
SUBLANG_FRENCH_SWISSSUBLANG_SWEDISH_FINLAND
SUBLANG_FRENCH_LUXEMBOURGSUBLANG_SYS_DEFAULT

For a user-defined sublanguage, usSubLanguage can être a value dans le la gamine 0x20 to 0x3F. All other values sont reserved for system use.

Retour Values

The return value is a language identifier.

Remarks

The following three combinations of usPrimaryLanguage and usSubLanguage have special meaning:

Primary language IDSublanguage IDMeaning
LANG_NEUTRALSUBLANG_NEUTRALLanguage neutral
LANG_NEUTRALSUBLANG_DEFAULTUser default language
LANG_NEUTRALSUBLANG_SYS_DEFAULTSystem default language

The MAKELANGID macro is defined as follows:

#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
KompilierenMarqueSéparation
Def &SUBLANG_ARABIC_ALGERIA  5
Def &SUBLANG_ARABIC_BAHRAIN  15
Def &SUBLANG_ARABIC_EGYPT  3
Def &SUBLANG_ARABIC_IRAQ  2
Def &SUBLANG_ARABIC_JORDAN  11
Def &SUBLANG_ARABIC_KUWAIT  13
Def &SUBLANG_ARABIC_LEBANON  12
Def &SUBLANG_ARABIC_LIBYA  4
Def &SUBLANG_ARABIC_MOROCCO  6
Def &SUBLANG_ARABIC_OMAN  8
Def &SUBLANG_ARABIC_QATAR  16
Def &SUBLANG_ARABIC_SAUDI_ARABIA  1
Def &SUBLANG_ARABIC_SYRIA  10
Def &SUBLANG_ARABIC_TUNISIA  7
Def &SUBLANG_ARABIC_UAE  14
Def &SUBLANG_ARABIC_YEMEN  9
Def &SUBLANG_CHINESE_HONGKONG  3
Def &SUBLANG_CHINESE_SIMPLIFIED  2
Def &SUBLANG_CHINESE_SINGAPORE  4
Def &SUBLANG_CHINESE_TRADITIONAL  1
Def &SUBLANG_DEFAULT  1
Def &SUBLANG_DUTCH  1
Def &SUBLANG_DUTCH_BELGIAN  2
Def &SUBLANG_ENGLISH_AUS  3
Def &SUBLANG_ENGLISH_BELIZE  10
Def &SUBLANG_ENGLISH_CAN  4
Def &SUBLANG_ENGLISH_CARIBBEAN  9
Def &SUBLANG_ENGLISH_EIRE  6
Def &SUBLANG_ENGLISH_JAMAICA  8
Def &SUBLANG_ENGLISH_NZ  5
Def &SUBLANG_ENGLISH_SOUTH_AFRICA  7
Def &SUBLANG_ENGLISH_TRINIDAD  11
Def &SUBLANG_ENGLISH_UK  2
Def &SUBLANG_ENGLISH_US  1
Def &SUBLANG_FRENCH  1
Def &SUBLANG_FRENCH_BELGIAN  2
Def &SUBLANG_FRENCH_CANADIAN  3
Def &SUBLANG_FRENCH_LUXEMBOURG  5
Def &SUBLANG_FRENCH_SWISS  4
Def &SUBLANG_GERMAN  1
Def &SUBLANG_GERMAN_AUSTRIAN  3
Def &SUBLANG_GERMAN_LIECHTENSTEIN  5
Def &SUBLANG_GERMAN_LUXEMBOURG  4
Def &SUBLANG_GERMAN_SWISS  2
Def &SUBLANG_ITALIAN  1
Def &SUBLANG_ITALIAN_SWISS  2
Def &SUBLANG_KOREAN  1
Def &SUBLANG_KOREAN_JOHAB  2
Def &SUBLANG_NEUTRAL  0
Def &SUBLANG_NORWEGIAN_BOKMAL  1
Def &SUBLANG_NORWEGIAN_NYNORSK  2
Def &SUBLANG_PORTUGUESE  2
Def &SUBLANG_PORTUGUESE_BRAZILIAN  1
Def &SUBLANG_SERBIAN_CYRILLIC  3
Def &SUBLANG_SERBIAN_LATIN  2
Def &SUBLANG_SPANISH  1
Def &SUBLANG_SPANISH_ARGENTINA  11
Def &SUBLANG_SPANISH_BOLIVIA  16
Def &SUBLANG_SPANISH_CHILE  13
Def &SUBLANG_SPANISH_COLOMBIA  9
Def &SUBLANG_SPANISH_COSTA_RICA  5
Def &SUBLANG_SPANISH_DOMINICAN_REPUBLIC  7
Def &SUBLANG_SPANISH_ECUADOR  12
Def &SUBLANG_SPANISH_EL_SALVADOR  17
Def &SUBLANG_SPANISH_GUATEMALA  4
Def &SUBLANG_SPANISH_HONDURAS  18
Def &SUBLANG_SPANISH_MEXICAN  2
Def &SUBLANG_SPANISH_MODERN  3
Def &SUBLANG_SPANISH_NICARAGUA  19
Def &SUBLANG_SPANISH_PANAMA  6
Def &SUBLANG_SPANISH_PARAGUAY  15
Def &SUBLANG_SPANISH_PERU  10
Def &SUBLANG_SPANISH_PUERTO_RICO  20
Def &SUBLANG_SPANISH_URUGUAY  14
Def &SUBLANG_SPANISH_VENEZUELA  8
Def &SUBLANG_SWEDISH  1
Def &SUBLANG_SWEDISH_FINLAND  2
Def &SUBLANG_SYS_DEFAULT  2
Def &LANG_AFRIKAANS  54
Def &LANG_ALBANIAN  28
Def &LANG_ARABIC  1
Def &LANG_BASQUE  45
Def &LANG_BELARUSIAN  35
Def &LANG_BULGARIAN  2
Def &LANG_CATALAN  3
Def &LANG_CHINESE  4
Def &LANG_CROATIAN  26
Def &LANG_CZECH  5
Def &LANG_DANISH  6
Def &LANG_DUTCH  19
Def &LANG_ENGLISH  9
Def &LANG_ESTONIAN  37
Def &LANG_FAEROESE  56
Def &LANG_FARSI  41
Def &LANG_FINNISH  11
Def &LANG_FRENCH  12
Def &LANG_GERMAN  7
Def &LANG_GREEK  8
Def &LANG_HEBREW  13
Def &LANG_HUNGARIAN  14
Def &LANG_ICELANDIC  15
Def &LANG_INDONESIAN  33
Def &LANG_ITALIAN  16
Def &LANG_JAPANESE  17
Def &LANG_KOREAN  18
Def &LANG_LATVIAN  38
Def &LANG_LITHUANIAN  39
Def &LANG_NEUTRAL  0
Def &LANG_NORWEGIAN  20
Def &LANG_POLISH  21
Def &LANG_PORTUGUESE  22
Def &LANG_ROMANIAN  24
Def &LANG_RUSSIAN  25
Def &LANG_SERBIAN  26
Def &LANG_SLOVAK  27
Def &LANG_SLOVENIAN  36
Def &LANG_SPANISH  10
Def &LANG_SWEDISH  29
Def &LANG_SYSTEM_DEFAULT  2048
Def &LANG_THAI  30
Def &LANG_TURKISH  31
Def &LANG_UKRAINIAN  34
Def &LANG_USER_DEFAULT  1024
Def &LANG_VIETNAMESE  42
Declare  MAKELANGID#
Dim MAKELANGID#,4
Word MAKELANGID#,0 = &LANG_GERMAN, &SUBLANG_GERMAN
Dispose MAKELANGID#
FindResourceEx(hModule,lpType,lpName,wLanguage(MAKELANGID#))
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
09.10.2011  
 




Andreas
Miethe


et so geht's kürzer :
KompilierenMarqueSéparation
 $H windows.ph
DEF MakeLangID(2) (@&(2) << 10) | @&(1)
cls
Print MakeLangID(~LANG_GERMAN,~SUBLANG_GERMAN)
waitinput
en
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
09.10.2011  
 




Detlef
Jagolski
et je dachte qui Solution de Andreas erklärt sich par

The MAKELANGID macro is defined as follows:

#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))


de alleine.
 
XProfan X2
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
09.10.2011  
 




Stephan
Sonneborn
allô Detlef, allô Andreas,
vielen Dank pour Eure Aider, mais irgendwie stehe je toujours aufm Schlauch:
je hab une DLL gebastelt avec einer STRING-Resource dans den Sprachcodes Neutral, GERMAN et ENGLISH.

dans allen dreien habe je Textes hinterlegt:
100,Neutral; 100,Deutsch; 100,English

Mittels
KompilierenMarqueSéparationvoulais je ensuite sur qui Textes zugreifen.comment devrait car qui Pointer "PointerAufID" air?
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
10.10.2011  
 




Detlef
Jagolski
Aus qui API Aider de FindResourceEX:

Points to a zéro-terminated string specifying le nom of le resource. For more information, lac le Remarks section.

KompilierenMarqueSéparation
var PointerAufID$ = "Name der Resource" + Chr$(0)
FindResourceEX(DllName&, ~RT_STRING,Addr(PointerAufID$), MAKELANGID(~Neutral, ~SUBLANG_Neutral))e>

Salut

Detlef
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
11.10.2011  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

19.789 Views

Untitledvor 0 min.
Kutsche27.02.2020
Stephan Sonneborn31.10.2019
Walter06.02.2018
Boroberto22.04.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie