Español
Foro

Multilanguage en DLL

 
- Página 1 -



Stephan
Sonneborn
¡Hola zusammen,

ha alguien de Euch Erfahrungen con Multilanguage-DLL? Yo habe en un Programa el bisher con komplett unterschiedlichen DLL gelöst (also una con Texten en Alemán, una en Inglés, una en ...) Es de el Verwaltung her muy aufwendig.
In el DLL puede ser sí una Lingua mitgeben. ¿Cómo se puede Yo el entonces en el Programa zuordnen? Yo denke, el se Windows automáticamente hacer: una englisches Windows se entonces el englischen Textos lesen. Aber lo son sí allein para Inglés x verschiedene Configuración de idioma, welche debería uno en el DLL stellen?

Kann uno auch en un Alemán Windows englische Textos uso?

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

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



« Dieser Contribución wurde como Solución gekennzeichnet. »


Andreas
Miethe


Das Umstellen en una otro Lingua es eigentlich bastante simpel.
Danach es el Laden el Resourcen siempre igual, egal welche Lingua.

Hier veces una Ejemplo (funktioniert sólo en NT-Systemen )

Descargar

530 kB
Hochgeladen:15.10.2011
Ladeanzahl266
Descargar
 
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  
 



Sí, Multi-Language-Cuerdas auslesen va z.B. con el API FindResourceEx. Un weitere Möglichkeit (Enum) zeigt dieser Code de me: [...] 

Mit el LemonEd besteht seit neuem el Möglichkeit, auch multi-language-Cuerdas direkt en el propio Exe einzubauen, por RC-Script oder kompiliert como RES.
 
04.10.2011  
 




Stephan
Sonneborn
¡Hola Franco,

danke para Su Antwort y Su Ejemplo. Damit muss Yo mich veces algo genauer beschäftigen...

¿Es porque grundsätzlich así, dass uno el Cuerdas entonces una vez con el englischen Sprachcode y una vez con el Alemán Sprachcode bajo uno ID en el DLL ablegen kann?
 
Schöne Grüße aus Wittgenstein
von Stephan

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



Yo denke sí, gemacht Yo lo selber todavía no. Aber Versioninfos y Icons Tuve testweise en varios idiomas instalado, el klappt einwandfrei. Für media Editor Tuve getestet, uno el XProfanicons a sustituir y mich gewundert, dass él en el Exe siempre todavía el originale Icon adecuado ha. Bis me aufgefallen es, dass en Nichtangabe uno Language en el Scriptfile Alemán  instalado se, während el Profanicon neutral  instalado es. Hatte entonces nachgesehen y el Icon doppelt vorgefunden. Als Yo como Lingua entonces neutral genommen hatte, klappte lo correcto y el Icon wurde ersetzt.
So se el auch con el Stringresourcen ser, sonst sería el todo Language-Unterscheidung sí sinnlos ser. Usted puede el Textos en vielen Idiomas gleichzeitig einbauen y beim Abrufen später con el Language-ID bestimmen, en welcher Lingua el String geladen se.
 
05.10.2011  
 




H.Brill
Geht lo hier sólo por lo tanto, Menüeinträge oder Buttons en el
jeweilige Lingua a ändern ?
Si el no a viele Einträge son, sería Yo simplemente
con Bereichen# y Franks XProfan_Datengenerator hacer.
Se puede una Menüeintrag a Interruptor Alemán/Inglés
hacer. Weil lo mich auch interessiert, Yo veces una Alemán.txt
y una Inglés.txt con el Editor creado y el Generator
traducido. Las cuerdas bekommt uno sí ligeramente otra vez :
KompilierenMarcaSeparación
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  
 



Nachteil es aber, dass el Texe así no mehr ligeramente editierbar son...

Hab el veces getestet, es kein Problema, Cuerdas mehrsprachig en el propio Exe einzubauen. Mein Testscript (RC) hierzu:

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

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

21 kB
Hochgeladen:06.10.2011
Ladeanzahl115
Descargar
 
06.10.2011  
 




Stephan
Sonneborn
Yo taste mich veces langsam ran:
Wenn Yo una cierto Lingua einstellen voluntad, muss Yo mittels FindResourceEx el Handle en el DLL, una Zeiger en el ResourcenTyp, una Zeiger en el ID innerhalb des Resourcentyps y el Lingua mitgeben.
Also total 4 Parámetro:
KompilierenMarcaSeparación
DEF FindResourceEx(4) !"System-Dll-Name2.dll", "FindResoureceEx"
>

Aber en welcher Sistema-DLL finde Yo el FindResourceEx-Función?

Um el Lingua como ID a transferencia, macht el Función MakeLangID() de el Klartexten (z.B. "LANG_GERMAN" y "SUBLANG_GERMAN") una ID.
KompilierenMarcaSeparación
DEF MakeLangID(2) !"System-Dll-Name2.dll", "MakeLangID"
>

Auch stellt el Cuestión: welche Sistema-DLL stellt el MakeLangID disponible?
 
Schöne Grüße aus Wittgenstein
von Stephan

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




Detlef
Jagolski
In el Kernel32.
KompilierenMarcaSeparación
Def FindResourceEx(4) !"KERNEL32","FindResourceExA"
>

Aus el API Ayuda:

The MAKELANGID macro creates a language identifier from a primary language identifier and a sublanguage identifier.

WORD MAKELANGID(

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

Parámetros

usPrimaryLanguage

Specifies the primary language identifier. This parameter can be one of the 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 be a value en the range 0x0200 to 0x03FF. All other values are reserved for system use.

usSubLanguage

Specifies the sublanguage identifier. This parameter can be one of the 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 be a value en the range 0x20 to 0x3F. All other values are reserved for system use.

Volver Values

The volver 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_DEFAULTSistema default language

The MAKELANGID macro is defined as follows:

#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
KompilierenMarcaSeparación
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


Und así geht's kürzer :
KompilierenMarcaSeparación
 $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
Und Yo pensamiento el Solución de Andreas erklärt se por

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
¡Hola Detlef, hallo Andreas,
vielen Dank para Eure Ayuda, aber irgendwie stehe Yo siempre todavía aufm Schlauch:
Yo una DLL gebastelt con uno STRING-Resource en el Sprachcodes Neutral, GERMAN y ENGLISH.

In allen dreien Yo Textos hinterlegt:
100,Neutral; 100,Deutsch; 100,English

Mittels
KompilierenMarcaSeparaciónYo quería entonces en el Textos zugreifen.Como debería porque el Pointer "PointerAufID" aussehen?
 
Schöne Grüße aus Wittgenstein
von Stephan

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




Detlef
Jagolski
Aus el API Ayuda de FindResourceEX:

Points to a null-terminated cadena specifying the name of the resource. For more information, see the Remarks section.

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

Saludo

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




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

19.313 Views

Untitledvor 0 min.
Kutsche27.02.2020
Stephan Sonneborn31.10.2019
Walter06.02.2018
Boroberto22.04.2016
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie