• 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
205 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ź 201 wizyt
pytanie zadane 11 czerwca 2017 w PHP przez marcin99b Szeryf (82,080 p.)
0 głosów
1 odpowiedź 472 wizyt
pytanie zadane 18 listopada 2016 w SQL, bazy danych przez bugs55 Obywatel (1,090 p.)
+3 głosów
3 odpowiedzi 3,565 wizyt
pytanie zadane 12 kwietnia 2015 w SQL, bazy danych przez jk_kord Bywalec (2,950 p.)

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...