Sprinkle in some localization (IOS-235)

This commit is contained in:
Nathan Mattes 2024-04-01 20:20:35 +02:00
parent 1583ce0d9a
commit 26f3b5a7ce
5 changed files with 20 additions and 4 deletions

View File

@ -470,6 +470,10 @@
},
"home_timeline": {
"title": "Home",
"timeline_menu": {
"following": "Following",
"local_community": "Local"
},
"navigation_bar_state": {
"offline": "Offline",
"new_posts": "See new posts",

View File

@ -470,6 +470,10 @@
},
"home_timeline": {
"title": "Home",
"timeline_menu": {
"following": "Following",
"local_community": "Local"
},
"navigation_bar_state": {
"offline": "Offline",
"new_posts": "See new posts",

View File

@ -103,7 +103,7 @@ final class HomeTimelineViewController: UIViewController, NeedsDependency, Media
let refreshControl = RefreshControl()
private func generateTimeSelectorMenu() -> UIMenu {
let showFollowingAction = UIAction(title: "Following", image: .init(systemName: "house")) { [weak self] _ in
let showFollowingAction = UIAction(title: L10n.Scene.HomeTimeline.TimelineMenu.following, image: .init(systemName: "house")) { [weak self] _ in
guard let self, let viewModel = self.viewModel else { return }
viewModel.timelineContext = .following
@ -111,7 +111,7 @@ final class HomeTimelineViewController: UIViewController, NeedsDependency, Media
viewModel.loadLatestStateMachine.enter(HomeTimelineViewModel.LoadLatestState.ContextSwitch.self)
timelineSelectorButton.setAttributedTitle(
.init(string: "Following", attributes: [
.init(string: L10n.Scene.HomeTimeline.TimelineMenu.following, attributes: [
.font: UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 20, weight: .semibold))
]),
for: .normal)
@ -120,13 +120,13 @@ final class HomeTimelineViewController: UIViewController, NeedsDependency, Media
timelineSelectorButton.menu = generateTimeSelectorMenu()
}
let showLocalTimelineAction = UIAction(title: "Local", image: .init(systemName: "building.2")) { [weak self] action in
let showLocalTimelineAction = UIAction(title: L10n.Scene.HomeTimeline.TimelineMenu.localCommunity, image: .init(systemName: "building.2")) { [weak self] action in
guard let self, let viewModel = self.viewModel else { return }
viewModel.timelineContext = .localCommunity
viewModel.loadLatestStateMachine.enter(HomeTimelineViewModel.LoadLatestState.ContextSwitch.self)
timelineSelectorButton.setAttributedTitle(
.init(string: "Local", attributes: [
.init(string: L10n.Scene.HomeTimeline.TimelineMenu.localCommunity, attributes: [
.font: UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 20, weight: .semibold))
]),
for: .normal)

View File

@ -859,6 +859,12 @@ public enum L10n {
public static let logoLabel = L10n.tr("Localizable", "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel", fallback: "Mastodon")
}
}
public enum TimelineMenu {
/// Following
public static let following = L10n.tr("Localizable", "Scene.HomeTimeline.TimelineMenu.Following", fallback: "Following")
/// Local
public static let localCommunity = L10n.tr("Localizable", "Scene.HomeTimeline.TimelineMenu.LocalCommunity", fallback: "Local")
}
}
public enum Login {
/// Log you in on the server you created your account on.

View File

@ -304,6 +304,8 @@ uploaded to Mastodon.";
"Scene.HomeTimeline.NavigationBarState.Offline" = "Offline";
"Scene.HomeTimeline.NavigationBarState.Published" = "Published!";
"Scene.HomeTimeline.NavigationBarState.Publishing" = "Publishing post...";
"Scene.HomeTimeline.TimelineMenu.Following" = "Following";
"Scene.HomeTimeline.TimelineMenu.LocalCommunity" = "Local";
"Scene.HomeTimeline.Title" = "Home";
"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server";
"Scene.Login.Subtitle" = "Log you in on the server you created your account on.";