withGTConfig()
Référence API pour withGTConfig(), anciennement initGT()
Aperçu
withGTConfig()
est la principale méthode pour configurer la bibliothèque gt-next
.
Il enveloppe directement un objet NextConfig
.
Héritage
initGT()
est la méthode héritée pour configurer la bibliothèque gt-next
. Elle retourne une fonction de rappel qui est ensuite appelée sur l'objet NextConfig
.
Les props pour les deux fonctions sont les mêmes, à l'exception que withGTProps
nécessite également que NextConfig
soit passé.
Il n'est pas nécessaire d'utiliser withGTConfig()
pour activer la fonctionnalité de traduction, mais il est recommandé de configurer la bibliothèque selon vos besoins.
Utilisez withGTConfig()
pour :
- Configurer les langues prises en charge et la langue par défaut (alias 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.
- Configurer 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
Props Requis
Prop | Type | Default |
---|---|---|
nextConfig? | NextConfig | - |
Props Recommandés
Prop | Type | Default |
---|---|---|
defaultLocale?? | string | locales[0] || 'en' |
locales?? | string[] | undefined |
description?? | string | undefined |
Prop | Description |
---|---|
defaultLocale | Locale par défaut pour l'application. L'anglais sera la langue de secours lorsqu'aucune n'est spécifiée. |
locales | Une liste exclusive de locales prises en charge pour l'application. Si une demande non prise en charge est reçue, elle sera redirigée vers la langue suivante préférée du navigateur dans la liste. Reviendra à defaultLocale si aucune correspondance ne peut être trouvée. |
description | Une description en langue naturelle du site, utilisée pour aider à la traduction. |
Props Avancés
Prop | Type | Default |
---|---|---|
projectId?? | string | - |
apiKey?? | string | - |
devApiKey?? | string | - |
preferredModelProvider?? | "anthropic" | "openai" | - |
runtimeUrl?? | string | - |
cacheUrl?? | string | - |
cacheExpiryTime?? | number | 60000 |
renderSettings?? | RenderSettings | - |
maxConcurrentRequests?? | number | 100 |
batchInterval?? | number | 50 |
maxBatchSize?? | number | 25 |
i18n?? | string | - |
dictionary?? | string | - |
Prop | Description |
---|---|
projectId | ID du projet, qui peut être inclus ici ou comme une variable d'environnement. |
apiKey | Bien que non recommandé, une clé API, qui peut être incluse ici. Elle peut également être incluse comme une variable d'environnement. |
devApiKey | Bien que non recommandé, une clé API de développement, qui peut être incluse ici. Elle peut également être incluse comme une variable d'environnement. |
preferredModelProvider | Votre premier choix de fournisseur de modèle AI. Actuellement, seuls Anthropic ou OpenAI sont activés. Laissez ce champ vide et nous déterminerons le meilleur fournisseur sur une base de traduction par 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é. |
runtimeUrl | URL de base pour l'API GT. Pour désactiver la traduction automatique, définissez ceci sur une chaîne vide. |
cacheUrl | URL où les traductions mises en cache sont stockées. Peut être personnalisé pour pointer vers un serveur de cache personnalisé. |
cacheExpiryTime | Temps en millisecondes avant l'expiration des traductions mises en cache localement. |
renderSettings | Un objet spécifiant le comportement de chargement pour les traductions en temps réel. |
maxConcurrentRequests | Nombre maximum de requêtes de traduction simultanées autorisées vers l'API GT. |
maxBatchSize | Nombre maximum de traductions à regrouper avant d'envoyer une requête. |
batchInterval | Intervalle en millisecondes entre les requêtes de traduction groupées. Aide à contrôler le taux auquel les requêtes sont envoyées. |
i18n | Chemin de configuration optionnel pour les fonctions personnalisées getLocale() . Si fourni sous forme de chaîne, il sera résolu comme un chemin. Sinon, les valeurs par défaut sont utilisées (recommandé). |
dictionary | Chemin 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
Lance une Error
si le projectId
est manquant et que les URL 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 s'applique uniquement aux traductions qui se produisent à l'exécution. Si la traduction est mise en cache, le temps de réponse est trop court pour justifier le comportement de chargement.
Prop | Type | Default |
---|---|---|
method? | "skeleton" | "replace" | "default" | default |
timout? | number | 8000 |
Prop | Description |
---|---|
method | La méthode utilisée pour rendre la page. Les options sont skeleton , replace , et default . |
timeout | Le temps en millisecondes avant que la méthode n'expire. La valeur par défaut est 8000 ms. |
Méthodes de rendu
skeleton
: Rend un fragment.replace
: Rend le contenu dans la langue par défaut en attendant.default
: Pour les locales avec la même langue (c'est-à-direen-US
eten-GB
), se comporte comme replace. Pour les locales avec des langues différentes (c'est-à-direen-US
etfr
), se comporte comme skeleton.
Délai d'expiration
Les délais d'expiration s'appliquent uniquement 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 ont un délai d'expiration par défaut de 10 secondes pour les fonctions serverless sur le plan gratuit.
Exemples
Locales prises en charge
Cet exemple configure gt-next
avec l'anglais (en-US
) comme langue par défaut.
Il prend exclusivement en charge les traductions en espagnol (es
) et en français (fr
), et fournit une description pour une traduction contextuelle.
Le site reviendra à la langue la plus appropriée si aucune des locales ne correspond.
Il recherchera les langues correspondantes (c'est-à-dire, en-US
et en-GB
), ainsi que les autres langues préférées que l'utilisateur a définies dans son navigateur.
Si tout échoue, il reviendra alors à la langue par défaut.
Si vous souhaitez prendre en charge toutes les langues, laissez locales
vide.
De plus, les locales peuvent être configurées sur le tableau de bord.
Paramètres de rendu
Cet exemple configure gt-next
pour rendre un squelette en attendant que les traductions se chargent.
Si la traduction prend plus de 8 secondes, la méthode expirera et rendra le contenu de la langue par défaut.
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
etprojectId
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
- Ajoutez la traduction à votre processus CD.
- Lisez-en plus sur la configuration i18n dans notre guide de référence.