Config

withGTConfig()

Référence API pour withGTConfig(), anciennement initGT()

Aperçu

withGTConfig() est la méthode principale pour configurer la bibliothèque gt-next. Elle enveloppe directement un objet NextConfig.

next.config.mjs
import { withGTConfig } from 'gt-next/config';

const nextConfig = {
    // your existing next.config.js
}

export default withGTConfig(nextConfig, {
  // Additional configuration options
});

Hérité

initGT() est l'ancienne méthode pour configurer la bibliothèque gt-next. Elle retourne une fonction de rappel qui est ensuite appelée sur l'objet NextConfig. Les props des deux fonctions sont identiques, à l'exception de withGTProps qui nécessite également que NextConfig soit passé en paramètre.

Utilisez withGTConfig() pour :

  • Configurer les langues prises en charge et la langue par défaut (également appelée langue de secours).
  • Définir les clés API et les identifiants de projet pour accéder aux services GT.
  • Définir le comportement de chargement.
  • Configurer les paramètres de délai d'attente.
  • Mettre en place des points de terminaison personnalisés.
  • Personnaliser le comportement de traduction, la mise en cache et le regroupement des requêtes.

withGTConfig() doit être utilisé dans votre fichier next.config.js pour activer la fonctionnalité de traduction.

Référence

Par défaut, withGTConfig() recherchera un fichier gt.config.json dans le même répertoire que votre fichier next.config.js.

Ce fichier json sera chargé et fusionné avec la configuration passée à withGTConfig().

Consultez la référence gt.config.json pour plus d'informations sur le fichier de configuration.

L'outil CLI ne lira la configuration que depuis le fichier gt.config.json, nous recommandons donc d'utiliser le fichier gt.config.json comme source de vérité pour votre application.

Des options de configuration supplémentaires qui ne sont pas dans le fichier gt.config.json peuvent être passées directement à withGTConfig() comme props.

Props Requises

PropTypeDefault
nextConfig?
NextConfig
-

Props Recommandées

PropTypeDefault
description??
string
undefined
locales??
string[]
undefined
defaultLocale??
string
locales[0] || 'en'
PropDescription
defaultLocaleLocale par défaut pour l'application. L'anglais sera la langue de secours lorsqu'aucune n'est spécifiée.
localesUne liste exclusive des locales supportées pour l'application. Si une requête non-supportée est reçue, elle sera redirigée vers la langue suivante préférée du navigateur dans la liste. Se rabattra sur defaultLocale si aucune correspondance ne peut être trouvée.
descriptionUne description en langage naturel du site, utilisée pour aider à la traduction.

Props Avancées

PropTypeDefault
dictionary??
string
-
maxBatchSize??
number
25
batchInterval??
number
50
maxConcurrentRequests??
number
100
renderSettings??
RenderSettings
-
cacheExpiryTime??
number
60000
cacheUrl??
string
-
runtimeUrl??
string
-
preferredModelProvider??
"anthropic" | "openai"
-
devApiKey??
string
-
apiKey??
string
-
projectId??
string
-
PropDescription
projectIdID du projet, qui peut être inclus ici ou comme variable d'environnement.
apiKeyBien que non recommandée, une clé API, qui peut être incluse ici. Elle peut aussi être incluse comme variable d'environnement.
devApiKeyBien que non recommandée, une clé API de développement, qui peut être incluse ici. Elle peut aussi être incluse comme variable d'environnement.
preferredModelProviderVotre fournisseur de modèle IA de premier choix. Actuellement, seuls Anthropic ou OpenAI sont activés. Laissez ce champ vide et nous déterminerons le meilleur fournisseur au cas par cas pour chaque traduction. En période de forte utilisation ou lorsqu'un fournisseur est désactivé, nous ne pouvons pas garantir que votre fournisseur préféré sera utilisé.
runtimeUrlURL de base pour l'API GT. Pour désactiver la traduction automatique, définissez cette valeur sur une chaîne vide.
cacheUrlURL où les traductions mises en cache sont stockées. Peut être personnalisée pour pointer vers un serveur de cache personnalisé.
cacheExpiryTimeTemps en millisecondes avant l'expiration des traductions mises en cache localement.
renderSettingsUn objet spécifiant le comportement de chargement pour les traductions d'exécution.
maxConcurrentRequestsNombre maximum de requêtes de traduction simultanées autorisées vers l'API GT.
maxBatchSizeNombre maximum de traductions à regrouper ensemble avant d'envoyer une requête.
batchIntervalIntervalle en millisecondes entre les requêtes de traduction groupées. Aide à contrôler le rythme d'envoi des requêtes.
dictionaryChemin de fichier de configuration optionnel pour le dictionnaire. Similaire à i18n, il accepte une chaîne pour spécifier un chemin personnalisé. Les dictionnaires appelés dictionary.js (ou .jsx, .ts, .tsx etc.) et placés à la racine ou dans le dossier src sont pris en charge par défaut.

Retours

Une fonction (NextConfig) => NextConfig qui améliore l'objet de configuration Next.js avec les paramètres GT spécifiés.

Exceptions

Lève une Error si le projectId est manquant et que les URLs par défaut sont utilisées, ou si la clé API est requise et manquante.


Paramètres de rendu

Les paramètres de rendu contrôlent le comportement des traductions pendant leur chargement. Cela ne s'applique qu'aux traductions effectuées à l'exécution. Si la traduction est mise en cache, le temps de réponse est trop court pour justifier un comportement de chargement.

PropTypeDefault
timout?
number
8000
method?
"skeleton" | "replace" | "default"
default
PropDescription
methodLa méthode utilisée pour rendre la page. Les options sont skeleton, replace et default.
timeoutLe temps en millisecondes avant que la méthode n'expire. La valeur par défaut est 8000 ms.

Méthodes de rendu

  • skeleton : Affiche un fragment.
  • replace : Affiche le contenu dans la langue par défaut en attendant.
  • default : Pour les locales avec la même langue (par exemple en-US et en-GB), se comporte comme replace. Pour les locales avec des langues différentes (par exemple en-US et fr), se comporte comme skeleton.

Délai d'expiration

Les délais d'expiration ne s'appliquent qu'aux traductions à l'exécution, ou aux traductions qui doivent être effectuées à la demande car elles n'ont pas été mises en cache.

Les délais d'expiration sont fixés à 8 secondes par défaut. Cette décision de conception vise à faciliter les utilisateurs de vercel qui disposent d'un délai d'expiration par défaut de 10 secondes pour les fonctions serverless sur le plan gratuit.


Exemples

Paramètres de rendu

Cet exemple configure gt-next pour afficher un squelette en attendant que les traductions se chargent. Si la traduction prend plus de 8 secondes, la méthode expirera et affichera le contenu de la langue par défaut.

gt.config.json
{
  "defaultLocale": "en-US",
  "locales": ["en-US", "es", "fr"],
}
next.config.mjs
import { withGTConfig } from 'gt-next/config';

const nextConfig = {
  // Your other next.js configurations
};

export default withGTConfig(nextConfig, {
  renderSettings: {
    method: 'skeleton',
    timeout: 10000,
  },
});

Notes

  • withGTConfig() intègre la fonctionnalité de traduction GT dans votre application Next.js et doit être utilisé dans le fichier de configuration racine.
  • Des paramètres comme apiKey et projectId peuvent être définis directement dans la configuration ou comme variables d'environnement.
  • Des paramètres avancés comme renderSettings et _batchInterval permettent un contrôle précis du comportement et des performances de la traduction.

Prochaines étapes

Comment trouvez-vous ce guide ?