2) Why not basing the line on the ID record and always displaying ID as a first column?
I have no idea what the other carts do. Most have no demos that are functional.
That is possible, but will eliminate the sort ability of the list.
At present, The only reason you would have a problem is when you are doing a new install. The NAME field is required in the SQL to locate the records to list. You now add a language and each product does not have a language entry for the new language. Once you add the name to each product, the language entry would be made.
Maybe when adding a language, we need to parse all files that have language entries, and create an empty record for each, or copy the default language entries to each product, category, etc.
Once your new language is install, the required fields, like name in product, are required when creating or updating.
At present, when you crate or update a product, name is required in both languages.
In Zencart for example, all lines are listed
I looked at a Zencart demo. Unless I missed something, it appears in admin, all products are listed by category.
In this situation, You cannot list all products. Is that correct?
If so, the solution is not acceptable.