From c2ae8037387a44a8b00d9f6f71da5692fb459dfe Mon Sep 17 00:00:00 2001 From: Daniel W Date: Tue, 13 Dec 2022 17:48:21 +0100 Subject: [PATCH] =?UTF-8?q?Differentiate=20between=20=E2=80=9CMy=20followe?= =?UTF-8?q?rs=E2=80=9D=20and=20other=20accounts=20followers=20for=20i18n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some languages, like german, could profit from the distinction whether a label is shown in the context of the current user's profile page or a different user's profile page. This way we can use more clear and fitting translations. --- .../android/fragments/ProfileFragment.java | 9 ++++--- .../account_list/FollowerListFragment.java | 5 +++- .../account_list/FollowingListFragment.java | 5 +++- mastodon/src/main/res/values/strings.xml | 24 +++++++++++++++++++ 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java index 53ee3d297e..376eed8b56 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -460,9 +460,12 @@ private void bindHeaderView(){ followersCount.setText(UiUtils.abbreviateNumber(account.followersCount)); followingCount.setText(UiUtils.abbreviateNumber(account.followingCount)); postsCount.setText(UiUtils.abbreviateNumber(account.statusesCount)); - followersLabel.setText(getResources().getQuantityString(R.plurals.followers, (int)Math.min(999, account.followersCount))); - followingLabel.setText(getResources().getQuantityString(R.plurals.following, (int)Math.min(999, account.followingCount))); - postsLabel.setText(getResources().getQuantityString(R.plurals.posts, (int)Math.min(999, account.statusesCount))); + final int followingResId = isSelf ? R.plurals.my_following : R.plurals.following; + final int followersResId = isSelf ? R.plurals.my_followers : R.plurals.followers; + final int postsResId = isSelf ? R.plurals.my_posts : R.plurals.posts; + followersLabel.setText(getResources().getQuantityString(followersResId, (int)Math.min(999, account.followersCount))); + followingLabel.setText(getResources().getQuantityString(followingResId, (int)Math.min(999, account.followingCount))); + postsLabel.setText(getResources().getQuantityString(postsResId, (int)Math.min(999, account.statusesCount))); UiUtils.loadCustomEmojiInTextView(name); UiUtils.loadCustomEmojiInTextView(bio); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowerListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowerListFragment.java index 1a7b3c8e25..b4629f02b1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowerListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowerListFragment.java @@ -5,6 +5,7 @@ import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.HeaderPaginationRequest; import org.joinmastodon.android.api.requests.accounts.GetAccountFollowers; +import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.model.Account; public class FollowerListFragment extends AccountRelatedAccountListFragment{ @@ -12,7 +13,9 @@ public class FollowerListFragment extends AccountRelatedAccountListFragment{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); - setSubtitle(getResources().getQuantityString(R.plurals.x_followers, (int)(account.followersCount%1000), account.followersCount)); + final boolean isSelf = AccountSessionManager.getInstance().isSelf(accountID, account); + final int followersCountResId = isSelf ? R.plurals.my_x_followers : R.plurals.x_followers; + setSubtitle(getResources().getQuantityString(followersCountResId, (int)(account.followersCount%1000), account.followersCount)); } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowingListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowingListFragment.java index 83351e7511..490713cb5d 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowingListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/FollowingListFragment.java @@ -5,6 +5,7 @@ import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.HeaderPaginationRequest; import org.joinmastodon.android.api.requests.accounts.GetAccountFollowing; +import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.model.Account; public class FollowingListFragment extends AccountRelatedAccountListFragment{ @@ -12,7 +13,9 @@ public class FollowingListFragment extends AccountRelatedAccountListFragment{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); - setSubtitle(getResources().getQuantityString(R.plurals.x_following, (int)(account.followingCount%1000), account.followingCount)); + final boolean isSelf = AccountSessionManager.getInstance().isSelf(accountID, account); + final int followingCountResId = isSelf ? R.plurals.my_x_following : R.plurals.x_following; + setSubtitle(getResources().getQuantityString(followingCountResId, (int)(account.followingCount%1000), account.followingCount)); } @Override diff --git a/mastodon/src/main/res/values/strings.xml b/mastodon/src/main/res/values/strings.xml index aeed6dfedf..9f4b7cb601 100644 --- a/mastodon/src/main/res/values/strings.xml +++ b/mastodon/src/main/res/values/strings.xml @@ -38,14 +38,29 @@ follower followers + + follower + followers + + following following + + following + following + + post posts + + post + posts + + Posts Posts and Replies Media @@ -325,10 +340,19 @@ %,d follower %,d followers + + %,d follower + %,d followers + + %,d following %,d following + + %,d following + %,d following + %,d favorite %,d favorites