<qresource>
EOF
-# In a subshell, change to the SQL directory so find output remains consistent,
+# In a subshell, use C locale to sort consistently regardless of
+# language, change to SQL directory so find output stays consistent,
# then...
# Find all files with a .sql ending...
# | ...sort the results by version
# | ...modify the beginning to change '.[...]' into ' <file>./SQL[...]' (add the directory path back)
# ...and modify the end to add '[...]</file>'
# | ...append to the resource file.
-(cd "$SCRIPT_DIR" ; find . -name "*.sql" | sort -t/ -k2,2 -k3n | sed -e "s/^./ <file>.\/$SQL_DIR_NAME/g" -e "s/$/<\/file>/g" >> "$SQL_RES_FILE" )
+(export LC_ALL="C" ; cd "$SCRIPT_DIR" ; find . -name "*.sql" | sort --field-separator=/ --key=2,2 --key=4n | sed -e "s/^./ <file>.\/$SQL_DIR_NAME/g" -e "s/$/<\/file>/g" >> "$SQL_RES_FILE" )
# Newer versions of sort support a "--version-sort" flag to naturally sort.
# Unfortunately, some supported platforms don't yet have that version.
-# For now, "-t/ -k2,2 -k3n" does -almost- the same thing (there's a difference
-# when sorting periods versus underscores).
+# For now, "--field-separator=/ --key=2,2 --key=4n" does -almost- the same
+# thing (there's a difference when sorting periods versus underscores).
+#
+# Further explanation for sort command:
+# --field-separator=/
+# > Separate fields by "/"
+# --key=2,2
+# > Sort by the second field, i.e. "SQLite" or "Postgres"
+# --key=4n
+# > Sort by the fourth field using numeric comparison
+# (e.g. the "##" in "SQL/[database]/versions/##")
# Add the Qt resource footer
cat >> "$SQL_RES_FILE" <<EOF