Tomato Multilang - temat wydzielony
|
ksz |
Dodano 01-08-2011 17:04
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
@shibby: zaraz pomyślę jak Ci wyciągnąć tę funkcję na zewnątrz, tak jak proponują koledzy z frazpc.pl
UPDATE:
Spróbuj tak:
1. nowy plik prenavi.inc (uwaga, tylko wycinek menu)
[/color]
<%
function prenavi()
{
var extMenu = [
['<% translate("Status"); %>', 'status', 0, [
['Overview', 'overview.asp'],
['Device List', 'devices.asp'],
['Web Usage', 'webmon.asp'],
['Logs', 'log.asp'] ] ],
['<% translate("Bandwidth"); %>', 'bwm', 0, [
['Real-Time', 'realtime.asp'],
['Last 24 Hours', '24.asp'],
['Daily', 'daily.asp'],
['Weekly', 'weekly.asp'],
['Monthly', 'monthly.asp']
/* CMON-BEGIN */
,['Clients Monitor', 'clientmon.asp']
/* CMON-END */
] ]
]
navi(extMenu);
}
%>
2a. w status-overview.asp dodaj do pliku include zewnętrznego:
2b. w status-overview.asp podmień wywołanie navi() na prenavi()
3a. w tomato.js dodaj argument do nagłówka funkcji navi()
function navi(menu)
3b. w tomato.js z navi() wytnij lub zakomentuj całe 'var menu = ...'
4a. Jeśli nie zadziała spróbuj usunąć czerwoną linię kodu z pliku include'owanego
Jeśli to nie pomoże to daj znać, piszę z głowy bo nie mam środowiska żeby to sprawdzić.
PS.
Czy mogę jakoś przemontować root żeby był rw? To bym mógł u siebie na żywca te zmiany sprawdzić..
Edytowany przez ksz dnia 01-08-2011 17:59
+ 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 01-08-2011 23:28
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
Thx jutro sprawdze. Co do rw dla roota to mozesz zrobic tak
cp -r /www /tmp/www
service httpd stop
cd /tmp/www
httpd
W ten sposob odpalisz httpd z tmp a tam juz mozesz pliki edytowac. Po restarcie wszystko wroci do normy.
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 01-08-2011 23:41
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
W ten sposob odpalisz httpd z tmp a tam juz mozesz pliki edytowac. Po restarcie wszystko wroci do normy.
Świetnie. To jutro spróbuję coś pokombinować u siebie z tym navi(). Wydaje mi się, że to co napisałem z głowy nie powinno być dalekie od działania.
+ 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 10:36
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
no to ja poczekam. Nie będziemy się dublować.
Jeżeli uda nam się wyciagnąć menu to możemy kontynuować tłumaczenie. Nie uda nam się przetłumaczyć 100% bo w pliku tomato.js (prócz menu) jest masę komunikatów wpisanych ale zawsze te 99% będzie spolszczone a to chyba najważniejsze.
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
|
|
|
|
buniaczek |
Dodano 02-08-2011 10:53
|
OL Maniac
Posty: 1166
Dołączył: 28/12/2010 13:05
|
Cytat shibby napisał(a):
Jeżeli uda nam się wyciagnąć menu to możemy kontynuować tłumaczenie. Nie uda nam się przetłumaczyć 100% bo w pliku tomato.js (prócz menu) jest masę komunikatów wpisanych ale zawsze te 99% będzie spolszczone a to chyba najważniejsze.
Na upartego można by się i o te komunikaty pokusić
Jak to mówią "w kupie siła"
-------------------------
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 11:39
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
no to ja poczekam. Nie będziemy się dublować.
Jeżeli uda nam się wyciagnąć menu to możemy kontynuować tłumaczenie. Nie uda nam się przetłumaczyć 100% bo w pliku tomato.js (prócz menu) jest masę komunikatów wpisanych ale zawsze te 99% będzie spolszczone a to chyba najważniejsze.
Dobra, po 3h wygląda to tak..
Tablicę z tomato.js wyciągnąłem na głupa do status-overview.asp, zakomentowałem tę w tomato.js w funkcji navi, ręcznie zmieniłem pozycje na liście i przekazałem do wyświetlenia. Działa.
Problem 1 z przeniesieniem do zewnętrznego pliku asp: nie działa mi za chiny ASP'owy include. Gdzieś po necie doczytałem się, że IIS ma opcję wyłączającą wszelkie dyrektywy include ale domyślam się, że tu IIS'a nie ma. Coś gdzies padło hasło mono project. @shibby: jak w ogóle działa asp na linuksie? czy jest gdzieś plik konfiguracyjny gdzie mogę sprawdzić, że faktycznie są dyrektywy include wyłączone (pomijane)
Problem 2 z użyciem translate na wyciągniętej tablicy menu: nie wiem czy to kwestia, że u mnie na routerze nie zadziała wg mojego widzimisię translate i musi to shibby przekompilować czy gdzieś muszę dodać nową krotkę, która wie jak przetłumaczyć za pomocą translate() na przykład słowo Bandwidth..
Shibby, daj znać co wiesz w temacie dwóch powyższych pytań bo ciężko w ciemno ruszyć z tym dalej. Niby kod jest ok gotowy do użycia a nie mogę teg include'ować/translate'ować tak żeby porządnie to do zewn. pliku przerzucić.
UPDATE:
Bo teraz jak już mam tablicę wewnątrz strony, którą otwieram a NIE w zewnętrznym pliku .js mogę sobie wprost podejrzeć co zrobił ASP'owy translate(), i to jest to co zrobił:
Przed wykonaniem:
['<% translate("Basic"); %>', 'basic.asp'],
Źródło strony po załadowaniu:
I teraz nie wiem, czy translate nie znajduje mi słowa odpowiedniego do zamiany i wstawia pusty ciąg znaków czy translate daje ciała.
Edytowany przez ksz dnia 02-08-2011 11:58
+ 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 11:57
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
wiesz serwerem www jest httpd a więc wszystkiego związanego z obsługa asp trzeba szukać w źródlach httpd:
http://repo.or.cz/w/tomato.git/tree/refs/heads/tomato-shibby:/release/src/router/httpd
2) po pierwsze trzeba mieć skompilowaną funkcję translate w httpd + przeedytowane pliki httpd.c i httpd.h z obsługa tej funkcji (źródła w repo są niekompletne, całość mam u siebie )
Po drugie trzeba zrobić pliczek pl_PL.txt i umieścić go w /tmp. Tam funkcja translate szuka pliku z tłumaczeniami
Po trzecie w pliku pl_PL.txt muszą być przetłumaczone wszystkie zwroty czyli np:
Overview=Przegląd
Status=Status
Jeżeli jakieś wartości nie ma to wyświetlane jest oryginalne tłumaczenie
I po czwarte w nvram musi być zmienna web_lang i tam wpisujesz wartość pl_PL
Wtedy dopiero funkcja Translate działa.
Prócz problemów z menu mam jeszzce jeden problemik. Otóż słowniki (pl_PL.txt i inne) muszą mieć atrybut +a (do edycji). Jak wiadomo w katalogu /www być one nie mogą ponieważ tam mamty read-only. Nie wiem jak po włączeniu routera skopiować wszystkie pliki z tłumaczeniami do /tmp ... Probowałem do rc/init.c dopisać skopiowanie plików używając funkcji xstart ale skutek tego był marny.
Ktoś ze znajomościa C może mi powiedzieć jak skopiować pliki z katalogu do katalogu? W najgorszym wypadku zrobie plik bashowy i w nim zamieszczę komendę cp i odpalę go przez xstart.
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 12:07
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
wiesz serwerem www jest httpd a więc wszystkiego związanego z obsługa asp trzeba szukać w źródlach httpd:
http://repo.or.cz/w/tomato.git/tree/refs/heads/tomato-shibby:/release/src/router/httpd
Widzę, że zanim to u siebie skonfiguruję minie za dużo czasu. Polećmy po kolei. Najpierw sparwdźmy czy to co zrobiłem zadziała u Ciebie z translate, skoro masz je skonfigurowane i wiesz co gdzie leży.
Załączam Ci dwa pliki, które wystarczy podstawić:
- tomato.js (wycięte menu, dodany argument tablicy w nagłówku funkcji)
- status-overview.asp (wklejone menu w pomocnicza funkcję prenavi, zamienione wywołanie navi na prenavi)
Zmian jest niewiele, poza przeklejeniem to będzie 3-4 linijki. Sprawdź proszę czy u Ciebie zadziala to translate jakichś kilku pozycji, wtedy będziemy wiedzieć, że warto brnąć dalej w przenoszenie tego do zewnętrznych plików ASP.
PS. Wywołanie prenavi jest tylko w status-overview.asp, żadnych innych plików nie zmieniałem, więc nie zapomnij się i nie przeglądaj innych, bo na innych w ogóle nie będzie menu (zakomentowane w tomato.js).
ksz załączono następujące plik:
Nie masz uprawnień, by zobaczyć załączniki w tym wątku.
+ 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 12:08
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
wersja tomato którą masz nie ma wkompilowanej funkcji translate. Mogę ci taką wersję skompilować na testy.
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 12:12
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
wersja tomato którą masz nie ma wkompilowanej funkcji translate. Mogę ci taką wersję skompilować na testy.
Możesz, mam zapasowy router z uwalonymi portami to mogę go zaprząc do roboty.
+ 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 12:18
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
to tylko mi powiedz mips1 czy mips2?
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 12:19
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
MIPS1, ten sam model tylko procek mam 264 a nie 240 jak w nowszym/obecnym (stopka).
+ 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 12:56
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
czyli ten sam co mój tyle że ze sprawnymi portami
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 13:12
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Rok temu po burzy musiałem kupić nowego. Nie dość, że uwaliła mi WAN + LAN#3 to jeszcze zbrickowałem go. Dopiero kilka dni temu na zwieraniu pinów ruszył po kilku godzinach flashowania.
Dlatego obiecujaco wypatruję wersji z VLAN'ami ;-)
+ 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 13:19
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
Cytat Dlatego obiecujaco wypatruję wersji z VLAN'ami ;-)
właśnie się kompiluje
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 13:26
|
User
Posty: 85
Dołączył: 28/07/2011 18:53
|
Cytat shibby napisał(a):
Cytat Dlatego obiecujaco wypatruję wersji z VLAN'ami ;-)
właśnie się kompiluje
Super. Będę za 2h to polecę dalej z tematem.
+ 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 15:44
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
Cytat ksz napisał(a):
Cytat shibby napisał(a):
wiesz serwerem www jest httpd a więc wszystkiego związanego z obsługa asp trzeba szukać w źródlach httpd:
http://repo.or.cz/w/tomato.git/tree/refs/heads/tomato-shibby:/release/src/router/httpd
Widzę, że zanim to u siebie skonfiguruję minie za dużo czasu. Polećmy po kolei. Najpierw sparwdźmy czy to co zrobiłem zadziała u Ciebie z translate, skoro masz je skonfigurowane i wiesz co gdzie leży.
Załączam Ci dwa pliki, które wystarczy podstawić:
- tomato.js (wycięte menu, dodany argument tablicy w nagłówku funkcji)
- status-overview.asp (wklejone menu w pomocnicza funkcję prenavi, zamienione wywołanie navi na prenavi)
Zmian jest niewiele, poza przeklejeniem to będzie 3-4 linijki. Sprawdź proszę czy u Ciebie zadziala to translate jakichś kilku pozycji, wtedy będziemy wiedzieć, że warto brnąć dalej w przenoszenie tego do zewnętrznych plików ASP.
PS. Wywołanie prenavi jest tylko w status-overview.asp, żadnych innych plików nie zmieniałem, więc nie zapomnij się i nie przeglądaj innych, bo na innych w ogóle nie będzie menu (zakomentowane w tomato.js).
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.
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
|
|
|
|
buniaczek |
Dodano 02-08-2011 15:50
|
OL Maniac
Posty: 1166
Dołączył: 28/12/2010 13:05
|
No Panowie widzę, że prace idą ostro do przodu!
Niestety programowanie to nie moja bajka..
Ale jeśli chodzi o kwestie tłumaczenia PL <-> EN to ja się piszę
Chyba ze będzie jeszcze jakaś "robota głupiego", mam na myśli coś w stylu dorzucania funkcji translate to dajcie znać
-------------------------
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 15:57
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
Cytat mam na myśli coś w stylu dorzucania funkcji translate to dajcie znać
Możliwe że będzie bo pliki które wtedy tłumaczyłem pozmieniały się diametralnie więc nie wiem czy części nie będzie trzeba od nowa modyfikować.
Najpierw jednak zróbmy menu, bo bez tego to nie ma co w ogóle ruszać tematu.
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
|
|
|
|
buniaczek |
Dodano 02-08-2011 15:59
|
OL Maniac
Posty: 1166
Dołączył: 28/12/2010 13:05
|
Oki sprawa jasna. Jak coś to wiesz gdzie pukać w tej sprawie
Czekam na info.
-------------------------
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]
|
|
|