언어 설정 화면 추가 및 언어 헤더 적용
설정에서 시스템/한국어/영어/일본어 선택을 지원한다. 선택 시 Accept-Language 헤더와 UI locale을 즉시 반영한다. 언어 변경 후 스플래시를 거쳐 메인으로 소프트 재시작한다.
This commit is contained in:
19
SodaLive/Sources/Extensions/AcceptLanguageDebugLogger.swift
Normal file
19
SodaLive/Sources/Extensions/AcceptLanguageDebugLogger.swift
Normal file
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// AcceptLanguageDebugLogger.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by Junie (AI) on 2025/12/16.
|
||||
//
|
||||
|
||||
#if DEBUG
|
||||
import Foundation
|
||||
import Moya
|
||||
|
||||
/// 디버그용: 각 요청 직전에 Accept-Language 헤더를 콘솔에 출력합니다.
|
||||
struct AcceptLanguageDebugLogger: PluginType {
|
||||
func willSend(_ request: RequestType, target: TargetType) {
|
||||
let header = request.request?.allHTTPHeaderFields?["Accept-Language"] ?? "<nil>"
|
||||
DEBUG_LOG("[Network] Accept-Language: \(header)")
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -10,7 +10,15 @@ import Foundation
|
||||
|
||||
extension MoyaProvider {
|
||||
convenience init() {
|
||||
self.init(plugins: [AuthPlugin()])
|
||||
var plugins: [PluginType] = [
|
||||
AuthPlugin(),
|
||||
AcceptLanguagePlugin()
|
||||
]
|
||||
#if DEBUG
|
||||
plugins.append(NetworkLoggerPlugin(configuration: .init(logOptions: [.requestHeaders])))
|
||||
plugins.append(AcceptLanguageDebugLogger())
|
||||
#endif
|
||||
self.init(plugins: plugins)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user