Commencez par saisir une phrase exacte dans la barre de recherche pour localiser immédiatement les problèmes, les utilisateurs et les demandes d'extraction. Construisez des requêtes de chaînes précises pour filtrer les résultats, puis enregistrez-les en tant que saved recherches pour une réutilisation rapide.

Ouvrir les résultats dans un window to compare files et commentaires entre les dépôts. Si vous préférez la vitesse, utilisez les raccourcis clavier de Firefox pour basculer entre les onglets et maintenir votre flux de travail fluide.

Essayez des termes comme arraystring, et incluez des tokens tels que 需要翻译的原文 et 原文语言 pour affiner les résultats. Vous pouvez les combiner avec des mots-clés comme recherche pour cibler un contexte spécifique. 需要翻译的原文 aide à identifier les éléments à traduire ; une approche简约开源 maintient l'interface utilisateur propre et rapide.

Chaque résultat affiche un extrait concis avec le text entourant la correspondance ; cliquez sur un résultat pour afficher le request and réponse pattern, puis reload la page pour récupérer les dernières mises à jour. Tous les résultats peuvent être signed afin de vérifier l'origine.

Pour les développeurs, 函数示例如下 démontre un hook into the search API; you can inspect the réponse et ajustez votre requête pour renvoyer les problèmes et les demandes d'extraction les plus pertinents. Utilisez le request en-têtes pour filtrer par auteur, étiquette ou jalon.

Pour maintenir votre flux de travail efficace, enregistrez les requêtes fréquentes et rechargez-les en un seul clic ; cela garantit que vos résultats restent à jour d'une session à l'autre. Votre your search string reste cohérent, et les résultats peuvent être exportés pour les rapports.

Cette approche reflète un design 一个简约开源的 qui met l’accent sur la clarté et la vitesse, avec une interface utilisateur propre accessible depuis n’importe quel navigateur, y compris firefox. L’accent est mis sur text de la clarté et des actions directes, afin de trouver rapidement l'activité du code.

Recherches enregistrées : Filtrez rapidement les dépôts, les utilisateurs, les problèmes et les PR.

Créez une recherche enregistrée pour les PR actives dans votre organisation et épinglez-la à votre tableau de bord pour un accès en un clic. Elle filtre instantanément par référentiel, statut et auteur, renvoyant une liste concise que vous pouvez examiner ou fusionner sans cliquer à plusieurs reprises.

Configurez avec des opérateurs clairs : repo:org/* est:open est:pr auteur:votre label:review. Pour les problèmes, remplacez est:pr par est:issue et ajoutez des labels, un responsable ou une date de création pour affiner les résultats. Incluez des filtres de demande ou de chemin pour vous concentrer sur des fichiers spécifiques, tels que filename:README.md ou path:src/**/*.ts. Ces préréglages fonctionnent avec la syntaxe de recherche sur les problèmes, les PR et les dépôts pour accélérer vos vérifications.

Un préréglage pratique pourrait montrer : les problèmes contenant un bug au cours des 14 derniers jours et les PR en attente d'examen dans les mêmes dépôts, renvoyant un nombre, un dépôt, un numéro, un titre et une dernière activité. La réponse met en évidence l'auteur et les étiquettes, afin que vous puissiez effectuer un tri rapide et ouvrir les éléments directement depuis la liste.

Les recherches enregistrées fournissent des résultats prévisibles et reproductibles : les champs incluent le référentiel, le type (problème ou PR), le numéro, le titre, l'auteur, les étiquettes et la dernière mise à jour. Les résultats peuvent être rechargés pour refléter les nouvelles activités, et vous pouvez exporter la liste vers un fichier pour un examen hors ligne. Cette approche réduit la dérive et maintient votre équipe alignée sur les priorités.

La langue d'origine et les détails du flux de travail de traduction : la langue d'origine définit la portée de la langue, tandis que 需要翻译的原文 marque les éléments en attente de traduction. Intégrez ces filtres lorsque vous surveillez des projets multilingues pour éviter de manquer des mises à jour sur les dépôts et les problèmes.

Fonction d'exemple ci-dessous : Construction d'une chaîne de requête à partir de arraystring en tant qu'entrée, la chaîne renvoyée étant utilisée pour être sauvegardée sous forme de modèle de recherche. Ce modèle est appliqué directement lors du prochain déclenchement, garantissant la cohérence et la reproductibilité.

