Project Translator VSCode Extension realiseert projectmeertalige lokalisatie

Project Translator is een krachtige VSCode-extensie die op basis van kunstmatige intelligentie automatische vertaling op projectniveau realiseert, in staat is om de code-structuur intact te houden en documentlokalisatiewerk efficiënt te voltooien.

Project Translator VSCode Extension biedt ontwikkelaars een efficiënte oplossing voor projectmeertalige lokalisatie. Deze extensie maakt gebruik van AI-technologie om automatische vertaling te realiseren van individuele bestanden tot hele projectmappen, terwijl de code-structuur en -formattering intact blijven, wat de hoeveelheid werk voor documentlokalisatie aanzienlijk vermindert. Voor open source projecten of commerciële software die gericht zijn op een wereldwijd publiek, kan Project Translator de vertalefficiëntie en consistentie aanzienlijk verbeteren. In vergelijking met traditionele handmatige vertaling, kunnen dergelijke geautomatiseerde hulpmiddelen grote hoeveelheden documentatie verwerken, vooral geschikt voor continu bijgewerkte projectdocumentatie. Bij het gebruik van VSCode-ontwikkelhulpmiddelen voor projectontwikkeling, kan de Project Translator-extensie naadloos worden geïntegreerd in bestaande workflows, waardoor ontwikkelaars eenvoudige meertalige ondersteuning krijgen.

Kernfunctionaliteiten

Project Translator-extensie beschikt over een reeks krachtige functionaliteiten die samen een complete projectmeertalige vertaallocutie vormen. De extensie ondersteunt twee vertaalmodi op mapniveau en bestandsniveau, die flexibel kunnen worden gekozen op basis van projectbehoeften. In de mapvertalmodus kan de extensie recursief submappen verwerken, automatisch vertaalbare inhoud detecteren en de oorspronkelijke mapstructuur en hiërarchische relaties behouden. Deze batchverwerkingsmechanisme maakt vertaling van grote projecten haalbaar en efficiënt. De extensie is gratis te downloaden en te installeren via de VS Code Extensions Marketplace en Open VSX Registry.

Intelligente vertaalfunctionaliteit is een van de kernvoordelen van de extensie. Tijdens het vertalen onderhoudt de extensie automatisch de integriteit van de code-structuur, vertaalt alleen codecommentaar en documentatie-inhoud, terwijl de codelogica ongewijzigd blijft. Voor gegevensstructuren zoals JSON en XML kan de extensie eveneens de oorspronkelijke structuurintegriteit behouden. Dit ontwerp zorgt ervoor dat vertaalde codebestanden nog steeds normaal kunnen worden gecompileerd en uitgevoerd, en voorkomt problemen met codebeschadiging ten gevolge van vertaling. De extensie biedt ook professionele kwaliteit van technische documentatievertaling, met nauwkeurig begrip van technische termen en contextrelaties.

mindmap
  root((Project Translator))
    Vertaalmodi
      Mapniveau
      Bestandsniveau
      Recursieve verwerking
    Intelligente vertaling
      Code-structuurbehoud
      Commentaarvertaling
      Documentatievertaling
      Formaatafhouding
    Configuratie-flexibiliteit
      Meerdere bronmappen
      Meerdere doeltalen
      Bestandsfiltering
      AI-modelselectie
    Gebruikerservaring
      Realtime voortgang
      Taakbesturing
      Incrementele vertaling
      Differentiële vertaling

Configuratie-flexibiliteit is een ander belangrijk kenmerk van Project Translator. Gebruikers kunnen bronmappen en meerdere doelmappen configureren, ondersteuning bieden voor aangepaste bestandsvertalingsintervallen, specifieke bestandstypes die moeten worden genegeerd instellen, en meerdere AI-modelopties selecteren. Deze flexibiliteit stelt de extensie in staat om zich aan te passen aan verschillende projectstructuren en vertaalbehoeften. De extensie ondersteunt verschillende populaire AI-modellen, waaronder OpenAI, DeepSeek, Grok, enz., zodat gebruikers op basis van budget en vertaalkwaliteitsvereisten het geschikte model kunnen kiezen. Voor projecten die Hugo of andere statische sitegeneratoren gebruiken, is deze op mappen gebaseerde configuratiemethode bijzonder gebruiksvriendelijk.

