Crowdin Scripts/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}
{{TOCright}}
<span id="Managing_Translations_for_FreeCAD"></span>
== Zarządzanie Tłumaczeniami w FreeCAD ==
== Zarządzanie Tłumaczeniami w programie FreeCAD ==


FreeCAD do zarządzania tłumaczeniami używa zewnętrznego serwisu nazywanego [https://crowdin.com/project/freecad Crowdin.]
FreeCAD do zarządzania tłumaczeniami używa zewnętrznego serwisu o nazwie [https://crowdin.com/project/freecad Crowdin.]


W <code>FreeCAD/src/Tools</code> znajdują się 3 skrypty, które służą do zarządzania plikami tłumaczeń:
W <code>FreeCAD/src/Tools</code> znajdują się 3 skrypty, które służą do zarządzania plikami tłumaczeń:
Line 10: Line 11:
# <code>updatefromcrowdin.py</code> [https://github.com/FreeCAD/FreeCAD/blob/master/src/Tools/updatefromcrowdin.py (github source)]
# <code>updatefromcrowdin.py</code> [https://github.com/FreeCAD/FreeCAD/blob/master/src/Tools/updatefromcrowdin.py (github source)]


<span id="Notes"></span>
=== Uwagi ===
=== Uwagi ===


* Skrypty te uruchamiane są z głównego katalogu <code>FreeCAD/</code>.
* Skrypty te uruchamiane są z głównego katalogu <code>FreeCAD/</code>.
* By umożliwić działanie tych skryptów musisz mieć prawidłowy klucz FreeCAD Crowdin API umieszczony w swoim pliku key <code>~/.crowdin-freecad</code>. (Z powodów bezpieczeństwa jest tylko dostępny dla ludzi z prawami administratora na stronie Crowdin FreeCAD)
* By umożliwić działanie tych skryptów musisz mieć prawidłowy klucz FreeCAD Crowdin API umieszczony w swoim pliku key <code>~/.crowdin-freecad</code>. ''(Z powodów bezpieczeństwa jest tylko dostępny dla ludzi z prawami administratora na stronie Crowdin FreeCAD)''
* Obecnie te narzędzia są kompatybilne z Pythonem 2.
* Obecnie te narzędzia są kompatybilne z Pythonem 2.
=== updatets.py ===
=== updatets.py ===


Skrypt <code>updatets.py</code> utworzy pliki .ts w twoim lokalnym katologu <code>FreeCAD/</code>. Generuje on pliki .ts (Plik Źródłowy Tłumaczenia Qt).
Skrypt <code>updatets.py</code> utworzy pliki .ts w twoim lokalnym katalogu <code>FreeCAD/</code>. Generuje on pliki .ts ''(Plik Źródłowy Tłumaczenia Qt)''.


Jest wywoływany przez:
Jest wywoływany przez:
Line 25: Line 27:
=== updatecrowdin.py ===
=== updatecrowdin.py ===


Skrypt <code>updatecrowdin.py</code> ładuje zmiany do Crowdin (zewnętrznego serwisu tłumaczeń społecznościowych) z twojego lokalnego katalogu <code>FreeCAD/</code>. Obecnie skrypt obsługuje 4 argumenty:
Skrypt <code>updatecrowdin.py</code> ładuje zmiany do Crowdin ''(zewnętrznego serwisu tłumaczeń społecznościowych)'' z twojego lokalnego katalogu <code>FreeCAD/</code>. Obecnie skrypt obsługuje 4 argumenty:


* <code>updatecrowdin.py status</code> wypisuje stan tłumaczeń
* <code>updatecrowdin.py status</code> wypisuje stan tłumaczeń
Line 36: Line 38:
Skrypt <code>updatefromcrowdin.py</code> ściąga zmiany z Crowdin do twojego lokalnego katalogu <code>FreeCAD/</code>.
Skrypt <code>updatefromcrowdin.py</code> ściąga zmiany z Crowdin do twojego lokalnego katalogu <code>FreeCAD/</code>.


<span id="To_send_latest_strings_to_crowdin"></span>
== By wysłać najnowsze zwroty do Crowdin ==
== By wysłać najnowsze zwroty do Crowdin ==


* Przetestowane tylko na Linuksie
* Przetestowane tylko na Linuksie
* Potrzebujesz pliku .credentials w twoim katalogu /home/TwójUżytkownik. Plik ten jest prostym plikiem tekstowym zawierającym tylko jedną linię, którą jest klucz API otrzymywany na https://crowdin.com/project/freecad/settings#api (tylko dla administratorów)
* Potrzebujesz pliku .credentials w twoim katalogu /home/TwójUżytkownik. Plik ten jest prostym plikiem tekstowym zawierającym tylko jedną linię, którą jest klucz API otrzymywany na https://crowdin.com/project/freecad/settings#api (tylko dla administratorów)
* Upewnij się, że twoje repozytorium jest czyste (git pull, git stash jeśli to konieczne)
* Upewnij się, że twoje repozytorium jest czyste ''(git pull, git stash jeśli to konieczne)''
* cd /path/to/freecad-source-code/src/Tools
* cd /path/to/freecad-source-code/src/Tools
* python updatets.py (wypełni najnowszymi ciągami tekstowymi wszystkie pliki .ts znalezione w źródłach)
* python updatets.py ''(wypełni najnowszymi ciągami tekstowymi wszystkie pliki .ts znalezione w źródłach)''
* python updatecrowdin.py update (wyśle pliki .ts do Crowdin. Crowdin zaktualizuje tylko nowe ciągi tekstowe)
* python updatecrowdin.py update ''(wyśle pliki .ts do Crowdin. Crowdin zaktualizuje tylko nowe ciągi tekstowe)''
* cd ../.. (idź z powrotem go głównego katalogu źródeł)
* cd ../.. ''(idź z powrotem go głównego katalogu źródeł)''
* git checkout . (cofnij wszystkie zmiany w plikach .ts, nie ma powodu by wprowadzać je już teraz gdy są wciąż nieprzetłumaczone)
* git checkout . ''(cofnij wszystkie zmiany w plikach .ts, nie ma powodu by wprowadzać je już teraz gdy są wciąż nieprzetłumaczone)''


<span id="To_merge_latest_translations_from_crowdin"></span>
== To merge latest translations from crowdin ==
== By scalić najnowsze tłumaczenia z Crowdin ==


* Przetestowane tylko w systemie Linuks,
* Only tested on linux
* You need a .credentials file in your /home/YourUser directory. That file is a simple text file containing only one line, which is the API key that you get on https://crowdin.com/project/freecad/settings#api (only for admins)
* Potrzebujesz pliku .credentials w katalogu /home/TwójUżytkownik. Plik ten jest zwykłym plikiem tekstowym zawierającym tylko jeden wiersz, jest to klucz API otrzymywany na https://crowdin.com/project/freecad/settings#api ''(tylko dla administratorów)'',
* Make sure your repository is clean (git pull, git stash if needed)
* Upewnij się, że twoje repozytorium jest czyste ''(git pull, git stash jeśli to konieczne)'',
* cd /path/to/freecad-source-code/src/Tools
* cd /path/to/freecad-source-code/src/Tools,
* python updatecrowdin.py build (will create a zip on crowdin side with all the files, can take a while.. This step can also be done on the crowdin website)
* python updatecrowdin.py build ''(stworzy zip po stronie Crowdin z wszystkimi plikami, może potrwać chwilę... Krok ten może zostać też wykonany na stronie internetowej Crowdin)'',
* python updatecrowdin.py download (will download a freecad.zip file in this directory)
* python updatecrowdin.py download ''(pobierze plik freecad.zip do tego katalogu)'',
* mv freecad.zip ~ move the zip file to your home dir, to avoid accidentally committing it later)
* mv freecad.zip ~ przenieś plik zip do twojego katalogu domowego, ''(by uniknąć przypadkowego wprowadzenia go później)'',
* (optional) edit updatefromcrowdin.py script and check that the default_languages contain all the ones you want (basically all that are at more than 50%)
* ''(opcjonalnie)'' zedytuj skrypt updatefromcrowdin.py i sprawdź czy default_languages zawiera wszystkie języki, których wymagasz ''(co do zasady wszystkie, które maja ponad 50% zaawansowania)'',
* python updatefromcrowdin.py -z /home/YourUser/freecad.zip
* python updatefromcrowdin.py -z /home/TwójUżytkownik/freecad.zip,
* cd ../.. (go back to the source code root folder)
* cd ../.. ''(przejdź z powrotem go głównego katalogu źródeł)''.
* if something went wrong or you are unsure, clean everything with git checkout .
* jeśli coś pójdzie nie tak lub nie jesteś pewien, wyczyść wszytko używając git checkout,
* if everything looks ok (git status), commit with git add . && git commit
* jeśli wszystko wygląda w porządku ''(git status)'', wprowadź zmiany używając git add . && git commit,
* Create a PR on FreeCAD
* Utwórz prośbę o połączenie ''(PR)'' dla FreeCAD.


<span id="To_generate_a_translation_file_from_the_website"></span>
== To generate a translation file from the website ==
== By utworzyć plik tłumaczenia ze strony internetowej ==


* Sklonuj stronę domową
* Clone the homepage repository
* cd /path/to/FreeCAD-homepage
* cd /path/to/FreeCAD-homepage
* xgettext --from-code=UTF-8 -o lang/homepage.pot *.php
* xgettext --from-code=UTF-8 -o lang/homepage.pot *.php
* Update the "homepage.po" on crowdin website manually, using the lang/homepage.pot file
* Zaktualizuj ręcznie "homepage.po" na stronie internetowej Crowdin, korzystając z pliku lang/homepage.pot


<span id="To_update_the_translations_of_the_website"></span>
== To update the translations of the website ==
== By zaktualizować tłumaczenia na stronie internetowej ==


* Get the freecad.zip file either by downloading it from the crowdin website or following instructions above (python updatecrowdin.py download)
* Pozyskaj plik freecad.zip przez pobranie go ze strony internetowej Crowdin albo korzystając z instrukcji powyżej ''(python updatecrowdin.py download)'',
* cd /path/to/FreeCAD-homepage
* cd /path/to/FreeCAD-homepage,
* Make sure your repository is clean (git pull, git stash if needed)
* Upewnij się, że twoje repozytorium jest czyste ''(git pull, git stash jeśli to konieczne)'',
* python updatefromcrowdin.py -z /path/to/freecad.zip
* python updatefromcrowdin.py -z /path/to/freecad.zip,
* if something went wrong or you are unsure, clean everything with git checkout .
* jeśli coś pójdzie nie tak lub nie jesteś pewien, wyczyść wszytko używając git checkout,
* if everything looks ok (git status), commit with git add . && git commit
* jeśli wszystko wygląda w porządku ''(git status)'', wprowadź zmiany używając git add . && git commit,
* Create a PR on FreeCAD-Homepage
* Utwórz prośbę o połączenie ''(PR)'' dla FreeCAD-Homepage,
* Po wykonaniu połączenia, jeden z administratorów załaduje ftp serwera Web,
* After the PR is merged, one of the admins will ftp push to the webhost


== Related ==
<span id="Related"></span>
== Powiązane ==


* [[Localisation]]
* [[Localisation/pl|Lokalizacja - tłumaczenie interfejsu i dokumentacji]]
* [[Crowdin_Scripts/pl|Skrypty środowiska Crowdin]]
* [[Crowdin Administration]]
* [[Release_process/pl|Proces wydania]]
* [[Release process]]





Latest revision as of 11:37, 29 September 2023

Zarządzanie Tłumaczeniami w programie FreeCAD

FreeCAD do zarządzania tłumaczeniami używa zewnętrznego serwisu o nazwie Crowdin.

W FreeCAD/src/Tools znajdują się 3 skrypty, które służą do zarządzania plikami tłumaczeń:

  1. updatets.py (github source)
  2. updatecrowdin.py (github source)
  3. updatefromcrowdin.py (github source)

Uwagi

  • Skrypty te uruchamiane są z głównego katalogu FreeCAD/.
  • By umożliwić działanie tych skryptów musisz mieć prawidłowy klucz FreeCAD Crowdin API umieszczony w swoim pliku key ~/.crowdin-freecad. (Z powodów bezpieczeństwa jest tylko dostępny dla ludzi z prawami administratora na stronie Crowdin FreeCAD)
  • Obecnie te narzędzia są kompatybilne z Pythonem 2.

updatets.py

Skrypt updatets.py utworzy pliki .ts w twoim lokalnym katalogu FreeCAD/. Generuje on pliki .ts (Plik Źródłowy Tłumaczenia Qt).

Jest wywoływany przez: python2 updatets.py

updatecrowdin.py

Skrypt updatecrowdin.py ładuje zmiany do Crowdin (zewnętrznego serwisu tłumaczeń społecznościowych) z twojego lokalnego katalogu FreeCAD/. Obecnie skrypt obsługuje 4 argumenty:

  • updatecrowdin.py status wypisuje stan tłumaczeń
  • updatecrowdin.py update aktualizuje Crowdin aktualną wersją plików .ts znalezioną w kodzie źródłowym
  • updatecrowdin.py build buduje na Crowdin nową, możliwą do pobrania paczkę z wszystkimi przetłumaczonymi ciągami tekstowymi
  • updatecrowdin.py download pobiera najnowszą paczkę

updatefromcrowdin.py

Skrypt updatefromcrowdin.py ściąga zmiany z Crowdin do twojego lokalnego katalogu FreeCAD/.

By wysłać najnowsze zwroty do Crowdin

  • Przetestowane tylko na Linuksie
  • Potrzebujesz pliku .credentials w twoim katalogu /home/TwójUżytkownik. Plik ten jest prostym plikiem tekstowym zawierającym tylko jedną linię, którą jest klucz API otrzymywany na https://crowdin.com/project/freecad/settings#api (tylko dla administratorów)
  • Upewnij się, że twoje repozytorium jest czyste (git pull, git stash jeśli to konieczne)
  • cd /path/to/freecad-source-code/src/Tools
  • python updatets.py (wypełni najnowszymi ciągami tekstowymi wszystkie pliki .ts znalezione w źródłach)
  • python updatecrowdin.py update (wyśle pliki .ts do Crowdin. Crowdin zaktualizuje tylko nowe ciągi tekstowe)
  • cd ../.. (idź z powrotem go głównego katalogu źródeł)
  • git checkout . (cofnij wszystkie zmiany w plikach .ts, nie ma powodu by wprowadzać je już teraz gdy są wciąż nieprzetłumaczone)

By scalić najnowsze tłumaczenia z Crowdin

  • Przetestowane tylko w systemie Linuks,
  • Potrzebujesz pliku .credentials w katalogu /home/TwójUżytkownik. Plik ten jest zwykłym plikiem tekstowym zawierającym tylko jeden wiersz, jest to klucz API otrzymywany na https://crowdin.com/project/freecad/settings#api (tylko dla administratorów),
  • Upewnij się, że twoje repozytorium jest czyste (git pull, git stash jeśli to konieczne),
  • cd /path/to/freecad-source-code/src/Tools,
  • python updatecrowdin.py build (stworzy zip po stronie Crowdin z wszystkimi plikami, może potrwać chwilę... Krok ten może zostać też wykonany na stronie internetowej Crowdin),
  • python updatecrowdin.py download (pobierze plik freecad.zip do tego katalogu),
  • mv freecad.zip ~ przenieś plik zip do twojego katalogu domowego, (by uniknąć przypadkowego wprowadzenia go później),
  • (opcjonalnie) zedytuj skrypt updatefromcrowdin.py i sprawdź czy default_languages zawiera wszystkie języki, których wymagasz (co do zasady wszystkie, które maja ponad 50% zaawansowania),
  • python updatefromcrowdin.py -z /home/TwójUżytkownik/freecad.zip,
  • cd ../.. (przejdź z powrotem go głównego katalogu źródeł).
  • jeśli coś pójdzie nie tak lub nie jesteś pewien, wyczyść wszytko używając git checkout,
  • jeśli wszystko wygląda w porządku (git status), wprowadź zmiany używając git add . && git commit,
  • Utwórz prośbę o połączenie (PR) dla FreeCAD.

By utworzyć plik tłumaczenia ze strony internetowej

  • Sklonuj stronę domową
  • cd /path/to/FreeCAD-homepage
  • xgettext --from-code=UTF-8 -o lang/homepage.pot *.php
  • Zaktualizuj ręcznie "homepage.po" na stronie internetowej Crowdin, korzystając z pliku lang/homepage.pot

By zaktualizować tłumaczenia na stronie internetowej

  • Pozyskaj plik freecad.zip przez pobranie go ze strony internetowej Crowdin albo korzystając z instrukcji powyżej (python updatecrowdin.py download),
  • cd /path/to/FreeCAD-homepage,
  • Upewnij się, że twoje repozytorium jest czyste (git pull, git stash jeśli to konieczne),
  • python updatefromcrowdin.py -z /path/to/freecad.zip,
  • jeśli coś pójdzie nie tak lub nie jesteś pewien, wyczyść wszytko używając git checkout,
  • jeśli wszystko wygląda w porządku (git status), wprowadź zmiany używając git add . && git commit,
  • Utwórz prośbę o połączenie (PR) dla FreeCAD-Homepage,
  • Po wykonaniu połączenia, jeden z administratorów załaduje ftp serwera Web,

Powiązane