2
2
3
3
** langcodes** knows what languages are. It knows the standardized codes that
4
4
refer to them, such as ` en ` for English, ` es ` for Spanish and ` hi ` for Hindi.
5
- Often, it knows what these languages are called * in* a language, and that
6
- language doesn't have to be English.
5
+
6
+ These are [ IETF language tags] [ ] . You may know them by their old name, ISO 639
7
+ language codes. IETF has done some important things for backward compatibility
8
+ and supporting language variations that you won't find in the ISO standard.
9
+
10
+ [ IETF language tags ] : https://www.w3.org/International/articles/language-tags/
7
11
8
12
It may sound to you like langcodes solves a pretty boring problem. At one
9
13
level, that's right. Sometimes you have a boring problem, and it's great when a
@@ -39,8 +43,16 @@ One way to know is to read IETF standards and Unicode technical reports.
39
43
Another way is to use a library that implements those standards and guidelines
40
44
for you, which langcodes does.
41
45
42
- langcodes is maintained by Robyn Speer, and is released as free software under
43
- the MIT license.
46
+ When you're working with these short language codes, you may want to see the
47
+ name that the language is called _ in_ a language: ` fr ` is called "French" in
48
+ English. That language doesn't have to be English: ` fr ` is called "français" in
49
+ French. A supplement to langcodes, [ ` language_data ` ] [ language-data ] , provides
50
+ this information.
51
+
52
+ [ language-data ] : https://github.com/rspeer/language_data
53
+
54
+ langcodes is maintained by Elia Robyn Lake a.k.a. Robyn Speer, and is released
55
+ as free software under the MIT license.
44
56
45
57
46
58
## Standards implemented
@@ -50,8 +62,8 @@ acronym-compliant.
50
62
51
63
langcodes implements [ BCP 47] ( http://tools.ietf.org/html/bcp47 ) , the IETF Best
52
64
Current Practices on Tags for Identifying Languages. BCP 47 is also known as
53
- RFC 5646. It subsumes standards such as ISO 639 , and it also implements
54
- recommendations from the [ Unicode CLDR] ( http://cldr.unicode.org ) .
65
+ RFC 5646. It subsumes ISO 639 and is backward compatible with it , and it also
66
+ implements recommendations from the [ Unicode CLDR] ( http://cldr.unicode.org ) .
55
67
56
68
The package also comes with a database of language properties and names, built
57
69
from Unicode CLDR and the IANA subtag registry.
@@ -644,6 +656,8 @@ date.
644
656
invalid
645
657
- A language tag with two extlangs, like 'sgn-ase-bfi', is invalid
646
658
659
+ - Updated dependencies so they are compatible with Python 3.10.
660
+
647
661
648
662
## Version 3.1 (February 2021)
649
663
0 commit comments