Zajmuję się tworzeniem wielojęzycznej aplikacji internetowej PHP i mam długie (-ish) teksty, które muszę przetłumaczyć za pomocą gettext. Są to szablony wiadomości e-mail (zazwyczaj krótkie, ale wciąż kilka linii) i części szablonów widoku (dłuższe opisowe bloki tekstu). Teksty te zawierają prosty HTML (np. Pogrubienie/kursywa dla podkreślenia, prawdopodobnie link tu lub tam). Szablony to skrypty PHP, których wyniki są przechwytywane.Tłumaczenie dłuższych tekstów (widoków i szablonów wiadomości e-mail) za pomocą gettext
Problem polega na tym, że gettext wydaje się bardzo niezdarny w obsłudze dłuższych tekstów. Dłuższe teksty generalnie będą miały więcej zmian w czasie niż krótkie teksty - mogę zmienić msgid i zaktualizować go we wszystkich tłumaczeniach (może być dużo pracy i bardzo podatny na błędy, gdy msgid jest długi), lub mogę zachować msgid pozostaje niezmieniony i modyfikuje tylko tłumaczenia (które pozostawiałyby mylące nieaktualne teksty w szablonach). Ponadto, widziałem porady przeciwko włączaniu HTML do ciągów gettext, ale unikanie go złamałoby jeden naturalny fragment tekstu na wiele fragmentów, co będzie jeszcze większym koszmarem do przetłumaczenia i ponownego złożenia, a także widziałem porady przeciwko niepotrzebne dzielenie ciągów gettext na osobne msgids.
Innym podejściem, jakie widzę, jest całkowite zignorowanie tekstu gettext dla tych dłuższych tekstów i oddzielenie tych bloków w zewnętrznych podtablicach dla każdego ustawienia narodowego, a także uwzględnienie tego dla bieżącego locale. Wadą jest to, że oddzielam wysiłek tłumaczenia między plikami getpext .po i osobnymi szablonami znajdującymi się w zupełnie innej lokalizacji.
Ponieważ ta aplikacja będzie używana jako punkt wyjścia dla innych aplikacji w przyszłości, staram się zaproponować najlepsze podejście w dłuższej perspektywie. Potrzebuję porady dotyczącej najlepszych praktyk w takich sytuacjach. W jaki sposób wdrożyłeś podobne przypadki? Co się okazało do pracy i co okazało się złym pomysłem?
Powiązane: [Jak skutecznie pracować z plikami PO gettext podczas wprowadzania małych zmian do dużych wartości tekstowych] (http://stackoverflow.com/questions/2966026/), [Łączenie klawiszy i pełnego tekstu podczas pracy z gettext i. pliki po] (http://stackoverflow.com/questions/15743919/), [Czy jest dobrym pomysłem, aby identyfikator wiadomości był tekstem w języku angielskim?] (http://stackoverflow.com/questions/216478/), [Czy mogę automatycznie zaktualizować pliki msgids do plików .po w gettext, aby uzyskać proste zmiany tekstu?] (Http://stackoverflow.com/questions/8288050/) – ento