danield-km/simple-iso-639-3

将两种和三种字母的语言代码和名称从官方标准来源进行转换。

0.2.1 2023-05-29 00:00 UTC

This package is auto-updated.

Last update: 2024-09-05 10:31:27 UTC


README

Simple ISO 639-3 是一个小型库,用于在 ISO 639-1(双字母语言代码)和 ISO 639-2(三字母)之间转换语言代码。它基于(SIL)的官方标准列表 ISO 639-3 构建,并与 IETF 语言标签(RFC 4646)兼容。语言名称可用原生语言、英语和法语。

注意:当前标准(2007年)以原生语言作为代码的基础。例如,法语的三字母代码是 fra,而不是 fre,或者对于中文,是 zho,而不是 chi。英语语言已被弃用。

此库用于 Omeka S 的 Internationalisation 模块以及其他一些地方。

代码列表可能会由 SIL 更新,因此某些代码可能会定期被删除和添加。

安装

此模块是可在 [packagist] 上找到的 composer 库

composer require daniel-km/simple-iso-639-3

用法

通过 composer 或使用 require_once 'path/to/vendor/daniel-km/simple-iso-639-3/src/Iso639p3.php;' 将其包含到您的代码中后,您可以使用它如下

$languages = [
    'fr',
    'fra',
    'fre',
    'fr_FR',
    'fr-FR',
    'French',
    'frAnÇaiS',
    'frm',
    'fro',
    'fxxx',
];
$result = [];
foreach ($languages as $language) {
    $result[$language] = [
        'language'              => $language,
        'code'                  => \Iso639p3\Iso639p3::code($language),
        'short'                 => \Iso639p3\Iso639p3::code2letters($language),
        'all'                   => \Iso639p3\Iso639p3::codes($language),
        'name'                  => \Iso639p3\Iso639p3::name($language),
        'English name'          => \Iso639p3\Iso639p3::englishName($language),
        'English inverted name' => \Iso639p3\Iso639p3::englishInvertedName($language),
        'French name'           => \Iso639p3\Iso639p3::frenchName($language),
        'French inverted name'  => \Iso639p3\Iso639p3::frenchInvertedName($language),
    ];
}
print_r($result);

结果

语言代码简称全部名称英语名称英语倒置名称法语名称法语倒置名称
frfrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
frafrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
frefrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
fr_FRfrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
fr-FRfrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
Frenchfrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
frAnÇaiSfrafrfr, fra, frefrançaisFrenchFrenchfrançaisfrançais
frmfrmfrmfrmfrançois中世纪法语(约1400-1600)法语,中世纪(约1400-1600)moyen français (1400-1600)français moyen (1400-1600)
frofrofrofroFranceis古法语(842-约1400)法语,古(842-约1400)ancien français (842-ca.1400)français ancien (842-ca.1400)
fxxx

开发

列表是通过此命令自动生成的

php -f scripts/generate.php

警告

使用风险自担。

建议您定期备份文件和数据库,并检查存档,以便在需要时进行回滚。

故障排除

请参阅 GitLab 上的在线 问题页面

许可证

模块

此模块根据 CeCILL v2.1 许可证发布,与 GNU/GPL 兼容,并获得 FSFOSI 的批准。

此软件受法国法律下的 CeCILL 许可证管辖,并遵守免费软件的分配规则。您可以在 CeCILL 许可证的条款下使用、修改和/或重新分发软件,该许可证由 CEA、CNRS 和 INRIA 在以下 URL "http://www.cecill.info" 发布。

作为对访问源代码以及复制、修改和重新分发权利的补偿,用户仅获得有限保证,并且软件的作者、经济权利所有者和后续许可人仅对有限责任。

在这方面,用户应注意与软件的加载、使用、修改以及/或开发或再生产相关的风险,鉴于其作为免费软件的特殊地位,这可能意味着它难以操作,因此也意味着它仅适用于具备深厚计算机知识的开发人员和经验丰富的专业人士。因此,鼓励用户在确保其系统和安全/数据的前提下,加载并测试软件是否符合其需求,并且在更广泛的意义上,以相同的安全条件使用和操作该软件。

你现在正在阅读此内容,意味着你已经了解CeCILL许可证,并接受其条款。

版权

  • 版权属于互联网协会(2005年)(RFC 4646)
  • 版权 http://www.iso639-3.sil.org(语言代码)
  • 版权 Daniel Berthereau,2019-2023(见Daniel-KM在GitLab上的信息)