De gebruikersinterface van de extensie is ontworpen met de bedieningservaring in gedachten. Tijdens het vertalen wordt real-time voortgang weergegeven, zodat gebruikers de vertaaltask op elk moment kunnen pauzeren, hervatten of stoppen. De extensie onderhoudt automatisch de doelmappenstructuur en ondersteunt incrementele vertaling om herhaling van werk te voorkomen. Wanneer vertaaltaken langer duren, is deze controleerbaarheid bijzonder belangrijk. Bovendien biedt de extensie een experimentele differentiële vertaalfunctionaliteit die alleen gewijzigde inhoud vertaalt, waardoor API-gebruik wordt verminderd en versiegeschiedenis beter behouden blijft. Voor ontwikkelaars die OpenAI API of andere AI-diensten gebruiken, ondersteunt de extensie veilig beheer van API-sleutels via omgevingsvariabelen.

Vertaalwerkstroom

De vertaalwerkstroom van Project Translator is zorgvuldig ontworpen om het hele proces zowel efficiënt als betrouwbaar te maken. Nadat gebruikers een vertaaltask activeren via het opdrachtpaneel, verwerkt de extensie de broninhoud stap voor stap volgens een vooraf gedefinieerd proces en genereert de doeltaalversies.

flowchart TD
    A[Gebruiker activeert vertaalopdracht] e1@--> B{Configuratie controleren}
    B e2@-->|Niet geconfigureerd| C[Mapselectiedialoog tonen]
    C e3@--> D[Gebruikergeselecteerde bron- en doelpaden opslaan]
    D e4@--> E[Bronbestanden en -mappen scannen]
    B e5@-->|Geconfigureerd| E
    E e6@--> F[Te vertalen bestanden identificeren]
    F e7@--> G[Vertal taken sorteren op prioriteit]
    G e8@--> H{Gebruiker kiest vertalmode}
    H e9@-->|Standaardvertaling| I[Bronbestandsinhoud lezen]
    H e10@-->|Differentiële vertaling| J[Bron- en doelbestandsinhoud lezen]
    I e11@--> K[AI-model aanroepen voor vertaling]
    J e12@--> K
    K e13@--> L[Vertaalresultaat genereren]
    L e14@--> M{Vertaalkwaliteit valideren}
    M e15@-->|Validatie geslaagd| N[Naar doelbestand schrijven]
    M e16@-->|Validatie mislukt| O[Terugdraaien of opnieuw proberen]
    N e17@--> P[Vertaalvoortgang bijwerken]
    P e18@--> Q{Zijn er nog te vertalen bestanden?}
    Q e19@-->|Ja| I
    Q e20@-->|Nee| R[Vertal taak voltooien]
    R e21@--> S[Vertalsamenvatting tonen]

    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;

De werkstroom begint wanneer gebruikers een vertaalopdracht selecteren via het opdrachtpaneel. De extensie controleert eerst of bron- en doelpaden al geconfigureerd zijn. Als dit nog niet het geval is, wordt er een mapselectiedialoog getoond waar gebruikers paden kunnen specificeren. Na configuratie begint de extensie met het scannen van alle bestanden en submappen in de bronmap, om te identificeren welke bestandstypes vertaald moeten worden. Op basis van geconfigureerde bestandsextensies en padregels filtert de extensie bestanden die niet verwerkt moeten worden. Na identificatie sorteert de extensie de vertaaltaken op basis van prioriteit, zodat belangrijke bestanden eerst worden vertaald. Gebruikers kunnen kiezen tussen standaardvertalingsmodus of differentiële vertalingsmodus. Standaardvertalingsmodus vertaalt de volledige bestandsinhoud, terwijl differentiële vertalingsmodus alleen gewijzigde delen vertaalt, wat beter geschikt is voor updates van reeds vertaalde inhoud. Nadat de extensie de bronbestandsinhoud heeft gelezen, roept deze het geconfigureerde AI-model aan voor vertaalverwerking. Wanneer het AI-model het vertaalresultaat retourneert, valideert de extensie de vertaalkwaliteit. Het validatieproces omvat controle van formaatintegriteit, termconsistentie en of de noodzakelijke code-structuur behouden is. Als validatie succesvol is, wordt het vertaalresultaat naar het doelbestand geschreven, met dezelfde directorystructuur als het bronbestand. Als validatie mislukt, probeert de extensie terug te keren of opnieuw te vertalen. Na elke voltooide bestandsvertaling werkt de extensie de vertaalvoortgang bij, totdat alle te vertalen bestanden zijn verwerkt. Tot slot toont de extensie een samenvatting van de vertaaltask, inclusief het aantal succesvol vertaalde bestanden, een lijst met mislukte bestanden en statistieken zoals vertaaltijd.

Configuratiemethoden uitgelegd

Het configuratiesysteem van Project Translator-extensie is zowel flexibel als intuïtief ontworpen. Gebruikers kunnen het gedrag van de extensie aanpassen via de VSCode-instellingeninterface of door direct de configuratiebestanden te bewerken. De kernconfiguratie-items van de extensie omvatten vertaalbron- en -doelpaden, AI-modelparameters, filterregels, enz.