En pratique, connectez les recherches enregistrées à votre flux de travail de navigateur (firefox ou chrome) en utilisant un simple hook qui déclenche une requête pour actualiser les résultats à la demande. La réponse inclut le total, les éléments et les liens vers la page suivante, ce qui vous aide à naviguer efficacement dans les flux volumineux. Pour un accès sécurisé, signez vos requêtes et vérifiez les jetons avant de charger les résultats.

Utilisez pnpm pour gérer les plugins et les dépendances, en vous assurant que l'équipe partage la même configuration. Les filtres sauvegardés seront exportés vers le dossier files, ce qui permettra une collaboration facile entre différents appareils et un rechargement rapide pour obtenir les derniers états en cas de besoin. Maintenez le texte et les mots-clés alignés entre les membres de l'équipe afin que chacun puisse réutiliser les mêmes recherches sauvegardées sans avoir à reconfigurer les filtres à partir de zéro.

Définir les priorités des règles : définir l'ordre de comportement de la traduction

Recommandation : Privilégier la préservation du texte original et des métadonnées linguistiques ; définir un ordre de traduction déterministe afin que les réponses, les problèmes et les fichiers soient traduits de manière cohérente lors de la gestion des demandes. Utiliser une configuration enregistrée qui survit aux rechargements et fonctionne dans des contextes de fenêtre tels que les extensions Firefox ; cette approche s'adapte à un workflow minimaliste et open source.

  1. Définir la pile de priorités et le modèle de données :

    • Priorité absolue : la langue originale et le texte original à traduire doivent guider chaque décision de traduction.
    • Suivant : les champs de réponse, de texte et de chaîne reçoivent une traduction dans la langue cible choisie.
    • Suivez avec : les requêtes et les résultats de recherche pour afficher le contenu traduit sans modifier les identifiants.
    • Niveau inférieur : les problèmes et les enregistrements de fichiers ne sont traduits que si l'intention de l'utilisateur le permet ; sinon, référencer le nom original.
    • Stocker les priorités sous forme de chaîne de tableau et enregistrer dans un fichier de configuration étiqueté 'saved' ; cela maintient l'ordre intact lors des rechargements.
  2. Appliquer les règles de contenu de manière cohérente :

    • Traduire uniquement le texte humain et les chaînes d'interface utilisateur, pas les ID, les chemins ou les blocs de code ; conserver les noms de fichiers et les URL dans les listes de recherche et de problèmes.
    • Respectez l'ordre lors de la composition d'une réponse : réponse d'abord, puis texte, puis chaîne, puis contenu de la demande.
    • Gardez vos traductions alignées sur la langue cible définie par 原文语言.
  3. Persistance et environnement :

    • Utiliser la configuration enregistrée afin que le rechargement de la fenêtre conserve les mêmes priorités.
    • Dans une extension Firefox, charger et appliquer le tableau de chaînes de caractères au démarrage et après chaque rechargement afin d'éviter la dérive.
    • Documentez et signez vos modifications de configuration afin que les préférences signées restent traçables d'une session à l'autre.
  4. Flux de données et gestion des métadonnées :

    • Pendant une recherche, traduisez le texte d’affichage tout en laissant la structure de données sous-jacente intacte.
    • Pour les problèmes et les fichiers, traduire les titres et descriptions visibles, mais conserver les identifiants et références internes inchangés.
    • Gardez à l'esprit le contexte de l'utilisateur : votre interface doit afficher le texte traduit aux côtés du texte original en cas de besoin.
  5. Notes d'exemple d'implémentation :

    • Fonction exemple ci-dessous : un aperçu minimal montre comment mapper une requête à une réponse traduite en utilisant le tableau de priorité string.
    • Considérer l'entrée comme le texte original à traduire avec le langage original associé pour déterminer la langue cible correcte pour la réponse et les champs de texte.
    • S'assurer que les éléments tels que window et firefox se comportent de manière cohérente lors des rechargements et que pnpm gère les dépendances de manière propre.
  6. Practical checklist:

    • Test avec des données d'exemple : réponse, problèmes, fichiers et un ensemble de résultats de recherche pour vérifier l'ordre de la traduction.
    • Valider que la configuration enregistrée persiste après le rechargement et entre les sessions de navigateur.
    • Vérifier que le stockage de la chaîne de caractères de tableau encode correctement la séquence de priorité et peut être exporté ou importé pour la collaboration.
    • Include example strings such as a simple text strings like "search string" and ensure they translate as intended while keeping request structure intact.

