Audit Snapshot
Run:
node scripts/scan-appendix-component-i18n.mjs --jsonCurrent scan summary:
{
"total": 575,
"withChinese": 240,
"withI18n": 321,
"chineseWithoutI18n": 239,
"computerFundamentals": {
"total": 76,
"withChinese": 0,
"withI18n": 76,
"chineseWithoutI18n": 0
},
"aiHistory": {
"total": 13,
"withChinese": 1,
"withI18n": 11,
"chineseWithoutI18n": 0
},
"monolithToMicroservices": {
"total": 1,
"withChinese": 0,
"withI18n": 1,
"chineseWithoutI18n": 0
},
"projectArchitecture": {
"total": 1,
"withChinese": 0,
"withI18n": 1,
"chineseWithoutI18n": 0
},
"dockerContainers": {
"total": 2,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"kubernetes": {
"total": 2,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"searchEngines": {
"total": 2,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"dataVisualization": {
"total": 2,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"highAvailability": {
"total": 2,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"systemDesignMethodology": {
"total": 2,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"serverBackend": {
"total": 4,
"withChinese": 0,
"withI18n": 2,
"chineseWithoutI18n": 0
},
"dataGovernance": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"distributedSystems": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"fileStorage": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"neuralNetworks": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"linuxBasics": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"rateLimiting": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"asyncTaskQueues": {
"total": 4,
"withChinese": 0,
"withI18n": 4,
"chineseWithoutI18n": 0
},
"gitIntro": {
"total": 4,
"withChinese": 0,
"withI18n": 4,
"chineseWithoutI18n": 0
},
"typescriptIntro": {
"total": 4,
"withChinese": 0,
"withI18n": 4,
"chineseWithoutI18n": 0
},
"ideIntro": {
"total": 3,
"withChinese": 0,
"withI18n": 3,
"chineseWithoutI18n": 0
},
"aiNativeApp": {
"total": 5,
"withChinese": 0,
"withI18n": 5,
"chineseWithoutI18n": 0
},
"webBasics": {
"total": 17,
"withChinese": 0,
"withI18n": 15,
"chineseWithoutI18n": 0
},
"cloudServices": {
"total": 6,
"withChinese": 0,
"withI18n": 5,
"chineseWithoutI18n": 0
},
"backendEvolution": {
"total": 9,
"withChinese": 0,
"withI18n": 9,
"chineseWithoutI18n": 0
},
"queueDesign": {
"total": 4,
"withChinese": 0,
"withI18n": 4,
"chineseWithoutI18n": 0
},
"agentIntro": {
"total": 10,
"withChinese": 0,
"withI18n": 10,
"chineseWithoutI18n": 0
},
"audioIntro": {
"total": 10,
"withChinese": 0,
"withI18n": 10,
"chineseWithoutI18n": 0
},
"engineeringExcellence": {
"total": 14,
"withChinese": 0,
"withI18n": 14,
"chineseWithoutI18n": 0
},
"apiIntro": {
"total": 7,
"withChinese": 0,
"withI18n": 7,
"chineseWithoutI18n": 0
},
"cacheDesign": {
"total": 5,
"withChinese": 0,
"withI18n": 5,
"chineseWithoutI18n": 0
},
"imageGenIntro": {
"total": 1,
"withChinese": 0,
"withI18n": 1,
"chineseWithoutI18n": 0
},
"javascriptIntro": {
"total": 4,
"withChinese": 0,
"withI18n": 4,
"chineseWithoutI18n": 0
},
"authDesign": {
"total": 10,
"withChinese": 0,
"withI18n": 10,
"chineseWithoutI18n": 0
},
"backendLanguages": {
"total": 10,
"withChinese": 0,
"withI18n": 10,
"chineseWithoutI18n": 0
},
"cloudIam": {
"total": 10,
"withChinese": 0,
"withI18n": 10,
"chineseWithoutI18n": 0
},
"frontendRouting": {
"total": 9,
"withChinese": 0,
"withI18n": 9,
"chineseWithoutI18n": 0
},
"embeddingVector": {
"total": 5,
"withChinese": 0,
"withI18n": 5,
"chineseWithoutI18n": 0
},
"apiDesign": {
"total": 7,
"withChinese": 0,
"withI18n": 7,
"chineseWithoutI18n": 0
},
"componentStateManagement": {
"total": 8,
"withChinese": 0,
"withI18n": 8,
"chineseWithoutI18n": 0
},
"topRemaining": [
"llm-intro: 10/10",
"tracking-design: 9/9",
"backend-layered-architecture: 8/8",
"cloud-topology: 8/8",
"concurrency-models: 8/8",
"data: 8/8"
]
}The scan is intentionally conservative: it reports Vue components that still contain Chinese text and do not yet import the component i18n layer. It is a triage tool, not proof that every translated string is high quality.
Note: ExpertSystemWaveDemo.vue and RuleBasedVsLearningDemo.vue are registered components but are not currently referenced by ai-history.md, so page HTML cannot prove their rendered copy. Use lint, component Chinese-residue scan, and the section scan (ai-history.chineseWithoutI18n === 0) as the authoritative check for those two components.
The previous computer-fundamentals residue was legacy component code. The 28 files below were not found in any Markdown page under docs/, and have been retired from the component directory and global registry:
AdderDemo.vueAlgorithmOverviewDemo.vueAppLaunchDemo.vueApplicationLayerDemo.vueBIOSPostDemo.vueBiosUefiDemo.vueBootProcessDemo.vueDataEncodingBasicsDemo.vueDataLifecycleDemo.vueDataLinkLayerDemo.vueDesktopDemo.vueEncodingDemo.vueEncodingStorageTransmissionDemo.vueLanguageEvolutionDemo.vueLanguageScenarioDemo.vueNetworkLayers.vueNetworkLayersSimple.vueNetworkPrincipleDemo.vuePhysicalLayerDemo.vueProgrammingLanguageComparisonDemo.vueProgrammingParadigmDemo.vueSandToIntelligenceDemo.vueStorageDemo.vueSubnetCalculator.vueTcpUdpComparison.vueTcpUdpSimple.vueTransmissionDemo.vueTransportLayerDemo.vue
The previous web-basics residue also included unused legacy component code. The 15 files below were not found in any Markdown page under docs/, and have been retired from the component directory and global registry:
BigFrontendScopeDemo.vueBundlerSizeDemo.vueCssCommonProperties.vueCssLayoutDemo.vueCssPlaygroundDemo.vueCssSelectorsDemo.vueDeploymentArchitecture.vueNetworkLayers.vueNetworkTroubleshooting.vueSemanticTagsDemo.vueSpaStatePreservationDemo.vueSubnetCalculator.vueTcpUdpComparison.vueUrlToBrowserDemo.vueVueReactComparisonDemo.vue
The previous queue-design residue also included unused legacy component code. The 12 files below were not found in Markdown pages or non-self code references, and have been retired from the component directory and global registry:
CouplingDemo.vueDeadLetterQueueDemo.vueDelayedMessageDemo.vueMQArchitectureDemo.vueMQComparisonDemo.vueMessageQueueComparisonDemo.vueMessageQueueComponentsDemo.vueMessageQueueDemo.vuePointToPointVsPubSubDemo.vueProducerConsumerDemo.vuePubSubDemo.vueSeckillSystemDemo.vue
The previous agent-intro residue also included unused legacy component code. The 4 files below were not found in Markdown pages or non-self code references, and have been retired from the component directory and global registry:
AgentTaskFlowDemo.vueFrameworkSelectionDemo.vueAgentMultiToolPrinciple.vueAgentMemoryPrinciple.vue
The previous api-intro residue also included unused legacy component code. The 6 files below were not found in Markdown pages or non-self code references, and have been retired from the component directory and global registry:
ApiQuickStartDemo.vueApiConceptDemo.vueRequestResponseFlow.vueApiMethodDemo.vueRealWorldApiDemo.vueFunctionApiDemo.vue
The previous cache-design residue also included unused legacy component code. The 10 files below were not found in Markdown pages or non-self code references, and have been retired from the component directory and global registry:
CacheArchitectureDemo.vueLocalityPrincipleDemo.vueLocalVsDistributedCacheDemo.vueMultiLevelCacheDemo.vueCachePatternsDemo.vueProductCacheDemo.vueCacheArchitectureOverview.vueCacheHierarchyDemo.vueCachePatternComparisonDemo.vueCacheMonitoringDashboardDemo.vue
The previous image-gen-intro residue also included unused legacy component code. The 12 files below were not found in Markdown pages or non-self code references, and have been retired from the component directory and global registry:
CFGScaleDemo.vueControlNetDemo.vueFlowMatchingDemo.vueImageGenArchitecture.vueImageGenQuickStartDemo.vueLatentSpaceViz.vueLoRADemo.vuePromptEngineeringDemo.vuePromptVisualizer.vueSamplerComparisonDemo.vueUNetDenoiseDemo.vueVaeEncoderDemo.vue
The previous javascript-intro residue also included unused legacy component code. The 9 files below were not found in Markdown pages or non-self code references, and have been retired from the component directory and global registry:
AsyncDemo.vueAsyncRestaurantDemo.vueClosureDemo.vueDataTypeDemo.vueFunctionMachineDemo.vuePrototypeDemo.vueReferenceDemo.vueThisContextDemo.vueVariableScopeDemo.vue
The development-tools section now has all 12 Markdown-referenced components externalized through development-tools locale dictionaries. Unlike the earlier interrupted audit, these components are all referenced by localized Markdown pages and must remain registered globally:
EnvVarOverviewDemo.vuePathSearchDemo.vueEnvScopeDemo.vueEnvExportDemo.vueApiKeyDangerDemo.vueDotEnvDemo.vueServerSecretDemo.vuePackageManagerOverviewDemo.vuePackageInstallDemo.vueDependencyTreeDemo.vueSSHAuthDemo.vueRegexDemo.vue
Latest source scan after development-tools:
{
"total": 578,
"withChinese": 336,
"withI18n": 227,
"chineseWithoutI18n": 335,
"developmentTools": 0
}The context-engineering section now has all 11 Markdown-referenced components externalized through context-engineering locale dictionaries:
AgentContextFlow.vueIntroProblemReasonSolution.vueContextWindowVisualizer.vueKVCacheDemo.vueSlidingWindowDemo.vueLostInMiddleDemo.vueSelectiveContextDemo.vueRAGSimulationDemo.vueContextCompressionDemo.vueMemoryPalaceDemo.vueMemoryPalaceActionDemo.vue
Latest source scan after context-engineering:
{
"total": 578,
"withChinese": 325,
"withI18n": 238,
"chineseWithoutI18n": 324,
"contextEngineering": 0
}The framework-nature section now has all 11 Markdown-referenced components externalized through framework-nature locale dictionaries:
ComponentTreeDemo.vueDataUIGapDemo.vueDeclarativeFormulaDemo.vueDomOperationCostDemo.vueFrameworkMotivationDemo.vueFrameworkSpectrumDemo.vueManualVsAutoSyncDemo.vueReactivityMechanismDemo.vueVirtualDomDiffDemo.vueWhatIsDomDemo.vueWhyNoAutoSyncDemo.vue
Latest source scan after framework-nature:
{
"total": 578,
"withChinese": 314,
"withI18n": 249,
"chineseWithoutI18n": 313,
"frameworkNature": 0
}The vlm-intro section now has all 11 appendix components externalized through vlm-intro locale dictionaries:
AttentionDemo.vueFeatureAlignmentDemo.vueLinearProjectionDemo.vueModelArchitectureComparisonDemo.vuePatchifyDemo.vuePositionalEmbeddingDemo.vueProjectorDemo.vueTrainingPipelineDemo.vueVLMInferenceDemo.vueViTOutputDemo.vueVlmQuickStartDemo.vue
Latest source scan after vlm-intro:
{
"total": 578,
"withChinese": 303,
"withI18n": 260,
"chineseWithoutI18n": 302,
"vlmIntro": 0
}