diff --git a/web/context/i18n.spec.ts b/web/context/i18n.spec.ts index 98f3552c99..616f3bfced 100644 --- a/web/context/i18n.spec.ts +++ b/web/context/i18n.spec.ts @@ -196,19 +196,19 @@ describe('useDocLink', () => { const { result } = renderHook(() => useDocLink()) const url = result.current('/api-reference/annotations/create-annotation') - expect(url).toBe(`${defaultDocBaseUrl}/en/api-reference/annotations/create-annotation`) + expect(url).toBe(`${defaultDocBaseUrl}/api-reference/annotations/create-annotation`) }) it('should keep original path when no translation exists for non-English locale', () => { vi.mocked(useTranslation).mockReturnValue({ - i18n: { language: 'ja-JP' }, + i18n: { language: 'zh-Hans' }, } as ReturnType) - vi.mocked(getDocLanguage).mockReturnValue('ja') + vi.mocked(getDocLanguage).mockReturnValue('zh') const { result } = renderHook(() => useDocLink()) // This path has no Japanese translation const url = result.current('/api-reference/annotations/create-annotation') - expect(url).toBe(`${defaultDocBaseUrl}/ja/api-reference/annotations/create-annotation`) + expect(url).toBe(`${defaultDocBaseUrl}/api-reference/标注管理/创建标注`) }) it('should remove language prefix when translation is applied', () => { diff --git a/web/context/i18n.ts b/web/context/i18n.ts index 5f39d1afb3..f371c1129b 100644 --- a/web/context/i18n.ts +++ b/web/context/i18n.ts @@ -35,12 +35,13 @@ export const useDocLink = (baseUrl?: string): ((path?: DocPathWithoutLang, pathM let targetPath = (pathMap) ? pathMap[locale] || pathUrl : pathUrl let languagePrefix = `/${docLanguage}` - // Translate API reference paths for non-English locales - if (targetPath.startsWith('/api-reference/') && docLanguage !== 'en') { - const translatedPath = apiReferencePathTranslations[targetPath]?.[docLanguage as 'zh' | 'ja'] - if (translatedPath) { - targetPath = translatedPath - languagePrefix = '' + if (targetPath.startsWith('/api-reference/')) { + languagePrefix = '' + if (docLanguage !== 'en') { + const translatedPath = apiReferencePathTranslations[targetPath]?.[docLanguage] + if (translatedPath) { + targetPath = translatedPath + } } }