fix translating polls and spoilers (#4344)
The docs are wrong https://github.com/mastodon/documentation/pull/1423 🙄
This commit is contained in:
parent
ba495f41a5
commit
b022767ae6
2 changed files with 15 additions and 5 deletions
|
@ -14,12 +14,20 @@ data class MediaTranslation(
|
|||
*/
|
||||
data class Translation(
|
||||
val content: String,
|
||||
@SerializedName("spoiler_warning")
|
||||
val spoilerWarning: String?,
|
||||
val poll: List<String>?,
|
||||
@SerializedName("spoiler_text")
|
||||
val spoilerText: String?,
|
||||
val poll: TranslatedPoll?,
|
||||
@SerializedName("media_attachments")
|
||||
val mediaAttachments: List<MediaTranslation>,
|
||||
@SerializedName("detected_source_language")
|
||||
val detectedSourceLanguage: String,
|
||||
val provider: String,
|
||||
)
|
||||
|
||||
data class TranslatedPoll(
|
||||
val options: List<TranslatedPollOption>
|
||||
)
|
||||
|
||||
data class TranslatedPollOption(
|
||||
val title: String
|
||||
)
|
||||
|
|
|
@ -67,10 +67,12 @@ sealed class StatusViewData {
|
|||
actionable.attachments.translated { translation -> map { it.translated(translation) } }
|
||||
|
||||
val spoilerText: String =
|
||||
actionable.spoilerText.translated { translation -> translation.spoilerWarning ?: this }
|
||||
actionable.spoilerText.translated { translation -> translation.spoilerText ?: this }
|
||||
|
||||
val poll = actionable.poll?.translated { translation ->
|
||||
val translatedOptionsText = translation.poll ?: return@translated this
|
||||
val translatedOptionsText = translation.poll?.options?.map { option ->
|
||||
option.title
|
||||
} ?: return@translated this
|
||||
val translatedOptions = options.zip(translatedOptionsText) { option, translatedText ->
|
||||
option.copy(title = translatedText)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue