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
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.