[SF][Symfony2][SF2]Translation domain |
[SF][Symfony2][SF2]Translation domain |
18.07.2015, 18:07:01
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 18.06.2013 Skąd: Białystok Ostrzeżenie: (0%) |
Hej,
Po raz pierwszy wrzucam translację do projektu i mam z tym drobne problemy. Polega on na tym, że jak robię to w ten sposób: $translator->trans('some_translation', array(), 'domain') To wszystko idzie, a bez podania domeny nie śmiga. A więc pytanie, jak zarejestrować domenę, żeby nie było potrzeby podawania jej przy wywoływaniu translacji? Interesuje mnie zainteresowanie paru domen. Coś w stylu, że rejestrujemy je w config.yml. Inna sprawa, że pewnego czasu pracowałem nad projektem, który korzystał z translacji na podanych przeze mnie zasadach(czyli bez podawania domeny), ale za cholerę nie mogłem znaleźć gdzie te domeny zostały zarejstrowane. Ten post edytował BigPig 18.07.2015, 18:07:23 |
|
|
18.07.2015, 18:09:10
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) |
domyslna domena jest messages
-------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
18.07.2015, 18:10:43
Post
#3
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 18.06.2013 Skąd: Białystok Ostrzeżenie: (0%) |
Wiem, wyczytałem to gdzieś w necie. Ale jak ją zmienić?
Ewentualnie zostaje jeszcze importowanie innych plików translacji do pliku messages Ten post edytował BigPig 18.07.2015, 18:11:01 |
|
|
18.07.2015, 18:12:03
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) |
Jak masz w roznych plikach to jak sobie to wyobrazasz (chyba ze w bundlach masz pliki messages)
-------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
18.07.2015, 18:31:39
Post
#5
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 18.06.2013 Skąd: Białystok Ostrzeżenie: (0%) |
Wyobrażam to sobie mniej więcej tak:
I po takim załadowaniu pliki translacji są łączone, i nie trzeba podawać parametru domeny przy wywołaniu translacji. To może inaczej, czy jest jakieś rozwiązanie, które pozwoli mi na wywołanie translacji bez podawania nazwy domeny translacji jako parametru? Pomijamy te opcje: - zamieszczenie wszystkich translacji w pliki messages - ustawienie {% trans_default_domain "some_domain" %} |
|
|
19.07.2015, 14:43:15
Post
#6
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 22 Dołączył: 20.07.2010 Ostrzeżenie: (0%) |
Chyba nie da sie zmienic, zeby domyslna domena byla inna: https://github.com/symfony/Translation/blob...slator.php#L208
Trzebaby je przekazywac za kazdym razem. Jezeli po raz pierwszy wrzucasz translacje to polecam jeszcze raz przeczytac dokumentacje translacji w symfony i dokumentacje komponentu translacji. Domeny sa uzyteczne w takiej formie, Ty chcialbys je usunac poprzez ladowanie wszystkiego do jednej. Nie ma takiej opcji konfiguracji translatora o jakiej mowisz, ale translator posiada metode addResource: https://github.com/symfony/Translation/blob...slator.php#L129 Zakladajac ze uzywasz plikow yml masz juz zarejestrowany loader 'yml', wiec wystarczy dodawac sciezki z tlumaczeniami. Zakladajac, ze masz nastepujace pliki translacji: $ cat app/Resources/translations/messages.en.yml key: one i $ cat app/Resources/sample.yml key: translatedKey Po wywolaniu gdzies w template {{ 'key'|trans }} dosaniemy: one. Teraz wystarczy dodac nasz customowy plik sample.yml poprzez addResource do translatora, np w kontrollerze:
Nie podajac domeny pliki zostana dodane do domeny messages, czyli domyslnej. Oczywiscie, jesli ma to byc robione zawsze to lepiej uzyc compiler pass. W AppBundle dodajemy pass:
i w samym compiler passie dodajemy resource do translatora:
Wtedy juz bedziemy dostawac z {{ 'key'|trans }} wynik: translatedKey. Zeby nie ptrzeba bylo dodawac kazdego pliku osobno mozna pomyslec nad wyszukaniem wszystkich plikow w folderze albo dodaniem sobie opcji konfiguracji plikow i ladowanie tutaj wszystkich potrzebnych pod jedna domene. |
|
|
19.07.2015, 15:17:13
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) |
Napisz sobie takie rozwiazanie.
-------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 07:25 |