docs: remove remaining Claude 3.5 references and display page credit costs in translation provider selector
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m11s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m11s
This commit is contained in:
@@ -56,7 +56,7 @@ const LLM_THEMES: Record<string, CardTheme> = {
|
|||||||
subBadge: 'Maximum Context',
|
subBadge: 'Maximum Context',
|
||||||
accentClass: 'border-rose-500/30 text-rose-600 dark:text-rose-400 bg-rose-500/5',
|
accentClass: 'border-rose-500/30 text-rose-600 dark:text-rose-400 bg-rose-500/5',
|
||||||
glowClass: 'from-rose-500/10 dark:from-rose-500/5 to-transparent',
|
glowClass: 'from-rose-500/10 dark:from-rose-500/5 to-transparent',
|
||||||
descriptionOverride: 'Traduction assistée par les modèles de pointe (GPT-4o, Claude 3.5 Sonnet) pour documents longs.'
|
descriptionOverride: 'Traduction assistée par les modèles de pointe (GPT-4o, Claude Sonnet 4.6) pour documents longs.'
|
||||||
},
|
},
|
||||||
zai: {
|
zai: {
|
||||||
badge: 'Spécialisée',
|
badge: 'Spécialisée',
|
||||||
@@ -278,6 +278,7 @@ export function ProviderSelector({
|
|||||||
<p className="text-[10px] text-brand-dark/60 dark:text-white/60 leading-normal font-light">
|
<p className="text-[10px] text-brand-dark/60 dark:text-white/60 leading-normal font-light">
|
||||||
<span className="font-bold text-brand-dark dark:text-white">{meta?.labelOverride || activeP.label} : </span>
|
<span className="font-bold text-brand-dark dark:text-white">{meta?.labelOverride || activeP.label} : </span>
|
||||||
{meta?.descriptionOverride || activeP.description}
|
{meta?.descriptionOverride || activeP.description}
|
||||||
|
<span className="block mt-1 font-bold text-brand-accent">Coût : 1 crédit par page</span>
|
||||||
</p>
|
</p>
|
||||||
) : null;
|
) : null;
|
||||||
})()
|
})()
|
||||||
@@ -289,6 +290,9 @@ export function ProviderSelector({
|
|||||||
<p className="text-[10px] text-brand-dark/60 dark:text-white/60 leading-normal font-light">
|
<p className="text-[10px] text-brand-dark/60 dark:text-white/60 leading-normal font-light">
|
||||||
<span className="font-bold text-brand-dark dark:text-white">{activeP.label} : </span>
|
<span className="font-bold text-brand-dark dark:text-white">{activeP.label} : </span>
|
||||||
{theme.descriptionOverride} <span className="opacity-50 text-[9px] font-mono">({activeP.model || 'default'})</span>
|
{theme.descriptionOverride} <span className="opacity-50 text-[9px] font-mono">({activeP.model || 'default'})</span>
|
||||||
|
<span className="block mt-1 font-bold text-brand-accent">
|
||||||
|
Coût : {activeP.id === 'openrouter_premium' ? '5 crédits par page (Facteur Premium)' : '1 crédit par page'}
|
||||||
|
</span>
|
||||||
</p>
|
</p>
|
||||||
) : null;
|
) : null;
|
||||||
})()
|
})()
|
||||||
|
|||||||
@@ -878,11 +878,11 @@ export default function PricingPage() {
|
|||||||
<Badge className="ml-auto text-xs bg-accent/10 text-accent border-accent/30">{t('pricing.aiModels.premium.plan')}</Badge>
|
<Badge className="ml-auto text-xs bg-accent/10 text-accent border-accent/30">{t('pricing.aiModels.premium.plan')}</Badge>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-sm text-muted-foreground mb-3">
|
<div className="text-sm text-muted-foreground mb-3">
|
||||||
{t('pricing.aiModels.premium.descPrefix')} <strong className="text-foreground">Claude 3.5 Haiku</strong> {t('pricing.aiModels.premium.descSuffix')}
|
{t('pricing.aiModels.premium.descPrefix')} <strong className="text-foreground">Claude Sonnet 4.6</strong> {t('pricing.aiModels.premium.descSuffix')}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-wrap gap-2 text-xs">
|
<div className="flex flex-wrap gap-2 text-xs">
|
||||||
<span className="px-2 py-1 bg-muted rounded">{t('pricing.aiModels.premium.context')}</span>
|
<span className="px-2 py-1 bg-muted rounded">{t('pricing.aiModels.premium.context')}</span>
|
||||||
<span className="px-2 py-1 bg-muted rounded">$0.25/$1.25 per 1M</span>
|
<span className="px-2 py-1 bg-muted rounded">$3.00/$15.00 per 1M</span>
|
||||||
<span className="px-2 py-1 bg-accent/10 text-accent rounded">{t('pricing.aiModels.premium.precision')}</span>
|
<span className="px-2 py-1 bg-accent/10 text-accent rounded">{t('pricing.aiModels.premium.precision')}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -611,7 +611,7 @@ const messages: Record<Locale, Record<string, string>> = {
|
|||||||
"pricing.faq.q2": "What is \"Essential AI Translation\"?",
|
"pricing.faq.q2": "What is \"Essential AI Translation\"?",
|
||||||
"pricing.faq.a2": "It's our AI engine. It understands your documents' context, preserves layout and handles technical terms much better than classic translation.",
|
"pricing.faq.a2": "It's our AI engine. It understands your documents' context, preserves layout and handles technical terms much better than classic translation.",
|
||||||
"pricing.faq.q3": "What's the difference between Essential and Premium AI?",
|
"pricing.faq.q3": "What's the difference between Essential and Premium AI?",
|
||||||
"pricing.faq.a3": "Essential AI uses an optimized model (excellent value for money). Premium AI uses Anthropic's Claude 3.5 Haiku, more accurate on legal, medical and complex technical documents.",
|
"pricing.faq.a3": "Essential AI uses an optimized model (excellent value for money). Premium AI uses Anthropic's Claude Sonnet 4.6, more accurate on legal, medical and complex technical documents.",
|
||||||
"pricing.faq.q4": "Are my documents kept after translation?",
|
"pricing.faq.q4": "Are my documents kept after translation?",
|
||||||
"pricing.faq.a4": "Translated files are available according to your plan (30 days Starter, 90 days Pro, 1 year Business). They are encrypted at rest and in transit.",
|
"pricing.faq.a4": "Translated files are available according to your plan (30 days Starter, 90 days Pro, 1 year Business). They are encrypted at rest and in transit.",
|
||||||
"pricing.faq.q5": "What happens if I exceed my monthly quota?",
|
"pricing.faq.q5": "What happens if I exceed my monthly quota?",
|
||||||
@@ -1599,7 +1599,7 @@ const messages: Record<Locale, Record<string, string>> = {
|
|||||||
"pricing.faq.q2": "Qu'est-ce que la « Traduction IA Essentielle » ?",
|
"pricing.faq.q2": "Qu'est-ce que la « Traduction IA Essentielle » ?",
|
||||||
"pricing.faq.a2": "C'est notre moteur IA. Il comprend le contexte de vos documents, préserve la mise en page et gère les termes techniques bien mieux qu'une traduction classique.",
|
"pricing.faq.a2": "C'est notre moteur IA. Il comprend le contexte de vos documents, préserve la mise en page et gère les termes techniques bien mieux qu'une traduction classique.",
|
||||||
"pricing.faq.q3": "Quelle est la différence entre IA Essentielle et IA Premium ?",
|
"pricing.faq.q3": "Quelle est la différence entre IA Essentielle et IA Premium ?",
|
||||||
"pricing.faq.a3": "L'IA Essentielle utilise un modèle optimisé (excellent rapport qualité/prix). L'IA Premium utilise Claude 3.5 Haiku d'Anthropic, plus précis sur les documents juridiques, médicaux et techniques complexes.",
|
"pricing.faq.a3": "L'IA Essentielle utilise un modèle optimisé (excellent rapport qualité/prix). L'IA Premium utilise Claude Sonnet 4.6 d'Anthropic, plus précis sur les documents juridiques, médicaux et techniques complexes.",
|
||||||
"pricing.faq.q4": "Mes documents sont-ils conservés après traduction ?",
|
"pricing.faq.q4": "Mes documents sont-ils conservés après traduction ?",
|
||||||
"pricing.faq.a4": "Les fichiers traduits sont disponibles selon votre forfait (30 jours Starter, 90 jours Pro, 1 an Business). Ils sont chiffrés au repos et en transit.",
|
"pricing.faq.a4": "Les fichiers traduits sont disponibles selon votre forfait (30 jours Starter, 90 jours Pro, 1 an Business). Ils sont chiffrés au repos et en transit.",
|
||||||
"pricing.faq.q5": "Que se passe-t-il si je dépasse mon quota mensuel ?",
|
"pricing.faq.q5": "Que se passe-t-il si je dépasse mon quota mensuel ?",
|
||||||
|
|||||||
Reference in New Issue
Block a user