• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przechowywanie tłumaczeń w bazie danych symfony 3

Object Storage Arubacloud
0 głosów
223 wizyt
pytanie zadane 28 lipca 2017 w PHP przez CenterPL Pasjonat (19,070 p.)
Cześć, przyszła pora i na mnie i moje pierwsze pytanie.

Potrzebuję przechowywać tłumaczenia w bazie danych, bo klient chce sobie te tłumaczenia dodawać/usuwać/edytować. Sprawdzałem pare bundli, ale są niezbyt kompatybilne z sf3 i sprawiają więcej problemów niż przynoszą korzyści, a nie mam aż tyle czasu żeby naprawiać czyjąś robotę.

Dokumentacja niestety niebardzo podpowiada, a jedyny temat jaki znalazłem na SO odsyłał do nieistniejącej strony. Wiem, że jest LoaderInterface, ale jak to ma się do mojego problemu to nie wiem, bo nigdzie nie mogę znaleźć info na ten temat.

Czy ktoś z użytkowników może się tym bawił i może powiedzieć co nieco jak to działa? Może jest jakieś inne rozwiązanie? Do tej pory używałem tłumaczeń z YAML'a, ale klient nie chce edytować plików.

Liczę na Waszą pomoc :D

1 odpowiedź

+2 głosów
odpowiedź 28 lipca 2017 przez Bartłomiej Mirek Bywalec (2,290 p.)

Pierwszym pomysłem który mi się nasuwa jest stworzenie tabeli w bazie o strukturze:
| id | route_name | language | translation_code | translation |

I Kolejno route_name trzyma nazwe route na którym dane tłumaczenie ma być użyte, language ofc język, translation_code coś dzięki czemu rozpoznasz jaki to ma być tekst, i samo translation które jest tłumaczeniem.
 

Myk polega na tym, że tworzysz jakiegoś bundla który pobiera wszystkie tłumaczenia dla danego routa i języka. Potem własna funkcja w twigu która z pobranych danych wyszukuje odpowiedni kod i zwraca odpowiednie tłumaczenie.

Plan nie jest idealny bo uniemożliwia używanie jednego tłumaczenia wiele razy (no chyba, że zrobisz umownego routa np. global i jego wartości będą pobierane wszędzie).

Trochę to pogmatwane, nie wiem jak się sprawdzi ale możesz w tą stronę pomyśleć jak nie znajdziesz alternatywy.

komentarz 28 lipca 2017 przez CenterPL Pasjonat (19,070 p.)
Dzięki za odpowiedź.

Ogólnie myślałem nad czymś podobnym w ostateczności, bo ogólnie podobno natywny translator symfony może pobierać tłumaczenia z db. I to by było najlepsze wyjście.
komentarz 29 lipca 2017 przez CenterPL Pasjonat (19,070 p.)
Na oba trafiłem, pierwszy niewiele podpowiada, drugi jest zależny od innego bundla, który sypie cały routing, a jak go ogarnąłem to się i tak wysypywał, bo jest chyba pod sf 2.3.

Podobne pytania

0 głosów
1 odpowiedź 225 wizyt
pytanie zadane 11 czerwca 2017 w PHP przez marcin99b Szeryf (82,260 p.)
0 głosów
1 odpowiedź 482 wizyt
pytanie zadane 18 listopada 2016 w SQL, bazy danych przez bugs55 Obywatel (1,090 p.)
+3 głosów
3 odpowiedzi 3,593 wizyt
pytanie zadane 12 kwietnia 2015 w SQL, bazy danych przez jk_kord Bywalec (2,950 p.)

92,698 zapytań

141,614 odpowiedzi

320,144 komentarzy

62,058 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...