Skip to content

Validate language field #1344

@dfabulich

Description

@dfabulich

Right now, you can type anything you want in the Language field, including asdf. It's only supposed to contain a comma-delimited list of ISO-639 codes, each with an optional ISO-3166 country code.

List of languages in the DB now

+-----------------+-----------+
| language        | count(id) |
+-----------------+-----------+
| en              |     11744 |
| NULL            |       778 |
| es              |       594 |
| fr              |       447 |
| de              |       269 |
| it              |       191 |
| en-US           |       157 |
| ru              |        80 |
| cs              |        79 |
| ja              |        44 |
| en-GB           |        42 |
| en, fr          |        41 |
| en, es          |        39 |
| sv              |        30 |
| sk              |        23 |
| english         |        21 |
| zh-CN           |        20 |
| zh-Hans         |        18 |
| en, ru          |        16 |
| pt              |        16 |
| nl              |        13 |
| pl              |        11 |
| hu              |        11 |
| es, en          |        10 |
| pt-BR           |        10 |
| en-CA           |        10 |
| fr, en          |         9 |
| en, it          |         8 |
| en, pt-br       |         8 |
| sl              |         8 |
| sr              |         6 |
| en-UK           |         6 |
| ca              |         5 |
| eo              |         5 |
| en-AU           |         5 |
| zh-cmn-Hans     |         5 |
| da              |         5 |
| de, en          |         5 |
| zh-cmn-Hant-TW  |         5 |
| zh-Hant         |         4 |
| no              |         4 |
| ko              |         4 |
| hr, sr          |         4 |
| ru, en          |         3 |
| el              |         2 |
| ro              |         2 |
| ms              |         2 |
| en, de          |         2 |
| zh              |         2 |
| bs              |         2 |
| en, zh-cmn-Hans |         2 |
| en, ja          |         2 |
| en, nl          |         2 |
| English (en)    |         2 |
| de, en, es      |         2 |
| zh-Hans, en     |         2 |
| es-AR           |         2 |
| en-IN           |         1 |
| de, en, es, ru  |         1 |
| es-ES           |         1 |
| es,en,ja        |         1 |
| en, ja, ru      |         1 |
| ar-sa           |         1 |
| bn              |         1 |
| en,fr,it        |         1 |
| en, mis         |         1 |
| hr, sl, sr      |         1 |
| de, en, pt, ru  |         1 |
| Users Choice    |         1 |
| en, pl          |         1 |
| rus             |         1 |
| ja, en, ru      |         1 |
| en,fr,it,uk,es  |         1 |
| cs, en, pl      |         1 |
| Toki Pona       |         1 |
| Danish, da      |         1 |
| en, sco         |         1 |
| en, pt          |         1 |
| pt-BR, en       |         1 |
| da-DK           |         1 |
| tok, en         |         1 |
| en-US, iu       |         1 |
| C#              |         1 |
| en, uk          |         1 |
| en, ru, zh      |         1 |
| de / en         |         1 |
| en, es, ca      |         1 |
| fr, it          |         1 |
| ca, es          |         1 |
| en,es           |         1 |
| en, ko          |         1 |
| ja,en           |         1 |
| de,en,es,fr,zh  |         1 |
| id              |         1 |
| de, en, fr      |         1 |
| it, en, fr, es  |         1 |
| zh-Hant, en     |         1 |
| ja, en          |         1 |
| en-NZ           |         1 |
| nl-BE           |         1 |
| en,ja,pt,de,it  |         1 |
| en, hu          |         1 |
| en, zh          |         1 |
| en,es,eo        |         1 |
| en, sk          |         1 |
| en, pt, ru      |         1 |
| en, fr, ru      |         1 |
| el, en          |         1 |
| hr              |         1 |
| en, es, zh-Hant |         1 |
| en, tr          |         1 |
| en,fr           |         1 |
| hr, sl          |         1 |
| en, es, fr, tr  |         1 |
| ru,en           |         1 |
| en, es, ru      |         1 |
| is              |         1 |
| en, zh-yue-Hant |         1 |
| it, en          |         1 |
| en, nl, de      |         1 |
| en,ja,fr,de,es  |         1 |
| de,en,es,fr,tr  |         1 |
| en,de,es,ru,uk  |         1 |
| nl, en          |         1 |
| fi              |         1 |
| en, es-AR       |         1 |
| en,ru,eo        |         1 |
| en, hu, uk      |         1 |
| fr,en,zh-CN     |         1 |
| Spanglish       |         1 |
| en, es, it      |         1 |
| sco             |         1 |
| en, es, zh, +   |         1 |
| it, en, sk      |         1 |
+-----------------+-----------+

Skimming through the list, these catch my eye:

+-----------------+-----------+
| language        | count(id) |
+-----------------+-----------+
| NULL            |       778 |
| english         |        21 |
| zh-CN           |        20 |
| zh-Hans         |        18 |
| zh-cmn-Hans     |         5 |
| zh-cmn-Hant-TW  |         5 |
| zh-Hant         |         4 |
| en, zh-cmn-Hans |         2 |
| English (en)    |         2 |
| zh-Hans, en     |         2 |
| bn              |         1 |
| en, mis         |         1 |
| Users Choice    |         1 |
| rus             |         1 |
| Toki Pona       |         1 |
| pt-BR, en       |         1 |
| da-DK           |         1 |
| tok, en         |         1 |
| C#              |         1 |
| de / en         |         1 |
| zh-Hant, en     |         1 |
| en-NZ           |         1 |
| nl-BE           |         1 |
| en, es, zh-Hant |         1 |
| en, zh-yue-Hant |         1 |
| Spanglish       |         1 |
| sco             |         1 |
| en, es, zh, +   |         1 |
+-----------------+-----------+

Metadata

Metadata

Assignees

No one assigned

    Labels

    accurate dataIFDB data should be complete and correct

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions