Niniejszy informator dotyczący tłumaczeń na język polski, ma na celu doradzenie najlepszego wyboru terminów w naszym języku, w przypadku gdy mogą one prowadzić do nieporozumień, bądź do powstania rozbieżności itp. Celem opracowania jest podsumowanie zaleceń związanych z uzyskaniem zgodności omawianych zagadnień na forum i w powstającej zwartej grupie tłumaczy, lub de facto obowiązujących poprzez zastosowanie ich w praktyce.
Zalecane jest omówienie wątpliwości lub nowych propozycji na forum w języku polskim: w wątku zapytanie o wasze zdanie (FreeCAD Wiki + GUI + strona domowa), który jest odpowiednim miejscem do zasięgania opinii.
W marcu 2021 zaczęła powstawać grupa tłumaczy skupiająca się głównie przy pracy nad tłumaczeniem GUI programu FreeCAD. Dzięki naszej pracy polska ekipa jako pierwsza (z pośród 63 języków na który przekładany jest język programu) osiągnęła wynik 100% (marzec 2021) tłumaczeń i 41% (kwiecień 2021) tłumaczeń zatwierdzonych. To doskonały wynik, jednak wciąż pozostaje wiele pracy do wykonania nad uporządkowaniem i poprawą jakości wyświetlanych nazw opcji i komunikatów programu.
Częstą praktyką jest również dyskusja w zamkniętej grupie polskich tłumaczy. Komunikację umożliwia platforma Crowdin.
Przykłady tłumaczeń
Aby uzyskać ten efekt należy posłużyć się dwukrotnie znakiem ' przed nawiasem otwierającym ( i po nawiasie zamykającym ).
To jest przykładowa treść ''(z wyróżnieniem wtrącenia)'', dzięki której zobrazujemy przykład.
zwiń/rozwiń
stosując zwiń / rozwiń
lub Preferencje...
zastępując przez Preferencje ...
. Niby niewiele bo dodatkowa spacja - a o ile przyjemniej się na ten tekst "zagląda".tekst oryginalny | tłumaczenie | środowisko pracy |
---|---|---|
Body | Zawartość | Część, Projekt części |
Origin | Odniesienie położenia | Część, Projekt części |
Wire | Polilinia | Część, Projekt części |
Face | Ściana | wszystkie |
Surface | Powierzchnia | wszystkie |
Shell | Powłoka | wszystkie |
Feature | Cecha | wszystkie |
Offset | Odsunięcie | wszystkie |
Utilities | Narzędzia | wszystkie |
Tools | Przybory | wszystkie |
Plane | Płaszczyzna | wszystkie |
Properties | Właściwości | wszystkie |
Assembly | Złożenie | wszystkie |
Constraint | Wiązanie | wszystkie |
Primitive | Bryła pierwotna | wszystkie |
Leader line | Linia odniesienia | wszystkie |
Cylinder | Walec | wszystkie |
Solid | Bryła | wszystkie |
Constraint lock | Wiązanie blokady odległości | wszystkie |
Constraint block | Wiązanie zablokowania | wszystkie |
Bound box | Ramka otaczająca | wszystkie |
Snapping | Przyciąganie | wszystkie |
Modify | Zmień | wszystkie |
Grid | Siatka | wszystkie |
FEM | MES | FEM |
Placement | Umiejscowienie | wszystkie |
Create | Utwórz | wszystkie |
Non-manifold | nieróżnorodna | Siatka |
Cosmetics | kosmetyczny | Rysunek Techniczny |
Projection | Rzutowanie | wszystkie |
B-spline | Krzywa złożona | wszystkie |
Wireframe | Model krawędziowy | wszystkie |
Flat lines | Cieniowany z krawędziami | wszystkie |
Podczas pracy z tłumaczeniami, czy to interfejsu, czy tez dokumentacji użytkownika, dobrze jest posługiwać się aktualna wersją samego programu. Mamy wtedy wgląd w zaawansowanie prac, i łatwo jest ocenić, co warto poprawić, a co jeszcze pozostało do wykonania. Dlatego najnowszą wersję oznaczoną jako rozwojową można pobierać z witryny domowej, lub bezpośrednio z witryny GitHub jako cotygodniowe wydania. Sam program (wersja na Linux OS) posiada też mechanizm sprawdzający aktualizację - na żądanie.
Więc po kliknięciu w menu Edycja → Preferencje, w otwartym oknie wybieramy pozycje AppImage. Uzyskamy wtedy dostęp do przycisku Check for updates ;-)
Problem w tym, że zmiany w tłumaczeniach interfejsu mogą zachodzić częściej, niż będą miały miejsce kolejne wydania.
Na taką ewentualność też jest rozwiązanie.
Każdy tłumacz posiadający swoje konto w platformie Crowdin i używający Linux OS, może łatwo aktualizować tłumaczenia interfejsu graficznego we własnym zakresie.
ls -1 *.ts | sed 's/\.ts//' | xargs -i mv {}.ts {}_pl.ts
ls -1 *_pl.ts | sed 's/\.ts//' | xargs -i lrelease {}.ts -qm {}.qm
ls -1 *_pl.qm | xargs -i mv {} ~/.FreeCAD/translations/
lub wersja dla osób bardziej wymagających
ls -1 *.ts| sed 's/\.ts//' |xargs -i mv {}.ts {}_pl.ts && ls -1 *_pl.ts |sed 's/\.ts//' |xargs -i lrelease {}.ts -qm {}.qm && ls -1 *_pl.qm |xargs -i mv {} ~/.FreeCAD/translations/ && rm *pl.ts
Każde wydanie po Version: 0.20.26306 (Git) AppImage ma zmienioną lokalizację dla katalogu plików tłumaczeń. Aby ją poznać w konsoli Python programu FreeCAD należy posłużyć się poleceniem:
App.getUserAppDataDir()
Na pożytek międzynarodowej społeczności tłumaczy powstał uniwersalny skrypt basha do konwersji plików źródłowych. Przy okazji rozwiązuje kilka istniejących niedogodności. Jeśli uda się poznać mechanizm przechowywania zmiennych programu FreeCAD, skrypt będzie mógł pobierać docelową lokalizację plików z tłumaczeniami właśnie z tego miejsca. Będzie jeszcze uniwersalniej. Opis całej procedury został zawarty w języku angielskim w sekcji "Testing" repozytorium FreeCAD. Zamieszczam treść skryptu dla naszego zespołu:
#!/bin/bash
# A.D. 2022-04-17 - juniorjpdj (Jacek Pruciak Junior), kaktus (Jacek Pruciak)
# QM konwerter plików dla tłumaczy interfejsu FreeCAD
# Ten skrypt został napisany dla międzynarodowej społeczności uwikłanej w pracę nad tłumaczeniem i ulepszaniem tłumaczeń interfejsu graficznego programu FreeCAD.
# W pierwszym wydaniu praca ta była wykonywana przez złożone polecenie z użyciem przetwarzania potokowego. Jednak, gdy więcej osób różnych narodowości zaczęło korzystać z tego rozwiązania, modyfikowanie polecenia mogło być kłopotliwe.
# Dlatego powstał ten wszechstronnie uniwersalny skrypt basha, który rozwiązuje kilka niedogodności, i jednocześnie rozpoznaje język plików źródłowych do konwersji.
echo
echo -e 'Pliki źródłowe do konwersji:'
LS_COLORS='*.ts=01;32' ls -1 -C --color=always *.ts
# określenie katalogu docelowego
od="$HOME/.local/share/FreeCAD/translations/"
echo #pusta linia
echo -e Katalog docelowy to: '\e[1;31m'"$od" '\e[0m\n'
mkdir -p "$od"
for f in *.ts ; do
nf="$(sed 's/\.ts//' <<< "$f")"
lang="$(grep language= "$f")"
[[ $lang =~ language=.([a-z]*?). ]] && lang=${BASH_REMATCH[1]} || lang=''
[[ -z "$lang" ]] && echo -e '\e[1;31m'Problem z wykryciem języka w pliku '\e[32m'"$f"'\e[31m', pomijam !'\e[0m\n' && continue
nf="${nf^}_$lang.qm"
lrelease "$f" -qm "$nf"
echo -e Przenoszę plik '\e[1;32m'"$nf"'\e[0m' do katalogu docelowego ...'\n'
mv "$nf" "$od"
rm "$f"
done
Powodzenia !
Dostęp do wybranych może wymagać odpowiednich uprawnień użytkownika.
...
Pozdrawiam wszystkich serdecznie i dziękuję za dotychczasową współpracę kaktus
A.D 2021-05-04