Расхождения кодов языка (language code) и языка локализации (locale name)
Версия
Сириусо 6086753a
Резюме
Из-за расхождения кодов языка (language code) и языка локализации (locale name) возникают проблемы при обработке многоязычных строк JSON-формата
Когда в коде на задан точно язык по локализации ('ru_RU') используется язык по умолчанию ('ru-ru') и слово записывается в новый язык. uzantoj/api/mutations.py строк 260 - не указывается код языка и в функции set_enhavo берётся язык из settings.LANGUAGE_CODE
Шаги для воспроизведения
mutation
(
$avataro: String
$chefaOrganizo: Int
$duaNomo: String
$familinomo: String
$id: Int
$kovrilo: String
$lando: String
$lingvo: String
$naskighdato: Date
$poshtoSciigoj: Boolean
$regiono: String
$sekso: String
$statuso: String
$unuaNomo: String
) {
aplikiAgordoj(
unuaNomo: $unuaNomo
duaNomo: $duaNomo
familinomo: $familinomo
avataro: $avataro
chefaOrganizo: $chefaOrganizo
kovrilo: $kovrilo
id: $id
lando: $lando
lingvo: $lingvo
naskighdato: $naskighdato
poshtoSciigoj: $poshtoSciigoj
regiono: $regiono
sekso: $sekso
statuso: $statuso
) {
status
message
errors {
field
message
}
poshtoSciigoj
unuaNomo {
lingvo
enhavo
chefaVarianto
}
duaNomo {
lingvo
enhavo
chefaVarianto
}
familinomo {
lingvo
enhavo
chefaVarianto
}
sekso
statuso {
lingvo
enhavo
chefaVarianto
}
naskighdato
lingvo {
id
}
lando {
id
}
regiono {
id
}
chefaOrganizo {
id
}
avataro {
id
}
kovrilo {
id
}
}
}
параметр:
{"unuaNomo": "Васёк"}
В итоге получаем появления двух имен с разными языковыми кодами:
{"enhavo": ["Василий", "Васёк"], "lingvo": {"ru-ru": 1, "ru_RU": 0}, "chefa_varianto": "ru_RU"}
Каково ожидаемое "правильное" поведение?
Что бы было всегда один языковой код согласно справочника из базы данных. Проверить по коду, где идёт работы с JSON-полем подставку правильного кода. Либо привести в соответствие коды локализации с кодами языка.