日文资源文件

实现重新加载功能
收藏界面UI调整
This commit is contained in:
2025-10-09 17:36:06 +08:00
parent fac6f23356
commit 44cc76d2e3
15 changed files with 377 additions and 85 deletions

View File

@@ -114,6 +114,7 @@ fun CommentNoticeScreen() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
viewModel.initData(context, force = true)
} }
) )
} }

View File

@@ -4,18 +4,23 @@ import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material.pullrefresh.PullRefreshIndicator import androidx.compose.material.pullrefresh.PullRefreshIndicator
import androidx.compose.material.pullrefresh.pullRefresh import androidx.compose.material.pullrefresh.pullRefresh
import androidx.compose.material.pullrefresh.rememberPullRefreshState import androidx.compose.material.pullrefresh.rememberPullRefreshState
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
@@ -24,7 +29,9 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems
import com.aiosman.ravenow.LocalAppTheme import com.aiosman.ravenow.LocalAppTheme
import com.aiosman.ravenow.LocalNavController import com.aiosman.ravenow.LocalNavController
@@ -35,6 +42,8 @@ import com.aiosman.ravenow.ui.composables.StatusBarSpacer
import com.aiosman.ravenow.ui.favourite.FavouriteListViewModel.refreshPager import com.aiosman.ravenow.ui.favourite.FavouriteListViewModel.refreshPager
import com.aiosman.ravenow.ui.modifiers.noRippleClickable import com.aiosman.ravenow.ui.modifiers.noRippleClickable
import com.aiosman.ravenow.ui.navigateToPost import com.aiosman.ravenow.ui.navigateToPost
import com.aiosman.ravenow.ui.network.ReloadButton
import com.aiosman.ravenow.utils.NetworkUtils
@OptIn(ExperimentalMaterialApi::class) @OptIn(ExperimentalMaterialApi::class)
@Composable @Composable
@@ -71,55 +80,120 @@ fun FavouriteListPage() {
) { ) {
NoticeScreenHeader(stringResource(R.string.favourites_upper), moreIcon = false) NoticeScreenHeader(stringResource(R.string.favourites_upper), moreIcon = false)
} }
LazyVerticalGrid( val isNetworkAvailable = NetworkUtils.isNetworkAvailable(LocalContext.current)
columns = GridCells.Fixed(3), var moments = dataFlow.collectAsLazyPagingItems()
modifier = Modifier.fillMaxSize().padding(horizontal = 16.dp)
) { if (!isNetworkAvailable) {
items(moments.itemCount) { idx -> Box(
val momentItem = moments[idx] ?: return@items modifier = Modifier
Box( .fillMaxSize()
modifier = Modifier .padding(top=149.dp),
.fillMaxWidth() contentAlignment = Alignment.TopCenter
.aspectRatio(1f) ) {
.padding(2.dp) Column(
.noRippleClickable { horizontalAlignment = Alignment.CenterHorizontally,
navController.navigateToPost( modifier = Modifier.fillMaxWidth()
id = momentItem.id,
highlightCommentId = 0,
initImagePagerIndex = 0
)
}
) { ) {
CustomAsyncImage( Image(
imageUrl = momentItem.images[0].thumbnail, painter = painterResource(id = R.mipmap.invalid_name_10),
contentDescription = "", contentDescription = "network error",
modifier = Modifier modifier = Modifier.size(181.dp)
.fillMaxSize()
.clip(RoundedCornerShape(8.dp)),
context = context
) )
if (momentItem.images.size > 1) { Spacer(modifier = Modifier.size(24.dp))
Box( Text(
text = stringResource(R.string.friend_chat_no_network_title),
color = AppColors.text,
fontSize = 16.sp,
fontWeight = FontWeight.W600
)
Spacer(modifier = Modifier.size(8.dp))
Text(
text = stringResource(R.string.friend_chat_no_network_subtitle),
color = AppColors.secondaryText,
fontSize = 14.sp,
fontWeight = FontWeight.W400
)
Spacer(modifier = Modifier.height(16.dp))
ReloadButton(
onClick = {
model.refreshPager(force = true)
}
)
}
}
} else if(moments.itemCount == 0) {
Box(
modifier = Modifier
.fillMaxSize()
.padding(top=189.dp),
contentAlignment = Alignment.TopCenter
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.fillMaxWidth()
) {
Image(
painter = painterResource(
id = if (com.aiosman.ravenow.AppState.darkMode) R.mipmap.syss_yh_qs_as_img
else R.mipmap.invalid_name_1),
contentDescription = "No favourites",
modifier = Modifier.size(110.dp)
)
Spacer(modifier = Modifier.size(24.dp))
Text(
text = stringResource(R.string.favourites_null),
color = AppColors.text,
fontSize = 16.sp,
fontWeight = FontWeight.W600
)
}
}
}else{
LazyVerticalGrid(
columns = GridCells.Fixed(3),
modifier = Modifier.fillMaxSize().padding(horizontal = 16.dp)
) {
items(moments.itemCount) { idx ->
val momentItem = moments[idx] ?: return@items
Box(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(1f)
.padding(2.dp)
.noRippleClickable {
navController.navigateToPost(
id = momentItem.id,
highlightCommentId = 0,
initImagePagerIndex = 0
)
}
) {
CustomAsyncImage(
imageUrl = momentItem.images[0].thumbnail,
contentDescription = "",
modifier = Modifier modifier = Modifier
.padding(top = 8.dp, end = 8.dp) .fillMaxSize()
.align(Alignment.TopEnd) .clip(RoundedCornerShape(8.dp)),
) { context = context
Image( )
modifier = Modifier.size(24.dp), if (momentItem.images.size > 1) {
painter = painterResource(R.drawable.rider_pro_picture_more), Box(
contentDescription = "", modifier = Modifier
) .padding(top = 8.dp, end = 8.dp)
.align(Alignment.TopEnd)
) {
Image(
modifier = Modifier.size(24.dp),
painter = painterResource(R.drawable.rider_pro_picture_more),
contentDescription = "",
)
}
} }
} }
} }
} }
} }
} }
PullRefreshIndicator( PullRefreshIndicator(
FavouriteListViewModel.isLoading, FavouriteListViewModel.isLoading,
state, state,

View File

@@ -106,6 +106,7 @@ fun FollowerListScreen(userId: Int) {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
model.loadData(userId, true)
} }
) )
} }

