国际化文本功能与区域设置详解
1. 国际化应用与本地化概述
国际化应用能够适应不同母语、当地习俗和字符串编码的需求。将操作适配特定母语、当地习俗或字符串编码的过程称为本地化。国际化的一个目标是允许在不修改程序源代码或重新编译的情况下进行本地化。
Xlib 作为本地化机制之一,提供了用于国际化文本输入的 X 输入方法(XIM)功能接口和用于国际化文本输出的 X 输出方法(XOM)功能接口。X 中的国际化基于区域设置(locale)的概念,区域设置定义了程序在运行时的本地化行为,它会影响 Xlib 的多个方面:
- 输入方法文本的编码和处理
- 资源文件和值的编码
- 文本字符串的编码和成像
- 客户端间文本通信的编码和解码
不同语言使用不同的编码,甚至同一语言的相同字符也可能有不同的编码。
2. X 区域设置管理
2.1 区域设置声明方法
X 支持主机环境定义的一个或多个区域设置。在符合 ANSI C 库的实现中,区域设置声明方法是 setlocale 函数,它能同时配置主机 C 库和 Xlib 的区域设置操作。Xlib 的操作由 LC_CTYPE 类别控制,这被称为当前区域设置。除了 setlocale ,实现也可以提供依赖于实现的区域设置声明机制。在不符合 ANSI C 库的实现中,区域设置声明方法依赖于 Xlib 的具体实现。
2.2 判断区域设置是否支持
要确定当前区域设置是否被 X 支持,可以使用 XSupportsLo
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



