JAK umiędzynarodowić aplikacje


Umiędzynarodowienie aplikacji i skryptów w Puppy Linux to praca w toku.


Aplikacje napisane w BaCon

BaCon to kompilator BASIC, jeden z oficjalnie obsługiwanych języków w rozwoju Puppy. Umiędzynarodowienie jest obsługiwane przez kompilator, jak wyjaśniono tutaj:

http://bkhome.org/bacon/international.htm

Są przynajmniej dwie aplikacje które znajdziesz w każdym najnowszym Puppy które są napisane w BaCon i mają obsługę umiędzynarodowienia:
/usr/sbin/welcome1stboot
/usr/local/simple_network_setup/proxy-setup
Jeśli masz wczytany SFS 'devx', to to też będzie obecne:
/usr/sbin/welcome1stboot.bac
/usr/sbin/welcome1stboot.pot /usr/sbin/welcome1stboot.pupdev /usr/local/simple_network_setup/proxy-setup.bac /usr/local/simple_network_setup/proxy-setup.pot
/usr/local/simple_network_setup/proxy-setup.pupdev
Plik .bac to kod źródłowy BaCon. Plik .pot to plik tłumaczenia językowego. Plik .pupdev to po prostu plik tekstowy który ma instrukcje jak kompilować i robić tłumaczenie językowe. Pliki .pot i .pupdev są opcjonalne, nie zawsze niezbędne w 'devx' -- ale jeśli czytasz jeden z plików .pupdev on powinien pokazać jak stworzyć tłumaczenie językowe dla każdej innej aplikacji BaCon.

Skrypty umiędzynarodowione z 'gettext'

Jest wiele skryptów w Puppy które używają 'gettext' dla tłumaczenia. Tutaj są niektóre w /usr/sbin:
alsaconf
connectwizard
hostname-set
keymap-set
mousecheck
quicksetup
shutdownconfig
Jeśli masz wczytany SFS 'devx', to też znajdziesz te w /usr/sbin:
mousecheck.pupdev
quicksetup.pupdev
shutdownconfig.pupdev
...to są pliki tekstowe które wyjaśniają jak zrobić umiędzynarodowienie. Można podążyć za instrukcjami by przetłumaczyć skrypt na swój język. Instrukcje mogą też być zastosowane do innych skryptów które używają 'gettext'.

Skrypty umiędzynarodowione z 't12s'

To bardzo szybka technika zapoczątkowana przez technosaurusa i zaimplementowana dla Puppy przez L18L. Zobacz dyskusje na Forum Puppy:

http://murga-linux.com/puppy/viewtopic.php?t=73440

Tutaj jest przykładowy skrypt który można znaleźć w najświeższych puppies:
/usr/sbin/xdelta_gui
Tutaj są instrukcje online jak użyć tej techniki by stworzyć tłumaczenie dla języka:

http://extra-inter.net/puppy/t12s_DOC/t12s.html

...to opiera się na aplikacji /usr/sbin/t12s, aplikacja GUI stworzona przez L18L. Wymaga pakietu 'yad' by był zainstalowany, co jest standardowo w najświeższych puppies.

MoManager manager tłumaczeń

MoManager to aplikacja GUI napisana przeze mnie (Barry Kauler) która robi bardzo łatwym dla każdego stworzenie nie-angielskich tłumaczeń dla aplikacji w Puppy. Musisz mieć Puppy zbudowane z wersji Woof późniejszej niż Luty 14, 2012.

MoManager jest dla stworzenia i uaktualnienia plików tłumaczeń dla skryptów, plików XML, plików menu i innych plików danych tekstowych.

Skrypty to aplikacje będące plikami tekstowymi, zazwyczaj napisane w Bashu lub Ashu (lub Perlu, Pythonie, Tcl, itp.). Zauważ, jeśli nie jesteś zaznajomiony ze 'skryptami', nie martw się, one są po prostu aplikacjami.

By użyć MoManager, najlepsza rzecz to po prostu iść naprzód i użyć go. Znajdziesz go w menu 'Narzędzia'. Gdy wystartujesz, zobaczysz dwie kolumny rozwijanych w dół list, jedna list to pliki które już mają plik tłumaczenia dla twojego języka (na lewej stronie), inna lista to pliki które nie mają jeszcze pliku tłumaczenia. Jeśli wybierzesz plik z byłej listy, możesz zaktualizować tłumaczenie, i w tym ostatnim przypadku można stworzyć nowy plik tłumaczenia.

Tutaj jest zdjęcie głównego okna, Puppy działającego z DE locale:
MoManager 

Skrypty

W przypadku uaktualnienia istniejącego pliku tłumaczenia, MoManager automatycznie zsynchronizuje z ostatnim skryptem, i zidentyfikuje zmienione ciągi -- jeśli zobaczysz gdzieś tekst "zamazany" w pliku tłumaczenia, to prawdopodobnie oryginalny tekst angielski został zmieniony i będzie potrzeba zaktualizować tłumaczenie.

Plik tłumaczenia dla skryptu oznacza że gdy aplikacja działa, to wyprodukuje wszystkie teksty w twoim języku. Przez stworzenie plików tłumaczeń dla wszystkich skryptów, możesz pomóc stworzyć Puppy które działa ładnie w twoim języku -- i wysyłając pliki tłumaczeń do mnie, Ja mogę je dać do Woof dla wszystkich przyszłych Puppy.

Chociaż jest prawdopodobnie możliwe dowiedzieć się jak edytować plik tłumaczenia, znany jako plik 'po' w jego edytowalnej formie, lub plik 'mo' w jego skompilowanej formie, jest pomocne przeczytać nieco na ten temat. Sugeruję:
http://translate.sourceforge.net/wiki/guide/project/howto
http://www.gnu.org/software/gettext/manual/html_node/gettext_9.html#PO-Files

...chociaż zauważ, przeczytanie wszystkich nich może być mylące! Jest możliwe by używać MoManager bez zrozumienia wszystkich tych szczegółów. MoManager używa normalnego edytora tekstu by edytować pliki po raczej niż specjalizowanego po-edytora (takiego jak poedit) i to całkiem łatwo zrobić, po prostu potrzeba bardzo podstawowego zrozumienia formatu plików po.

Pozdrawiam,
Barry Kauler