File size: 1,267 Bytes
68a8c29
6570b48
68a8c29
5a1315d
fc374da
39897d9
abed01c
39897d9
 
 
 
 
e3d850e
 
d6aa39c
e3ca56d
 
726336c
878ffe0
e3d850e
21247cf
606d796
a397155
0fef655
 
 
 
d6aa39c
0fef655
947dc2d
0fef655
2f590b1
16fc4ca
b65ecd9
878ffe0
 
163a18d
d6aa39c
878ffe0
 
19b4aa8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import streamlit as st
import langcodes

# https://huggingface.co/blog/streamlit-spaces
langtext = st.text_input("language code", "en")

if langcodes.tag_is_valid(langtext):
  st.write(f"{langtext} is already a valid BCP-47 language tag")
else:
  st.write(f"{langtext} is not already a valid BCP-47 language tag")
    

try:
  lang = langcodes.Language.get(langtext)
  st.write(f"{lang} is the BCP-47 tag.")
  if "unknown" in lang.display_name().to_lower():
    lang = None
except langcodes.LanguageTagError as e: 
  st.write(f"Could not simply instantiate, trying to look up instead.")
  lang = None
  


if lang is None:
  try:
    found = langcodes.find(langtext)
    lang = found
    st.write(f"natural language search found the following BCP-47 tag: {lang}")
  except LookupError as e:
    st.write(f"Unable to look up language code.")
    lang = None


#st.write(f"langcodes found the following tag: {type(found)}") # a Language object
if lang is not None: 
  display = lang.display_name()

  st.write(f"Correct BCP-47 tag for {langtext}, according to the langcodes library: {lang}")
  st.write(f"Display name for {lang}: {lang.display_name()}")
  st.write(f"Autonym for {lang}: {lang.autonym()}")
  st.write(f"Alpha3 version (deprecated): {lang.to_alpha3()}")