内容

名称

I18N::LangTags::Detect - 检测用户的语言偏好

概要

use I18N::LangTags::Detect;
my @user_wants = I18N::LangTags::Detect::detect();

描述

检测用户希望以何种语言输出是一个常见问题。

函数

此模块定义一个公共函数,I18N::LangTags::Detect::detect()。此函数未导出(甚至不可导出),并且不接受任何参数。

在标量上下文中,该函数返回最优先的语言标签(如果未看到任何偏好,则返回 undef)。

在列表上下文中(通常是您想要的),该函数返回一个(可能为空)语言标签列表,表示用户显然接受输出的语言(从最佳到最差)。您可能希望将此函数的输出通过 I18N::LangTags::implicate_supers_tightly(...)I18N::LangTags::implicate_supers(...) 传递,如下所示

my @languages =
  I18N::LangTags::implicate_supers_tightly(
    I18N::LangTags::Detect::detect()
  );

环境

此模块查看几个环境变量:REQUEST_METHOD、HTTP_ACCEPT_LANGUAGE、LANGUAGE、LC_ALL、LC_MESSAGES 和 LANG。

如果安装了 Win32::Locale 模块并且环境中未将 IGNORE_WIN32_LOCALE 设置为真值,它还会使用该模块。

另请参阅

I18N::LangTagsWin32::LocaleLocale::Maketext

(此模块的核心代码最初是 Locale::Maketext 中的一个例程;但当我意识到它更普遍有用时,我将其移到这里。)

版权

版权所有 (c) 1998-2004 Sean M. Burke。保留所有权利。

此库是免费软件;您可以在与 Perl 本身相同的条款下重新分发和/或修改它。

此发行版中的程序和文档按“现状”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性和特定用途适用性的暗示保证。

作者

Sean M. Burke [email protected]