1. Using any external tools (e.g. Python/Django or any other tool that relies on standard GNU gettext), generate a .po-file (the file I'm working with is 40k+ lines, but smaller might work too). All the terms in the file will be in the order of files they are referenced in, e.g.
# reference/to/file_a.py
msgid "Foo"
msgstr ""
# reference/to/file_b.py
msgid "Bar"
msgstr ""
# reference/to/file_c.py
msgid "Baz"
msgstr ""
2. Import it to POEditor (I import through github integration). With large enough file you will see the order of terms in PO editor after import is not the same as they appear in the original file, e.g.:
Foo (# reference/to/file_a.py)
Baz (# reference/to/file_c.py)
Bar (# reference/to/file_b.py)
3. Export .po-file from POEditor (either download it or through github). Similarly, you will see the order of terms in the file is different from the original file, e.g.:
# reference/to/file_a.py
msgid "Foo"
msgstr ""
# reference/to/file_c.py
msgid "Baz"
msgstr ""
# reference/to/file_b.py
msgid "Bar"
msgstr ""
This (rightfully) makes Git think there were 2 changes in the file, even though no edits were done. Imagine this happening at the scale of thousands of terms, and with real edits in the file on top of it, and it quickly becomes an unmanageable diff to resolve.
Steps to reproduce:
1. Using any external tools (e.g. Python/Django or any other tool that relies on standard GNU gettext), generate a .po-file (the file I'm working with is 40k+ lines, but smaller might work too). All the terms in the file will be in the order of files they are referenced in, e.g.
# reference/to/file_a.py
msgid "Foo"
msgstr ""
# reference/to/file_b.py
msgid "Bar"
msgstr ""
# reference/to/file_c.py
msgid "Baz"
msgstr ""
2. Import it to POEditor (I import through github integration). With large enough file you will see the order of terms in PO editor after import is not the same as they appear in the original file, e.g.:
Foo (# reference/to/file_a.py)
Baz (# reference/to/file_c.py)
Bar (# reference/to/file_b.py)
3. Export .po-file from POEditor (either download it or through github). Similarly, you will see the order of terms in the file is different from the original file, e.g.:
# reference/to/file_a.py
msgid "Foo"
msgstr ""
# reference/to/file_c.py
msgid "Baz"
msgstr ""
# reference/to/file_b.py
msgid "Bar"
msgstr ""
This (rightfully) makes Git think there were 2 changes in the file, even though no edits were done. Imagine this happening at the scale of thousands of terms, and with real edits in the file on top of it, and it quickly becomes an unmanageable diff to resolve.