View File

@@ -104,6 +104,7 @@ fun FollowerNoticeScreen() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
model.reload(force = true)
} }
) )
} }

View File

@@ -108,6 +108,7 @@ fun FollowingListScreen(userId: Int) {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
model.loadData(userId, true)
} }
) )
} }

View File

@@ -141,6 +141,7 @@ fun AgentChatListScreen() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
AgentChatListViewModel.refreshPager(context = context)
} }
) )
} }

View File

@@ -128,6 +128,7 @@ fun FriendChatListScreen() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
FriendChatListViewModel.refreshPager(pullRefresh = true, context = context)
} }
) )
} }

View File

@@ -120,6 +120,7 @@ fun GroupChatListScreen() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
GroupChatListViewModel.refreshPager(context = context)
} }
) )
} }

View File

@@ -37,9 +37,14 @@ import androidx.compose.foundation.lazy.grid.itemsIndexed
import androidx.compose.foundation.lazy.grid.rememberLazyGridState import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import com.aiosman.ravenow.AppState import com.aiosman.ravenow.AppState
import com.aiosman.ravenow.ui.composables.rememberDebouncer import com.aiosman.ravenow.ui.composables.rememberDebouncer
import com.aiosman.ravenow.ui.index.tabs.profile.MyProfileViewModel
import com.aiosman.ravenow.ui.network.ReloadButton import com.aiosman.ravenow.ui.network.ReloadButton
import com.aiosman.ravenow.utils.NetworkUtils import com.aiosman.ravenow.utils.NetworkUtils
@Composable @Composable
@@ -131,6 +136,7 @@ fun GalleryGrid(
val AppColors = LocalAppTheme.current val AppColors = LocalAppTheme.current
val gridState = rememberLazyGridState() val gridState = rememberLazyGridState()
val debouncer = rememberDebouncer() val debouncer = rememberDebouncer()
var refreshKey by remember { mutableStateOf(0) }
val isNetworkAvailable = NetworkUtils.isNetworkAvailable(LocalContext.current) val isNetworkAvailable = NetworkUtils.isNetworkAvailable(LocalContext.current)
if (!isNetworkAvailable) { if (!isNetworkAvailable) {
@@ -167,6 +173,9 @@ fun GalleryGrid(
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
refreshKey++
MyProfileViewModel.ResetModel()
MyProfileViewModel.loadProfile(pullRefresh = true)
} }
) )
} }

