Języki w aplikacji |
Języki w aplikacji |
14.01.2017, 18:24:21
Post
#1
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Piszę aplikację w której potrzebuję mieć języki, osobno dla treści edytowanej przez użytkowników, i osobno dla panelu administracyjnego. Będą nim zarządzać osoby z różnych krajów a i sama strona będzie zawierała treści w różnych językach. Wiem jak rozwiązać języki w treściach w bazie danych, i języki UI w plikach językowych. Problemem dla mnie jest rozgraniczenie w aplikacji tych dwóch wartości.
1. Jak nazwać obydwa języki? UILanguage i ContentLanguage? Może ktoś już kiedyś coś wymyślił, tylko ja tego nie znalazłem w G? 2. Znalazłem jakiś artykuł w którym ktoś pisał o language i locale. Czym to się różni? Czy to jest rozwiązanie mojego problemu? 3. Jak to rozwiązać w postaci kodu? Obydwie te rzeczy powinny mieć swoje własne klasy? Może jedną, jako Language|Localisation a w niej dopiero rozgraniczenie pomiędzy te dwa typy? Języki UI i języki treści będą oczywiście inne. Języki treści będą dodawana dynamicznie przez panel administracyjny, ale pliki językowe UI będą dodawane tylko przez developerów, więc będą to dwie osobne listy języków. |
|
|
14.01.2017, 19:17:26
Post
#2
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) |
W Symfony masz coś takiego, co nazywa się DOMAIN. W praktyce komponent http://symfony.com/doc/current/translation.html
-------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
15.01.2017, 18:49:57
Post
#3
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Dziękuję za odpowiedź, ale to troszkę mija się z moim problemem. Jak już wspominałem, wiem jak rozwiązać tłumaczenia w plikach językowych.
|
|
|
15.01.2017, 20:42:32
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Nie bardzo wiem po co to rozgraniczać. Wersja językowa to wersja językowa, nieważne czy dla użytkowników czy administratorów. Dotyczy to zarówno treści definiowanych w panelu (baza danych) jak i zwykłych statycznych komunikatów (pliki lub też baza danych). Skoro administratorzy bedą mieć prezentowane treści w zależności od swojego języka to czym to sie różni od zwykłych użytkowników? Administrator to taki sam użytkownik tylko ze z większymi uprawnieniami. Opisz może bliżej problem bo w sumie nie do końca wiadomo o co chodzi.
|
|
|
15.01.2017, 21:52:16
Post
#5
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Załóżmy taką sytuację (nie rozgraniczamy tych języków):
Mamy panią Kasię z sekretariatu, która ma za zadanie uzupełnić stronę podanymi danymi (artykuły, kontakt i parę innych zakładek) z podanych plików DOC. Pani Kasia się loguje, wrzuca język Niemiecki i dostaje jebca, bo cały Panel jej zmienił język. A ona chciała tylko wrzucić artykuł o firmie w języku niemieckim, a tak na prawdę ma Panel w języku niemieckim i ma zagwozdkę, czy ona coś popsuła, jak teraz to cofnąć. Musi zmieniać z powrotem na polski, wejść w odpowiednie miejsce w Panelu, zmienić ponownie język na niemiecki i wrzucić treść. A co jeśli zapomni wrzucić tytułu, i pokaże jej się komunikat o błędzie w języku niemieckim, bo akurat edytowała język niemiecki? Mam nadzieje, że to rozwieje wątpliwości zmiany języka, osobno dla treści i osobno dla UI. Ten post edytował adbacz 15.01.2017, 21:54:39 |
|
|
15.01.2017, 21:56:53
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Ale jaki masz problem bo nie bardzo rozumiem?
Język dla treści definiujesz przy treści, a język dla UI w tabeli z tłumaczeniami dla UI |
|
|
16.01.2017, 06:54:20
Post
#7
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Juz widzę w czym problem: uzależniasz język wprowadzanej przez administratora treści od języka panelu. Ja zawsze robiłem to niezależne tj. w zasadzie obsługiwałem tylko język panelu. Wprowadzanie treści robiłem w ten sposób, ze dla listy zdefiniowanych języków tworzyłem pola formularza. Przykładowo jeśli mam do wprowadzenia tytuł i treść, a system obsługuje 3 języki to łącznie wyświetlam 6 pół - po 2 dla każdego języka. Języki grupuje w zakładki (np. JQuery UI) wyświetlając w tabach flagi obrazujące język. Domyślny język zawsze miał ustawioną walidacje na wymagalność, dla pozostałych pola były opcjonalne.
|
|
|
16.01.2017, 13:07:21
Post
#8
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
uzależniasz język wprowadzanej przez administratora treści od języka panelu. Ale napisałem na początku, że chcę to zrobić niezależne. Potrzebuję tyko pomysłu na to, jak to spiąć w kodzie, samo zarządzanie językami, przechowywanie listy języków. Napisałem już, że mam ogarnięte pliki językowe i przechowywanie w bazie danych. |
|
|
16.01.2017, 15:03:28
Post
#9
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) |
Ale napisałem na początku, że chcę to zrobić niezależne. Potrzebuję tyko pomysłu na to, jak to spiąć w kodzie, samo zarządzanie językami, przechowywanie listy języków. Napisałem już, że mam ogarnięte pliki językowe i przechowywanie w bazie danych. Phpion podał Ci rozwiązanie, wyświetlasz n pól formularza przy n języków lub robisz <select> z formularzu który zmienia język danych pól. Poniżej rozwiązanie które stosuję. Ten post edytował Puszy 16.01.2017, 15:06:17 |
|
|
16.01.2017, 16:01:22
Post
#10
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Może ja źle tłumaczę. Chodzi mi o kod PHP, rdzenia systemu. Pomysł na wdrożenie tego w OOP. Nie o kod HTML i widoki dla użytkownika :/
PS. Wszystko jest zawarte w 3 pytaniach na początku tematu, nie wiem już jak to inaczej opisać. Ten post edytował adbacz 16.01.2017, 16:02:10 |
|
|
17.01.2017, 12:05:51
Post
#11
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) |
Może ja źle tłumaczę. Chodzi mi o kod PHP, rdzenia systemu. Pomysł na wdrożenie tego w OOP. Nie o kod HTML i widoki dla użytkownika :/ PS. Wszystko jest zawarte w 3 pytaniach na początku tematu, nie wiem już jak to inaczej opisać. No to ja nie rozumiem. Jeżeli obecnie korzystasz z i18n no to problem interfejsu masz z głowy. A dane które wprowadza użytkownik udźwignij w ten sposób który Ci pokazałem od strony kodu to jest zwykły formularz z tym że pola generowane są dynamicznie foreachem po aktywnych językach. Odpowiednie ustawienia pól formularza, walidacja pól językowych, flush do bazy i ot tyle. |
|
|
17.01.2017, 16:13:06
Post
#12
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Przepraszam, ale czy:
Cytat A dane które wprowadza użytkownik udźwignij w ten sposób który Ci pokazałem od strony kodu to jest zwykły formularz to jest to samo co: Cytat Chodzi mi o kod PHP, rdzenia systemu. Pomysł na wdrożenie tego w OOP. Nie o kod HTML i widoki dla użytkownika ? Poddaje się... |
|
|
17.01.2017, 16:52:04
Post
#13
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 04:33 |