Activer l'affichage de traduction uniquement : Afficher uniquement le texte traduit

Activez la vue de traduction uniquement pour afficher uniquement le texte traduit tout en masquant la langue originale. Dans Firefox, installez une extension légère et activez le commutateur Traduction uniquement dans l'en-tête. Le mode filtre l'interface utilisateur en utilisant un crochet qui mappe chaque requête et réponse à une chaîne traduite tout en conservant la 原文语言 dans un état caché pour référence. Vos préférences enregistrées s'appliquent instantanément et persistent à travers les rechargements.

Cette approche maintient votre flux de travail axé sur le résultat de la traduction en présentant uniquement le texte traduit tout en préservant le modèle de données sous-jacent. La correspondance utilise un arraystring compact et un petit ensemble de fichiers, de sorte que vous pouvez auditer les traductions sans faire défiler des blocs bilingues. Le texte original à traduire est affiché dans son contexte, tandis que votre révision se concentre sur le texte qui change réellement. Le texte reste clair et consultable, et l'interface utilisateur reste réactive lorsque vous naviguez dans les problèmes, les fichiers et les demandes d'extraction.

Installation et vérification

Installez un pont de traduction dans Firefox et réglez-le sur le mode Traduction-Seule. Utilisez pnpm pour installer les packages nécessaires localement, par exemple : pnpm add -D translation-bridge. Créez un hook minimal qui s'exécute au chargement de la page pour appliquer le filtre et stocker le choix dans window.localStorage sous le nom de saved. Placez la logique principale dans les fichiers files/translate.js avec 函数示例如下 comme référence, en conservant une implémentation modulaire et testable. Après l'activation, rechargez la page pour confirmer que le texte traduit s'affiche correctement et que le contenu 原文语言 est masqué.

Test steps guide you through a realistic flow: perform a search for an issue label, open a few issues, and verify that the UI displays only translated strings in the search results and issue titles. The request and response cycles should show that translations populate quickly, and the arraystring keys resolve to the correct text. Ensure that the translated output aligns with 需要翻译的原文 segments and that the original strings remain accessible for auditing if needed.

Code et flux de données

StepActionNotes
1Initialiser la correspondanceCharger la carte de traduction en tant que chaîne de tableau ; configurer un crochet de fenêtre pour surveiller les modifications du DOM.
2Rendu de filtreMasquer les nœuds non traduits tout en injectant des chaînes traduites dans les nœuds de texte visibles
3Test coverageVérifiez que les problèmes, les fichiers et les résultats de recherche n'affichent que du texte traduit ; confirmez que l'原文语言 reste stockée mais n'est pas affichée.
4PersistanceRecharger préserve le choix enregistré et continue d'afficher les traductions.

Interface Locale Ollama : Solutions de Contournement Quand Elle N'est Pas Disponible

Si l'interface locale est indisponible, passez à l'API REST et à l'interface de ligne de commande (CLI) comme alternative fiable. Assurez-vous qu'Ollama est en cours d'exécution avec `ollama status`, puis envoyez une requête à l'API avec une charge utile construite à partir d'une chaîne. Créez l'entrée dans une fenêtre ou un shell, testez dans Firefox pour confirmer la réponse et rechargez le client une fois que le service a récupéré.

Fallback d'accès via l'API REST

Wrapper CLI et outils locaux

Raccourcis clavier et traduction contextuelle pour des recherches rapides

Activer les raccourcis clavier pour accélérer les recherches : appuyez sur Ctrl/Cmd+K pour cibler la recherche, tapez des problèmes ou des fichiers, puis utilisez les touches fléchées pour naviguer dans les résultats et appuyez sur Entrée pour ouvrir l'élément sélectionné. Appuyez sur Ctrl/Cmd+R pour recharger la vue lorsque les données semblent obsolètes, et Ctrl/Cmd+C pour copier un lien dans votre presse-papiers.

Traduction sur vol-titre pour des consultations rapides : survolez n'importe quel texte mis en évidence dans les résultats pour voir une info-bulle traduite sans quitter la page. L'info-bulle affiche le texte original et la traduction, y compris l'échantillon 需要翻译的原文.