mindmap
  root((Configuratiesysteem))
    Padconfiguratie
      Bronmap
      Doelmap
      Meertalige ondersteuning
    AI-model
      Leverancierselectie
      API-configuratie
      Modelparameters
    Filterregels
      Paden negeren
      Extensies negeren
      Alleen kopiëren bestanden
    Geavanceerde opties
      Systeemprompt
      Debugmodus
      Logconfiguratie
      Differentiële vertaling
    Aangepaste prompts
      Vertaalstijl
      Terminologiespecificaties
      Formaateisen

Configuratie-items worden hoofdzakelijk in verschillende categorieën onderverdeeld. Map- en bestandsconfiguratie definieert de invoer- en uitvoerpaden voor vertaling; gebruikers kunnen meerdere bronmappen en de bijbehorende doelmappen specificeren. Elke bronmap en doelmap moet een taalcodespecificatie hebben; de extensie ondersteunt 28 talen, waaronder Vereenvoudigd Chinees, Traditioneel Chinees, Japans, Koreaans, Engels, Frans, Duits, Spaans, Portugees, Russisch en andere belangrijke talen. Deze multi-doeltaalconfiguratie maakt het mogelijk om in één vertaaltask meerdere taalversies tegelijk te genereren, wat de vertalefficiëntie aanzienlijk verhoogt.

AI-modelconfiguratie stelt gebruikers in staat om verschillende vertaalserviceproviders en -modellen te kiezen. De extensie gebruikt standaard het DeepSeek-model, maar ondersteunt ook andere diensten zoals OpenAI en Grok. Gebruikers kunnen API-eindpunten, API-sleutels, modelnamen, verzoeken per minuut, maximale token-aantal per segment, time-outduur, temperatuurparameters, enz. configureren. Ter verbetering van de beveiliging ondersteunt de extensie het beheer van API-sleutels via omgevingsvariabelen, om te voorkomen dat gevoelige informatie direct in configuratiebestanden wordt opgeslagen.

Filter- en overslaanregelsconfiguratie stelt gebruikers in staat om precies te bepalen welke bestanden vertaald moeten worden en welke genegeerd moeten worden. De ignore-configuratie stelt gebruikers in staat om paden en bestandsextensies op te geven die volledig genegeerd moeten worden; standaard worden de node_modules-directory en .log-bestanden genegeerd. De copyOnly-configuratie wordt gebruikt om bestandstypes op te geven die gekopieerd maar niet vertaald moeten worden. De skipFrontMatterMarkers-configuratie stelt gebruikers in staat om op basis van front matter-metagegevens van Markdown-bestanden vertaling over te slaan, bijvoorbeeld door documenten die als concept zijn gemarkeerd over te slaan.

Geavanceerde configuratie omvat onder meer systeemprompttaal, debugmodus, logbestandconfiguratie en differentiële vertalingsmodus. De systeemprompttaal bepaalt de taal van de prompts die intern door de extensie worden gebruikt; standaard is dit Engels. Wanneer debugmodus is ingeschakeld, worden alle API-verzoeken en -antwoorden gelogd, wat probleemoplossing vergemakkelijkt. Logbestandconfiguratie stelt gebruikers in staat om debuglogboeken naar bestanden te schrijven, met ondersteuning voor aangepaste paden, bestandsgroottebeperkingen en aantal bestandsbeperkingen. Differentiële vertalingsmodus is een experimentele functionaliteit die, wanneer ingeschakeld, alleen gewijzigde inhoud vertaalt en onnodige API-aanroepen vermindert.

Gebruikerspromptconfiguratie is een onderscheidende functionaliteit van de extensie. Gebruikers kunnen een reeks prompts aanpassen die na de systeemprompts worden verzonden naar het AI-model. Op deze manier kunnen gebruikers het vertalmodel instrueren om specifieke vertaalstijlen, terminologiespecificaties of formaateisen te volgen. Bijvoorbeeld, gebruikers kunnen specificeren dat Markdown-bestanden met een draft-veld ingesteld op true in de front matter niet vertaald moeten worden, of vereisen dat paden met ./readmes/ worden vervangen door ./.

Hier volgt een typisch configuratievoorbeeld:

{
  "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. Geen vertaling retourneren als het markdown-bestand 'draft' heeft ingesteld op 'true' in de front matter.",
    "2. Technische terminologieconsistentie behouden over alle vertaalde bestanden."
  ]
}

Praktijkvoorbeelden

Project Translator-extensie is in meerdere praktijkprojecten gevalideerd en toegepast. De Project Translation-organisatie onderhoudt meerdere vertaalprojectvoorbeelden die verschillende domeinen omvatten, zoals algoritmevisualisatie, programmeertaaldocumentatie, ontwikkelhulpmiddelengidsen, enz. Via deze praktijkvoorbeelden kan de toepassingsmogelijkheid en effectiviteit van de extensie beter worden begrepen.

