diff --git a/packages/app/cypress/e2e/operatorx.cy.ts b/packages/app/cypress/e2e/operatorx.cy.ts index 39bf9a6c3..1c6165dc0 100644 --- a/packages/app/cypress/e2e/operatorx.cy.ts +++ b/packages/app/cypress/e2e/operatorx.cy.ts @@ -64,6 +64,7 @@ it('shows measured and missing GPU coverage, then switches the URL to MoE', () = cy.visit('/operatorx'); cy.wait('@gemm'); + cy.get('[data-testid="operatorx-page"] h1').should('have.text', 'OperatorX (Experimental Beta)'); cy.get('[data-testid="operatorx-coverage"]') .should('contain.text', 'Coverage of 2 cases') .and('contain.text', '2/2') @@ -117,6 +118,10 @@ for (const prefix of ['', '/zh']) { cy.intercept('GET', '/api/v1/operatorx/compare?op=gemm*', gemm).as('gemm'); cy.visit(`${prefix}/operatorx`); cy.wait('@gemm'); + cy.get('[data-testid="operatorx-page"] h1').should( + 'have.text', + prefix ? 'OperatorX(实验性 Beta)' : 'OperatorX (Experimental Beta)', + ); cy.get('[data-testid="operatorx-viz-distribution"]') .scrollIntoView() .within(() => { diff --git a/packages/app/src/components/operatorx/OperatorXView.tsx b/packages/app/src/components/operatorx/OperatorXView.tsx index 1251e5620..597eea44c 100644 --- a/packages/app/src/components/operatorx/OperatorXView.tsx +++ b/packages/app/src/components/operatorx/OperatorXView.tsx @@ -4,6 +4,7 @@ import { Card } from '@/components/ui/card'; import { Heading } from '@/components/ui/heading'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { useClientSearch } from '@/hooks/useClientSearch'; +import { useLocale } from '@/lib/i18n/use-locale'; import { replaceClientSearch } from '@/lib/routing/client-navigation'; import { ComparisonDashboard } from './ComparisonDashboard'; @@ -28,6 +29,7 @@ function selectCategory(value: string) { } export default function OperatorXView() { + const locale = useLocale(); const requested = new URLSearchParams(useClientSearch()).get('op'); const category: Category = isCategory(requested) ? requested : 'gemm'; return ( @@ -39,7 +41,7 @@ export default function OperatorXView() { > - OperatorX + {locale === 'zh' ? 'OperatorX(实验性 Beta)' : 'OperatorX (Experimental Beta)'} {CATEGORIES.map((c) => (