Wtyczka Project Translator dla VSCode umożliwia wielojęzyczną lokalizację projektów
Categories:
Wtyczka Project Translator dla VSCode zapewnia deweloperom wydajne rozwiązanie do wielojęzycznej lokalizacji projektów. Wtyczka wykorzystuje technologię AI do automatycznego tłumaczenia od pojedynczych plików do całych folderów projektowych, zachowując integralność struktury i formatu kodu, co znacząco redukuje nakład pracy na lokalizację dokumentacji. Dla projektów open source lub oprogramowania komercyjnego skierowanego do globalnej publiczności, Project Translator znacząco zwiększa efektywność i spójność tłumaczeń. W porównaniu do tradycyjnych metod ręcznego tłumaczenia, tego typu narzędzia automatyzacyjne mogą przetwarzać duże wolumeny dokumentacji, szczególnie przydatne dla dokumentacji projektów podlegających ciągłym aktualizacjom. Podczas pracy nad projektem w narzędziu deweloperskim VSCode, wtyczka Project Translator integruje się bezproblemowo z istniejącym workflow, zapewniając deweloperom wygodne wsparcie wielojęzyczne.
Kluczowe funkcje i cechy
Wtyczka Project Translator oferuje zestaw zaawansowanych funkcji, które razem tworzą kompleksowe rozwiązanie do wielojęzycznego tłumaczenia projektów. Wtyczka obsługuje dwa tryby tłumaczenia: na poziomie folderu i na poziomie pliku, które można elastycznie wybierać zgodnie z potrzebami projektu. W trybie tłumaczenia folderów, wtyczka może rekursywnie przetwarzać podfoldery, automatycznie wykrywać treści do tłumaczenia i zachowywać oryginalną strukturę folderów i relacje hierarchiczne. Ten mechanizm przetwarzania wsadowego sprawia, że tłumaczenie dużych projektów staje się wykonalne i efektywne. Wtyczka jest dostępna do pobrania i instalacji za darmo w VS Code Extensions Marketplace i Open VSX Registry.
Inteligentne tłumaczenie jest jedną z kluczowych zalet wtyczki. W trakcie tłumaczenia wtyczka automatycznie utrzymuje integralność struktury kodu, tłumacząc tylko komentarze kodu i treści dokumentacji, podczas gdy logika kodu pozostaje niezmieniona. Dla formatów struktur danych takich jak JSON, XML, wtyczka również potrafi zachować ich oryginalną integralność strukturalną. Takie podejście zapewnia, że przetłumaczone pliki kodu nadal mogą być normalnie kompilowane i uruchamiane, unikając problemów z uszkodzeniem kodu spowodowanego tłumaczeniem. Wtyczka zapewnia również profesjonalną jakość tłumaczenia dokumentacji technicznej, potrafiąc precyzyjnie rozumieć terminy techniczne i relacje kontekstowe.
mindmap
root((Project Translator))
Tryby tłumaczenia
Poziom folderu
Poziom pliku
Przetwarzanie rekursywne
Inteligentne tłumaczenie
Ochrona struktury kodu
Tłumaczenie komentarzy
Tłumaczenie dokumentacji
Zachowanie formatu
Elastyczna konfiguracja
Wieloźródłowe foldery
Wielojęzyczne cele
Filtrowanie plików
Wybór modelu AI
Doświadczenie użytkownika
Postęp w czasie rzeczywistym
Kontrola zadań
Tłumaczenie przyrostowe
Tłumaczenie różnicowe
Elastyczność konfiguracji to kolejna ważna cecha Project Translator. Użytkownicy mogą konfigurować foldery źródłowe i wiele folderów docelowych, obsługiwać niestandardowe odstępy tłumaczenia plików, ustawiać określone typy plików do zignorowania i wybierać spośród wielu opcji modeli AI. Ta elastyczność pozwala wtyczce dostosowywać się do różnych struktur projektowych i potrzeb tłumaczeniowych. Wtyczka obsługuje wiele popularnych modeli AI, w tym OpenAI, DeepSeek, Grok itp., a użytkownicy mogą wybierać odpowiednie modele w zależności od budżetu i wymagań jakościowych tłumaczeń. Dla projektów wykorzystujących Hugo lub inne generatory stron statycznych, ta oparta na folderach metoda konfiguracji jest szczególnie przyjazna.
Interfejs użytkownika wtyczki został zaprojektowany z myślą o wygodzie użytkowania. Podczas tłumaczenia wyświetlany jest postęp w czasie rzeczywistym, a użytkownik może w każdej chwili wstrzymać, wznowić lub zatrzymać zadanie tłumaczenia. Wtyczka automatycznie utrzymuje strukturę folderów docelowych i obsługuje tłumaczenie przyrostowe, aby uniknąć powtarzania pracy. Gdy zadanie tłumaczenia wymaga dłuższego czasu, ta kontrola staje się szczególnie ważna. Dodatkowo, wtyczka oferuje eksperymentalną funkcję tłumaczenia różnicowego, która tłumaczy tylko zmienione treści, redukując w ten sposób użycie API i lepiej zachowując historię wersji. Dla deweloperów korzystających z OpenAI API lub innych usług AI, wtyczka obsługuje bezpieczne zarządzanie kluczami API za pomocą zmiennych środowiskowych.
Przepływ pracy tłumaczenia
Przepływ pracy tłumaczenia w Project Translator został starannie zaprojektowany, aby zapewnić, że cały proces jest zarówno wydajny, jak i niezawodny. Po wywołaniu zadania tłumaczenia przez panel poleceń, wtyczka zgodnie z wstępnie zdefiniowanym przepływem stopniowo przetwarza zawartość źródłową i generuje wersje w językach docelowych.
flowchart TD
A[Użytkownik wywołuje polecenie tłumaczenia] e1@--> B{Sprawdź konfigurację}
B e2@-->|Nie skonfigurowano| C{Pokaż okno wyboru folderu}
C e3@--> D{Zapisz wybrane przez użytkownika ścieżki źródłowe i docelowe}
D e4@--> E{Skanuj pliki i foldery źródłowe}
B e5@-->|Skonfigurowano| E
E e6@--> F{Zidentyfikuj pliki wymagające tłumaczenia}
F e7@--> G{Posortuj zadania tłumaczenia według priorytetów}
G e8@--> H{Użytkownik wybiera tryb tłumaczenia}
H e9@-->|Tłumaczenie standardowe| I{Odczytywaj zawartość pliku źródłowego}
H e10@-->|Tłumaczenie różnicowe| J{Odczytywaj zawartość plików źródłowych i docelowych}
I e11@--> K{Wywołaj model AI do tłumaczenia}
J e12@--> K
K e13@--> L{Generuj wyniki tłumaczenia}
L e14@--> M{Weryfikuj jakość tłumaczenia}
M e15@-->|Weryfikacja powiodła się| N{Zapisz do pliku docelowego}
M e16@-->|Weryfikacja nie powiodła się| O{Cofnij lub spróbuj ponownie}
N e17@--> P{Aktualizuj postęp tłumaczenia}
P e18@--> Q{Czy są jeszcze pliki do przetłumaczenia?}
Q e19@-->|Tak| I
Q e20@-->|Nie| R{Zakończ zadanie tłumaczenia}
R e21@--> S{Pokaż podsumowanie tłumaczenia}
classDef start fill:#E3F2FD,stroke:#1565C0,stroke-width:1px,color:#0D47A1;
classDef work fill:#E8F5E9,stroke:#2E7D32,stroke-width:1px,color:#1B5E20;
classDef check fill:#FFF8E1,stroke:#EF6C00,stroke-width:1px,color:#E65100;
classDef done fill:#F3E5F5,stroke:#6A1B9A,stroke-width:1px,color:#4A148C;
classDef animate stroke:#EF6C00,stroke-width:2px,stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;
class A start;
class e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21 animate;
class B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S work;
class B,H,M,Q check;
class S done;
Przepływ rozpoczyna się od wyboru polecenia tłumaczenia przez użytkownika w panelu poleceń. Wtyczka najpierw sprawdza, czy ścieżki źródłowe i docelowe zostały już skonfigurowane. Jeśli nie są skonfigurowane, wyświetlane jest okno wyboru folderu, aby użytkownik mógł określić ścieżki. Po skonfigurowaniu, wtyczka rozpoczyna skanowanie wszystkich plików i podfolderów w folderze źródłowym, identyfikując typy plików wymagające tłumaczenia. Wtyczka filtruje pliki, które nie wymagają przetwarzania, zgodnie z skonfigurowanymi rozszerzeniami plików i regułami ścieżek. Po zakończeniu identyfikacji, wtyczka sortuje zadania tłumaczenia według określonego priorytetu, zapewniając, że ważne pliki są tłumaczone w pierwszej kolejności. Użytkownik może wybrać tryb standardowego tłumaczenia lub tryb tłumaczenia różnicowego. Tryb standardowy tłumaczy pełną zawartość pliku, podczas gdy tryb różnicowy tłumaczy tylko zmienione części; ten tryb jest bardziej odpowiedni dla scenariuszy aktualizacji już przetłumaczonej zawartości. Po odczytaniu zawartości pliku źródłowego, wtyczka wywołuje skonfigurowany model AI do przetworzenia tłumaczenia. Po otrzymaniu wyników tłumaczenia od modelu AI, wtyczka weryfikuje jakość tłumaczenia. Proces weryfikacji obejmuje sprawdzenie integralności formatu, spójności terminologii oraz czy zachowano niezbędną strukturę kodu. Jeśli weryfikacja się powiedzie, wyniki tłumaczenia są zapisywane w pliku docelowym, zachowując tę samą strukturę katalogów co plik źródłowy. Jeśli weryfikacja się nie powiedzie, wtyczka próbuje wykonać operację cofnięcia lub ponownego tłumaczenia. Po zakończeniu tłumaczenia każdego pliku, wtyczka aktualizuje postęp tłumaczenia, aż wszystkie pliki do przetłumaczenia zostaną przetworzone. Na koniec wtyczka wyświetla podsumowanie zadania tłumaczenia, zawierające liczbę pomyślnie przetłumaczonych plików, listę plików, których tłumaczenie się nie powiodło, oraz statystyki czasowe tłumaczenia.
Szczegółowy przewodnik konfiguracji
System konfiguracji wtyczki Project Translator został zaprojektowany tak, aby był zarówno elastyczny, jak i intuicyjny. Użytkownicy mogą dostosowywać zachowanie wtyczki poprzez interfejs ustawień VSCode lub bezpośrednią edycję pliku konfiguracyjnego. Główne elementy konfiguracji wtyczki obejmują ścieżki źródłowe i docelowe tłumaczenia, parametry modelu AI, reguły filtrowania itp.
mindmap
root((System konfiguracji))
Konfiguracja ścieżek
Foldery źródłowe
Foldery docelowe
Wsparcie wielojęzyczne
Model AI
Wybór dostawcy
Konfiguracja API
Parametry modelu
Reguły filtrowania
Ignoruj ścieżki
Ignoruj rozszerzenia
Tylko kopiuj pliki
Zaawansowane opcje
Prompt systemowy
Tryb debugowania
Konfiguracja logów
Tłumaczenie różnicowe
Niestandardowe prompty
Styl tłumaczenia
Standardy terminologii
Wymagania formatowe
Elementy konfiguracyjne dzielą się głównie na kilka kategorii. Konfiguracja folderów i plików definiuje ścieżki wejścia i wyjścia tłumaczenia; użytkownik może określić wiele folderów źródłowych oraz odpowiadające im foldery docelowe. Każdy folder źródłowy i docelowy wymaga określenia kodu języka; wtyczka obsługuje 28 języków, w tym główne takie jak chiński uproszczony, chiński tradycyjny, japoński, koreański, angielski, francuski, niemiecki, hiszpański, portugalski, rosyjski itp. Taka konfiguracja wielojęzyczna pozwala na jednoczesne generowanie wielu wersji językowych w jednym zadaniu tłumaczenia, znacząco zwiększając efektywność tłumaczeń.
Konfiguracja modelu AI pozwala użytkownikom na wybór różnych dostawców usług tłumaczeniowych i modeli. Wtyczka domyślnie używa modelu DeepSeek, ale obsługuje również inne usługi takie jak OpenAI, Grok itp. Użytkownicy mogą konfigurować punkt końcowy API, klucz API, nazwę modelu, liczbę żądań na minutę, maksymalną liczbę tokenów na segment, czas oczekiwania, parametr temperatury itp. Aby zwiększyć bezpieczeństwo, wtyczka obsługuje zarządzanie kluczami API za pomocą zmiennych środowiskowych, unikając bezpośredniego zapisywania poufnych informacji w pliku konfiguracyjnym.
Konfiguracja reguł filtrowania i pomijania pozwala użytkownikom na precyzyjną kontrolę nad tym, które pliki wymagają tłumaczenia, a które należy zignorować. Element konfiguracji ignore pozwala użytkownikom określić ścieżki i rozszerzenia plików, które mają być całkowicie zignorowane; domyślnie ignorowane są katalog node_modules i pliki .log. Element copyOnly służy do określania typów plików, które mają być kopiowane, ale nie tłumaczone. Element skipFrontMatterMarkers pozwala użytkownikom pomijać tłumaczenie na podstawie metadanych front matter plików Markdown, na przykład pomijając dokumenty oznaczone jako szkice.
Zaawansowana konfiguracja obejmuje język promptów systemowych, tryb debugowania, konfigurację plików logów i tryb tłumaczenia różnicowego itp. Język promptów systemowych kontroluje język promptów używanych wewnątrz wtyczki, domyślnie jest to angielski. Włączenie trybu debugowania powoduje rejestrowanie wszystkich żądań i odpowiedzi API, co ułatwia rozwiązywanie problemów. Konfiguracja plików logów pozwala użytkownikom zapisywać logi debugowania do pliku, obsługując niestandardowe ścieżki, limity rozmiaru plików i limity liczby plików. Tryb tłumaczenia różnicowego jest funkcją eksperymentalną; po włączeniu tłumaczy tylko zmienione treści, redukując niepotrzebne wywołania API.
Konfiguracja promptów użytkownika to charakterystyczna funkcja wtyczki. Użytkownicy mogą definiować własne serie promptów, które są wysyłane do modelu AI po promptach systemowych. W ten sposób użytkownicy mogą kierować modelem tłumaczenia, aby przestrzegał określonego stylu tłumaczenia, standardów terminologii lub wymagań formatowych. Na przykład, użytkownik może określić, że gdy pole draft w front matter pliku Markdown ma wartość true, nie należy go tłumaczyć, lub wymagać zastąpienia ./readmes/ w ścieżkach przez ./.
Poniżej znajduje się typowy przykład konfiguracji:
{
"projectTranslator.specifiedFolders": [
{
"sourceFolder": {
"path": "${workspaceFolder}/content/en",
"lang": "en-us"
},
"targetFolders": [
{
"path": "${workspaceFolder}/content/zh-cn",
"lang": "zh-cn"
},
{
"path": "${workspaceFolder}/content/ja-jp",
"lang": "ja-jp"
}
]
}
],
"projectTranslator.currentVendor": "deepseek",
"projectTranslator.vendors": [
{
"name": "deepseek",
"apiEndpoint": "https://api.deepseek.com/v1",
"apiKeyEnvVarName": "DEEPSEEK_API_KEY",
"model": "deepseek-chat",
"rpm": 20,
"maxTokensPerSegment": 3000,
"timeout": 300,
"temperature": 0.1
}
],
"projectTranslator.ignore": {
"paths": ["**/node_modules/**", "**/.git/**"],
"extensions": [".log", ".min.js"]
},
"projectTranslator.userPrompts": [
"1. Should return no need translate if the markdown file has 'draft' set to 'true' in the front matter.",
"2. Maintain technical terminology consistency across all translated files."
]
}
Przykłady zastosowań w praktyce
Wtyczka Project Translator została już zweryfikowana i zastosowana w wielu rzeczywistych projektach. Organizacja Project Translation utrzymuje wiele przykładowych projektów tłumaczeniowych, które obejmują różne dziedziny, takie jak wizualizacja algorytmów, dokumentacja języków programowania, przewodniki po narzędziach deweloperskich itp. Poprzez te rzeczywiste przypadki można bardziej wizualnie zrozumieć scenariusze zastosowań i efektywność wtyczki.
Projekt algorithm-visualizer to interaktywna platforma wizualizacji algorytmów; oryginalny projekt ma ponad 47 000 gwiazdek na GitHubie. Po zastosowaniu wtyczki Project Translator, dokumentacja tego projektu została przetłumaczona na wiele języków, pomagając globalnej społeczności deweloperów lepiej zrozumieć zasady algorytmów i efekty wizualizacji. Projekt gobyexample to zbiór tutoriali z przykładami w języku Go, mający ponad 7 500 gwiazdek; po przetłumaczeniu za pomocą wtyczki, uczniowie mogą czytać przykłady kodu i opisy w języku Go w swoim ojczystym języku.
Google Style Guide to przewodnik stylu projektu open source pochodzący od Google, mający ponad 38 000 gwiazdek, obejmujący standardy kodowania dla wielu języków programowania. Poprzez wtyczkę Project Translator, te przewodniki stylu zostały przetłumaczone na wiele języków, umożliwiając globalnej społeczności deweloperów naukę najlepszych praktyk kodowania w znanym im języku. Projekt reference-en-us to zbiór szybkich przewodników-cheat sheet dla deweloperów, mający ponad 7 800 gwiazdek, dostarczający szybkich informacji referencyjnych dla wielu narzędzi i języków, takich jak awk, bash, CSS, Golang, Python, Vim itp.
Te rzeczywiste przypadki zastosowań demonstrują uniwersalność wtyczki Project Translator w różnych typach projektów. Niezależnie od tego, czy jest to dokumentacja techniczna, tutorial czy podręcznik referencyjny, wtyczka jest w stanie dostarczyć wysokiej jakości wyniki tłumaczenia. Wtyczka nie tylko radzi sobie z czystą treścią tekstową, ale także poprawnie przetwarza pliki Markdown zawierające złożone formaty, takie jak bloki kodu, tabele, linki itp. Dla projektów zawierających dużą liczbę terminów technicznych, inteligentne możliwości tłumaczeniowe wtyczki utrzymują spójność i precyzję terminologii. Filozofia projektowania wtyczki jest w pełni zgodna z zasadami otwartości ekosystemu VS Code, zapewniając deweloperom dostosowane wsparcie funkcjonalne poprzez mechanizm rozszerzeń. W połączeniu z innymi narzędziami deweloperskimi, takimi jak system kontroli wersji Git, wtyczka może lepiej zintegrować się z nowoczesnym workflow deweloperskim.
Podsumowanie
Wtyczka Project Translator dla VSCode zapewnia wydajne i niezawodne rozwiązanie do wielojęzycznej lokalizacji projektów. Wtyczka łączy zaawansowaną technologię AI z praktycznym projektowaniem inżynieryjnym, realizując zautomatyzowany przepływ tłumaczenia przy zachowaniu integralności struktury kodu. Wtyczka obsługuje tłumaczenie na poziomie folderów i plików, oferuje elastyczne opcje konfiguracji i ma przyjazny interfejs użytkownika; te cechy czynią ją idealnym narzędziem dla projektów skierowanych do globalnej publiczności.
Kluczową zaletą wtyczki Project Translator jest jej inteligentna zdolność tłumaczeniowa, która precyzyjnie identyfikuje treści kodu i dokumentacji, tłumacząc tylko wymagające tłumaczenia części i unikając naruszenia wykonywalności kodu. Wprowadzenie funkcji tłumaczenia różnicowego dodatkowo zwiększa efektywność tłumaczeń, co jest szczególnie wartościowe dla ciągłych aktualizacji dużych projektów. System konfiguracji wtyczki jest dobrze zaprojektowany, oferując zarówno bogate opcje dostosowywania, jak i zachowując prostotę konfiguracji, co pozwala użytkownikom o różnym poziomie zaawansowania szybko rozpocząć pracę. Jako open source’owe rozszerzenie do tłumaczenia VSCode, zapewnia ono praktyczne rozwiązanie do lokalizacji projektów.
Wtyczka Project Translator została już zweryfikowana w wielu znanych projektach open source, w tym algorithm-visualizer, gobyexample, Google Style Guide itp. Te udane przypadki potwierdzają praktyczną wartość i niezawodność wtyczki. Dla projektów wymagających wsparcia wielojęzycznego, szczególnie dokumentacji intensywnych projektów open source, wtyczka Project Translator może znacząco zmniejszyć nakład pracy na lokalizację, podnosząc jakość i spójność tłumaczeń.
Otwarty charakter wtyczki nadaje jej również dobrą skalowalność i potencjał wsparcia społeczności. Użytkownicy mogą dostosowywać i rozszerzać ją zgodnie ze swoimi potrzebami, a współtwórcy społeczności mogą uczestniczyć w ulepszaniu i doskonaleniu wtyczki. Wraz z ciągłym postępem technologii AI i rosnącymi potrzebami wielojęzycznymi, wtyczka Project Translator ma szansę odegrać jeszcze większą rolę w dziedzinie lokalizacji projektów.