Oihana PHP Standards

ISO639_2B uses ConstantsTrait

Provides the **bibliographic (B) form** of ISO 639-2 alpha-3 language codes, for the ~20 languages that have both a bibliographic and a terminologic code.

ISO 639-2 assigns two alpha-3 codes to some major languages:

  • B (bibliographic): historically used by libraries and US MARC records (fre, ger, chi, dut, gre, ice, rum, …);
  • T (terminologic): designed for general purposes and preferred by IETF BCP 47 (fra, deu, zho, nld, ell, isl, ron, …).

This class enumerates the B forms only. For the canonical (T-or-unique) form, use ISO639_2. The BIBLIOGRAPHIC_TO_TERMINOLOGIC map and the toTerminologic() helper convert a B code to its T equivalent.

Example usage: ISO639_2B::FRE; // 'fre' (French, bibliographic) ISO639_2B::includes('fre'); // true ISO639_2B::includes('fra'); // false (terminologic — see ISO639_2) ISO639_2B::toTerminologic('fre'); // 'fra' ISO639_2B::toTerminologic('eng'); // null (not a bibliographic code) ISO639_2B::getBibliographicToTerminologicMap(); // ['alb' => 'sqi', 'arm' => 'hye', …]

Tags
see
ISO639_2

Canonical (T-or-unique) form

https://www.loc.gov/standards/iso639-2/

Official LoC ISO 639-2 registry

https://www.rfc-editor.org/rfc/rfc5646#section-4.1.2

RFC 5646 — Preferred form

author

Marc Alcaraz (ekameleon)

since
1.0.3

Table of Contents

Constants

ALB  : string = 'alb'
Albanian (bibliographic; terminologic equivalent: `sqi`).
ARM  : string = 'arm'
Armenian (bibliographic; terminologic equivalent: `hye`).
BAQ  : string = 'baq'
Basque (bibliographic; terminologic equivalent: `eus`).
BUR  : string = 'bur'
Burmese (bibliographic; terminologic equivalent: `mya`).
CHI  : string = 'chi'
Chinese (bibliographic; terminologic equivalent: `zho`).
CZE  : string = 'cze'
Czech (bibliographic; terminologic equivalent: `ces`).
DUT  : string = 'dut'
Dutch; Flemish (bibliographic; terminologic equivalent: `nld`).
FRE  : string = 'fre'
French (bibliographic; terminologic equivalent: `fra`).
GEO  : string = 'geo'
Georgian (bibliographic; terminologic equivalent: `kat`).
GER  : string = 'ger'
German (bibliographic; terminologic equivalent: `deu`).
GRE  : string = 'gre'
Modern Greek (1453-) (bibliographic; terminologic equivalent: `ell`).
ICE  : string = 'ice'
Icelandic (bibliographic; terminologic equivalent: `isl`).
MAC  : string = 'mac'
Macedonian (bibliographic; terminologic equivalent: `mkd`).
MAO  : string = 'mao'
Maori (bibliographic; terminologic equivalent: `mri`).
MAY  : string = 'may'
Malay (bibliographic; terminologic equivalent: `msa`).
PER  : string = 'per'
Persian (bibliographic; terminologic equivalent: `fas`).
RUM  : string = 'rum'
Romanian; Moldavian; Moldovan (bibliographic; terminologic equivalent: `ron`).
SLO  : string = 'slo'
Slovak (bibliographic; terminologic equivalent: `slk`).
TIB  : string = 'tib'
Tibetan (bibliographic; terminologic equivalent: `bod`).
WEL  : string = 'wel'
Welsh (bibliographic; terminologic equivalent: `cym`).

Properties

$map  : array<string, string>|null
Cached B→T map (lazy-initialized by {@see getBibliographicToTerminologicMap()}).

Methods

getBibliographicToTerminologicMap()  : array<string, string>
Returns the full map from bibliographic to terminologic alpha-3 codes.
toTerminologic()  : string|null
Returns the terminologic (T) equivalent of a bibliographic (B) alpha-3 code, or null if the input is not a known bibliographic code.

Constants

ALB

Albanian (bibliographic; terminologic equivalent: `sqi`).

public string ALB = 'alb'

ARM

Armenian (bibliographic; terminologic equivalent: `hye`).

public string ARM = 'arm'

BAQ

Basque (bibliographic; terminologic equivalent: `eus`).

public string BAQ = 'baq'

BUR

Burmese (bibliographic; terminologic equivalent: `mya`).

public string BUR = 'bur'

CHI

Chinese (bibliographic; terminologic equivalent: `zho`).

public string CHI = 'chi'

CZE

Czech (bibliographic; terminologic equivalent: `ces`).

public string CZE = 'cze'

DUT

Dutch; Flemish (bibliographic; terminologic equivalent: `nld`).

public string DUT = 'dut'

FRE

French (bibliographic; terminologic equivalent: `fra`).

public string FRE = 'fre'

GEO

Georgian (bibliographic; terminologic equivalent: `kat`).

public string GEO = 'geo'

GER

German (bibliographic; terminologic equivalent: `deu`).

public string GER = 'ger'

GRE

Modern Greek (1453-) (bibliographic; terminologic equivalent: `ell`).

public string GRE = 'gre'

ICE

Icelandic (bibliographic; terminologic equivalent: `isl`).

public string ICE = 'ice'

MAC

Macedonian (bibliographic; terminologic equivalent: `mkd`).

public string MAC = 'mac'

MAO

Maori (bibliographic; terminologic equivalent: `mri`).

public string MAO = 'mao'

MAY

Malay (bibliographic; terminologic equivalent: `msa`).

public string MAY = 'may'

PER

Persian (bibliographic; terminologic equivalent: `fas`).

public string PER = 'per'

RUM

Romanian; Moldavian; Moldovan (bibliographic; terminologic equivalent: `ron`).

public string RUM = 'rum'

SLO

Slovak (bibliographic; terminologic equivalent: `slk`).

public string SLO = 'slo'

TIB

Tibetan (bibliographic; terminologic equivalent: `bod`).

public string TIB = 'tib'

WEL

Welsh (bibliographic; terminologic equivalent: `cym`).

public string WEL = 'wel'

Properties

$map

Cached B→T map (lazy-initialized by {@see getBibliographicToTerminologicMap()}).

private static array<string, string>|null $map = null

Methods

getBibliographicToTerminologicMap()

Returns the full map from bibliographic to terminologic alpha-3 codes.

public static getBibliographicToTerminologicMap() : array<string, string>
Return values
array<string, string>

toTerminologic()

Returns the terminologic (T) equivalent of a bibliographic (B) alpha-3 code, or null if the input is not a known bibliographic code.

public static toTerminologic(string $code) : string|null
Parameters
$code : string

The bibliographic alpha-3 code (e.g. 'fre', 'ger').

Return values
string|null

The terminologic alpha-3 code (e.g. 'fra', 'deu'), or null.

On this page

Search results