A lightweight library for the ISO 639 standard.
Project description
iso639-lang
iso639-lang is a simple library to handle the ISO 639 series of international standards for language codes.
>>> from iso639 import Lang
>>> Lang("fr")
Lang(name='French', pt1='fr', pt2b='fre', pt2t='fra', pt3='fra', pt5='')
iso639-lang allows you to switch from one language code to another easily.
There’s no need to manually download or parse data files, just use the Lang
class!
ISO 639-1, ISO 639-2, ISO 639-3 and ISO 639-5 parts are all supported.
Installing iso639-lang and Supported Versions
iso639-lang is available on PyPI:
$ pip install iso639-lang
iso639-lang supports Python 3.6+.
Usage
Handling language codes with iso639-lang is very simple.
Begin by importing the Lang
class:
>>> from iso639 import Lang
Lang
is instantiable with any ISO 639 language code or name. For example, let’s try to get the ISO 639 codes for French:
>>> lg = Lang("French")
>>> lg.name
'French'
>>> lg.pt1
'fr'
>>> lg.pt2b
'fre'
>>> lg.pt2t
'fra'
>>> lg.pt3
'fra'
>>> lg.pt5
''
An instance of Lang
can be modified.
>>> lg.pt1 = 'de'
>>> lg.name
'German'
Lang
instances are comparable to each other.
>>> other_lg = Lang("deu")
>>> lg == other_lg
True
You can easily get the macrolanguage of an individual language.
>>> lg = Lang("Wu Chinese")
>>> lg.macro()
Lang(name='Chinese', pt1='zh', pt2b='chi', pt2t='zho', pt3='zho', pt5='')
Conversely, you can also list all the individual languages that share a common macrolanguage.
>>> lg = Lang("Persian")
>>> lg.individuals()
[Lang(name='Iranian Persian', pt1='', pt2b='', pt2t='', pt3='pes', pt5=''),
Lang(name='Dari', pt1='', pt2b='', pt2t='', pt3='prs', pt5='')]
Data included in iso639-lang
iso639-lang is based on the official code tables provided by the ISO 639 registration authorities.
Standard | Name | Registration Authority | First edition | Current |
---|---|---|---|---|
ISO 639-1 | Part 1: Alpha-2 code | Infoterm | 1967 | 2002 |
ISO 639-2 | Part 2: Alpha-3 code | Library of Congress | 1998 | 1998 |
ISO 639-3 | Part 3: Alpha-3 code for comprehensive coverage of languages | SIL International | 2007 | 2007 |
ISO 639-4 | Part 4: Implementation guidelines and general principles for language coding (not a list) | ISO/TC 37/SC 2 | 2010 | 2010 |
ISO 639-5 | Part 5: Alpha-3 code for language families and groups | Library of Congress | 2008 | 2013 |
ISO 639-6 | Part 6: Alpha-4 representation for comprehensive coverage of language variants | Geolang | 2009 | withdrawn |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for iso639_lang-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59422f58355649fd32808d3181e1b16b61813e6b640aaed8d1cc803e64d92661 |
|
MD5 | dcfbf66f54be5e68b63cd2c5cb856ff6 |
|
BLAKE2b-256 | d066e8781f25304e227bbb0636e0bbc13f95f2b43916be8fa8995e7aa8ec22f9 |