Convert a string to a LanguageCode instance. Matches on ISO codes, English name, or native name.
(value: str)
| 141 | |
| 142 | @staticmethod |
| 143 | def from_string(value: str): |
| 144 | """ |
| 145 | Convert a string to a LanguageCode instance. Matches on ISO codes, English name, or native name. |
| 146 | """ |
| 147 | if value is None: |
| 148 | return LanguageCode.NONE |
| 149 | value = value.strip().lower() |
| 150 | for lang in LanguageCode: |
| 151 | if lang is LanguageCode.NONE: |
| 152 | continue |
| 153 | elif ( |
| 154 | value == lang.iso_639_1 |
| 155 | or value == lang.iso_639_2_t |
| 156 | or value == lang.iso_639_2_b |
| 157 | or value == lang.name_en.lower() |
| 158 | or value == lang.name_native.lower() |
| 159 | ): |
| 160 | return lang |
| 161 | return LanguageCode.NONE |
| 162 | |
| 163 | # is valid language |
| 164 | @staticmethod |
no outgoing calls