Fix URL label translation and formatting

- Add localization keys for "open_url" and "open_original_page" in EN/DE
- Create URLUtil.openUrlLabel() helper function for consistent formatting
- Replace incorrect string concatenation with proper localized labels
- Fix: "example.comopen" now displays as "Open example.com" (EN) or "example.com öffnen" (DE)
- Update BookmarkDetailLegacyView, BookmarkDetailView2, and BookmarkCardView
This commit is contained in:
Ilyas Hallak 2025-10-30 21:14:40 +01:00
parent cdfa6dc4c5
commit db3cbf41d4
6 changed files with 19 additions and 7 deletions

View File

@ -105,6 +105,8 @@
"More" = "Mehr";
"New Bookmark" = "Neues Lesezeichen";
"No articles in the queue" = "Keine Artikel in der Warteschlange";
"open_url" = "%@ öffnen";
"open_original_page" = "Originalseite öffnen";
"No bookmarks" = "Keine Lesezeichen";
"No bookmarks found in %@." = "Keine Lesezeichen in %@ gefunden.";
"No bookmarks found." = "Keine Lesezeichen gefunden.";

View File

@ -101,6 +101,8 @@
"More" = "More";
"New Bookmark" = "New Bookmark";
"No articles in the queue" = "No articles in the queue";
"open_url" = "Open %@";
"open_original_page" = "Open original page";
"No bookmarks" = "No bookmarks";
"No bookmarks found in %@." = "No bookmarks found in %@.";
"No bookmarks found." = "No bookmarks found.";

View File

@ -126,7 +126,7 @@ struct BookmarkDetailLegacyView: View {
}) {
HStack {
Image(systemName: "safari")
Text((URLUtil.extractDomain(from: "open " + viewModel.bookmarkDetail.url) ?? "Open original page"))
Text(URLUtil.openUrlLabel(for: viewModel.bookmarkDetail.url))
}
.font(.title3.bold())
.frame(maxWidth: .infinity)
@ -402,7 +402,7 @@ struct BookmarkDetailLegacyView: View {
}) {
HStack {
Image(systemName: "safari")
Text((URLUtil.extractDomain(from: viewModel.bookmarkDetail.url) ?? "Open original page") + "open")
Text(URLUtil.openUrlLabel(for: viewModel.bookmarkDetail.url))
}
.font(.title3.bold())
.frame(maxWidth: .infinity)
@ -456,7 +456,7 @@ struct BookmarkDetailLegacyView: View {
Button(action: {
URLUtil.open(url: viewModel.bookmarkDetail.url, urlOpener: appSettings.urlOpener)
}) {
Text((URLUtil.extractDomain(from: viewModel.bookmarkDetail.url) ?? "Open original page") + " open")
Text(URLUtil.openUrlLabel(for: viewModel.bookmarkDetail.url))
.font(.subheadline)
.foregroundColor(.secondary)
}

View File

@ -411,7 +411,7 @@ struct BookmarkDetailView2: View {
Button(action: {
URLUtil.open(url: viewModel.bookmarkDetail.url, urlOpener: appSettings.urlOpener)
}) {
Text((URLUtil.extractDomain(from: viewModel.bookmarkDetail.url) ?? "Open original page") + " open")
Text(URLUtil.openUrlLabel(for: viewModel.bookmarkDetail.url))
.font(.subheadline)
.foregroundColor(.secondary)
}
@ -501,7 +501,7 @@ struct BookmarkDetailView2: View {
}) {
HStack {
Image(systemName: "safari")
Text((URLUtil.extractDomain(from: "open " + viewModel.bookmarkDetail.url) ?? "Open original page"))
Text(URLUtil.openUrlLabel(for: viewModel.bookmarkDetail.url))
}
.font(.title3.bold())
.frame(maxWidth: .infinity)

View File

@ -254,7 +254,7 @@ struct BookmarkCardView: View {
}
}
HStack {
Label((URLUtil.extractDomain(from: bookmark.url) ?? "Original Site") + " open", systemImage: "safari")
Label(URLUtil.openUrlLabel(for: bookmark.url), systemImage: "safari")
.onTapGesture {
URLUtil.open(url: bookmark.url, urlOpener: appSettings.urlOpener)
}
@ -335,7 +335,7 @@ struct BookmarkCardView: View {
}
}
HStack {
Label((URLUtil.extractDomain(from: bookmark.url) ?? "Original Site") + " open", systemImage: "safari")
Label(URLUtil.openUrlLabel(for: bookmark.url), systemImage: "safari")
.onTapGesture {
URLUtil.open(url: bookmark.url, urlOpener: appSettings.urlOpener)
}

View File

@ -44,4 +44,12 @@ struct URLUtil {
guard let url = URL(string: urlString), let host = url.host else { return nil }
return host.replacingOccurrences(of: "www.", with: "")
}
static func openUrlLabel(for urlString: String) -> String {
if let domain = extractDomain(from: urlString) {
return String(format: "open_url".localized, domain)
} else {
return "open_original_page".localized
}
}
}