View File

@@ -19,6 +19,7 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
@@ -45,6 +46,7 @@ import com.aiosman.ravenow.R
import com.aiosman.ravenow.ui.NavigationRoute import com.aiosman.ravenow.ui.NavigationRoute
import com.aiosman.ravenow.entity.AgentEntity import com.aiosman.ravenow.entity.AgentEntity
import com.aiosman.ravenow.ui.composables.CustomAsyncImage import com.aiosman.ravenow.ui.composables.CustomAsyncImage
import com.aiosman.ravenow.ui.index.tabs.profile.MyProfileViewModel
import com.aiosman.ravenow.ui.network.ReloadButton import com.aiosman.ravenow.ui.network.ReloadButton
import com.aiosman.ravenow.utils.DebounceUtils import com.aiosman.ravenow.utils.DebounceUtils
import com.aiosman.ravenow.utils.NetworkUtils import com.aiosman.ravenow.utils.NetworkUtils
@@ -260,6 +262,8 @@ fun EmptyAgentsView() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
MyProfileViewModel.ResetModel()
MyProfileViewModel.loadProfile(pullRefresh = true)
} }
) )
} }

View File

@@ -369,6 +369,8 @@ fun MomentResultTab() {
Spacer(modifier = Modifier.size(16.dp)) Spacer(modifier = Modifier.size(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
SearchViewModel.ResetModel()
SearchViewModel.search()
} }
) )
} }
@@ -461,6 +463,8 @@ fun UserResultTab() {
Spacer(modifier = Modifier.size(16.dp)) Spacer(modifier = Modifier.size(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
SearchViewModel.ResetModel()
SearchViewModel.search()
} }
) )
} }

View File

@@ -118,6 +118,7 @@ fun LikeNoticeScreen() {
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
ReloadButton( ReloadButton(
onClick = { onClick = {
LikeNoticeViewModel.reload(force = true)
} }
) )
} }

View File

