hallo mensen,
ik ben bezig met een taal systeem, aangezien het om een c++ atl gebeuren gaat is het windows only, het makkelijkste is voor ons om te werken met LCID's.
Nu willen we dus een systeem inbouwen met een fallback.
Situatie:
Stel de systeemtaal is English - United Kingdom (LCID: 2057) en deze taal hebben wij voor onze applicatie niet geinstalleerd, we hebben wel English - United States (LCID: 1033) geinstalleerd. Bij deze situatie willen we dus automatisch voor het alternatief kiezen, dezelfde taal dus, alleen een ander dialect.
Een LCID is 2 bytes groot, nu viel het ons op dat de eerste byte taal specifiek is, en de combinatie van eerste en tweede byte uniek. Alleen kan ik hiervan geen specificatie vinden van microsoft.
Voorbeeld:
English - United Kingdom (2057) is hexadecimaal: 0809
English - United States (1033) is hexadecimaal: 0409
English - Australia (3081) is hexadecimaal: 0c09
Er zijn dus 2 opvallende dingen, de eerste byte is voor elke taal gelijk, en de eerste 2 bits van de 2e byte zijn altijd 0.
Kunnen we van deze logica uitgaan, of zijn hier uitzonderingen voor? Weet iemand een bron op microsoft.com die dit verhaal bevestigt?
LCID lijst: http://www.microsoft.com/globaldev/reference/lcid-all.mspx
ik ben bezig met een taal systeem, aangezien het om een c++ atl gebeuren gaat is het windows only, het makkelijkste is voor ons om te werken met LCID's.
Nu willen we dus een systeem inbouwen met een fallback.
Situatie:
Stel de systeemtaal is English - United Kingdom (LCID: 2057) en deze taal hebben wij voor onze applicatie niet geinstalleerd, we hebben wel English - United States (LCID: 1033) geinstalleerd. Bij deze situatie willen we dus automatisch voor het alternatief kiezen, dezelfde taal dus, alleen een ander dialect.
Een LCID is 2 bytes groot, nu viel het ons op dat de eerste byte taal specifiek is, en de combinatie van eerste en tweede byte uniek. Alleen kan ik hiervan geen specificatie vinden van microsoft.
Voorbeeld:
English - United Kingdom (2057) is hexadecimaal: 0809
English - United States (1033) is hexadecimaal: 0409
English - Australia (3081) is hexadecimaal: 0c09
Er zijn dus 2 opvallende dingen, de eerste byte is voor elke taal gelijk, en de eerste 2 bits van de 2e byte zijn altijd 0.
Kunnen we van deze logica uitgaan, of zijn hier uitzonderingen voor? Weet iemand een bron op microsoft.com die dit verhaal bevestigt?
LCID lijst: http://www.microsoft.com/globaldev/reference/lcid-all.mspx
edit:
Eigenlijk past dit topic ook wel in SA
Eigenlijk past dit topic ook wel in SA