Skip to content

Commit

Permalink
[1.109.*] Pre-release merge (#412)
Browse files Browse the repository at this point in the history
  • Loading branch information
tramline-github[bot] authored Mar 29, 2024
2 parents b0e4659 + 583d170 commit 1eab84d
Show file tree
Hide file tree
Showing 3 changed files with 187 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
package dev.sasikanth.rss.reader.resources.strings

import cafe.adriel.lyricist.LyricistStrings

@LyricistStrings(languageTag = Locales.TR, default = false)
val TrTwineStrings =
TwineStrings(
appName = "Twine",
postSourceUnknown = "Bilinmiyor",
buttonAll = "TÜMÜ",
buttonAddFeed = "İçerik ekle",
buttonGoBack = "Geri dön",
buttonCancel = "İptal",
buttonAdd = "Ekle",
buttonChange = "Bitti",
feedEntryHint = "İçerik bağlantısını gir",
share = "Paylaş",
scrollToTop = "Yukarı kaydır",
noFeeds = "İçerik yok!",
swipeUpGetStarted = "Başlamak için yukarı kaydırın",
feedNameHint = "Yayın adı",
editFeedName = "Düzenle",
errorUnsupportedFeed = "Bağlantı herhangi bir RSS/Atom içeriği içermiyor.",
errorMalformedXml = "Bağlantı geçerli RSS/Atom beslemesi içermiyor",
errorRequestTimeout = "Zaman aşımı, ağ bağlantınızı kontrol edin ve daha sonra tekrar deneyin",
errorFeedNotFound = { "($it): Verilen bağlantıda içerik bulunamadı." },
errorServer = {
"($it): Sunucu hatası. Lütfen daha sonra tekrar deneyin veya web sitesi yöneticisiyle iletişime geçin."
},
errorTooManyRedirects =
"Verilen URL'de çok fazla yönlendirme var. Lütfen farklı bir URL kullanın.",
errorUnAuthorized = { "($it): Bu bağlantıdaki içeriğe erişim yetkiniz bulunmamaktadır." },
errorUnknownHttpStatus = { "HTTP koduna sahip içerik yüklenemedi: ($it)" },
postsSearchHint = "Gönderileri ara",
searchSortNewest = "En Yeni",
searchSortNewestFirst = "Önce en yeni",
searchSortOldest = "En eski",
searchSortOldestFirst = "Önce en eski",
searchResultsCount = { count ->
when (count) {
1 -> "$count sonuç"
else -> "$count sonuçlar"
}
},
bookmark = "Yer İşareti",
bookmarks = "Yer İşaretleri",
bookmarksPlaceholder = "Yer imlerine eklenen gönderiler burada görünecektir 🔖",
settings = "Ayarlar",
moreMenuOptions = "Daha fazla menü seçeneği",
settingsHeaderBehaviour = "Davranış",
settingsHeaderFeedback = "Geri bildirim & hata raporları",
settingsHeaderOpml = "OPML",
settingsBrowserTypeTitle = "Uygulama içi tarayıcıyı kullan",
settingsBrowserTypeSubtitle =
"Kapatıldığında, bağlantılar varsayılan tarayıcınızda açılacaktır.",
settingsEnableBlurTitle = "Ana sayfada bulanıklaştırmayı etkinleştir",
settingsEnableBlurSubtitle =
"Devre dışı bırakıldığında, bulanık görüntüler yerine gradyanları görüntüler. Performansı artırabilir.",
settingsShowUnreadCountTitle = "Okunmamış gönderi sayısını göster",
settingsShowUnreadCountSubtitle = "İçerik seçimlerinin üzerinde bir baloncuk görüntüler",
settingsReportIssue = "Sorun bildir",
settingsVersion = { versionName, versionCode -> "$versionName ($versionCode)" },
settingsAboutTitle = "Twine hakkında",
settingsAboutSubtitle = "Yazarları tanıyın",
settingsOpmlImport = "İçe aktar",
settingsOpmlExport = "Dışa aktar",
settingsOpmlImporting = { progress -> "İçe aktarılıyor.. $progress%" },
settingsOpmlExporting = { progress -> "Dışa aktarılıyor.. $progress%" },
settingsOpmlCancel = "İptal",
settingsPostsDeletionPeriodTitle = "Okunmuş gönderileri sil",
settingsPostsDeletionPeriodOneWeek = "1 hafta",
settingsPostsDeletionPeriodOneMonth = "1 ay",
settingsPostsDeletionPeriodThreeMonths = "3 ay",
settingsPostsDeletionPeriodSixMonths = "6 ay",
settingsPostsDeletionPeriodOneYear = "1 yıl",
settingsShowReaderViewTitle = "Okuyucu görünümünü etkinleştir",
settingsShowReaderViewSubtitle =
"Makaleler basitleştirilmiş, okunması kolay bir görünümde gösterilecek",
feeds = "İçerikler",
editFeeds = "İçerikleri düzenle",
comments = "Yorumlar",
about = "Hakkında",
aboutRoleDeveloper = "Geliştirici",
aboutRoleDesigner = "Tasarımcı",
aboutSocialTwitter = "Twitter",
aboutSocialThreads = "Threads",
aboutSocialGitHub = "GitHub",
aboutSocialWebsite = "Web sitesi",
feedsSearchHint = "İçerikleri ara",
allFeeds = "Tüm içerikler",
pinnedFeeds = "Sabitlenmiş",
openWebsite = "Web sitesini aç",
markAllAsRead = "Tümünü okundu olarak işaretle",
noNewPosts = "Yeni içerik yok",
noNewPostsSubtitle =
"Daha sonra tekrar kontrol edin veya yeni içeriği şimdi kontrol etmek için aşağı çekin",
postsAll = "Tümü",
postsUnread = "Okunmamış",
postsToday = "Bugün",
openSource = "Açık kaynağı destekleyin",
openSourceDesc =
"Twine açık kaynaklı bir projedir ve ücretsiz olarak kullanılabilir. Bu projeyi nasıl destekleyeceğiniz hakkında daha fazla bilgi edinmek için buraya tıklayın veya Twine'ın veya diğer popüler projelerimden bazılarının kaynak kodunu görüntüleyin.",
markAsRead = "Okundu olarak işaretle",
markAsUnRead = "Okunmamış olarak işaretle",
removeFeed = "İçeriği kaldır",
delete = "Sil",
removeFeedDesc = { "\"${it}\"'i kaldırmak istiyor musunuz?" },
alwaysFetchSourceArticle = "Okuyucu görünümünde her zaman tam makaleleri getirin",
getFeedInfo = "Bilgi al",
newTag = "Yeni etiket",
tags = "Etiketler",
addTagTitle = "Etiket ekle",
tagNameHint = "Ad",
tagSaveButton = "Kaydet",
deleteTagTitle = "Etiket silinsin mi?",
deleteTagDesc =
"Etiket silinecek ve atanan tüm içeriklerinizden kaldırılacaktır. İçerikleriniz silinmeyecek",
feedOptionShare = "Paylaş",
feedOptionWebsite = "Web sitesi",
feedOptionRemove = "Kaldır",
feedTitleHint = "Başlık",
noUnreadPostsInFeed = "Okunmamış makale yok",
numberOfUnreadPostsInFeed = { numberOfUnreadPosts ->
when (numberOfUnreadPosts) {
1L -> "$numberOfUnreadPosts okunmamış makale"
else -> "$numberOfUnreadPosts okunmamış makaleler"
}
}
)
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ data class TwineStrings(
object Locales {
const val EN = "en"
const val DE = "de"
const val TR = "tr"
}

expect fun String.fmt(vararg args: Any?): String
Original file line number Diff line number Diff line change
Expand Up @@ -92,46 +92,13 @@ internal fun PostMetadata(
.then(modifier),
verticalAlignment = Alignment.CenterVertically
) {
Box(modifier = Modifier.weight(1f)) {
val postSourceClickableModifier =
if (config.enablePostSource) {
Modifier.clip(RoundedCornerShape(50))
.clickable(onClick = onSourceClick)
.background(color = Color.White.copy(alpha = 0.12f))
.padding(vertical = 4.dp)
.padding(start = 8.dp, end = 12.dp)
} else {
Modifier
}

val postSourceTextColor =
if (config.enablePostSource) {
Color.White
} else {
AppTheme.colorScheme.onSurfaceVariant
}

Row(modifier = postSourceClickableModifier) {
if (!postRead && config.showUnreadIndicator) {
Box(
Modifier.requiredSize(6.dp)
.background(AppTheme.colorScheme.tintedForeground, CircleShape)
.align(Alignment.CenterVertically)
)
Spacer(Modifier.requiredWidth(8.dp))
} else {
Spacer(Modifier.requiredWidth(4.dp))
}

Text(
style = MaterialTheme.typography.bodySmall,
maxLines = 1,
text = feedName.capitalize(Locale.current),
color = postSourceTextColor,
overflow = TextOverflow.Ellipsis
)
}
}
PostSourcePill(
modifier = Modifier.weight(1f),
config = config,
onSourceClick = onSourceClick,
postRead = postRead,
feedName = feedName
)

Text(
modifier = Modifier.padding(horizontal = 8.dp),
Expand All @@ -155,6 +122,56 @@ internal fun PostMetadata(
}
}

@Composable
private fun PostSourcePill(
config: PostMetadataConfig,
onSourceClick: () -> Unit,
postRead: Boolean,
feedName: String,
modifier: Modifier = Modifier
) {
Box(modifier = modifier) {
val postSourceClickableModifier =
if (config.enablePostSource) {
Modifier.clip(RoundedCornerShape(50))
.clickable(onClick = onSourceClick)
.background(color = Color.White.copy(alpha = 0.12f))
.padding(vertical = 4.dp)
.padding(start = 8.dp, end = 12.dp)
} else {
Modifier
}

val postSourceTextColor =
if (config.enablePostSource) {
Color.White
} else {
AppTheme.colorScheme.onSurfaceVariant
}

Row(modifier = postSourceClickableModifier, verticalAlignment = Alignment.CenterVertically) {
if (!postRead && config.showUnreadIndicator) {
Box(
Modifier.requiredSize(6.dp)
.background(AppTheme.colorScheme.tintedForeground, CircleShape)
.align(Alignment.CenterVertically)
)
Spacer(Modifier.requiredWidth(8.dp))
} else {
Spacer(Modifier.requiredWidth(4.dp))
}

Text(
style = MaterialTheme.typography.bodySmall,
maxLines = 1,
text = feedName.capitalize(Locale.current),
color = postSourceTextColor,
overflow = TextOverflow.Ellipsis
)
}
}
}

@Composable
private fun PostOptionsButtonRow(
postLink: String,
Expand Down

0 comments on commit 1eab84d

Please sign in to comment.