文档章节

系统默认语言与系统支持的语言列表

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 265
阅读 1
收藏 0

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//获取系统支持的语言列表
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  Memo1.Clear;
  for i := 0 to Languages.Count - 1 do
    Memo1.Lines.Add(Format('%d: %s', [i, Languages.Name[i]]));
end;

//获取系统支持语言的 Ext 列表
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
begin
  Memo1.Clear;
  for i := 0 to Languages.Count - 1 do
    Memo1.Lines.Add(Languages.Ext[i] + #9 + Languages.Name[i]);
end;

//系统默认的语言 ID 和在语言列表中的排序
procedure TForm1.Button3Click(Sender: TObject);
var
  LangID: Word;
  N: Integer;
begin
  LangID := GetUserDefaultLangID;
  N := Languages.IndexOf(LangID);
  ShowMessageFmt('当前语言ID: %d; 在列表中的排序: %d', [LangID, N]);
  {当前语言ID: 2052; 在列表中67的排序: %d}
end;

//其他
procedure TForm1.Button4Click(Sender: TObject);
var
  s: string;
begin
  ShowMessage(Languages.ID[67]);                  //$00000804
  ShowMessage(IntToStr(Languages.LocaleID[67]));  //2052

  ShowMessage(Languages.NameFromLCID['2052']);    //中文(中国)
  ShowMessage(Languages.NameFromLocaleID[2052]);  //中文(中国)

  ShowMessage(GetUILanguages(2052)); // zh-CN,zh-Hans,zh
  ShowMessage(PreferredUILanguages); // ZH-CN,ZH-HANS,ZH

  for s in PreferredUILanguageList do ShowMessage(s); //ZH-CN ...
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/11/02/1594416.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
[M0]VoiceCommand相关修改

一、修改默认语言 VoiceCommand有自己的 将 vendor/mediatek/proprietary/packages/apps/VoiceCommand/res/xml/voicelanguage.xml DefaultLanguage 的 ID 修改为上面列出来的 ID 值。 默认只......

ShawnXia
2016/08/05
6
0
路过秋天版博客 V2.0 测试版发布 公测一周[支持多语言、多用户、多数据库、目录级URL]

路过秋天版博客发布历史回顾: 1:2010年11月08日---支持多语言、多用户、多数据库、目录级URL之路过秋天版博客发布[绝对有杀伤力的博客] 2:2010年11月10日---基础却容易被忽略的那点事--w...

晨曦之光
2012/03/09
0
0
Android应用资源---本地化(Localization)(三)

测试本地化应用程序 在设备上测试 要记住,你所使用的测试设备可能与其他地区消费者使用的设备有明显的不同。测试设备上的语言环境与其他设备存在差异,还有设备屏幕的分辨率和密度也可能不同...

长平狐
2012/10/16
386
0
iText 新年新版:截图识别文字后,翻译为 100+ 种语言

iText 是一款从图片中识别文字的工具,解决了诸如扫描版 PDF 无法复制等问题。在保持简洁的同时,我也在不断 改进 iText 的功能和便利性。新年第一版,来看看有哪些变化吧。 识别文字后自动翻...

01/02
0
0
说说在 Java 中如何国际化信息

对于有国际化要求的应用系统,通俗地说,就是多语言版本的软件啦,我们要为每一种语言提供一套相应的资源文件,并按照规范化的命名方式保存在规定的目录中,然后由系统根据客户端的选择,来选...

deniro
05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java JDK动态代理

本篇随笔是对java动态代理中的JDK代理方式的具体实现。 首先需要定义一个接口,为其定义了两个方法:   public interface UserService { public void add(); public void delete(); } 然后需...

编程SHA
16分钟前
1
0
轻松理解Dubbo分布式服务框架

Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的...

别打我会飞
24分钟前
1
0
TypeScript基础入门之JSX(一)

转发 TypeScript基础入门之JSX(一) 介绍 JSX是一种可嵌入的类似XML的语法。 它旨在转换为有效的JavaScript,尽管该转换的语义是特定于实现的。 JSX在React框架中越来越受欢迎,但此后也看到了...

durban
48分钟前
1
0
JavaScript使用原型判断对象类型

1. constructor属性 在JavaScript创建对象(二)——构造函数模式中,我们说过可以使用对象的constructor属性判断对象的类型:p1.constructor === Person,可能当时就有细心的读者会想,我们...

Bob2100
50分钟前
1
0
10-《深度拆解JVM》JVM是怎么实现invokedynamic的?(下)

一、问题引入 上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖...

飞鱼说编程
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部