언어 설정 화면 추가 및 언어 헤더 적용

설정에서 시스템/한국어/영어/일본어 선택을 지원한다.

선택 시 Accept-Language 헤더와 UI locale을 즉시 반영한다.

언어 변경 후 스플래시를 거쳐 메인으로 소프트 재시작한다.
This commit is contained in:
Yu Sung
2025-12-16 22:56:37 +09:00
parent b2c94a44d9
commit 0285f62ecb
22 changed files with 512 additions and 61 deletions

View 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

View File

@@ -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)
}
}