Het algorithm-visualizer-project is een interactief platform voor algoritmevisualisatie; het originele project heeft meer dan 47.000 sterren op GitHub. Na gebruik van Project Translator-extensie is de documentatie van dit project vertaald in meerdere talen, wat wereldwijde ontwikkelaars helpt om algoritmeprincipes en visualisatie-effecten beter te begrijpen. Het gobyexample-project is een verzameling Go-taalvoorbeeldlessen met meer dan 7.500 sterren; na vertaling via de extensie kunnen leerlingen Go-voorbeeldcode en -uitleg in hun moedertaal lezen.

Google Style Guide is een opensource-projectstijlgids met oorsprong bij Google, met meer dan 38.000 sterren, die codestandaarden voor meerdere programmeertalen omvat. Via Project Translator-extensie zijn deze stijlgidsen vertaald in meerdere talen, zodat wereldwijde ontwikkelaars beste coderingspraktijken kunnen leren in een vertrouwde taal. Het reference-en-us-project is een verzameling snelle referentie-cheat sheets voor ontwikkelaars, met meer dan 7.800 sterren, die snelle referentie-informatie bieden voor tools en talen zoals awk, bash, CSS, Golang, Python, Vim, enz.

Deze praktijkvoorbeelden tonen de toepasbaarheid van Project Translator-extensie in verschillende soorten projecten. Of het nu gaat om technische documentatie, tutorials of naslagwerken, de extensie levert hoogwaardige vertaalresultaten. De extensie kan niet alleen pure tekstinhoud verwerken, maar ook correct omgaan met complexe Markdown-bestanden die codeblokken, tabellen, links, enz. bevatten. Voor projecten met veel technische termen kan de intelligente vertaalfunctionaliteit van de extensie terminologieconsistentie en -nauwkeurigheid behouden. Het ontwerpfilosofie van de extensie is sterk in lijn met de open principes van de VS Code-ecosysteem en biedt via extensiemechanismen op maat gemaakte functionele ondersteuning voor ontwikkelaars. In combinatie met andere ontwikkelhulpmiddelen zoals Git versiebeheersysteem, kan de extensie beter worden geïntegreerd in moderne ontwikkelworkflows.

Samenvatting

Project Translator VSCode Extension biedt een efficiënte en betrouwbare oplossing voor projectmeertalige lokalisatie. Deze extensie combineert geavanceerde AI-technologie met praktisch ingenieursontwerp en realiseert een geautomatiseerde vertaalwerkstroom terwijl de code-structuur intact blijft. Met ondersteuning voor vertaling op map- en bestandsniveau, flexibele configuratieopties en een gebruiksvriendelijke interface, maken deze kenmerken het een ideaal hulpmiddel voor projecten die gericht zijn op een wereldwijd publiek.

De kernvoordelen van Project Translator-extensie liggen in de intelligente vertaalfunctionaliteit, die code- en documentatie-inhoud nauwkeurig kan identificeren en alleen de te vertalen delen vertaalt, waardoor de uitvoerbaarheid van code niet wordt aangetast. De introductie van differentiële vertaling verhoogt de vertalefficiëntie verder, wat vooral waardevol is voor continue updates van grote projecten. Het configuratiesysteem van de extensie is goed ontworpen: het biedt zowel uitgebreide aanpassingsopties als eenvoudige configuratie, zodat gebruikers met verschillende technische niveaus snel kunnen beginnen. Als open source VSCode-vertal extensie biedt het een praktische oplossing voor projectlokalisatie.

Project Translator-extensie is gevalideerd in meerdere bekende opensource-projecten, waaronder algorithm-visualizer, gobyexample, Google Style Guide, enz. Deze succesvolle voorbeelden bewijzen de praktische waarde en betrouwbaarheid van de extensie. Voor projecten die meertalige ondersteuning nodig hebben, vooral documentatie-intensieve opensource-projecten, kan Project Translator-extensie de lokalisatieworkload aanzienlijk verminderen en de vertaalkwaliteit en -consistentie verbeteren.

De open source-natuur van de extensie geeft het ook goede uitbreidbaarheid en potentie voor community-ondersteuning. Gebruikers kunnen het aanpassen en uitbreiden op basis van hun eigen behoeften, en community-bijdragers kunnen deelnemen aan de verbetering en verfijning van de extensie. Naarmate AI-technologie voortdurend vordert en de vraag naar meertaligheid blijft groeien, heeft Project Translator-extensie de potentie om een grotere rol te spelen in het gebied van projectlokalisatie.