mirror of
https://github.com/LiveFastEatTrashRaccoon/RaccoonForLemmy.git
synced 2025-02-08 15:08:41 +01:00
chore: update l10n (#1138)
This commit is contained in:
parent
c2ef6484c0
commit
ba91d3a410
@ -84,6 +84,7 @@ class LanguageBottomSheet : Screen {
|
||||
Locales.TOK,
|
||||
Locales.TR,
|
||||
Locales.UK,
|
||||
Locales.ZH_CN,
|
||||
Locales.ZH_TW,
|
||||
Locales.ZH_HK,
|
||||
)
|
||||
|
@ -431,8 +431,9 @@ internal open class DefaultStrings : Strings {
|
||||
override val settingsItemAlternateMarkdownRendering = "Enable alternate Markdown rendering"
|
||||
override val settingsItemConfigureBottomNavigationBar = "Configure bottom navigation bar"
|
||||
override val selectTabNavigationTitle = "Select a section"
|
||||
override val messageAuthIssueSegue =
|
||||
"You could try one of the following actions:\n• force refresh\n• log in again\n• clear the application data"
|
||||
override val messageAuthIssueSegueHighlight1 = "force refresh"
|
||||
override val messageAuthIssueSegueHighlight2 = "log in again"
|
||||
override val messageAuthIssueSegue0 =
|
||||
"You could try one of the following actions:"
|
||||
override val messageAuthIssueSegue1 = "force refresh"
|
||||
override val messageAuthIssueSegue2 = "log in again"
|
||||
override val messageAuthIssueSegue3 = "clear the application data"
|
||||
}
|
||||
|
@ -106,7 +106,8 @@ internal val EsStrings =
|
||||
override val manageAccountsTitle = "Gestionar cuentas"
|
||||
override val manageSubscriptionsHeaderMulticommunities = "Multi-comunidades"
|
||||
override val manageSubscriptionsHeaderSubscriptions = "Suscripciones"
|
||||
override val messageEmptyComments = "Nada que ver por aquí.\n¡Sé el primero en comentar!"
|
||||
override val messageEmptyComments =
|
||||
"Aquí hay demasiado silencio.\n¿Te gustaría ser el primero en comentar?"
|
||||
override val messageEmptyList = "Ningún elemento para mostrar"
|
||||
override val messageErrorLoadingComments = "Error al cargar los comentarios."
|
||||
override val messageGenericError = "Error"
|
||||
@ -336,7 +337,7 @@ internal val EsStrings =
|
||||
override val moderatorZoneTitle = "Herramientas para moderadores"
|
||||
override val moderatorZoneActionContents = "Contenidos por moderar"
|
||||
override val messageAuthIssue =
|
||||
"Se produjo un error al obtener los datos del usuario, intente actualizar la pantalla"
|
||||
"Se ha producido un error al obtener los datos, posiblemente tu token ha caducado."
|
||||
override val banReasonPlaceholder = "Razón (opcional)"
|
||||
override val banItemPermanent = "Prohibición permanente"
|
||||
override val banItemRemoveData = "Eliminar datos"
|
||||
@ -445,4 +446,9 @@ internal val EsStrings =
|
||||
override val settingsItemConfigureBottomNavigationBar =
|
||||
"Configurar la barra de navegación inferior"
|
||||
override val selectTabNavigationTitle = "Seleccionar una sección"
|
||||
override val messageAuthIssueSegue0 =
|
||||
"Puedes intentar una de las siguientes acciones:"
|
||||
override val messageAuthIssueSegue1 = "forzar actualización"
|
||||
override val messageAuthIssueSegue2 = "volver a iniciar sesión"
|
||||
override val messageAuthIssueSegue3 = "borrar los datos de la aplicación"
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ internal val ItStrings =
|
||||
override val moderatorZoneTitle = "Strumenti per moderatori"
|
||||
override val moderatorZoneActionContents = "Contenuti da moderare"
|
||||
override val messageAuthIssue =
|
||||
"Si è verificato un errore nel recupero dei dati utente, fare refresh della schermata"
|
||||
"Si è verificato un errore nel recupero dei dati, è possibile che il token attuale sia scaduto."
|
||||
override val banReasonPlaceholder = "Motivazione (opzionale)"
|
||||
override val banItemPermanent = "Ban permanente"
|
||||
override val banItemRemoveData = "Rimuovi dati"
|
||||
@ -442,4 +442,12 @@ internal val ItStrings =
|
||||
"Se un post ha un URL, apri pagina web al click sull\'immagine"
|
||||
override val settingsItemAlternateMarkdownRendering =
|
||||
"Abilita rendering Markdown alternativo"
|
||||
override val selectTabNavigationTitle = "Seleziona una sezione"
|
||||
override val settingsItemConfigureBottomNavigationBar =
|
||||
"Configura barra di navigazione inferiore"
|
||||
override val messageAuthIssueSegue0 =
|
||||
"Si consiglia di intraprendere una delle seguenti azioni:"
|
||||
override val messageAuthIssueSegue1 = "forzare l\'aggiornamento"
|
||||
override val messageAuthIssueSegue2 = "effettuare nuovamente l\'accesso"
|
||||
override val messageAuthIssueSegue3 = " cancellare i dati dell\'applicazione"
|
||||
}
|
||||
|
@ -429,9 +429,10 @@ interface Strings {
|
||||
val settingsItemAlternateMarkdownRendering: String
|
||||
val settingsItemConfigureBottomNavigationBar: String
|
||||
val selectTabNavigationTitle: String
|
||||
val messageAuthIssueSegue: String
|
||||
val messageAuthIssueSegueHighlight1: String
|
||||
val messageAuthIssueSegueHighlight2: String
|
||||
val messageAuthIssueSegue0: String
|
||||
val messageAuthIssueSegue1: String
|
||||
val messageAuthIssueSegue2: String
|
||||
val messageAuthIssueSegue3: String
|
||||
}
|
||||
|
||||
object Locales {
|
||||
@ -470,6 +471,7 @@ object Locales {
|
||||
const val NB = "nb"
|
||||
const val NN = "nn"
|
||||
const val MT = "mt"
|
||||
const val ZH_CN = "zh_CN"
|
||||
const val ZH_TW = "zh_TW"
|
||||
const val ZH_HK = "zh_HK"
|
||||
}
|
||||
@ -511,6 +513,7 @@ internal val localizableStrings: Map<LanguageTag, Strings> =
|
||||
Locales.TOK to TokStrings,
|
||||
Locales.TR to TrStrings,
|
||||
Locales.UK to UkStrings,
|
||||
Locales.ZH_CN to ZhCnStrings,
|
||||
Locales.ZH_HK to ZhHkStrings,
|
||||
Locales.ZH_TW to ZhTwStrings,
|
||||
)
|
||||
|
@ -335,7 +335,7 @@ internal val TokStrings =
|
||||
override val moderatorZoneTitle = "ilo tawa jan lawa"
|
||||
override val moderatorZoneActionContents = "ijo pi kulupu lawa"
|
||||
override val messageAuthIssue =
|
||||
"kama sona ijo la, pakala wan li lon. o lukin open e lipu ni lon tenpo nanpa tu"
|
||||
"kama sona ijo la, pakala li lon. ken la, toki lawa sina li weka."
|
||||
override val banReasonPlaceholder = "Tan (sina wile la)"
|
||||
override val banItemPermanent = "lon tenpo ale"
|
||||
override val banItemRemoveData = "o weka e sona"
|
||||
@ -427,4 +427,16 @@ internal val TokStrings =
|
||||
"o kepeken e sitelen jan tawa sitelen lili pi linja anpa"
|
||||
override val settingsItemRandomThemeColor = "o ante e kule lon tempo ale"
|
||||
override val settingsSubtitleRandomThemeColor = "open e ilo nanpa ni la, o ante e kule"
|
||||
override val settingsItemOpenPostWebPageOnImageClick =
|
||||
"sina luka e sitelen lipu la, o open e linluwi"
|
||||
override val settingsSubtitleOpenPostWebPageOnImageClick =
|
||||
"lipu li jo e sitelen wan la, luka e sitelen la, o open e linluwi"
|
||||
override val settingsItemAlternateMarkdownRendering =
|
||||
"o kepeken e nanpa ante pi ilo Makadon"
|
||||
override val settingsItemConfigureBottomNavigationBar = "o ante e lukin pi linja anpa"
|
||||
override val selectTabNavigationTitle = "o anu e ijo wan"
|
||||
override val messageAuthIssueSegue0 = "sina ken lukin e ni:"
|
||||
override val messageAuthIssueSegue1 = "o kama sona lon tenpo nanpa tu"
|
||||
override val messageAuthIssueSegue2 = "o tawa insa lon tenpo nanpa tu"
|
||||
override val messageAuthIssueSegue3 = "o weka e sona pi ilo nanpa ni"
|
||||
}
|
||||
|
@ -0,0 +1,124 @@
|
||||
package com.github.diegoberaldin.raccoonforlemmy.core.l10n.messages
|
||||
|
||||
internal val ZhCnStrings =
|
||||
object : DefaultStrings() {
|
||||
override val actionBackToTop = "回到顶部"
|
||||
override val actionChat = "发送消息"
|
||||
override val actionClearRead = "清除已读"
|
||||
override val actionCreatePost = "发新帖"
|
||||
override val actionReply = "回复"
|
||||
override val actionDeactivateZombieMode = "关闭僵尸模式"
|
||||
override val buttonClose = "关闭"
|
||||
override val buttonConfirm = "确定"
|
||||
override val buttonLoad = "加载"
|
||||
override val buttonReset = "重设"
|
||||
override val buttonRetry = "重试"
|
||||
override val commentActionDelete = "删除"
|
||||
override val communityDetailBlock = "屏蔽"
|
||||
override val communityDetailBlockInstance = "屏蔽实例"
|
||||
override val communityDetailInfo = "社区信息"
|
||||
override val communityInfoDailyActiveUsers = "活跃用户(日)"
|
||||
override val communityInfoMonthlyActiveUsers = "活跃用户(月)"
|
||||
override val communityInfoPosts = "帖子"
|
||||
override val communityInfoSubscribers = "订阅者"
|
||||
override val communityInfoWeeklyActiveUsers = "活跃用户(周)"
|
||||
override val createCommentBody = "评论内容"
|
||||
override val createCommentTitle = "新评论"
|
||||
override val createPostBody = "帖子内容"
|
||||
override val createPostCommunity = "社区"
|
||||
override val createPostCrossPostText = "重发自:"
|
||||
override val createPostName = "帖子标题"
|
||||
override val createPostNsfw = "工作场所不宜"
|
||||
override val createPostTabEditor = "编辑器"
|
||||
override val createPostTabPreview = "预览"
|
||||
override val createPostTitle = "新帖子"
|
||||
override val createPostUrl = "网址"
|
||||
override val createReportPlaceholder = "举报内容(可选)"
|
||||
override val createReportTitleComment = "举报评论"
|
||||
override val createReportTitlePost = "举报帖子"
|
||||
override val dialogRawContentText = "文本"
|
||||
override val dialogRawContentTitle = "标题"
|
||||
override val dialogRawContentUrl = "网址"
|
||||
override val dialogTitleChangeInstance = "更改实例"
|
||||
override val dialogTitleRawContent = "原始内容"
|
||||
override val dialogTitleSelectCommunity = "选择社区"
|
||||
override val editPostTitle = "编辑帖子"
|
||||
override val exploreResultTypeAll = "全部"
|
||||
override val exploreResultTypeComments = "评论"
|
||||
override val exploreResultTypeCommunities = "社区"
|
||||
override val exploreResultTypePosts = "帖子"
|
||||
override val exploreResultTypeUsers = "用户"
|
||||
override val exploreSearchPlaceholder = "搜索"
|
||||
override val homeInstanceVia = "通过"
|
||||
override val homeListingTitle = "信息流"
|
||||
override val homeListingTypeAll = "全部"
|
||||
override val homeListingTypeLocal = "本地"
|
||||
override val homeListingTypeSubscribed = "已订阅"
|
||||
override val homeSortTitle = "排序方式"
|
||||
override val homeSortTypeActive = "活跃"
|
||||
override val homeSortTypeControversial = "有争议"
|
||||
override val homeSortTypeHot = "热门"
|
||||
override val homeSortTypeMostComments = "最多评论"
|
||||
override val homeSortTypeOld = "旧的"
|
||||
override val homeSortTypeScaled = "按活跃比例"
|
||||
override val homeSortTypeTop = "最热门"
|
||||
override val homeSortTypeTop12Hours = "12 小时内最热门"
|
||||
override val homeSortTypeTop12HoursShort = "12 小时"
|
||||
override val homeSortTypeTop6Hours = "6 小时内最热门"
|
||||
override val homeSortTypeTop6HoursShort = "6 小时"
|
||||
override val homeSortTypeTopDayShort = "日"
|
||||
override val homeSortTypeTopMonth = "本月最热门"
|
||||
override val homeSortTypeTopMonthShort = "月"
|
||||
override val homeSortTypeTopWeek = "本周最热门"
|
||||
override val homeSortTypeTopWeekShort = "周"
|
||||
override val homeSortTypeTopYear = "本年度最热门"
|
||||
override val homeSortTypeTopYearShort = "年"
|
||||
override val inboxChatMessage = "消息"
|
||||
override val inboxItemMention = "在此处提到你:"
|
||||
override val inboxItemReplyComment = "在此处回复了你的评论:"
|
||||
override val inboxItemReplyPost = "在此处回复了你的帖子:"
|
||||
override val inboxListingTypeAll = "全部"
|
||||
override val inboxListingTypeTitle = "收件箱类型"
|
||||
override val inboxListingTypeUnread = "未读"
|
||||
override val inboxNotLoggedMessage =
|
||||
"你尚未登录。\n请在个人资料页添加一个账户,以查看你的收件箱。"
|
||||
override val inboxSectionMentions = "提及"
|
||||
override val inboxSectionMessages = "消息"
|
||||
override val inboxSectionReplies = "回复"
|
||||
override val instanceDetailCommunities = "社区"
|
||||
override val lang = "zh_CN"
|
||||
override val loginFieldInstanceName = "实例名称"
|
||||
override val loginFieldLabelOptional = "(可选)"
|
||||
override val instanceDetailTitle = "实例:"
|
||||
override val loginFieldPassword = "密码"
|
||||
override val loginFieldToken = "TOTP 两步认证代码"
|
||||
override val loginFieldUserName = "用户名(或电子邮件)"
|
||||
override val manageAccountsButtonAdd = "添加账户"
|
||||
override val manageAccountsTitle = "管理账户"
|
||||
override val manageSubscriptionsHeaderMulticommunities = "多社区"
|
||||
override val manageSubscriptionsHeaderSubscriptions = "订阅"
|
||||
override val messageEmptyComments = "这里仍然静悄悄。\n你要做第一个评论的人吗?"
|
||||
override val messageEmptyList = "没有可显示的东西"
|
||||
override val messageErrorLoadingComments = "载入评论时出错。"
|
||||
override val messageMissingField = "栏位尚未填写"
|
||||
override val messageOperationSuccessful = "操作成功完成"
|
||||
override val multiCommunityEditorCommunities = "社区"
|
||||
override val multiCommunityEditorIcon = "图标"
|
||||
override val multiCommunityEditorName = "名称"
|
||||
override val multiCommunityEditorTitle = "多社区编辑器"
|
||||
override val navigationDrawerAnonymous = "匿名"
|
||||
override val navigationDrawerTitleBookmarks = "书签"
|
||||
override val navigationDrawerTitleSubscriptions = "管理订阅"
|
||||
override val actionActivateZombieMode = "开启僵尸模式"
|
||||
override val communityInfoComments = "评论"
|
||||
override val communityDetailInstanceInfo = "实例详情"
|
||||
override val homeSortTypeNew = "新发布"
|
||||
override val editCommentTitle = "编辑评论"
|
||||
override val homeSortTypeNewComments = "新评论"
|
||||
override val homeSortTypeTopDay = "本日最热门"
|
||||
override val homeSortTypeTopHour = "小时最热门"
|
||||
override val homeSortTypeTopHourShort = "1 小时"
|
||||
override val messageImageLoadingError = "图片载入出错"
|
||||
override val messageGenericError = "常规错误"
|
||||
override val messageInvalidField = "无效字段"
|
||||
}
|
@ -49,6 +49,7 @@ fun String.toLanguageName() =
|
||||
Locales.TOK -> "toki pona"
|
||||
Locales.TR -> "Türkçe"
|
||||
Locales.UK -> "Українська"
|
||||
Locales.ZH_CN -> "中文"
|
||||
Locales.ZH_TW -> "正體中文"
|
||||
Locales.ZH_HK -> "廣東話"
|
||||
else -> "English"
|
||||
@ -92,6 +93,7 @@ fun String.toLanguageFlag(): AnnotatedString =
|
||||
Locales.TOK -> "🦝️"
|
||||
Locales.TR -> "🇹🇷"
|
||||
Locales.UK -> "🇺🇦"
|
||||
Locales.ZH_CN -> "🇨🇳"
|
||||
Locales.ZH_TW -> "🇹🇼"
|
||||
Locales.ZH_HK -> "🇭🇰"
|
||||
else -> ""
|
||||
|
@ -76,5 +76,11 @@
|
||||
"avatar": "https://avatars.githubusercontent.com/u/8885837?v=4",
|
||||
"subtitle": "Irish translation",
|
||||
"url": "https://github.com/aindriu80"
|
||||
},
|
||||
{
|
||||
"title": "Monstorix",
|
||||
"avatar": "https://hosted.weblate.org/avatar/128/monstorix.png",
|
||||
"subtitle": "Simplified Chinese translation",
|
||||
"url": "https://hosted.weblate.org/user/monstorix"
|
||||
}
|
||||
]
|
||||
|
@ -71,6 +71,9 @@ def main():
|
||||
if lang_code == "en" and len(country_code) == 0:
|
||||
dest_file = "../core/l10n/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/l10n/messages/DefaultStrings.kt"
|
||||
else:
|
||||
# add support for formats like zh-rCN
|
||||
if country_code.startswith("-r"):
|
||||
country_code = country_code[2:]
|
||||
dest_file = "../core/l10n/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/l10n/messages/{0}{1}Strings.kt".format(lang_code.capitalize(), country_code.capitalize())
|
||||
convert(lang_code, country_code, source_file, dest_file)
|
||||
|
||||
|
@ -165,45 +165,33 @@ object ProfileLoggedScreen : Tab {
|
||||
|
||||
val annotatedString =
|
||||
buildAnnotatedString {
|
||||
val text = LocalStrings.current.messageAuthIssueSegue
|
||||
val span1 =
|
||||
LocalStrings.current.messageAuthIssueSegueHighlight1
|
||||
val span2 =
|
||||
LocalStrings.current.messageAuthIssueSegueHighlight2
|
||||
val linkStyle =
|
||||
SpanStyle(
|
||||
color = MaterialTheme.colorScheme.primary,
|
||||
textDecoration = TextDecoration.Underline,
|
||||
)
|
||||
withStyle(SpanStyle(color = MaterialTheme.colorScheme.onBackground)) {
|
||||
append(text)
|
||||
val span1Start = text.indexOf(span1)
|
||||
val span1End = span1Start + span1.length
|
||||
addStringAnnotation(
|
||||
tag = AuthIssueAnnotations.ANNOTATION_ACTION,
|
||||
annotation = AuthIssueAnnotations.ACTION_REFRESH,
|
||||
start = span1Start,
|
||||
end = span1End,
|
||||
append(LocalStrings.current.messageAuthIssueSegue0)
|
||||
append("\n• ")
|
||||
pushStringAnnotation(
|
||||
AuthIssueAnnotations.ANNOTATION_ACTION,
|
||||
AuthIssueAnnotations.ACTION_REFRESH,
|
||||
)
|
||||
addStyle(
|
||||
SpanStyle(
|
||||
color = MaterialTheme.colorScheme.primary,
|
||||
textDecoration = TextDecoration.Underline,
|
||||
),
|
||||
span1Start,
|
||||
span1End,
|
||||
)
|
||||
val span2Start = text.indexOf(span2)
|
||||
val span2End = span2Start + span2.length
|
||||
addStringAnnotation(
|
||||
tag = AuthIssueAnnotations.ANNOTATION_ACTION,
|
||||
annotation = AuthIssueAnnotations.ACTION_LOGIN,
|
||||
start = span2Start,
|
||||
end = span2End,
|
||||
)
|
||||
addStyle(
|
||||
SpanStyle(
|
||||
color = MaterialTheme.colorScheme.primary,
|
||||
textDecoration = TextDecoration.Underline,
|
||||
),
|
||||
span2Start,
|
||||
span2End,
|
||||
withStyle(linkStyle) {
|
||||
append(LocalStrings.current.messageAuthIssueSegue1)
|
||||
}
|
||||
pop()
|
||||
append("\n• ")
|
||||
pushStringAnnotation(
|
||||
AuthIssueAnnotations.ANNOTATION_ACTION,
|
||||
AuthIssueAnnotations.ACTION_LOGIN,
|
||||
)
|
||||
withStyle(linkStyle) {
|
||||
append(LocalStrings.current.messageAuthIssueSegue2)
|
||||
}
|
||||
pop()
|
||||
append("\n• ")
|
||||
append(LocalStrings.current.messageAuthIssueSegue3)
|
||||
}
|
||||
}
|
||||
Box(
|
||||
|
Loading…
x
Reference in New Issue
Block a user