fix: address obsidian review findings (#65)

Normalize stringification of status/validation values and apply sentence-case UI text to satisfy review requirements. Update the review documentation to the latest comment.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
asyouplz 2026-02-04 16:11:43 +09:00 committed by GitHub
parent 7531c3d241
commit e28c350581
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 115 additions and 491 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,8 @@
# Obsidian Review Bot Comment (PR #8004) — main 브랜치 기준
- Source: https://github.com/obsidianmd/obsidian-releases/pull/8004#issuecomment-3839840641
- GitHub main SHA: 18a62e8a59070f874384a7f35b2abcfca81cd44b
- Updated (UTC): 2026-02-03T08:28:29Z
- Source: https://github.com/obsidianmd/obsidian-releases/pull/8004#issuecomment-3840783932
- GitHub main SHA: 7531c3d2410fa964d6023fde75db6b234b34542c
- Updated (UTC): 2026-02-03T11:34:35Z
---
@ -14,81 +14,81 @@
---
### 'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/infrastructure/api/SettingsValidator.ts#L299-L299](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/infrastructure/api/SettingsValidator.ts#L299-L299)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/infrastructure/api/SettingsValidator.ts#L299-L299](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/infrastructure/api/SettingsValidator.ts#L299-L299)
수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
### 'value' may use Object's default stringification format ('[object Object]') when stringified.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/progress/StatusMessage.ts#L273-L273](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/progress/StatusMessage.ts#L273-L273)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/progress/StatusMessage.ts#L273-L273](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/progress/StatusMessage.ts#L273-L273)
수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
### Use sentence case for UI text.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L395-L395](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L395-L395](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L512-L512](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L512-L512](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L586-L586](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L586-L586](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L623-L623](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L623-L623](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L710-L710](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L710-L710](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L759-L759](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L759-L759](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L155-L155](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L155-L155)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L155-L155](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L155-L155)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L319-L319](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L319-L319)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L319-L319](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L319-L319)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L357-L357](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L357-L357)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L357-L357](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L357-L357)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L368-L368](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L368-L368)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L368-L368](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L368-L368)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L369-L369](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L369-L369)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L369-L369](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L369-L369)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L380-L380](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L380-L380)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L380-L380](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L380-L380)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L403-L403](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L403-L403)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L403-L403](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L403-L403)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L405-L405](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L405-L405)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L405-L405](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L405-L405)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L473-L473](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L473-L473)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L473-L473](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L473-L473)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L482-L482](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L482-L482)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L482-L482](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L482-L482)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabRefactored.ts#L156-L156](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabRefactored.ts#L156-L156)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabRefactored.ts#L156-L156](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabRefactored.ts#L156-L156)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L42-L42](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L42-L42)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L42-L42](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L42-L42)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L64-L64)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L64-L64)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L65-L65)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L65-L65)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L81-L81](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L81-L81)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L81-L81](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L81-L81)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L84-L84)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L84-L84)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L96-L96](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L96-L96)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L96-L96](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L96-L96)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/DeepgramSettings.ts#L581-L581](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/DeepgramSettings.ts#L581-L581)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/DeepgramSettings.ts#L581-L581](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/DeepgramSettings.ts#L581-L581)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L83-L83](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L83-L83)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L83-L83](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L83-L83)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L84-L84)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L84-L84)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L85-L85](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L85-L85)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L85-L85](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L85-L85)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L309-L309](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L309-L309)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L309-L309](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L309-L309)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
---
@ -106,13 +106,13 @@ Thank you for your submission, an automated scan of your plugin code's revealed
### Required
[\[1\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/infrastructure/api/SettingsValidator.ts#L299-L299)
[\[1\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/infrastructure/api/SettingsValidator.ts#L299-L299)
'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
[\[1\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/progress/StatusMessage.ts#L273-L273)
[\[1\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/progress/StatusMessage.ts#L273-L273)
'value' may use Object's default stringification format ('[object Object]') when stringified.
[\[1\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)[\[3\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)[\[4\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)[\[5\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)[\[6\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)[\[7\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L155-L155)[\[8\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L319-L319)[\[9\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L357-L357)[\[10\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L368-L368)[\[11\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L369-L369)[\[12\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L380-L380)[\[13\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L403-L403)[\[14\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L405-L405)[\[15\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L473-L473)[\[16\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L482-L482)[\[17\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabRefactored.ts#L156-L156)[\[18\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L42-L42)[\[19\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L64-L64)[\[20\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L65-L65)[\[21\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L81-L81)[\[22\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L84-L84)[\[23\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L96-L96)[\[24\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/DeepgramSettings.ts#L581-L581)[\[25\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L83-L83)[\[26\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L84-L84)[\[27\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L85-L85)[\[28\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L309-L309)[\[29\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)[\[30\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)[\[31\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)[\[32\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)[\[33\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)[\[34\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
[\[1\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)[\[3\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)[\[4\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)[\[5\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)[\[6\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)[\[7\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L155-L155)[\[8\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L319-L319)[\[9\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L357-L357)[\[10\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L368-L368)[\[11\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L369-L369)[\[12\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L380-L380)[\[13\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L403-L403)[\[14\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L405-L405)[\[15\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L473-L473)[\[16\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L482-L482)[\[17\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabRefactored.ts#L156-L156)[\[18\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L42-L42)[\[19\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L64-L64)[\[20\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L65-L65)[\[21\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L81-L81)[\[22\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L84-L84)[\[23\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L96-L96)[\[24\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/DeepgramSettings.ts#L581-L581)[\[25\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L83-L83)[\[26\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L84-L84)[\[27\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L85-L85)[\[28\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L309-L309)[\[29\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)[\[30\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)[\[31\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)[\[32\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)[\[33\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)[\[34\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
Use sentence case for UI text.

File diff suppressed because one or more lines are too long

View file

@ -284,19 +284,31 @@ export class SettingsValidator {
) {
const sampleRateLabel = (() => {
if (typeof audio.sampleRate === 'number') {
return String(audio.sampleRate);
return audio.sampleRate.toString();
}
if (typeof audio.sampleRate === 'string') {
return audio.sampleRate;
}
if (audio.sampleRate !== null && typeof audio.sampleRate === 'object') {
try {
return JSON.stringify(audio.sampleRate);
} catch {
return '[unserializable]';
}
if (typeof audio.sampleRate === 'boolean') {
return audio.sampleRate ? 'true' : 'false';
}
if (typeof audio.sampleRate === 'bigint') {
return audio.sampleRate.toString();
}
if (typeof audio.sampleRate === 'symbol') {
return audio.sampleRate.description ?? 'symbol';
}
if (audio.sampleRate === null) {
return 'null';
}
if (audio.sampleRate === undefined) {
return 'undefined';
}
try {
return JSON.stringify(audio.sampleRate);
} catch {
return '[unserializable]';
}
return String(audio.sampleRate);
})();
errors.push({
field: 'audio.sampleRate',

View file

@ -263,14 +263,20 @@ export class MessageStore {
private static formatParamValue(value: unknown): string {
if (value === null) return 'null';
if (typeof value === 'object') {
try {
return JSON.stringify(value);
} catch {
return '[unserializable]';
}
if (value === undefined) return 'undefined';
if (typeof value === 'string') return value;
if (typeof value === 'number') return Number.isNaN(value) ? 'NaN' : value.toString();
if (typeof value === 'boolean') return value ? 'true' : 'false';
if (typeof value === 'bigint') return value.toString();
if (typeof value === 'symbol') return value.description ?? 'symbol';
if (typeof value === 'function') return '[function]';
try {
return JSON.stringify(value);
} catch {
return '[unserializable]';
}
return String(value);
}
/**

View file

@ -392,7 +392,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
.setDesc('Select the transcription service provider')
.addDropdown((dropdown) => {
dropdown
.addOption('openai', 'OpenAI whisper')
.addOption('openai', 'Openai whisper')
.addOption('azure', 'Azure speech services')
.addOption('custom', 'Custom endpoint');
@ -509,7 +509,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
if (api.provider === 'openai') {
new Setting(section)
.setName('Model')
.setDesc('Select the OpenAI model')
.setDesc('Select the openai model')
.addDropdown((dropdown) => {
dropdown.addOption('whisper-1', 'Whisper v1');
dropdown.setValue(api.model);
@ -583,9 +583,9 @@ export class EnhancedSettingsTab extends PluginSettingTab {
.setDesc('Select the audio format for recording')
.addDropdown((dropdown) => {
dropdown
.addOption('webm', 'WebM (recommended)')
.addOption('mp3', 'MP3')
.addOption('m4a', 'M4A')
.addOption('webm', 'Webm (recommended)')
.addOption('mp3', 'Mp3')
.addOption('m4a', 'M4a')
.addOption('wav', 'Wav (lossless)');
dropdown.setValue(audio.format);
@ -620,7 +620,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
// 샘플 레이트
new Setting(section)
.setName('Sample rate')
.setDesc('Audio sample rate in Hz')
.setDesc('Audio sample rate in hertz')
.addDropdown((dropdown) => {
const rates = [8000, 16000, 22050, 44100, 48000];
rates.forEach((rate) => {
@ -707,7 +707,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
new Setting(cacheSection)
.setName('Max cache size')
.setDesc('Maximum cache size in MB')
.setDesc('Maximum cache size in megabytes')
.addSlider((slider) => {
slider
.setLimits(10, 500, 10)
@ -756,7 +756,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
new Setting(perfSection)
.setName('Chunk size')
.setDesc('File chunk size in MB')
.setDesc('File chunk size in megabytes')
.addSlider((slider) => {
slider
.setLimits(0.5, 10, 0.5)

View file

@ -152,7 +152,7 @@ export class SettingsTab extends PluginSettingTab {
dropdown
.addOption('auto', 'Auto (intelligent selection)')
.addOption('whisper', 'OpenAI whisper')
.addOption('whisper', 'Openai whisper')
.addOption('deepgram', 'Deepgram')
.setValue(this.plugin.settings.provider || 'auto')
.onChange(async (value) => {
@ -316,7 +316,7 @@ export class SettingsTab extends PluginSettingTab {
// API Endpoint
new Setting(containerEl)
.setName('API endpoint')
.setDesc('OpenAI API endpoint (leave the default unless using a custom endpoint)')
.setDesc('Openai API endpoint (leave the default unless using a custom endpoint)')
.addText((text) =>
text
.setPlaceholder('https://api.openai.com/v1')
@ -354,7 +354,7 @@ export class SettingsTab extends PluginSettingTab {
} catch (error) {
console.error('Error rendering Deepgram settings:', error);
deepgramContainer.createEl('p', {
text: 'Error loading Deepgram settings.',
text: 'Error loading deepgram settings.',
cls: 'mod-warning',
});
}
@ -365,8 +365,8 @@ export class SettingsTab extends PluginSettingTab {
private renderWhisperApiKey(containerEl: HTMLElement): void {
new Setting(containerEl)
.setName('OpenAI API key')
.setDesc('Enter your OpenAI API key for whisper transcription')
.setName('Openai API key')
.setDesc('Enter your openai API key for whisper transcription')
.addText((text) => {
text.setPlaceholder('Sk-...')
.setValue(this.maskApiKey(this.plugin.settings.apiKey || ''))
@ -377,7 +377,7 @@ export class SettingsTab extends PluginSettingTab {
await this.plugin.saveSettings();
text.setValue(this.maskApiKey(value));
new Notice('OpenAI API key saved.');
new Notice('Openai API key saved.');
}
});
@ -400,9 +400,9 @@ export class SettingsTab extends PluginSettingTab {
private renderDeepgramApiKey(containerEl: HTMLElement): void {
new Setting(containerEl)
.setName('Deepgram API key')
.setDesc('Enter your Deepgram API key for transcription')
.setDesc('Enter your deepgram API key for transcription')
.addText((text) => {
text.setPlaceholder('Enter Deepgram API key...')
text.setPlaceholder('Enter deepgram API key...')
.setValue(this.maskApiKey(this.plugin.settings.deepgramApiKey || ''))
.onChange(async (value) => {
if (value && !value.includes('*')) {

View file

@ -470,7 +470,7 @@ class ApiSettingsSection extends SectionRenderer {
const section = this.container.createDiv('settings-section');
new Setting(section).setName('API').setHeading();
section.createEl('p', {
text: 'OpenAI API 설정',
text: 'Openai API 설정',
cls: 'setting-item-description',
});
return section;
@ -479,7 +479,7 @@ class ApiSettingsSection extends SectionRenderer {
private createApiKeyInput(section: HTMLElement): void {
const setting = new Setting(section)
.setName('API key')
.setDesc('OpenAI API 키를 입력하세요. (sk-로 시작)');
.setDesc('Openai API 키를 입력하세요. (sk-로 시작)');
const inputContainer = setting.controlEl.createDiv('api-key-container');
const eventManager = this.eventManager;

View file

@ -149,11 +149,11 @@ export class SettingsTabRefactored extends PluginSettingTab {
* API ( )
*/
private createApiSection(containerEl: HTMLElement): void {
const sectionEl = this.createSection(containerEl, 'API', 'OpenAI API 설정');
const sectionEl = this.createSection(containerEl, 'API', 'Openai API 설정');
const apiKeySetting = new Setting(sectionEl)
.setName('API key')
.setDesc('OpenAI API 키를 입력하세요. (sk-로 시작)');
.setDesc('Openai API 키를 입력하세요. (sk-로 시작)');
const inputEl = apiKeySetting.controlEl.createEl('input', {
type: 'password',

View file

@ -39,7 +39,7 @@ export class SimpleSettingsTab extends PluginSettingTab {
this.debug('Adding options to dropdown...');
dropdown
.addOption('auto', 'Auto (intelligent selection)')
.addOption('whisper', 'OpenAI whisper')
.addOption('whisper', 'Openai whisper')
.addOption('deepgram', 'Deepgram')
.setValue(this.plugin.settings.provider || 'auto')
.onChange(async (value) => {
@ -61,8 +61,8 @@ export class SimpleSettingsTab extends PluginSettingTab {
// Auto 모드일 때는 양쪽 API 키 모두 표시
if (provider === 'auto' || provider === 'whisper') {
new Setting(containerEl)
.setName('OpenAI API key')
.setDesc('Enter your OpenAI API key for whisper')
.setName('Openai API key')
.setDesc('Enter your openai API key for whisper')
.addText((text) =>
text
.setPlaceholder('Sk-...')
@ -78,10 +78,10 @@ export class SimpleSettingsTab extends PluginSettingTab {
if (provider === 'auto' || provider === 'deepgram') {
new Setting(containerEl)
.setName('Deepgram API key')
.setDesc('Enter your Deepgram API key')
.setDesc('Enter your deepgram API key')
.addText((text) =>
text
.setPlaceholder('Enter Deepgram API key...')
.setPlaceholder('Enter deepgram API key...')
.setValue(this.plugin.settings.deepgramApiKey || '')
.onChange(async (value) => {
this.plugin.settings.deepgramApiKey = value;
@ -93,7 +93,7 @@ export class SimpleSettingsTab extends PluginSettingTab {
if (provider === 'deepgram') {
new Setting(containerEl)
.setName('Deepgram model')
.setDesc('Select the Deepgram model to use')
.setDesc('Select the deepgram model to use')
.addDropdown((dropdown) =>
dropdown
.addOption('nova-2', 'Nova 2 (premium)')

View file

@ -578,7 +578,7 @@ export class DeepgramSettings {
// Maximum chunk size
const chunkSizeSetting = new Setting(container)
.setName('Maximum chunk size')
.setDesc('Maximum size per chunk in MB (recommended: 50MB)')
.setDesc('Maximum size per chunk in megabytes (recommended: 50 megabytes)')
.addSlider((slider) => {
slider
.setLimits(10, 100, 10)

View file

@ -80,9 +80,9 @@ export class ProviderSettings {
.setDesc('Choose a specific provider or use automatic selection')
.addDropdown((dropdown) => {
dropdown
.addOption('auto', '🤖 Automatic (recommended)')
.addOption('whisper', '🎯 OpenAI whisper')
.addOption('deepgram', '🚀 Deepgram')
.addOption('auto', '🤖 automatic (recommended)')
.addOption('whisper', '🎯 openai whisper')
.addOption('deepgram', '🚀 deepgram')
.setValue(this.currentProvider)
.onChange(async (value) => {
if (this.isProviderValue(value)) {
@ -111,8 +111,8 @@ export class ProviderSettings {
this.renderSingleApiKey(
apiKeysContainer,
'whisper',
'OpenAI API key',
'Enter your OpenAI API key (starts with sk-)',
'Openai API key',
'Enter your openai API key (starts with sk-)',
'sk-...'
);
@ -121,7 +121,7 @@ export class ProviderSettings {
apiKeysContainer,
'deepgram',
'Deepgram API key',
'Enter your Deepgram API key',
'Enter your deepgram API key',
'your-deepgram-api-key'
);
}
@ -306,7 +306,7 @@ export class ProviderSettings {
private renderABTestDetails(containerEl: HTMLElement): void {
new Setting(containerEl)
.setName('Traffic split')
.setDesc('Percentage of requests to send to whisper vs Deepgram')
.setDesc('Percentage of requests to send to whisper vs deepgram')
.addSlider((slider) => {
const currentSplit = this.plugin.settings.abTestSplit || 50;

View file

@ -194,9 +194,9 @@ export class ProviderSettingsContainer {
.setDesc('Select how to choose the transcription provider')
.addDropdown((dropdown) => {
dropdown
.addOption('auto', '🤖 Automatic (recommended)')
.addOption('whisper', '🎯 OpenAI whisper only')
.addOption('deepgram', '🚀 Deepgram only')
.addOption('auto', '🤖 automatic (recommended)')
.addOption('whisper', '🎯 openai whisper only')
.addOption('deepgram', '🚀 deepgram only')
.setValue(this.currentProvider)
.onChange(async (value) => {
if (this.isProviderSelection(value)) {

View file

@ -286,9 +286,9 @@ export class ProviderSettingsContainerRefactored extends BaseSettingsComponent {
'Select how to choose the transcription provider'
).addDropdown((dropdown) => {
dropdown
.addOption('auto', '🤖 Automatic')
.addOption('whisper', '🎯 OpenAI whisper')
.addOption('deepgram', '🚀 Deepgram')
.addOption('auto', '🤖 automatic')
.addOption('whisper', '🎯 openai whisper')
.addOption('deepgram', '🚀 deepgram')
.setValue(this.state.get().currentProvider)
.onChange((value) => {
void this.handleProviderChange(value);