На мой взгляд, это действительно зависит от того, какое решение вам нужно - кажется, вы разрабатываете интернет-магазин? Если это так, я бы объединил оба варианта. Статические языковые файлы для меток (и другого содержимого, которое не должно изменяться).
Хотя - IMO - база данных продукта не должна знать о фактической части перевода; Я бы предпочел взять таблицу категорий и указать необходимые языки в качестве основных категорий и предоставить категории для конкретных продуктов ниже языковых категорий.
В этот момент вы могли бы подумать обо всех дублирующихся продуктах, относящихся к любой языковой категории, но я считаю, что это гибкое решение для каждого из языков.
А простой сценарий может позволить копировать языковую категорию в другую, делая перевод доступным для точно таких же продуктов.