# Generated from uploaded translations.
# Stores/updates ApiMessage rows using Language.code + message_key.
# No reverse/delete logic. Existing rows are updated by language + message_key.

from django.db import migrations


API_MESSAGES = {'CUSTOMER_LANGUAGE_UPDATED': {'es': 'El idioma del cliente se actualizó correctamente',
                               'it': 'La lingua è stata aggiornata correttamente.',
                               'nl': 'De taal is succesvol bijgewerkt.',
                               'pl': 'Język został pomyślnie zaktualizowany.',
                               'ru': 'Язык успешно обновлен.',
                               'fi': 'Kieli on päivitetty onnistuneesti.',
                               'de': 'Sprache wurde erfolgreich aktualisiert.',
                               'sv': 'Språk har uppdaterats.',
                               'fr': 'La langue du client a été mise à jour avec succès.',
                               'pt': 'O idioma foi atualizado com sucesso.',
                               'et': 'Keel on edukalt uuendatud.',
                               'no': 'Språk ble vellykket oppdatert.',
                               'bg': 'Езикът е актуализиран успешно.',
                               'da': 'Sproget er blevet opdateret.',
                               'lt': 'Kalba sėkmingai atnaujinta.',
                               'sk': 'Jazyk bol úspešne aktualizovaný.',
                               'hr': 'Jezik je uspješno ažuriran.',
                               'sl': 'Jezik je bil uspešno posodobljen.',
                               'cs': 'Jazyk byl úspěšně aktualizován.',
                               'hu': 'A nyelv beállítása sikeresen megtörtént',
                               'ro': 'Limba a fost actualizată cu succes.',
                               'el': 'Η γλώσσα ενημερώθηκε επιτυχώς.'},
 'PROFILE_UPDATED': {'es': 'Perfil actualizado exitosamente.',
                     'it': 'Il profilo è stato aggiornato correttamente!',
                     'nl': 'Het profiel is succesvol bijgewerkt!',
                     'pl': 'Profil został pomyślnie zaktualizowany!',
                     'ru': 'Профиль успешно обновлен!',
                     'fi': 'Profiili päivitetty onnistuneesti!',
                     'de': 'Profil wurde erfolgreich aktualisiert!',
                     'sv': 'Profil har uppdaterats!',
                     'fr': 'Profil mis à jour avec succès',
                     'pt': 'O perfil foi atualizado com sucesso!',
                     'et': 'Profiil on edukalt uuendatud!',
                     'no': 'Profil vellykket oppdatert!',
                     'bg': 'Профилът е актуализиран успешно!',
                     'da': 'Profilen er blevet opdateret!',
                     'lt': 'Profilis sėkmingai atnaujintas!',
                     'sk': 'Profil bol úspešne aktualizovaný!',
                     'hr': 'Profil je uspješno ažuriran!',
                     'sl': 'Profil je bil uspešno posodobljen!',
                     'cs': 'Profil byl úspěšně aktualizován!',
                     'hu': 'A profil aktualizálása sikeres',
                     'ro': 'Profilul a fost actualizat cu succes!',
                     'el': 'Το προφίλ ενημερώθηκε επιτυχώς!'},
 'BUYER_UPDATED': {'es': 'Compradora actualizada con éxito',
                   'it': 'I dati del compratore sono stati aggiornati correttamente!',
                   'nl': 'De kopersgegevens zijn succesvol bijgewerkt!',
                   'pl': 'Dane nabywcy zostały pomyślnie zaktualizowane!',
                   'ru': 'Данные покупателя успешно обновлены!',
                   'fi': 'Ostajan tiedot on päivitetty onnistuneesti!',
                   'de': 'Käuferdaten wurden erfolgreich aktualisiert!',
                   'sv': 'Köparens uppgifter har uppdaterats!',
                   'fr': "L'acheteur a mis à jour sa configuration avec succès.",
                   'pt': 'Os dados du comprador foram atualizados com sucesso!',
                   'et': 'Ostja andmed on edukalt uuendatud!',
                   'no': 'Kjøperens data vellykket oppdatert!',
                   'bg': 'Данните на купувача са актуализирани успешно!',
                   'da': 'Købers data er blevet opdateret!',
                   'lt': 'Pirkėjo duomenys sėkmingai atnaujinti!',
                   'sk': 'Údaje o odberateľovi boli úspešne aktualizované!',
                   'hr': 'Podaci kupca uspješno su ažurirani!',
                   'sl': 'Podatki o kupcu so uspešno posodobljeni!',
                   'cs': 'Údaje o kupujícím byly úspěšně aktualizovány!',
                   'hu': 'Vásárló sikeresen frissítve',
                   'ro': 'Datele cumpărătorului au fost actualizate cu succes!',
                   'el': 'Τα δεδομένα του αγοραστή ενημερώθηκαν επιτυχώς!'},
 'FIELD_UPDATED': {'es': 'Campo actualizado exitosamente',
                   'it': 'I dati del campo sono stati aggiornati correttamente!',
                   'nl': 'De veldgegevens zijn succesvol bijgewerkt!',
                   'pl': 'Dane pola zostały pomyślnie zaktualizowane!',
                   'ru': 'Данные поля успешно обновлены!',
                   'fi': 'Pellon tiedot on päivitetty onnistuneesti!',
                   'de': 'Felderdaten wurden erfolgreich aktualisiert!',
                   'sv': 'Åkerns uppgifter har uppdaterats!',
                   'fr': 'Champ mis à jour avec succès',
                   'pt': 'Os dados do campo foram atualizados com sucesso!',
                   'et': 'Põllu andmed on edukalt uuendatud!',
                   'no': 'Åkerdata vellykket oppdatert!',
                   'bg': 'Данните на полето са актуализирани успешно!',
                   'da': 'Markens data er blevet opdateret!',
                   'lt': 'Lauko duomenys sėkmingai atnaujinti!',
                   'sk': 'Údaje o poli boli úspešne aktualizované!',
                   'hr': 'Podaci polja uspješno su ažurirani!',
                   'sl': 'Podatki o polju so uspešno posodobljeni!',
                   'cs': 'Údaje o poli byly úspěšně aktualizovány!',
                   'hu': 'Mező sikeresen frissítve',
                   'ro': 'Datele terenului au fost actualizate cu succes!',
                   'el': 'Τα δεδομένα του χωραφιού ενημερώθηκαν επιτυχώς!'},
 'FIELD_DELETED': {'es': 'Campo eliminado exitosamente',
                   'it': 'I dati del campo sono stati eliminati correttamente!',
                   'nl': 'De veldgegevens zijn succesvol gewist!',
                   'pl': 'Dane pola zostały pomyślnie usunięte!',
                   'ru': 'Данные поля успешно удалены!',
                   'fi': 'Pellon tiedot on poistettu onnistuneesti!',
                   'de': 'Felderdaten wurden erfolgreich gelöscht!',
                   'sv': 'Åkerns uppgifter har raderats!',
                   'fr': 'Champ supprimé avec succès',
                   'pt': 'Os dados do campo foram excluídos com sucesso!',
                   'et': 'Põllu andmed on edukalt kustutatud!',
                   'no': 'Åkerdata vellykket slettet!',
                   'bg': 'Данните на полето са изтрити успешно!',
                   'da': 'Markens data er blevet slettet!',
                   'lt': 'Lauko duomenys sėkmingai ištrinti!',
                   'sk': 'Údaje o poli boli úspešne odstránené!',
                   'hr': 'Podaci polja uspješno su izbrisani!',
                   'sl': 'Podatki o polju so uspešno izbrisani!',
                   'cs': 'Údaje o poli byly úspěšně smazány!',
                   'hu': 'Mező törlése sikeres',
                   'ro': 'Datele terenului au fost șterse cu succes!',
                   'el': 'Τα δεδομένα του χωραφιού διαγράφηκαν επιτυχώς!'},
 'BUYER_DELETED': {'es': 'Compradora eliminada exitosamente',
                   'it': 'I dati del compratore sono stati eliminati correttamente!',
                   'nl': 'De kopersgegevens zijn succesvol gewist!',
                   'pl': 'Dane nabywcy zostały pomyślnie usunięte!',
                   'ru': 'Данные покупателя успешно удалены!',
                   'fi': 'Ostajan tiedot on poistettu onnistuneesti!',
                   'de': 'Käuferdaten wurden erfolgreich gelöscht!',
                   'sv': 'Köparens uppgifter har raderats!',
                   'fr': 'Acheteur supprimé avec succès',
                   'pt': 'Os dados do comprador foram excluídos com sucesso!',
                   'et': 'Ostja andmed on edukalt kustutatud!',
                   'no': 'Kjøperens data vellykket slettet!',
                   'bg': 'Данните на купувача са изтрити успешно!',
                   'da': 'Købers data er blevet slettet!',
                   'lt': 'Pirkėjo duomenys sėkmingai ištrinti!',
                   'sk': 'Údaje o odberateľovi boli úspešne odstránené!',
                   'hr': 'Podaci kupca uspješno su izbrisani!',
                   'sl': 'Podatki o kupcu so uspešno izbrisani!',
                   'cs': 'Údaje o kupujícím byly úspěšně smazány!',
                   'hu': 'Vásárló törlése sikeres',
                   'ro': 'Datele cumpărătorului au fost șterse cu succes!',
                   'el': 'Τα δεδομένα του αγοραστή διαγράφηκαν επιτυχώς!'},
 'DEVICE_DELETED': {'es': 'Dispositivo eliminado exitosamente',
                    'it': 'I dati del dispositivo sono stati eliminati correttamente!',
                    'nl': 'De apparaatgegevens zijn succesvol gewist!',
                    'pl': 'Dane urządzenia zostały pomyślnie usunięte!',
                    'ru': 'Данные устройства успешно удалены!',
                    'fi': 'Laitteen tiedot on poistettu onnistuneesti!',
                    'de': 'Gerätedaten wurden erfolgreich gelöscht!',
                    'sv': 'Enhets uppgifter har raderats!',
                    'fr': 'Appareil supprimé avec succès',
                    'pt': 'Os dados do dispositivo foram excluídos com sucesso!',
                    'et': 'Seadme andmed on edukalt kustutatud!',
                    'no': 'Enhetsdata vellykket slettet!',
                    'bg': 'Данните на устройството са изтрити успешно!',
                    'da': 'Apparatets data er blevet slettet!',
                    'lt': 'Įrenginio duomenys sėkmingai ištrinti!',
                    'sk': 'Údaje o zariadení boli úspešne odstránené!',
                    'hr': 'Podaci uređaja uspješno su izbrisani!',
                    'sl': 'Podatki v napravi so uspešno izbrisani!',
                    'cs': 'Údaje o zařízení byly úspěšně smazány!',
                    'hu': 'Eszköz sikeresen törölve',
                    'ro': 'Datele dispozitivului au fost șterse cu succes!',
                    'el': 'Τα δεδομένα της συσκευής διαγράφηκαν επιτυχώς!'},
 'RESULT_UPDATED': {'es': 'Resultados actualizados exitosamente',
                    'it': 'I risultati sono stati aggiornati correttamente!',
                    'nl': 'De resultaten zijn succesvol bijgewerkt!',
                    'pl': 'Wyniki zostały pomyślnie zaktualizowane!',
                    'ru': 'Результаты успешно обновлены!',
                    'fi': 'Tulokset on päivitetty onnistuneesti!',
                    'de': 'Ergebnisse wurden erfolgreich aktualisiert!',
                    'sv': 'Resultat har uppdaterats!',
                    'fr': 'Résultats mis à jour avec succès',
                    'pt': 'Os resultados foram atualizados com sucesso!',
                    'et': 'Tulemused on edukalt uuendatud!',
                    'no': 'Resultater vellykket oppdatert!',
                    'bg': 'Резултатите са актуализирани успешно!',
                    'da': 'Resultaterne er blevet opdateret!',
                    'lt': 'Rezultatai sėkmingai atnaujinti!',
                    'sk': 'Výsledky boli úspešne aktualizované!',
                    'hr': 'Rezultati su uspješno ažurirani!',
                    'sl': 'Rezultati so uspešno posodobljeni!',
                    'cs': 'Výsledky byly úspěšně aktualizovány!',
                    'hu': 'Az eredmények aktualizálva',
                    'ro': 'Rezultatele au fost actualizate cu succes!',
                    'el': 'Τα αποτελέσματα ενημερώθηκαν επιτυχώς!'},
 'MOISTURE_THRESHOLD_BULK_UPDATED': {'es': 'Actualización del umbral de humedad a granel',
                                     'it': 'La soglia di umidità di massa è stata aggiornata!',
                                     'nl': 'De vochtigheidsdrempel is bijgewerkt!',
                                     'pl': 'Zaktualizowano próg wilgotności zbiorczej!',
                                     'ru': 'Порог влажности обновлен!',
                                     'fi': 'Kosteuden kynnysarvo on päivitetty!',
                                     'de': 'Schwellenwert wurde aktualisiert!',
                                     'sv': 'Vattenhaltströskelvärde har uppdaterats!',
                                     'fr': 'Seuil de teneur en humidité mis à jour',
                                     'pt': 'O limiar de umidade foi atualizado!',
                                     'et': 'Niiskuse piirväärtus on uuendatud!',
                                     'no': 'Fuktighetsgrensen oppdatert!',
                                     'bg': 'Прагът на влажност е актуализиран!',
                                     'da': 'Tærskelværdien for fugtighedsindhold er opdateret!',
                                     'lt': 'Drėgmės riba atnaujinta!',
                                     'sk': 'Limit vlhkosti bol aktualizovaný!',
                                     'hr': 'Prag vlage uspješno je ažuriran!',
                                     'sl': 'Mejna vrednost vlažnosti je posodobljena!',
                                     'cs': 'Prahová hodnota vlhkosti pro hromadné zpracování byla aktualizována!',
                                     'hu': 'A tömeges nedvességtartalom küszöbértékének frissítése',
                                     'ro': 'Pragul de umiditate a fost actualizat!',
                                     'el': 'Το όριο υγρασίας ενημερώθηκε!'},
 'BUYER_CREATED': {'es': 'Compradora creada con éxito',
                   'it': 'Il compratore è stato creato/aggiornato correttamente!',
                   'nl': 'De koper is succesvol aangemaakt/toegevoegd!',
                   'pl': 'Nabywca został pomyślnie utworzony/dodany!',
                   'ru': 'Покупатель успешно создан/ добавлен!',
                   'fi': 'Ostaja on luotu/lisätty onnistuneesti!',
                   'de': 'Käufer wurde erfolgreich erstellt/hinzugefügt!',
                   'sv': 'Köpare har skapats/lagts till!',
                   'fr': 'Acheteur créé avec succès',
                   'pt': 'O comprador foi criado/adicionado com sucesso!',
                   'et': 'Ostja on edukalt loodud/lisatud!',
                   'no': 'Kjøper ble vellykket opprettet/lagt til!',
                   'bg': 'Купувачът е създаден/добавен успешно!',
                   'da': 'Køber er blevet oprettet/tilføjet!',
                   'lt': 'Pirkėjas sėkmingai sukurtas / pridėtas!',
                   'sk': 'Odberateľ bol úspešne vytvorený/pridaný!',
                   'hr': 'Kupac je uspješno kreiran/dodan!',
                   'sl': 'Kupec je bil uspešno ustvarjen/dodan!',
                   'cs': 'Kupující byl úspěšně vytvořen/přidán!',
                   'hu': 'Vásárló sikeresen létrehozva',
                   'ro': 'Cumpărătorul a fost creat/adăugat cu succes!',
                   'el': 'Ο αγοραστής δημιουργήθηκε/προστέθηκε επιτυχώς!'},
 'DEFAULT_DEVICE_SET': {'es': 'Dispositivo predeterminado configurado correctamente',
                        'it': 'Il dispositivo predefinito è stato impostato (aggiunto) correttamente!',
                        'nl': 'Het standaardapparaat is succesvol ingesteld (toegevoegd)!',
                        'pl': 'Domyślne urządzenie zostało pomyślnie ustawione (dodane)!',
                        'ru': 'Устройство по умолчанию успешно установлено (добавлено)!',
                        'fi': 'Oletuslaite on asetettu (lisätty) onnistuneesti!',
                        'de': 'Standardgerät wurde erfolgreich festgelegt (hinzugefügt)!',
                        'sv': 'Standardenhet har ställts in (lagts till)!',
                        'fr': 'Périphérique par défaut défini avec succès',
                        'pt': 'O dispositivo padrão foi definido com sucesso (adicionado)!',
                        'et': 'Vaikeseade on edukalt määratud (lisatud)!',
                        'no': 'Standardenhet er angitt (lagt til)!',
                        'bg': 'Устройството по подразбиране е зададено успешно (добавено)!',
                        'da': 'Standardapparat er blevet indstillet (tilføjet)!',
                        'lt': 'Numatytasis įrenginys sėkmingai nustatytas (pridėtas)!',
                        'sk': 'Predvolené zariadenie bolo úspešne nastavené (pridané)!',
                        'hr': 'Zadani uređaj uspješno je postavljen (dodan)!',
                        'sl': 'Privzeta naprava je uspešno nastavljena (dodana)!',
                        'cs': 'Výchozí zařízení bylo úspěšně nastaveno (přidáno)!',
                        'hu': 'Alapértelmezett eszköz beállítása sikeres',
                        'ro': 'Dispozitivul implicit a fost setat (adăugat) cu succes!',
                        'el': 'Η προεπιλεγμένη συσκευή ορίστηκε (προστέθηκε) επιτυχώς!'},
 'PASSWORD_CHANGED': {'es': 'Contraseña actualizada exitosamente',
                      'it': 'La password è stata aggiornata correttamente!',
                      'nl': 'Het wachtwoord is succesvol bijgewerkt!',
                      'pl': 'Hasło zostało pomyślnie zaktualizowane!',
                      'ru': 'Пароль успешно обновлен!',
                      'fi': 'Salasana on päivitetty onnistuneesti!',
                      'de': 'Passwort wurde erfolgreich aktualisiert!',
                      'sv': 'Lösenord har uppdaterats!',
                      'fr': 'Mot de passe mis à jour avec succès',
                      'pt': 'A senha foi atualizada com sucesso!',
                      'et': 'Parool on edukalt uuendatud!',
                      'no': 'Passord vellykket oppdatert!',
                      'bg': 'Паролата е актуализирана успешно!',
                      'da': 'Kodeordet er blevet opdateret!',
                      'lt': 'Slaptažodis sėkmingai atnaujintas!',
                      'sk': 'Heslo bolo úspešne aktualizované!',
                      'hr': 'Lozinka je uspješno ažurirana!',
                      'sl': 'Geslo je bilo uspešno posodobljeno!',
                      'cs': 'Heslo bylo úspěšně aktualizováno!',
                      'hu': 'Jelszó változtatás sikeres',
                      'ro': 'Parola a fost actualizată cu succes!',
                      'el': 'Ο κωδικός πρόσβασης ενημερώθηκε επιτυχώς!'},
 'FIELD_CREATED': {'es': 'Campo creado exitosamente',
                   'it': 'Il campo è stato creato correttamente!',
                   'nl': 'Het veld is succesvol aangemaakt!',
                   'pl': 'Pole zostało pomyślnie utworzone!',
                   'ru': 'Поле создано успешно!',
                   'fi': 'Pelto on luotu onnistuneesti!',
                   'de': 'Feld wurde erfolgreich erstellt!',
                   'sv': 'Åkern har skapats!',
                   'fr': 'Champ créé avec succès',
                   'pt': 'O campo foi criado com sucesso!',
                   'et': 'Põld on edukalt loodud!',
                   'no': 'Åker vellykket opprettet!',
                   'bg': 'Полето е създадено успешно!',
                   'da': 'Mark er blevet oprettet!',
                   'lt': 'Laukas sėkmingai sukurtas!',
                   'sk': 'Pole bolo úspešne vytvorené!',
                   'hr': 'Polje je uspješno kreirano!',
                   'sl': 'Polje je bilo uspešno ustvarjeno!',
                   'cs': 'Pole bylo úspěšně vytvořeno!',
                   'hu': 'Mező sikeresen létrehozva',
                   'ro': 'Terenul a fost creat cu succes!',
                   'el': 'Το χωράφι δημιουργήθηκε επιτυχώς!'},
 'DEVICE_CREATED': {'es': 'Dispositivo registrado exitosamente',
                    'it': 'Il dispositivo è stato registrato correttamente!',
                    'nl': 'Het apparaat is succesvol geregistreerd!',
                    'pl': 'Urządzenie zostało pomyślnie zarejestrowane!',
                    'ru': 'Устройство успешно зарегистрировано!',
                    'fi': 'Laite on rekisteröity onnistuneesti!',
                    'de': 'Gerät wurde erfolgreich registriert!',
                    'sv': 'Enhet har registrerats!',
                    'fr': 'Appareil enregistré avec succès',
                    'pt': 'O dispositivo foi registrado com sucesso!',
                    'et': 'Seade on edukalt registreeritud!',
                    'no': 'Enhet vellykket registrert!',
                    'bg': 'Устройството е регистрирано успешно!',
                    'da': 'Apparatet er blevet registreret!',
                    'lt': 'Įrenginys sėkmingai užregistruotas!',
                    'sk': 'Zariadenie bolo úspešne zaregistrované!',
                    'hr': 'Uređaj je uspješno registriran!',
                    'sl': 'Naprava je uspešno registrirana!',
                    'cs': 'Zařízení bylo úspěšně zaregistrováno!',
                    'hu': 'Az eszköz regisztrálása megtörtént',
                    'ro': 'Dispozitivul a fost înregistrat cu succes!',
                    'el': 'Η συσκευή καταχωρήθηκε επιτυχώς!'},
 'FORBIDDEN_FIELD': {'es': 'El campo proporcionado no le pertenece',
                     'it': 'Questo campo non è di tua proprietà.',
                     'nl': 'Dit veld is niet van u.',
                     'pl': 'To pole nie należy do Ciebie.',
                     'ru': 'Это поле вам не принадлежит.',
                     'fi': 'Tämä pelto ei kuulu sinulle.',
                     'de': 'Dieses Feld gehört Ihnen nicht.',
                     'sv': 'Denna åker tillhör inte dig.',
                     'fr': 'Le champ fourni ne vous appartient pas.',
                     'pt': 'Este campo não pertence a você.',
                     'et': 'See põld ei kuulu teile.',
                     'no': 'Denne åkeren tilhører ikke deg.',
                     'bg': 'Това поле не ви принадлежи.',
                     'da': 'Denne mark tilhører ikke dig.',
                     'lt': 'Šis laukas jums nepriklauso.',
                     'sk': 'Toto pole vám nepatrí.',
                     'hr': 'Ovo polje ne pripada vama.',
                     'sl': 'To polje vam ne pripada.',
                     'cs': 'Toto pole vám nepatří.',
                     'hu': 'Ez a mező nem az Öné.',
                     'ro': 'Acest teren nu vă aparține.',
                     'el': 'Αυτό το χωράφι δεν σας ανήκει.'},
 'otp/resend-too-soon': {'es': 'Has solicitado OTP demasiado pronto. Inténtalo de nuevo después de 1 minuto.',
                         'it': 'Hai richiesto l’OTP troppo presto. Riprova tra 1 minuto!',
                         'nl': 'U hebt de OTP te snel opnieuw verzocht. Probeer het over één minuut opnieuw!',
                         'pl': 'Kod OTP został zamówiony zbyt szybko. Proszę spróbować ponownie po 1 minucie!',
                         'ru': 'Вы запросили OTP слишком скоро. Пожалуйста, попробуйте еще раз через 1 минуту!',
                         'fi': 'Pyysit OTP:ta liian aikaisin. Yritä uudelleen 1 minuutin kuluttua!',
                         'de': 'Sie haben das OTP zu früh angefordert. Bitte versuchen Sie es in 1 Minute erneut!',
                         'sv': 'Du begärde OTP för tidigt. Försök igen efter 1 minut!',
                         'fr': 'Vous avez demandé le code OTP trop tôt. Veuillez réessayer dans 1 minute.',
                         'pt': 'Você solicitou o OTP muito cedo. Tente novamente após 1 minuto!',
                         'et': 'Te taotlesite OTP-d liiga vara. Proovige uuesti ühe minuti pärast!',
                         'no': 'Du ba om OTP for tidlig. Prøv på nytt om 1 minutt!',
                         'bg': 'Заявихте OTP твърде рано. Моля, опитайте отново след 1 минута!',
                         'da': 'Du var for hurtig til at forlange OTP. Prøv venligst igen om 1 minut!',
                         'lt': 'Paprašėte OTP per greitai. Pabandykite dar kartą po 1 minutės!',
                         'sk': 'O jednorazové heslo (OTP) ste požiadali príliš skoro. Skúste znovu o 1 minútu!',
                         'hr': 'Prebrzo ste zatražili jednokratnu lozinku (OTP). Pokušajte ponovno za 1 minutu!',
                         'sl': 'Prehitro ste zahtevali enkratno geslo (OTP). Poskusite znova čez eno minuto!',
                         'cs': 'Požádali jste o OTP příliš brzy. Zkuste to prosím znovu za 1 minutu!',
                         'hu': 'Túl korán kért egyszeri jelszót. Kérjük, próbálja meg újra 1 perc múlva!',
                         'ro': 'Ați solicitat OTP prea devreme. Vă rugăm să încercați din nou peste 1 minut!',
                         'el': 'Ζητήσατε κωδικό OTP πολύ σύντομα. Δοκιμάστε ξανά μετά από 1 λεπτό!'},
 'SCALE_NOT_FOUND': {'es': 'No se encontró ninguna escala para el ID indicado',
                     'it': 'Non è stata trovata alcuna scala corrispondente a questo ID.',
                     'nl': 'Er is geen overeenkomende schaal gevonden voor deze ID.',
                     'pl': 'Nie znaleziono pasującej skali dla tego identyfikatora.',
                     'ru': 'Шкалы, соответствующей этому ID, не найдено.',
                     'fi': 'Tälle ID:lle ei löytynyt vastaavaa asteikkoa.',
                     'de': 'Für diese ID wurde keine passende Skala gefunden.',
                     'sv': 'Ingen matchande skala hittades för detta ID.',
                     'fr': "Aucune échelle trouvée pour l'identifiant donné",
                     'pt': 'Nenhuma escala correspondente foi encontrada para este ID.',
                     'et': 'Selle ID jaoks ei leitud vastavat skaalat.',
                     'no': 'Ingen samsvarende skala ble funnet for denne ID-en.',
                     'bg': 'Не е намерена съответстваща скала за този идентификатор (ID).',
                     'da': 'Ingen passende skala blev fundet til dette ID.',
                     'lt': 'Nerasta šį ID atitinkančios skalės.',
                     'sk': 'Pre toto ID nebola nájdená zodpovedajúca stupnica.',
                     'hr': 'Za ovaj ID nije pronađena odgovarajuća skala.',
                     'sl': 'Za ta ID ni bilo mogoče najti ustrezne lestvice.',
                     'cs': 'Pro toto ID nebyla nalezena žádná odpovídající stupnice.',
                     'hu': 'A megadott azonosítóhoz nem található megfelelő mérleg.',
                     'ro': 'Nu există o scală care să corespundă acestui ID.',
                     'el': 'Δεν βρέθηκε κλίμακα που να αντιστοιχεί σε αυτό το αναγνωριστικό.'},
 'VALIDATION_ERROR': {'es': 'La validación falló',
                      'it': 'Convalida non riuscita',
                      'nl': 'Validatie mislukt',
                      'pl': 'Weryfikacja nie powiodła się',
                      'ru': 'Валидация не удалась',
                      'fi': 'Vahvistus epäonnistui',
                      'de': 'Validierung ist fehlgeschlagen',
                      'sv': 'Validering misslyckades',
                      'fr': 'La validation a échoué',
                      'pt': 'Falha na validação',
                      'et': 'Kinnitamine ebaõnnestus',
                      'no': 'Validering mislyktes',
                      'bg': 'Грешка при валидирането',
                      'da': 'Validering mislykkedes',
                      'lt': 'Patvirtinti nepavyko',
                      'sk': 'Overenie zlyhalo',
                      'hr': 'Provjera valjanosti nije uspjela',
                      'sl': 'Potrjevanje ni uspelo',
                      'cs': 'Ověření se nezdařilo',
                      'hu': 'Érvényesítés sikertelen',
                      'ro': 'Validarea a eșuat',
                      'el': 'Η επικύρωση απέτυχε'},
 'RESULT_DELETED': {'es': 'Resultados eliminados exitosamente',
                    'it': 'I risultati sono stati eliminati correttamente',
                    'nl': 'De resultaten zijn succesvol verwijderd',
                    'pl': 'Wyniki zostały pomyślnie usunięte',
                    'ru': 'Результаты успешно удалены',
                    'fi': 'Tulokset poistettiin onnistuneesti',
                    'de': 'Ergebnisse wurden erfolgreich gelöscht',
                    'sv': 'Resultat har raderats',
                    'fr': 'Résultats supprimés avec succès',
                    'pt': 'Os resultados foram eliminados com sucesso',
                    'et': 'Tulemused kustutati edukalt',
                    'no': 'Resultater ble slettet',
                    'bg': 'Резултатите бяха изтрити успешно',
                    'da': 'Resultaterne blev slettet',
                    'lt': 'Rezultatai sėkmingai ištrinti',
                    'sk': 'Výsledky boli úspešne odstránené',
                    'hr': 'Rezultati su uspješno izbrisani',
                    'sl': 'Rezultati so bili uspešno izbrisani',
                    'cs': 'Výsledky byly úspěšně smazány',
                    'hu': 'Eredmények sikeresen törölve',
                    'ro': 'Rezultatele au fost șterse cu succes',
                    'el': 'Τα αποτελέσματα διαγράφηκαν επιτυχώς'},
 'ACCOUNT_DELETED': {'es': 'Su cuenta y todos los datos relacionados con el cliente fueron eliminados permanentemente',
                     'it': 'Il tuo account e tutti i dati dei clienti sono stati eliminati definitivamente.',
                     'nl': 'Uw account en alle klantgegevens zijn permanent verwijderd.',
                     'pl': 'Konto oraz wszystkie dane klienta zostały trwale usunięte.',
                     'ru': 'Ваш аккаунт и все данные клиентов безвозвратно удалены.',
                     'fi': 'Tilisi ja kaikki asiakastiedot on poistettu pysyvästi.',
                     'de': 'Ihr Konto und alle Kundendaten wurden endgültig gelöscht.',
                     'sv': 'Ditt konto och all kunduppgifter har raderats permanent.',
                     'fr': 'Votre compte et toutes les données client ont été définitivement supprimés.',
                     'pt': 'Sua conta e todos os dados do cliente foram excluídos permanentemente.',
                     'et': 'Teie konto ja kõik kliendiandmed on lõplikult kustutatud.',
                     'no': 'Kontoen din og alle kundedata er slettet permanent.',
                     'bg': 'Акаунтът ви и всички данни на клиентите са изтрити окончателно.',
                     'da': 'Din konto og alle kundedata er blevet slettet permanent.',
                     'lt': 'Jūsų paskyra ir visi klientų duomenys buvo negrįžtamai ištrinti.',
                     'sk': 'Váš účet a všetky údaje o zákazníkoch boli natrvalo odstránené.',
                     'hr': 'Vaš račun i svi podaci otkupitelja trajno su izbrisani.',
                     'sl': 'Vaš račun in vsi podatki o strankah so bili trajno izbrisani.',
                     'cs': 'Váš účet a všechna zákaznická data byla trvale smazána.',
                     'hu': 'Fiókját és az összes ügyféladatot véglegesen töröltük',
                     'ro': 'Contul dvs. precum și toate datele clientului au fost șterse permanent.',
                     'el': 'Ο λογαριασμός σας και όλα τα δεδομένα πελατών διαγράφηκαν μόνιμα.'},
 'OTP_VERIFIED': {'es': 'OTP verificada con éxito',
                  'it': 'L’OTP è stata verificata correttamente',
                  'nl': 'De OTP is succesvol geverifieerd',
                  'pl': 'Kod OTP został pomyślnie zweryfikowany',
                  'ru': 'OTP успешно верифицирован',
                  'fi': 'OTP on vahvistettu onnistuneesti',
                  'de': 'OTP wurde erfolgreich verifiziert',
                  'sv': 'OTP har verifierats',
                  'fr': 'Code OTP vérifié avec succès',
                  'pt': 'O OTP foi verificado com sucesso',
                  'et': 'OTP on edukalt kinnitatud',
                  'no': 'OTP er vellykket bekreftet!',
                  'bg': 'OTP е проверена успешно',
                  'da': 'OTP er blevet verificeret',
                  'lt': 'OTP sėkmingai patvirtintas',
                  'sk': 'Jednorazové heslo (OTP) bolo úspešne overené',
                  'hr': 'Jednokratna lozinka (OTP) je uspješno potvrđena',
                  'sl': 'Enkratno geslo (OTP) je bilo uspešno preverjeno',
                  'cs': 'OTP bylo úspěšně ověřeno',
                  'hu': 'Ellenőrző kód sikeresen ellenőrizve',
                  'ro': 'OTP a fost verificat cu succes',
                  'el': 'Ο κωδικός OTP επαληθεύτηκε επιτυχώς'},
 'PASSWORD_RESET': {'es': 'Restablecimiento de contraseña exitoso',
                    'it': 'La password è stata reimpostata correttamente',
                    'nl': 'Het resetten van het wachtwoord is gelukt',
                    'pl': 'Resetowanie hasła zakończyło się powodzeniem',
                    'ru': 'Сброс пароля прошел успешно',
                    'fi': 'Salasanan nollaus onnistui',
                    'de': 'Passwort wurde erfolgreich zurückgesetzt',
                    'sv': 'Lösenordsåterställning lyckades',
                    'fr': 'Réinitialisation du mot de passe réussie',
                    'pt': 'Senha redefinida com sucesso',
                    'et': 'Parooli lähtestamine õnnestus',
                    'no': 'Tilbakestilling av passord var vellykket',
                    'bg': 'Успешно нулиране на паролата',
                    'da': 'Nulstilling af kodeord lykkedes',
                    'lt': 'Slaptažodis sėkmingai atkurtas',
                    'sk': 'Obnova hesla bola úspešná',
                    'hr': 'Lozinka je uspješno poništena',
                    'sl': 'Ponastavitev gesla je uspela',
                    'cs': 'Resetování hesla bylo úspěšné',
                    'hu': 'Jelszó visszaállítás sikeres',
                    'ro': 'Parola a fost resetată cu succes',
                    'el': 'Η επαναφορά κωδικού πρόσβασης ήταν επιτυχής'},
 'DEVICE_UPDATED': {'es': 'Dispositivo actualizado exitosamente',
                    'it': 'Il dispositivo è stato aggiornato correttamente',
                    'nl': 'Het apparaat is succesvol bijgewerkt',
                    'pl': 'Urządzenie zostało pomyślnie zaktualizowane',
                    'ru': 'Устройство успешно обновлено',
                    'fi': 'Laite on päivitetty onnistuneesti',
                    'de': 'Gerät wurde erfolgreich aktualisiert',
                    'sv': 'Enhet har uppdaterats',
                    'fr': 'Appareil mis à jour avec succès',
                    'pt': 'O dispositivo foi atualizado com sucesso',
                    'et': 'Seade on edukalt uuendatud',
                    'no': 'Enhet vellykket oppdatert',
                    'bg': 'Устройството е актуализирано успешно',
                    'da': 'Apparatet er blevet opdateret',
                    'lt': 'Įrenginys sėkmingai atnaujintas',
                    'sk': 'Zariadenie bolo úspešne aktualizované',
                    'hr': 'Uređaj je uspješno ažuriran',
                    'sl': 'Naprava je uspešno posodobljena',
                    'cs': 'Zařízení je úspěšně aktualizováno',
                    'hu': 'Eszköz sikeresen frissítve',
                    'ro': 'Dispozitivul a fost actualizat cu succes',
                    'el': 'Η συσκευή ενημερώθηκε επιτυχώς'}}


def forwards(apps, schema_editor):
    Language = apps.get_model("core", "Language")
    ApiMessage = apps.get_model("core", "ApiMessage")

    languages = {lang.code: lang for lang in Language.objects.filter(code__in={code for translations in API_MESSAGES.values() for code in translations.keys()})}

    missing_codes = sorted({code for translations in API_MESSAGES.values() for code in translations.keys()} - set(languages.keys()))
    if missing_codes:
        # Do not fail migration if some languages are not available in DB.
        # Missing language rows will simply be skipped.
        print(f"Skipping ApiMessage seed for missing language codes: {', '.join(missing_codes)}")

    for message_key, translations in API_MESSAGES.items():
        for language_code, message in translations.items():
            language = languages.get(language_code)
            if not language:
                continue

            ApiMessage.objects.update_or_create(
                message_key=message_key,
                language=language,
                defaults={
                    "message": message,
                    "is_active": True,
                },
            )


class Migration(migrations.Migration):

    dependencies = [
        ("core", "0015_seed_multilingual_api_messages"),
    ]

    operations = [
        migrations.RunPython(forwards),
    ]