@@ -1,5 +1,195 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Rave Now</string>
<string name="worldwide">ワールドワイド</string>
<string name="minute_ago">%1d分前</string>
<string name="second_ago">%1d秒前</string>
<string name="days_ago">%1d日前</string>
<string name="hour_ago">%1d時間前</string>
<string name="year_ago">%1d年前</string>
<string name="search">検索</string>
<string name="moment">モーメント</string>
<string name="users">ユーザー</string>
<string name="like_upper">いいね</string>
<string name="followers_upper">フォロワー</string>
<string name="favourites_upper">お気に入り</string>
<string name="favourites_null">あれ、何もない。..</string>
<string name="notifications_upper">通知</string>
<string name="following_upper">フォロー中</string>
<string name="unfollow_upper">フォロー解除</string>
<string name="comment_count">%d コメント</string>
<string name="post_comment_hint">何か言ってください</string>
<string name="follow_upper">フォロー</string>
<string name="login_upper">ログイン</string>
<string name="lets_ride_upper">レッツ・レヴ・ナウ</string>
<string name="or_login_with">または</string>
<string name="remember_me">ログイン状態を保持する</string>
<string name="forgot_password">パスワードをお忘れですか?</string>
<string name="login_password_label">パスワード</string>
<string name="login_email_label">メールアドレス</string>
<string name="text_error_email_required">メールアドレスは必須です</string>
<string name="text_error_password_required">パスワードは必須です</string>
<string name="text_hint_email">メールアドレスを入力してください</string>
<string name="text_hint_password">パスワードを入力してください</string>
<string name="sign_up_upper">サインアップ</string>
<string name="sign_in_with_email">メールで接続</string>
<string name="sign_in_with_google">Googleで接続</string>
<string name="back_upper">戻る</string>
<string name="text_hint_confirm_password">パスワードを再入力してください</string>
<string name="login_confirm_password_label">パスワードの確認</string>
<string name="agree_terms_of_service">はい、RaveNowのプライバシーポリシーを読み、同意します。</string>
<string name="agree_promotion">はい、Rave Nowのメーリングリストに追加されたいです。</string>
<string name="text_error_email_format">無効なメールアドレス</string>
<string name="text_error_password_format">6文字以上で、文字と数字を含めてください。</string>
<string name="text_error_confirm_password_mismatch">入力されたパスワードが一致していることを確認してください。</string>
<string name="text_error_confirm_password_required">パスワードの確認は必須です</string>
<string name="error_10001_user_exist">ユーザーが存在します</string>
<string name="error_unknown">不明なエラー</string>
<string name="error_not_accept_recive_notice">よりパーソナライズされた体験を提供するために、関連する通知の送信を許可してください。</string>
<string name="error_not_accept_term">最高のサービスを提供するために、登録前に利用規約を読み、同意してください。</string>
<string name="empty_my_post_title">まだ投稿がありません</string>
<string name="empty_my_post_content">今すぐモーメントを投稿</string>
<string name="edit_profile">プロフィールを編集</string>
<string name="logout">ログアウト</string>
<string name="change_password">パスワードを変更</string>
<string name="current_password_tip1">現在のパスワードを入力してください</string>
<string name="current_password_tip2">パスワードは8文字以上である必要があります</string>
<string name="current_password_tip3">パスワードには少なくとも1つの数字を含める必要があります</string>
<string name="current_password_tip4">パスワードには少なくとも1つの大文字を含める必要があります</string>
<string name="change_password_tip1">パスワードが一致しません</string>
<string name="current_password">現在のパスワード</string>
<string name="current_password_tip5">現在のパスワードを入力してください</string>
<string name="new_password">新しいパスワード</string>
<string name="new_password_tip1">新しいパスワードを入力してください</string>
<string name="confirm_new_password">新しいパスワードを確認</string>
<string name="confirm_new_password_tip1">新しいパスワードを確認してください</string>
<string name="cancel">キャンセル</string>
<string name="bio">署名</string>
<string name="nickname">名前</string>
<string name="comment">コメント</string>
<string name="order_comment_default">デフォルト</string>
<string name="order_comment_latest">最新</string>
<string name="order_comment_earliest">最も古い</string>
<string name="download">ダウンロード</string>
<string name="original">オリジナル</string>
<string name="favourites">お気に入り</string>
<string name="dark_mode">ダークモード</string>
<string name="light_mode">ライトモード</string>
<string name="update_find_new_version">新しいバージョン</string>
<string name="update_update_now">今すぐ更新</string>
<string name="update_later">後で</string>
<string name="delete">削除</string>
<string name="copy">コピー</string>
<string name="like">いいね</string>
<string name="reply">返信</string>
<string name="view_more_reply">%1d件の返信をさらに表示</string>
<string name="error_invalidate_username_password">無効なメールアドレスまたはパスワード</string>
<string name="recover_account_upper">アカウントを復元</string>
<string name="recover">復元</string>
<string name="reset_mail_send_success">登録されているメールアドレスにメールが送信されました。受信トレイを確認し、指示に従ってパスワードをリセットしてください。</string>
<string name="reset_mail_send_failed">メールの送信に失敗しました。ネットワーク接続を確認するか、後でもう一度お試しください。</string>
<string name="seconds_ago">%1d秒前</string>
<string name="minutes_ago">%1d分前</string>
<string name="private_policy_template">同意する</string>
<string name="private_policy_keyword">Rave Nowのプライバシーポリシー</string>
<string name="gallery">ギャラリー</string>
<string name="chat_upper">チャット</string>
<string name="like_your_post">あなたの投稿にいいねしました</string>
<string name="favourite_your_post">あなたの投稿をお気に入りにしました</string>
<string name="like_your_comment">あなたのコメントにいいねしました</string>
<string name="resend">%sで再送信</string>
<string name="error_40002_user_not_exist">ユーザーが存在しません</string>
<string name="captcha_hint">正しい順序で画像の点をクリックしてください。</string>
<string name="captcha">キャプチャ</string>
<string name="refresh">更新</string>
<string name="clear">クリア</string>
<string name="incorrect_captcha_please_try_again">キャプチャが正しくありません。もう一度お試しください</string>
<string name="search_user_item_follower_count">%d フォロワー</string>
<string name="error_incorrect_old_password">古いパスワードが正しくありません</string>
<string name="report">報告</string>
<string name="report_description">あなたの報告は匿名です。誰かが危険にさらされている場合は、すぐに地域の緊急サービスに連絡してください。</string>
<string name="report_success_desc">報告が成功しました</string>
<string name="report_fail_desc">報告に失敗しました。もう一度お試しください</string>
<string name="report_title">この投稿を報告する理由は?</string>
<string name="close">閉じる</string>
<string name="blocked">ブロック済み</string>
<string name="feedback">フィードバック</string>
<string name="about_rave_now">Rave Nowについて</string>
<string name="account_and_security">アカウントとセキュリティ</string>
<string name="remove_account">アカウントを削除</string>
<string name="remove_account_desc">本当にアカウントを削除しますか?この操作は元に戻せません。</string>
<string name="remove_account_password_hint">確認のためパスワードを入力してください</string>
<string name="version_text">バージョン %1$s</string>
<string name="index_worldwide">ワールドワイド</string>
<string name="index_dynamic">ダイナミック</string>
<string name="index_following">フォロー中</string>
<string name="index_hot">ホット</string>
<string name="main_home">ホーム</string>
<string name="main_ai">エージェント</string>
<string name="main_message">メッセージ</string>
<string name="main_profile">プロフィール</string>
<string name="agent_mine">マイ</string>
<string name="agent_hot">ホット</string>
<string name="agent_recommend">おすすめ</string>
<string name="agent_other">その他</string>
<string name="agent_add">AIエージェントを作成</string>
<string name="agent_name">名前</string>
<string name="agent_name_hint">名前を入力してください</string>
<string name="agent_desc">説明を設定</string>
<string name="agent_desc_hint">例:経験豊富な営業担当者で、ユーモアと生きた事例を使って、複雑な製品を顧客が理解しやすい形に変えるのが得意</string>
<string name="agent_create">エージェントを作成</string>
<string name="moment_content_hint">投稿のインスピレーションが必要ですかAIがお手伝いします</string>
<string name="moment_ai_co">AIの文案最適化</string>
<string name="moment_ai_delete">削除</string>
<string name="moment_ai_apply">適用</string>
<string name="chat_ai">AI</string>
<string name="chat_group">グループ</string>
<string name="chat_friend">友達</string>
<string name="agent_chat_list_title">AIエージェントチャット</string>
<string name="agent_chat_empty_title">AIエージェントチャットがありません</string>
<string name="agent_chat_empty_subtitle">AIエージェントと対話してみましょう</string>
<string name="agent_chat_me_prefix">私: </string>
<string name="agent_chat_image">[画像]</string>
<string name="agent_chat_voice">[音声]</string>
<string name="agent_chat_video">[動画]</string>
<string name="agent_chat_file">[ファイル]</string>
<string name="agent_chat_message">[メッセージ]</string>
<string name="agent_chat_load_failed">読み込みに失敗しました</string>
<string name="agent_chat_load_more_failed">さらに読み込むのに失敗しました</string>
<string name="agent_chat_user_info_failed">ユーザー情報の取得に失敗しました: %s</string>
<string name="group_chat_empty">グループチャットがありません</string>
<string name="group_chat_empty_join">まだどのグループチャットにも参加していません</string>
<string name="group_chat_empty_title">グループチャットメッセージのない宇宙は静かすぎます</string>
<string name="group_chat_empty_subtitle">ホームで興味のあるテーマルームを探してみましょう</string>
<string name="friend_chat_empty_title">まだ友達とチャットしていません~</string>
<string name="friend_chat_empty_subtitle">友達のアバターをクリックして、すぐにチャットを始めましょう。</string>
<string name="friend_chat_me_prefix">私: </string>
<string name="friend_chat_load_failed">読み込みに失敗しました</string>
<string name="create_group_chat">グループチャットを作成</string>
<string name="quick_create">クイック作成</string>
<string name="group_name">グループ名</string>
<string name="group_name_hint">グループチャットの名前を入力してください</string>
<string name="search_placeholder">検索</string>
<string name="group_info_add_other">他の人を追加</string>
<string name="group_info_notice_setting">通知</string>
<string name="group_info_exit">退出</string>
<string name="group_info_edit">プロフィールを編集</string>
<string name="group_info">グループチャット情報</string>
<string name="hot_rooms">人気チャットルーム</string>
<string name="chat">チャット</string>
<string name="agent_recommend_agent">あなたにおすすめのエージェント</string>
<string name="hot_chat_room">ハイエネルギーの対話中</string>
<string name="create_agent">エージェントを作成</string>
<string name="create_confirm">確認</string>
<string name="publish_dynamic">ダイナミックを公開</string>
<string name="hot_agent">人気エージェント</string>
<string name="group_room_enter">入室</string>
<string name="group_room_enter_success">ルームへの参加に成功しました</string>
<string name="group_room_enter_fail">ルームへの参加に失敗しました</string>
<string name="agent_createing">作成中…</string>
<string name="agent_find">発見</string>
<string name="text_error_password_too_long">パスワードは%1$d文字を超えることはできません</string>
<!-- Create Bottom Sheet --> <!-- Create Bottom Sheet -->
<string name="create_title">作成</string> <string name="create_title">作成</string>
<string name="create_ai">AI</string> <string name="create_ai">AI</string>
@@ -10,7 +200,7 @@
<!-- Create Agent Page --> <!-- Create Agent Page -->
<string name="welcome_1">こんにちは!今日は何を作りたいですか?</string> <string name="welcome_1">こんにちは!今日は何を作りたいですか?</string>
<string name="welcome_2">たった一言で、あなた専用のAIがここで生まれます。</string> <string name="welcome_2">たった一言で、あなた専用のAIがここで生まれます。</string>
<string name="agent_desc_hint_auto">詩を書くAI、あなたの笑いを理解するAI...</string> <string name="agent_desc_hint_auto">詩を書くAI、あなたの笑いを理解するAI</string>
<string name="agent_text_beautify">AI美化</string> <string name="agent_text_beautify">AI美化</string>
<string name="ideaing">アイデアを考え中</string> <string name="ideaing">アイデアを考え中</string>
<string name="avatar">アバター</string> <string name="avatar">アバター</string>
@@ -27,3 +217,4 @@
<string name="friend_chat_no_network_subtitle">ネットワークを確認して、この宇宙に接続してください</string> <string name="friend_chat_no_network_subtitle">ネットワークを確認して、この宇宙に接続してください</string>
<string name="Reload">再ロード</string> <string name="Reload">再ロード</string>
</resources> </resources>

