Эти коды являются возможными значениями wdt:P424
. Из предложения по недвижимости:
— Есть ли большая разница с ISO 639-1?
— Многие из них такие же, как ISO, но они не выполняются последовательно. Некоторые языковые коды состоят из двух букв, некоторых из трех, а некоторых даже больше. И есть также несколько случаев, когда это совершенно другое (также: ISO: тоск албанский, Викимедиа: алеманнский).
Вы можете получить все эти коды, используя следующий простой запрос SPARQL:
SELECT DISTINCT ?code { [] wdt:P424 ?code } ORDER BY ?code
Попробуйте!
На самом деле список, на который вы ссылаетесь, периодически генерируется ботом. Полный запрос :
SELECT ?item ?c
(CONCAT("{","{#language:",?c,"}","}") as ?display)
(CONCAT("{","{#language:",?c,"|","en}","}") as ?displayEN)
(CONCAT("{","{#language:",?c,"|","fr}","}") as ?displayFR)
{
?item wdt:P424 ?c .
MINUS{?item wdt:P31/wdt:P279* wd:Q14827288} #--exclude Wikimedia projects
MINUS{?item wdt:P31/wdt:P279* wd:Q17442446} #--exclude Wikimedia internal stuff
}
Ты мог:
- вставьте список допустимых кодов в свой скрипт, или
- предварительно загружать список при запуске скрипта, или
- выполнять запрос
ASK
SPARQL при каждом вводе пользователя.
Я бы предпочел третий вариант:
#!/bin/sh
echo "Enter language code:"
read code
request="curl -g -s https://query.wikidata.org/sparql?query=ASK{?lang%20wdt:P424%20\"$code\"}"
if $request | grep -q "true"; then
echo "Valid code";
else
echo "Invalid code";
fi
person
Stanislav Kralin
schedule
13.01.2018
/etc/locale.gen
? (например,fo_FO.UTF-8 UTF-8
)? Если да, тоif grep -q "$input" /etc/locale.gen; then printf "valid locale\n"; else printf "locale not found\n"; fi
- person David C. Rankin   schedule 13.01.2018locale.gen
AFAIK). - person Stanislav Kralin   schedule 14.01.2018