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" }
|
||||
|
||||
@@ -19,11 +19,6 @@ management:
|
||||
show-details: never
|
||||
show-components: never
|
||||
|
||||
sodalive:
|
||||
language-providers:
|
||||
detection-order: ${LANGUAGE_PROVIDERS_DETECTION_ORDER:papago}
|
||||
translation-order: ${LANGUAGE_PROVIDERS_TRANSLATION_ORDER:papago}
|
||||
|
||||
deployment:
|
||||
artifact-version: ${DEPLOY_ARTIFACT_VERSION:local}
|
||||
config-commit: ${DEPLOY_CONFIG_COMMIT:0000000000000000000000000000000000000000}
|
||||
|
||||
Reference in New Issue
Block a user