refactor(i18n): 공급자 우선순위를 코드 목록으로 지정한다
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.i18n.translation
|
||||
|
||||
object LanguageProviderOrder {
|
||||
val detectionOrder = listOf("papago")
|
||||
val translationOrder = listOf("papago")
|
||||
}
|
||||
+5
-7
@@ -1,17 +1,15 @@
|
||||
package kr.co.vividnext.sodalive.i18n.translation
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@Component
|
||||
class LanguageProviderProperties(
|
||||
@Value("\${sodalive.language-providers.detection-order:papago}")
|
||||
detectionOrder: String = "papago",
|
||||
@Value("\${sodalive.language-providers.translation-order:papago}")
|
||||
translationOrder: String = "papago"
|
||||
val detectionOrder: List<String>,
|
||||
val translationOrder: List<String>
|
||||
) {
|
||||
val detectionOrder = detectionOrder.split(',').map { it.trim() }
|
||||
val translationOrder = translationOrder.split(',').map { it.trim() }
|
||||
@Autowired
|
||||
constructor() : this(LanguageProviderOrder.detectionOrder, LanguageProviderOrder.translationOrder)
|
||||
|
||||
fun <T> orderedProviders(order: List<String>, providers: List<T>, name: (T) -> String): List<T> {
|
||||
require(order.isNotEmpty() && order.none { it.isBlank() }) { "language provider order must not be empty" }
|
||||
|
||||
Reference in New Issue
Block a user