Tomato Multilang - temat wydzielony
|
ksz |
Dodano 02-08-2011 16:18
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
a więc ta część działa mi już bez problemu. Menu reaguje na zmianę języków. Ja ze swojej strony już rozwiązałem problem kopiowania słowników do /tmp przy starcie.
Teraz kolejny krok: znaleźć sposób na wywalenie funkcji prenavi do includowanego pliku.
Super. Super. To nam daje połowę zrobioną (wyciągnięte menu i działa tłumaczenie). Zostaje wyrzucenie do zewnętrznego ASP i działający include.
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
shibby |
Dodano 02-08-2011 16:22
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
@ksz jak tak sobie patrze to te pliki gui tomato nie sa pisane w asp tylko w html + js. Nie wiem czemu one mają rozszerzenie asp :/ Nie mylę się?
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
ksz |
Dodano 02-08-2011 16:24
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
@ksz jak tak sobie patrze to te pliki gui tomato nie sa pisane w asp tylko w html + js. Nie wiem czemu one mają rozszerzenie asp :/ Nie mylę się?
Wiesz co nie wiem. Pierwsze zdziwiłem się, że mają rozszerzenie .asp, drugie zdziwiłem się, że mają tagi <% %>, z którymi wcześniej jak mogłeś zauważyć nie miałem styczności. Chyba zostaj mi wgłębić się trochę w źródła httpd co tam się dzieje, bo jestem lekko zmieszany co tak naprawdę te tagi <% %> wywołują. Na przykład powtarza się tam w plikach wywołanie <% ident(); %> ale nie widzę, żadnych include'ów więc co to za funkcja.. Zaraz zajrzę w repo.
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
buniaczek |
Dodano 02-08-2011 16:25
|
OL Maniac
Posty: 1166
Dołączył: 28/12/2010 13:05
|
Jeśli masz wątpliwości co do język do warto wrzucić dany plik do notepad++ i zobaczyć jak koloruje składnie po wybraniu języka z menu (działa to całkiem fajnie).
-------------------------
Netgear WNR3500L || Tomato-K26USB-1.28 RT5x MIPSR2 101V Big-VPN ||
Asus RT-N56U || Asus firmware 3.0.0.3.135 - wygrania w konkursie na openlinksys.info||
[b]Asus RT-N10U v.B1 [small]
|
|
|
|
ksz |
Dodano 02-08-2011 16:29
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat buniaczek napisał(a):
Jeśli masz wątpliwości co do język do warto wrzucić dany plik do notepad++ i zobaczyć jak koloruje składnie po wybraniu języka z menu (działa to całkiem fajnie).
Tak, używam N++, tyle, że tu w źródłach masz kilka języków. Jest HTML, JS, wywołania C i ponoć classic ASP.
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
buniaczek |
Dodano 02-08-2011 16:32
|
OL Maniac
Posty: 1166
Dołączył: 28/12/2010 13:05
|
To faktycznie nie pozostaje nic innego jak rozkminienie tego..
Ja nie pomogę niestety..
Moja wiedza w tym temacie jest marna.
-------------------------
Netgear WNR3500L || Tomato-K26USB-1.28 RT5x MIPSR2 101V Big-VPN ||
Asus RT-N56U || Asus firmware 3.0.0.3.135 - wygrania w konkursie na openlinksys.info||
[b]Asus RT-N10U v.B1 [small]
|
|
|
|
shibby |
Dodano 02-08-2011 16:36
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
wg mnie to jest html skryptowany javascriptem :/
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
ksz |
Dodano 02-08-2011 16:44
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
To co robią te funkcje w tagach <% %>? JavaScript już Ci powiedzieli, że wykonuje się po stronie klienta. Gdyby te tagi były z JS'a to by to wszystko nie działało. A także to co wyciągnąłem z tomato.js. Więc wniosek, że to na pewno jest coś po stronie serwera. A po stronie serwera działa właśnie ASP. Dlatego drążę temat i szukam w źródłach czy czasem mono nie jest wkompilowane w httpd Tomato.
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
shibby |
Dodano 02-08-2011 17:01
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
jednego zrozumiec nie moge. Funkcja js wrzucona do pliku wykonuje sie poprawnie i działa funkcja translate. Natomiast wczytanie tej samej funkcji z innego pliku i juz translate nie dziala...
Taka wolna mysl - a może by menu zrobił w css? Da rade?
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
ksz |
Dodano 02-08-2011 17:07
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
jednego zrozumiec nie moge. Funkcja js wrzucona do pliku wykonuje sie poprawnie i działa funkcja translate. Natomiast wczytanie tej samej funkcji z innego pliku i juz translate nie dziala...
No shibby, tak jak napisali na frazpc.pl, JS wykonuje się po stronie klienta/przeglądarki a ASP/C po stronie serwera. To znaczy, że tagi <% %> wykonują się zanim strona zostanie wysłana do przeglądarki a JS dopiero jak się wyświetla w przeglądarce. Stąd problem był, żeby za pomocą funkcji <% translate(); %> zmieniać coś co już jest u klienta w przeglądarce.
To działa tak:
- leci żadanie strony do routera
- demon httpd przegląda plik strony i interpretuje tagi ASP (np translate)
- wysyła taką stronę do klienta razem z kodem JS
- u klienta strona zaczyna sie wyswietlac inicjujac skrypty JS
W ten sposob, translate nie mialo prawa zmieniac tresci, ktora byla ladowana dopiero w czasie wyswietlania u klienta. A jak wrzucilem tresc na strone ASP to mozesz slowa za pomoca translate pozamieniac, bo jeszcze nie zostalo to wyslane. No i można było podejrzeć źródła, że faktycznie jest tam '' a nie jakiś rozpi... i kod się załamał.
Nie wiem. Pewnie da radę Tylko widziałem, że ta funkcja navi() w tomato.js pod zadeklarowanym menu woła w pętli kilka dodatkowych funkcji zewnętrznych. Dlatego też nie mogłem całego navi wyciągnąć łatwo. Tylko menu.
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
overflow |
Dodano 02-08-2011 20:06
|
User
Posty: 20
Dołączył: 20/02/2011 15:44
|
Moglibyście powiedzieć z czym dokładnie macie problem? Mam znajomego co się zna trochę na tych sprawach. Z tym menu w css to jedynie można by graficzne zrobić z tego co się orientuję. |
|
|
|
ksz |
Dodano 02-08-2011 20:19
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat overflow napisał(a):
Moglibyście powiedzieć z czym dokładnie macie problem? Mam znajomego co się zna trochę na tych sprawach. Z tym menu w css to jedynie można by graficzne zrobić z tego co się orientuję.
Problem w skrócie polega na tym, że mamy GUI / WWW na plikach z rozszerzeniami .asp, w kodzie są odwołania <% %> do funkcji asp a nie możemy się w źródłach doszukać gdzie są definicje tych funkcji. A także, żadnych informacji jakoby faktycznie firmware / httpd obsługiwao asp.
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
shibby |
Dodano 02-08-2011 20:20
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
menu tomato jest zapisana jako funkcja javascript i includowana do kazdego pliku podstrony. Ponieważ kod js wykonywany jest po stronie klienta nie dziala mi funkcja translate do zamiany stringów. Gdy funkcję menu przeniose do danego pliku do funkcja translate dziala, no ale to glupota by do kazdego pliku doklejac funkcje z menu. Szukamy wiec jakiegos rozwiazaia by menu wydzielic z pliku tomato.js do jakiegokolwiek innego pliku i móc ją includowac do kazdego pliku tak by kod by wykonany po stronie serwera a nie klienta. Jezeli cos namieszalem to @ksz popraw mnie
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
ksz |
Dodano 02-08-2011 20:24
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Dobrze mówisz shibby. Dokładnie tak. Kończąc słowa shibby'ego to utknęliśmy na tym, że to co chcemy działa, ale nie możemy tego przenieść do zewnętrznego pliku .asp i zrobić include. Wg wszelkich znaków w google i na niebie, powinno działać a wygląda tak jakby include nie działał.
Gdzieś się doszukałem, że IIS ma opcję, że można wyłączyć include'y zewnętrznych plików .asp no ale gdzie tu IIS zaszyty w firmware routera.. No i tu zapętla się historia do mojego posta wyżej..
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
shibby |
Dodano 02-08-2011 20:26
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
sprostowanie jakie właśnie wyszło na jaw: gui tomato napisane jest w ajaxie a nie jak myśleliśmy do tej pory w asp
@ksz rzuć okiem na to:
http://www.ajaxlines.com/ajax/stuff/article/include_file_in_html.php
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
overflow |
Dodano 02-08-2011 20:27
|
User
Posty: 20
Dołączył: 20/02/2011 15:44
|
Można to zrobić tak: ten plik js przerobić na asp oraz w nim dodać funkcję to tłumaczenia, a potem includować jak zwykły plik js tylko, ze z rozszerzeniem asp. Bo to bez różnicy jakie rozszerzenie, liczy się zawartość pliku, jeżeli będzie poprawy składniowo to powinno wszystko grać |
|
|
|
ksz |
Dodano 02-08-2011 20:38
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat overflow napisał(a):
Można to zrobić tak: ten plik js przerobić na asp oraz w nim dodać funkcję to tłumaczenia, a potem includować jak zwykły plik js tylko, ze z rozszerzeniem asp. Bo to bez różnicy jakie rozszerzenie, liczy się zawartość pliku, jeżeli będzie poprawy składniowo to powinno wszystko grać
Tak jak pisałem na górze. Nie działa nam include.
Cytat shibby napisał(a):@ksz rzuć okiem na to:
http://www.ajaxlines.com/ajax/stuff/article/include_file_in_html.php
Przeczytałem to trzy razy i nie wiem czy nam to bardziej ułatwia czy utrudnia sprawę :>
Język jak język, doczytać i zastosować, ale żeby kurna dwie kartki kodu robiły.. include?
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
overflow |
Dodano 02-08-2011 20:49
|
User
Posty: 20
Dołączył: 20/02/2011 15:44
|
Mi działa tak jak mówiłem. Zrobiłem sobie kopie wszystkiego do tmp tak jak wcześniej shibby pisał. Potem otwarłem plik about.asp, zmieniłem linikę:
na:
a w pliku tjs.asp jest zawartość pliku tomato.js z edytowaną linią:
['Przekierowanie portów <% version(); %>', 'forward', 0, [
I wyświetla się wersja obok tej pozycji. Może zarzućcie tymi plikami co wy macie. |
|
|
|
ksz |
Dodano 02-08-2011 20:51
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Tylko, że u Ciebie to translate nie zadziała, bo to jakaś kompilacja dla wybranych z tego co shibby pisał ;D
+ Thomson 516v6 (bridge PPPOE)
+ Asus RT-N16 (AP tryb N) Tomato-K26USB-1.28.RT-MIPSR2-097-VPN
+ Asus WL-500gp V2 (Wireless Bridge) Tomato-K26USB-1.28.905xRAF-EN-MIPSR1-062-BT
|
|
|
|
overflow |
Dodano 02-08-2011 20:54
|
User
Posty: 20
Dołączył: 20/02/2011 15:44
|
No trudno. Ale to bez różnicy powinno być, ponieważ kod asp się wykonał. |
|
|