zoukankan      html  css  js  c++  java
  • NLS编程

    NLS(National Language Support)

    Background(背景)

    Each language has a language name and a language identifierthat indicate the particular code page (ANSI, DOS, Macintosh) used to represent the geographical location for the language on the operating system. 

    Data Type(数据类型)

    typedef WORD LANGID;
    typedef DWORD LCID;
    typedef DWORD LCTYPE;


    Usage(使用)

    Each locale has a unique identifier, a 32-bit value that consists of a language identifier and a sort order identifier. The locale identifier is a standard international numeric abbreviation and has the components necessary to uniquely identify one of the installed operating system-defined locales. 

    The following illustration shows the format of the bits in a locale identifier.
    +-------------+---------+-------------------------+
    |   Reserved  | Sort ID |      Language ID        |
    +-------------+---------+-------------------------+
    31         20 19     16 15                      0   bit

    The following illustration shows the format of the bits in a language identifier. 
    +-------------------------+-------------------------+
    |     SubLanguage ID      |   Primary Language ID   |
    +-------------------------+-------------------------+
    15                    10  9                         0   bit

    Get LCID(locale indentifier)

    LCID GetThreadLocale(void);


    Modify customed LCID for thread
    BOOL SetThreadLocale ( LCID Locale );

    Compose LCID
    DWORD MAKELCID(
    	  WORD wLanguageID,  
    	  WORD wSortID
    	);
    for sort order identifier, please refer to link.

    Compose LANGID
    WORD MAKELANGID(
    	  USHORT usPrimaryLanguage,  
    	  USHORT usSubLanguage       
    	);

    for languange identifier constants and strings, please refer to  link


    Example:
    SetThreadLocale(MAKELCID(MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), SORT_GERMAN_PHONE_BOOK));

    Extract Sort Identifier
    WORD SORTIDFROMLCID(
    	  LCID lcid  
    	);

    Extract Language Identifer
    	WORD LANGIDFROMLCID(
    	  LCID lcid  
    	);

    Extract Primary language identfier
    	WORD PRIMARYLANGID(
    	  WORD lgid  
    	);
    

    Extract a sublanguage identifier
    	WORD SUBLANGID(
    	  WORD lgid  
    	);







     
  • 相关阅读:
    Rsync+inotify自动同步数据
    join和 Daemon守护线程
    多线程的简单演示
    DB2用一张表更新其他表的数据
    WebService到底是什?
    JqueryUI学习笔记-自动完成autocomplete
    DB2 SQLCODE 大全
    eclipse调试java程序的九个技巧
    Class和ClassLoader的getResourceAsStream区别
    linux下vi命令大全
  • 原文地址:https://www.cnblogs.com/rogerroddick/p/2846691.html
Copyright © 2011-2022 走看看