1 (edytowany przez Payti 2023-03-04 16:04:22)

Temat: Pakiet językowy [PL]

Koledzy mam pytanie, jak zrobić pakiet językowy .ipk.
Zamarzyło mi się przetłumaczyć DAWN. Nie jest tam wiele do tłumaczenia i wyglądałoby jednolicie z całym OpenWrt w polskim layout.

Prośba o info.

Pozdr,

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS and EDMA-NSS builds for Xiaomi AX3600 (IPQ8071A) by @Payti

2 (edytowany przez IceG 2023-03-04 17:11:34)

Odp: Pakiet językowy [PL]

Siemanko,

W czym kolega widzi problem? Zakładam, że mamy pakiet
luci-app-dawn

W głównym katalogu pakietu tam gdzie mamy plik Makefile tworzymy folder "po", a w nim kolejny "pl" (czyli mamy luci-app-dawn\po\pl). W katalogu "pl" tworzymy plik dawn.po i uzupełniamy go o nasze tłumaczenie.

Przykładowy plik może zaczynać się od linijek:

msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"

"Language: pl\n"
"Last-Translator: Payti - From eko.one.pl forum\n"

msgid "View Network Overview"
msgstr "Wyświetl przegląd sieci"

msgid "View Hearing Map"
msgstr "Wyświetl mapę przesłuchań"

msgid "Tekst do tłumaczenia"
msgstr "Przetłumaczony tekst"

I tak lecimy zdanie po zdaniu, wyraz po wyrazie.

Ja tu widzę jeden problem, pakiet trzeba dostosować, aby tłumaczenie działało. Mamy pierwszy, lepszy plik..

luci-app-dawn/luasrc/controller/dawn.lua
module("luci.controller.dawn", package.seeall)

function index()
    local e = entry({ "admin", "dawn" }, firstchild(), "DAWN", 60)
    e.dependent = false
    e.acl_depends = { "luci-app-dawn" }

    entry({ "admin", "dawn", "view_network" }, cbi("dawn/dawn_network"), "View Network Overview", 1)
    entry({ "admin", "dawn", "view_hearing_map" }, cbi("dawn/dawn_hearing_map"), "View Hearing Map", 2)
end

trzeba zmienić na:

module("luci.controller.dawn", package.seeall)

function index()
    local e = entry({ "admin", "dawn" }, firstchild(), "DAWN", 60)
    e.dependent = false
    e.acl_depends = { "luci-app-dawn" }

    entry({ "admin", "dawn", "view_network" }, cbi("dawn/dawn_network"), translate("View Network Overview"), 1)
    entry({ "admin", "dawn", "view_hearing_map" }, cbi("dawn/dawn_hearing_map"), translate("View Hearing Map"), 2)
end

Kolejny plik

luci-app-dawn/luasrc/model/cbi/dawn/dawn_network.lua

Mamy

                        <th class="th">AP</th>
                        <th class="th">Clients</th>
(...)
                                        <th class="th">Hostname</th>
                                        <th class="th">Interface</th>
(...)

Dla tłumaczenia

                        <th class="th"><%:AP%></th>
                        <th class="th"><%:Clients%></th>
(...)
                                        <th class="th"><%:Hostname%></th>
                                        <th class="th"><%:Interface%></th>
(...)

Także zabawy trochę jest. Tak dostosowany/przetłumaczony pakiet kompilujemy i razem z pakietem dostajemy pakiet językowy.

Jak coś pomerdałem, to proszę mnie poprawić, bo ja się mogę nie znać.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

3

Odp: Pakiet językowy [PL]

Wow, super @IceG wyjaśnienie jak się za to zabrać.
Wszystko dla mnie jasne, zabieram się za tłumaczenie ...

Dzięki i pozdrawiam,

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS and EDMA-NSS builds for Xiaomi AX3600 (IPQ8071A) by @Payti

4

Odp: Pakiet językowy [PL]

Nie, najpierw wyślij łatkę to twórcy pakietu żeby dodać możliwość tłumaczenia, a później będziesz mógł robić tłumaczenie przez https://hosted.weblate.org/projects/openwrt/ tak jak inne moduły do luci.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.