Fakt, zbyt mało naświetliłem sprawę;-)
Tłumaczenia są u mnie robione dwutorowo. Drobne elementy, które są stałe w aplikacji, tłumaczone są przez Zend_Translate. Mam tutaj na myśli wszystkie teksty dotyczące obsługi formularzy - labele, errory itp, czy jakieś inne stałe opisy stron. Pozostałe treści, które mogą być edytowane przez użytkowników trzymam w tabeli z tłumaczeniami. Przykładowo, opis zakresu obowiązków pracownika, który może być edytowany przez usera trzymam w tabeli employees jako FK do tabeli z tłumaczeniami (entries). Tabela entries zawiera klucz złożony (id, lang) i inne kolumny typu title czy content zawierające właściwe teksty.
tebela entries
id (PK)
lang (PK)
title
content
...
tabela employees
id
name
...
description - FK do entries.id
...
W zależności od języka rozpoznanego w aplikacji do opisu pracownika wybierany jest odpowiedni tekst (entries->find(id, lang). Tak załatwione są wszystkie elementy mogące być tłumaczone. Jak się domyślasz tabel zawierających relację do tłumaczeń jest sporo. Inna, to chociażby tabela zawierająca opisy plików uploadowanych do aplikacji przez userów. Tam jest kolumna z opisem pliku, który jest tłumaczony w zależności od języka i w tabeli files jest również FK do entries.
Sprawa rozbija się o obsługę klucza złożonego w entries. Doczytałem, że w doctrine 1.2 nie jest to domyślnie rozwiązane.
W związku z tym proszę o sugestie dotyczące rozwiązania tego problemu. Ostatecznie mogę przerobić projekt bazy i zmienić taktykę tłumaczenia. Przyznam, że zatrzymałem się na tym i jestem już dość zdesperowany;-)
Proszę o pomoc.