Formats d'entrée et types de données : le moteur accepte les entrées chaîne de caractères et tableaux de chaînes de caractères ; utilisez une chaîne de caractères pour les termes uniques et un tableau de chaînes de caractères pour les expressions ou les identificateurs multiples. Cela permet d'intégrer facilement des problèmes, des fichiers et d'autres éléments avec une seule requête.

Des indices contextuels : utilisez un hook avec portée fenêtre pour attacher la logique de survol ; la prise en charge de Firefox garantit une rétroaction immédiate et un comportement cohérent sur toutes les plateformes.

Performance et fiabilité : le temps de réponse reste inférieur à 200 ms sur un réseau typique ; les requêtes sont légères et les éléments enregistrés apparaissent instantanément pour des recherches rapides, tandis qu'une réponse en cache met à jour l'interface utilisateur rapidement.

函数示例如下: function translateHover(text) { if (!text) return ''; const payload = { q: text, lang: 'auto' }; // This sends a POST request to the translation service return fetch('/translate', { method: 'POST', body: JSON.stringify(payload) }) .then(r => r.json()) .then(res => res.translation); }

Sécurité et notes : les requêtes signées empêchent toute falsification ; privilégiez la traduction locale pour les contenus sensibles ; assurez-vous que votre navigateur prend en charge l’extension de survol (compatible Firefox) et que les hooks basés sur des fenêtres fonctionnent correctement avec les flux de travail basés sur pnpm.

Un workflow minimaliste et open source : vous pouvez optimiser avec pnpm, maintenir vos dépendances légères et enregistrer les préférences par projet afin d'accélérer les recherches futures de problèmes, de fichiers et d'autres éléments suivis par votre équipe.

Interfaces personnalisées: Création et utilisation de fonctions de hook

Implémenter un registre de hooks réutilisable pour découpler l'interface utilisateur de la logique et permettre une composition flexible entre les composants. Créer un HookContext qui fournit des données d'environnement (fenêtre, firefox) et une fonction hook() qui renvoie une surface d'API avec des méthodes telles que search, reload et request pour la vue actuelle.

函数示例如下: const createHook = (ctx)=>{ const { window } = ctx; return { search: (q)=> fetch(`/api/search?q=${encodeURIComponent(q)}`), reload: ()=>window.location.reload(), request: (payload)=> fetch('/api', {method:'POST', body: JSON.stringify(payload)}), } }

Installez et gérez les dépendances avec pnpm pour maintenir l'espace de travail rapide. Pour un projet minimaliste et open source, utilisez des types basés sur des chaînes de caractères pour les charges utiles de l'API et concentrez l'interface sur les fonctionnalités principales. Le hook accepte des entrées telles que des fichiers et des problèmes, représentés par arraystring, et renvoie un ensemble de résultats normalisés pour l'interface utilisateur. Annoter les champs avec des métadonnées signées pour prendre en charge un audit léger de votre réponse.

Dans une application basée sur des fenêtres ou une extension Firefox, un hook doit survivre aux rechargements et fonctionner entre différents contextes via la messagerie de requêtes. Créez un petit flux de recherche qui interroge les fichiers, les problèmes et les demandes d'extraction, puis affiche les résultats sous forme d'entrées de texte avec des ID pouvant être suivis par un lien. L'exemple ci-dessous montre comment une seule instance de hook coordonne la recherche à travers plusieurs sources de données et maintient votre réponse à jour.

Pour câbler ceci, placez vos définitions de hooks sous un répertoire hooks/, exportez une factory et invoquez-la au démarrage pour hydrater l'état. Utilisez un cycle de vie simple : montage, mise à jour, rechargement, puis désabonnement. Le hook renvoie un objet qui inclut des méthodes comme reload et des opérations signées pour confirmer les requêtes réussies, avec un objet de réponse que vous pouvez afficher aux utilisateurs (votre réponse).

Pour la localisation, inclure 原文语言 comme un champ et fournir un 一个需要翻译的原文 string pour que les traducteurs puissent travailler. L’interface utilisateur peut présenter le 原文语言 aux côtés de votre réponse, permettant un contexte rapide pour la révision. Lorsque les utilisateurs interagissent, afficher un champ de recherche, une liste de fichiers et un tableau de résultats de chaîne de problèmes, et refléter les modifications en temps réel dans les contextes de fenêtre et Firefox.