View File

@@ -147,6 +147,7 @@
<string name="chat_ai">智能体</string> <string name="chat_ai">智能体</string>
<string name="chat_group">群聊</string> <string name="chat_group">群聊</string>
<string name="chat_friend">朋友</string> <string name="chat_friend">朋友</string>
<string name="favourites_null">咦,什么都没有...</string>
<string name="agent_chat_list_title">智能体聊天</string> <string name="agent_chat_list_title">智能体聊天</string>
<string name="agent_chat_empty_title">AI 在等你的开场白</string> <string name="agent_chat_empty_title">AI 在等你的开场白</string>

View File

@@ -12,11 +12,12 @@
<string name="like_upper">LIKE</string> <string name="like_upper">LIKE</string>
<string name="followers_upper">FOLLOWERS</string> <string name="followers_upper">FOLLOWERS</string>
<string name="favourites_upper">FAVOURITES</string> <string name="favourites_upper">FAVOURITES</string>
<string name="favourites_null">Well,nothing </string>
<string name="notifications_upper">NOTIFICATIONS</string> <string name="notifications_upper">NOTIFICATIONS</string>
<string name="following_upper">FOLLOWING</string> <string name="following_upper">FOLLOWING</string>
<string name="unfollow_upper">UNFOLLOW</string> <string name="unfollow_upper">UNFOLLOW</string>
<string name="comment_count">%d Comments</string> <string name="comment_count">%d Comments</string>
<string name="post_comment_hint">Say something...</string> <string name="post_comment_hint">Say something</string>
<string name="follow_upper">FOLLOW</string> <string name="follow_upper">FOLLOW</string>
<string name="login_upper">Log in</string> <string name="login_upper">Log in</string>
<string name="lets_ride_upper">Let\'s Rave Now</string> <string name="lets_ride_upper">Let\'s Rave Now</string>
@@ -130,12 +131,12 @@
<string name="agent_hot">Hot</string> <string name="agent_hot">Hot</string>
<string name="agent_recommend">Recommend</string> <string name="agent_recommend">Recommend</string>
<string name="agent_other">Other</string> <string name="agent_other">Other</string>
<string name="agent_add">创建Ai智能体</string> <string name="agent_add">Create AI Agent</string>
<string name="agent_name">名称</string> <string name="agent_name">Name</string>
<string name="agent_name_hint">请输入名称</string> <string name="agent_name_hint">Please enter a name</string>
<string name="agent_desc">设定描述</string> <string name="agent_desc">Description</string>
<string name="agent_desc_hint">示例: 一位经验丰富的销售员,擅长通过幽默风趣的语言和生动的案例,将复杂的产品转化为客户易于理解并感兴趣的话题</string> <string name="agent_desc_hint">Example: An experienced salesperson who is good at transforming complex products into topics that customers can easily understand and be interested in through humorous language and vivid cases</string>
<string name="agent_create">创建智能体</string> <string name="agent_create">Create Agent</string>
<string name="moment_content_hint">Need some inspiration for your post? Let AI assist you!</string> <string name="moment_content_hint">Need some inspiration for your post? Let AI assist you!</string>
<string name="moment_ai_co">AI copywriting optimization</string> <string name="moment_ai_co">AI copywriting optimization</string>
<string name="moment_ai_delete">Delete</string> <string name="moment_ai_delete">Delete</string>
@@ -143,49 +144,49 @@
<string name="chat_ai">Ai</string> <string name="chat_ai">Ai</string>
<string name="chat_group">Group</string> <string name="chat_group">Group</string>
<string name="chat_friend">Friends</string> <string name="chat_friend">Friends</string>
<string name="agent_chat_list_title">智能体聊天</string> <string name="agent_chat_list_title">Agent Chat</string>
<string name="agent_chat_empty_title">暂无智能体聊天</string> <string name="agent_chat_empty_title">No Agent Chat</string>
<string name="agent_chat_empty_subtitle">开始与智能体对话吧</string> <string name="agent_chat_empty_subtitle">Start chatting with agents</string>
<string name="agent_chat_me_prefix">: </string> <string name="agent_chat_me_prefix">Me: </string>
<string name="agent_chat_image">[图片]</string> <string name="agent_chat_image">[Image]</string>
<string name="agent_chat_voice">[语音]</string> <string name="agent_chat_voice">[Voice]</string>
<string name="agent_chat_video">[视频]</string> <string name="agent_chat_video">[Video]</string>
<string name="agent_chat_file">[文件]</string> <string name="agent_chat_file">[File]</string>
<string name="agent_chat_message">[消息]</string> <string name="agent_chat_message">[Message]</string>
<string name="agent_chat_load_failed">加载失败</string> <string name="agent_chat_load_failed">Failed to load</string>
<string name="agent_chat_load_more_failed">加载更多失败</string> <string name="agent_chat_load_more_failed">Failed to load more</string>
<string name="agent_chat_user_info_failed">获取用户信息失败: %s</string> <string name="agent_chat_user_info_failed">Failed to get user info: %s</string>
<string name="group_chat_empty">No group chats</string> <string name="group_chat_empty">No group chats</string>
<string name="group_chat_empty_join">You have not joined any group chats yet</string> <string name="group_chat_empty_join">You have not joined any group chats yet</string>
<string name="group_chat_empty_title">没有群聊消息的宇宙太安静了</string> <string name="group_chat_empty_title">The universe is too quiet without group chat messages</string>
<string name="group_chat_empty_subtitle">在首页探索感兴趣的主题房间</string> <string name="group_chat_empty_subtitle">Explore interesting theme rooms on the homepage</string>
<string name="friend_chat_empty_title">Have not chatted with friends yet~</string> <string name="friend_chat_empty_title">Have not chatted with friends yet~</string>
<string name="friend_chat_empty_subtitle">Click on the avatar of friend to start chatting instantly.</string> <string name="friend_chat_empty_subtitle">Click on the avatar of friend to start chatting instantly.</string>
<string name="friend_chat_me_prefix">: </string> <string name="friend_chat_me_prefix">Me: </string>
<string name="friend_chat_load_failed">加载失败</string> <string name="friend_chat_load_failed">Failed to load</string>
<string name="create_group_chat">Create Group Chat</string> <string name="create_group_chat">Create Group Chat</string>
<string name="quick_create">Quick Create</string> <string name="quick_create">Quick Create</string>
<string name="group_name">Group Name</string> <string name="group_name">Group Name</string>
<string name="group_name_hint">Please enter the name of the group chat</string> <string name="group_name_hint">Please enter the name of the group chat</string>
<string name="search_placeholder">Search</string> <string name="search_placeholder">Search</string>
<string name="group_info_add_other">添加其他人</string> <string name="group_info_add_other">Add Others</string>
<string name="group_info_notice_setting">通知</string> <string name="group_info_notice_setting">Notification</string>
<string name="group_info_exit">退出</string> <string name="group_info_exit">Exit</string>
<string name="group_info_edit">编辑资料</string> <string name="group_info_edit">Edit Profile</string>
<string name="group_info">群聊信息</string> <string name="group_info">Group Chat Info</string>
<string name="hot_rooms">热门聊天室</string> <string name="hot_rooms">Popular Chat Rooms</string>
<string name="chat">聊天</string> <string name="chat">Chat</string>
<string name="agent_recommend_agent">推荐给你的智能体</string> <string name="agent_recommend_agent">Recommended Agents For You</string>
<string name="hot_chat_room">正在高能对话中</string> <string name="hot_chat_room">High-energy conversation in progress</string>
<string name="create_agent">创建智能体</string> <string name="create_agent">Create Agent</string>
<string name="create_confirm">confirm</string> <string name="create_confirm">Confirm</string>
<string name="publish_dynamic">发布动态</string> <string name="publish_dynamic">Publish Dynamic</string>
<string name="hot_agent">热门智能体</string> <string name="hot_agent">Popular Agents</string>
<string name="group_room_enter">进入</string> <string name="group_room_enter">Enter</string>
<string name="group_room_enter_success">成功加入房间</string> <string name="group_room_enter_success">Successfully joined the room</string>
<string name="group_room_enter_fail">加入房间失败</string> <string name="group_room_enter_fail">Failed to join the room</string>
<string name="agent_createing">创建中...</string> <string name="agent_createing">Creating…</string>
<string name="agent_find">发现</string> <string name="agent_find">Discover</string>
<string name="text_error_password_too_long">Password cannot exceed %1$d characters</string> <string name="text_error_password_too_long">Password cannot exceed %1$d characters</string>
<!-- Create Bottom Sheet --> <!-- Create Bottom Sheet -->
@@ -198,7 +199,7 @@
<!-- Create Agent Page --> <!-- Create Agent Page -->
<string name="welcome_1">Hello ! What would you like to create today?</string> <string name="welcome_1">Hello ! What would you like to create today?</string>
<string name="welcome_2">Just one sentence, and your exclusive AI will be born here.</string> <string name="welcome_2">Just one sentence, and your exclusive AI will be born here.</string>
<string name="agent_desc_hint_auto">An AI that writes poetry, an AI that understands your sense of humor...</string> <string name="agent_desc_hint_auto">An AI that writes poetry, an AI that understands your sense of humor</string>
<string name="agent_text_beautify">AI Beautify</string> <string name="agent_text_beautify">AI Beautify</string>
<string name="ideaing">Brainstorming for you</string> <string name="ideaing">Brainstorming for you</string>
<string name="avatar">Avatar</string> <string name="avatar">Avatar</string>
@@ -211,7 +212,7 @@
<string name="splash_title">Social interaction belongs to AI and humans</string> <string name="splash_title">Social interaction belongs to AI and humans</string>
<!-- no network --> <!-- no network -->
<string name="friend_chat_no_network_title">Offline...</string> <string name="friend_chat_no_network_title">Offline</string>
<string name="friend_chat_no_network_subtitle">Check your network to connect to this universe</string> <string name="friend_chat_no_network_subtitle">Check your network to connect to this universe</string>
<string name="Reload">Reload</string> <string name="Reload">Reload</string>
</resources> </resources>