Add pluralized string (WIP 1)

This commit is contained in:
Julien Humbert 2023-08-23 09:05:04 +09:00
parent f14ebe9a0d
commit 4387412c92
11 changed files with 148 additions and 42 deletions

View File

@ -153,11 +153,41 @@ public class InstanceInfoActivity extends BaseActivity {
SiteStatistics siteStatistics = siteInfo.getSiteStatistics();
if (siteStatistics != null) {
mStatisticsCardView.setVisibility(View.VISIBLE);
mUsersTextView.setText(getString(R.string.user_number_detail, siteStatistics.getUsers()));
mCommunitiesTextView.setText(getString(R.string.community_number_detail, siteStatistics.getCommunities()));
mPostsTextView.setText(getString(R.string.post_count_detail, siteStatistics.getPosts()));
mCommentsTextView.setText(getString(R.string.comment_count_detail, siteStatistics.getComments()));
mActiveUsersTextView.setText(getString(R.string.active_users_number_detail, siteStatistics.getUsers_active()));
mUsersTextView.setText(
getResources().getQuantityString(
R.plurals.user_number_detail,
siteStatistics.getUsers(),
siteStatistics.getUsers()
)
);
mCommunitiesTextView.setText(
getResources().getQuantityString(
R.plurals.community_number_detail,
siteStatistics.getCommunities(),
siteStatistics.getCommunities()
)
);
mPostsTextView.setText(
getResources().getQuantityString(
R.plurals.post_count_detail,
siteStatistics.getPosts(),
siteStatistics.getPosts()
)
);
mCommentsTextView.setText(
getResources().getQuantityString(
R.plurals.comment_count_detail,
siteStatistics.getComments(),
siteStatistics.getComments()
)
);
mActiveUsersTextView.setText(
getResources().getQuantityString(
R.plurals.active_users_number_detail,
siteStatistics.getUsers_active(),
siteStatistics.getUsers_active()
)
);
}
}

View File

@ -596,14 +596,36 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
subredditNameTextView.setText(subredditFullName);
qualifiedName = LemmyUtils.actorID2FullName(subredditData.getActorId());
communityFullNameTextView.setText(qualifiedName);
String nSubscribers = getString(R.string.subscribers_number_detail, subredditData.getNSubscribers());
String nSubscribers = getResources().getQuantityString(
R.plurals.subscribers_number_detail,
subredditData.getNSubscribers(),
subredditData.getNSubscribers()
);
nSubscribersTextView.setText(nSubscribers);
if (mCommunityStats != null && showStatistics) {
communityStatisticsBlock.setVisibility(View.VISIBLE);
nActiveUsersTextView.setText(getString(R.string.active_users_number_detail, mCommunityStats.getActiveUsers()));
nPostsTextView.setText(getString(R.string.post_count_detail, mCommunityStats.getPosts()));
nCommentsTextView.setText(getString(R.string.comment_count_detail, mCommunityStats.getComments()));
nActiveUsersTextView.setText(
getResources().getQuantityString(
R.plurals.active_users_number_detail,
mCommunityStats.getActiveUsers(),
mCommunityStats.getActiveUsers()
)
);
nPostsTextView.setText(
getResources().getQuantityString(
R.plurals.post_count_detail,
mCommunityStats.getPosts(),
mCommunityStats.getPosts()
)
);
nCommentsTextView.setText(
getResources().getQuantityString(
R.plurals.comment_count_detail,
mCommunityStats.getComments(),
mCommunityStats.getComments()
)
);
}
description = subredditData.getDescription();

View File

@ -53,7 +53,13 @@ public class SubredditAutocompleteRecyclerViewAdapter extends RecyclerView.Adapt
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0))))
.into(((SubredditViewHolder) holder).iconImageView);
((SubredditViewHolder) holder).subredditNameTextView.setText(subreddits.get(position).getName());
((SubredditViewHolder) holder).subscriberCountTextView.setText(activity.getString(R.string.subscribers_number_detail, subreddits.get(position).getNSubscribers()));
((SubredditViewHolder) holder).subscriberCountTextView.setText(
activity.getResources().getQuantityString(
R.plurals.subscribers_number_detail,
subreddits.get(position).getNSubscribers(),
subreddits.get(position).getNSubscribers()
)
);
}
}

