Hi,
When there are changes to the source file, e.g. a string is deleted, the sync breaks. Here is the error message I got
[ERROR:pontoon.base.errors] 2022-08-03 02:28:56,903 new row for relation "base_locale" violates check constraint "base_locale_approved_strings_check"
DETAIL: Failing row contains (24, 0, -8, 0, 0, 0, 0, nl, nl, nl, nl-nl, , Dutch, (n != 1), 1,5, Latin, ltr, 31185000, , 47777, 48, 47, , ).
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.CheckViolation: new row for relation "base_locale" violates check constraint "base_locale_approved_strings_check"
DETAIL: Failing row contains (24, 0, -8, 0, 0, 0, 0, nl, nl, nl, nl-nl, , Dutch, (n != 1), 1,5, Latin, ltr, 31185000, , 47777, 48, 47, , ).
What I understand is that the deleted string has been translated, upon removing it pontoon checks the translated string and it conflicts with the translated status of the string.
Is there a way to solve this? The best result would be that the source file is the ultimate source of the strings. After deleting the source string, pontoon also remove the string and its translations entirely in the database. Because many of the file formats of the source files are updated automatically by tools (e.g. xcode), it would be great to be able to solve it like this.