View File

@ -142,7 +142,13 @@ public class SubredditListingRecyclerViewAdapter extends PagedListAdapter<Subred
}
((DataViewHolder) holder).subredditNameTextView.setText(subredditData.getName());
((DataViewHolder) holder).subscriberCountTextView.setText(activity.getString(R.string.subscribers_number_detail, subredditData.getNSubscribers()));
((DataViewHolder) holder).subscriberCountTextView.setText(
activity.getResources().getQuantityString(
R.plurals.subscribers_number_detail,
subredditData.getNSubscribers(),
subredditData.getNSubscribers()
)
);
if (!isMultiSelection) {
CheckIsSubscribedToSubreddit.checkIsSubscribedToSubreddit(executor, new Handler(),

View File

@ -264,10 +264,34 @@ public class SidebarFragment extends Fragment {
if (mCommunityStats != null) {
communityStatisticsBlock.setVisibility(View.VISIBLE);
nSubscribersTextView.setText(getString(R.string.subscribers_number_detail, mCommunityStats.getSubscribers()));
nActiveUsersTextView.setText(getString(R.string.active_users_number_detail, mCommunityStats.getActiveUsers()));
nPostsTextView.setText(getString(R.string.post_count_detail, mCommunityStats.getPosts()));
nCommentsTextView.setText(getString(R.string.comment_count_detail, mCommunityStats.getComments()));
nSubscribersTextView.setText(
getResources().getQuantityString(
R.plurals.subscribers_number_detail,
mCommunityStats.getSubscribers(),
mCommunityStats.getSubscribers()
)
);
nActiveUsersTextView.setText(
getResources().getQuantityString(
R.plurals.active_users_number_detail,
mCommunityStats.getActiveUsers(),
mCommunityStats.getActiveUsers()
)
);
nPostsTextView.setText(
getResources().getQuantityString(
R.plurals.post_count_detail,
mCommunityStats.getPosts(),
mCommunityStats.getPosts()
)
);
nCommentsTextView.setText(
getResources().getQuantityString(
R.plurals.comment_count_detail,
mCommunityStats.getComments(),
mCommunityStats.getComments()
)
);
} else {
fetchSubredditData();
}

View File

@ -99,7 +99,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/subscribers_number_detail"
android:text="@plurals/subscribers_number_detail"
app:layout_constraintStart_toEndOf="@+id/subscriber_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -126,7 +126,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/active_users_number_detail"
android:text="@plurals/active_users_number_detail"
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -146,7 +146,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/post_count_detail"
android:text="@plurals/post_count_detail"
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toBottomOf="@+id/subscriber_count_image_view_view_subreddit_detail_activity" />
@ -166,7 +166,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/comment_count_detail"
android:text="@plurals/comment_count_detail"
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_view_subreddit_detail_activity" />

View File

@ -99,7 +99,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/subscribers_number_detail"
android:text="@plurals/subscribers_number_detail"
app:layout_constraintStart_toEndOf="@+id/subscriber_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -126,7 +126,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/active_users_number_detail"
android:text="@plurals/active_users_number_detail"
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -146,7 +146,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/post_count_detail"
android:text="@plurals/post_count_detail"
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toBottomOf="@+id/subscriber_count_image_view_view_subreddit_detail_activity" />
@ -166,7 +166,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/comment_count_detail"
android:text="@plurals/comment_count_detail"
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_view_subreddit_detail_activity" />

View File

@ -121,7 +121,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/user_number_detail"
android:text="@plurals/user_number_detail"
app:layout_constraintStart_toEndOf="@+id/registered_user_count_image_view_instance_info_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -148,7 +148,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/active_users_number_detail"
android:text="@plurals/active_users_number_detail"
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_instance_info_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -168,7 +168,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/post_count_detail"
android:text="@plurals/post_count_detail"
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_instance_info_activity"
app:layout_constraintTop_toBottomOf="@+id/registered_user_count_image_view_instance_info_activity" />
@ -188,7 +188,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/comment_count_detail"
android:text="@plurals/comment_count_detail"
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_instance_info_activity"
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_instance_info_activity" />
@ -208,7 +208,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/community_number_detail"
android:text="@plurals/community_number_detail"
app:layout_constraintStart_toEndOf="@+id/communities_icon_image_view_instance_info_activity"
app:layout_constraintTop_toBottomOf="@+id/post_count_image_view_instance_info_activity" />

View File

@ -98,7 +98,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/subscribers_number_detail"
android:text="@plurals/subscribers_number_detail"
app:layout_constraintStart_toEndOf="@+id/subscriber_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -125,7 +125,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/active_users_number_detail"
android:text="@plurals/active_users_number_detail"
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toTopOf="parent" />
@ -145,7 +145,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/post_count_detail"
android:text="@plurals/post_count_detail"
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toBottomOf="@+id/subscriber_count_image_view_view_subreddit_detail_activity" />
@ -165,7 +165,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/comment_count_detail"
android:text="@plurals/comment_count_detail"
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_view_subreddit_detail_activity"
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_view_subreddit_detail_activity" />

View File

@ -110,7 +110,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/subscribers_number_detail"
android:text="@plurals/subscribers_number_detail"
app:layout_constraintStart_toEndOf="@+id/subscriber_count_image_view_sidebar_fragment"
app:layout_constraintTop_toTopOf="parent" />
@ -137,7 +137,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:text="@string/active_users_number_detail"
android:text="@plurals/active_users_number_detail"
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_sidebar_fragment"
app:layout_constraintTop_toTopOf="parent" />
@ -157,7 +157,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/post_count_detail"
android:text="@plurals/post_count_detail"
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_sidebar_fragment"
app:layout_constraintTop_toBottomOf="@+id/subscriber_count_image_view_sidebar_fragment" />
@ -177,7 +177,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:text="@string/comment_count_detail"
android:text="@plurals/comment_count_detail"
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_sidebar_fragment"
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_sidebar_fragment" />

View File

@ -146,12 +146,30 @@
<string name="saved">Saved</string>
<string name="gilded">Gilded</string>
<string name="settings">Settings</string>
<string name="subscribers_number_detail">%1$,d Subscribers</string>
<string name="active_users_number_detail">%1$,d Active Users</string>
<string name="post_count_detail">%1$,d Posts</string>
<string name="comment_count_detail">%1$,d Comments</string>
<string name="user_number_detail">%1$,d Users</string>
<string name="community_number_detail">%1$,d Communities</string>
<plurals name="subscribers_number_detail">
<item quantity="one">%1$,d Subscriber</item>
<item quantity="other">%1$,d Subscribers</item>
</plurals>
<plurals name="active_users_number_detail">
<item quantity="one">%1$,d Active User</item>
<item quantity="other">%1$,d Active Users</item>
</plurals>
<plurals name="post_count_detail">
<item quantity="one">%1$,d Post</item>
<item quantity="other">%1$,d Posts</item>
</plurals>
<plurals name="comment_count_detail">
<item quantity="one">%1$,d Comment</item>
<item quantity="other">%1$,d Comments</item>
</plurals>
<plurals name="user_number_detail">
<item quantity="one">%1$,d User</item>
<item quantity="other">%1$,d Users</item>
</plurals>
<plurals name="community_number_detail">
<item quantity="one">%1$,d Community</item>
<item quantity="other">%1$,d Communities</item>
</plurals>
<string name="online_subscribers_number_detail">Online: %1$,d</string>
<string name="cannot_fetch_community_info">Cannot fetch community info</string>
<string name="cannot_fetch_user_info">Cannot fetch user info</string>